#### Is this adding or improving a _feature_ or fixing a _bug_?
Debt.
#### What's the new behavior?
This removes almost all existing deprecations from previous API changes, to save on filesize and reduce complexity in the codebase going forward.
It also changes from using the `slate-dev-logger` to using the Facebook-inspired `slate-dev-warning` which can be compiled out of production builds with [`babel-plugin-dev-expression`](https://github.com/4Catalyzer/babel-plugin-dev-expression) to save even further on file size.
The only deprecations it keeps are in the `fromJSON` methods for data model changes like `.kind` and `.leaves` which may still may not have been migrated in databases, since this is a bigger pain point.
#### Have you checked that...?
* [x] The new code matches the existing patterns and styles.
* [x] The tests pass with `yarn test`.
* [x] The linter passes with `yarn lint`. (Fix errors with `yarn prettier`.)
* [x] The relevant examples still work. (Run examples with `yarn watch`.)
#### Does this fix any issues or need any specific reviewers?
Fixes: #1922Fixes: #2105Fixes: #646Fixes: #2109Fixes: #2107Fixes: #2018
#### Is this adding or improving a _feature_ or fixing a _bug_?
bug
#### What's the new behavior?
Fix key duplication warning and deprecation
#### How does this change work?
<!--
If your change is non-trivial, please include a short description of how the new logic works, and why you decided to solve it the way you did. This is incredibly helpful so that reviewers don't have to guess based on the code.
-->
#### Have you checked that...?
<!--
Please run through this checklist for your pull request:
-->
* [x] The new code matches the existing patterns and styles.
* [x] The tests pass with `yarn test`.
* [x] The linter passes with `yarn lint`. (Fix errors with `yarn prettier`.)
* [x] The relevant examples still work. (Run examples with `yarn watch`.)
#### Does this fix any issues or need any specific reviewers?
Fixes: https://github.com/ianstormtaylor/slate/issues/2088https://github.com/ianstormtaylor/slate/issues/2079
Reviewers: @
* Use slate rather than relative path
* Move benchmark to one dir
* Use slate-* instead of relative path
* Before and After Function
* Remove un-necessary cross-env
* Hard fix
* Lint the hard fix
* Reset memory in bench()
* Working on Benchmark Frameworks
* Rename to slate-dev-benchmark
* Add packages
* Fix prettier bug
* Benchmark framework is in working
* Do not log in test
* max times test
* mute logger in test
* add hr time
* Better support for maxTime; add support of split runs to save memory space
* Fix maxTries
* Add global.gc
* Global gc for each bench
* Better test interface
* Test max-time
* Test max-time done
* Add Benchmark among packages
* Starting to get benchmark running
* Pure Node lib
* Change babelrc for pure Node benchmark
* Moving Benchmarks
* Get benchmark and test running
* Get benchmark for slate-html-serializer
* add slate-react
* add slate/changes
* all benchmarks are converted
* Run benchmark by yarn
* Run benchmark with expose-gc
* Annotate Bench.js
* Do not bundle slate-dev-benchmark in rollup
* Add annotation
* Allow config file to enable part benchmark compare
* Add config for compare
* support compare.js
* Do not re-allocate memory; due to a large heap taken influence result
* Render with Decorations
* get active marks at range
* Fix bug in showing percents
* Fix percent showing bug
* chore: add more benches
* Better output of benchmark
* Fix linting
* decoration and normal as different benchmark test
* Fix deserialize benchmark
* README.md
* Fix Readme.md
* README.md
* block-spacing config
* safer user config loading
* use package.json to load package in test
* Consistent linting
* move components to parent directory
* Annotation styling in package
* margin line before multi-line block
* Fix naive bug
* Fix naive bug
* Fix a blank line
* only log user and hr
* Better name
* Better annotation for runBundleTasks
* Fix typo
* Better logger
* Move async to test
* Omit skip
* Only log the user space time
* Single line async sleep
* file name fix
* Fix annotation
* Better output of compare
* Remove get-characters(-at-range) benchmarks
* Restore emoji
* Capitalize types
* Remove compare to another area
* Add grep and config interface
* Linting files
* Linting benchmarks
* Linting benchmarks
* Update yarn.lock
* refactor to extract applyOperation util
* change handlers to receive transform instead of state
* change onChange to receive a transform, update rich-text example
* fix stack iterationg, convert check-list example
* convert code-highlighting, embeds, emojis examples
* change operations to use full paths, not indexes
* switch split and join to be recursive
* fix linter
* fix onChange calls
* make all operations invertable, add src/operations/* logic
* rename "join" to "merge"
* remove .length property of nodes
* fix node.getFragmentAtRange logic
* convert remaining examples, fix existing changes
* fix .apply() calls and tests
* change setSave and setIsNative transforms
* fix insert_text operations to include marks always
* cleanup and fixes
* fix node inheritance
* fix core onCut handler
* skip constructor in node inheritance
* cleanup
* change updateDescendant to updateNode
* add and update docs
* eliminate need for .apply(), change history to mutable
* add missing file
* add deprecation support to Transform objects
* rename "transform" to "change"
* update benchmark
* add deprecation util to logger
* update transform isNative attr
* fix remaining warn use
* simplify history checkpointing logic
* fix tests
* revert history to being immutable
* fix history
* fix normalize
* fix syntax error from merge
* update large example
* pass block down to <Text> for performance, closes#700
* add get-ranges benchmark
* optimize getRanges(), closes#699
* add serialization benchmarks
* optimize Raw.deserializeRanges() by computing marks once, closes#701
* change .merge calls to .set for performance
* change updateDescendant() to use getAncestors() for memoization
* change getPath() to use getAncestors() for memoization
* switch getTexts() and friends to use arrays while iterating
* rename split-block benchmark
* update benchmark compare script