205d4b7e Thanks @e1himself! - Add tests for Editor.unhangRange() behavior#4729 ab62da20 Thanks @ahoisl! - chore: add vscode launch.json debug config
#4735 e5427ddd Thanks @steve-codaio! - Optimize path transforms during normalization
For example:
import type { BaseOperation } from 'slate'
type CustomOperation =
| BaseOperation
| YourCustomOperation
| AnotherCustomOperation
declare module 'slate' {
interface CustomTypes {
Operation: CustomOperation;
}
}
2523dc4f Thanks @VictorBaron! - Fix - deep-equals was always returning true when array props were equals.e3afda94 Thanks @unageek! - Fixed the issue where the cursor jumps more than one character unexpectedly5818aca5 Thanks @oliger! - Fix issue with unicode 1.1 smileys followed by a variation selector.e0f41514 Thanks @e1himself! - Improve typescript type of props argument of Transforms.setNodes()67badb7d Thanks @jameshfisher! - Allow typing at the end of inline elements37d60c58 Thanks @clauderic! - Only apply Firefox toSlatePoint() offset fix when the cloned contents end in \n\n instead of just \n.0da12c17 Thanks @steve-codaio! - Fix setNodes when called with 'split' and a collapsed range#4518 6ec399d4 Thanks @TheSpyder! - Fixed flaw in deep-equal algorithm when dealing with nested mark objects
#4511 2af6868d Thanks @dylans! - update release process for yarn 3
#4516 59ca7a8f Thanks @dylans! - another attempt to get the automated changeset workflow working again
#4489 1b560de3 Thanks @nemanja-tosic! - Fix paste to empty node losing structure of first block
#4326 00259003 Thanks @oliger! - Add support for flag, keycap and tag unicode sequences.
#4276 6f47cbbe Thanks @TheSpyder! - Switched from fast-deep-equal to a custom deep equality check. This restores the ability for text nodes with mark values set to undefined to merge with text nodes missing those keys.
#4431 55ff8f00 Thanks @TheSpyder! - Fixed regression in #4208 where normalization on empty block nodes could not be overridden
#3820 c6203a2d Thanks @githoniel! - unwrapNode call liftNode in reverse order to keep nested block
#4428 b47d3fd1 Thanks @TheSpyder! - Don't set null in set_node's newProperties object when using Transforms.unsetNodes()
#4132 48b71294 Thanks @ulion! - Make onDomSelectionChange trigger after onClick.
#4500 50bb3d7e Thanks @tubbo! - Upgrade is-plain-object to v5.0.0
#4482 dd752df1 Thanks @Jokcy! - Fix cursor not correct issue after insert multiple nodes with Transform.insertNodes
#4296 479a7591 Thanks @kellyjosephprice! - Fix mergeNodes moving node into parent sibling
#4458 95c759a1 Thanks @taj-codaio! - Normalization now removes empty text nodes after nonempty nodes with differing styles, but before inline nodes.
#4505 269e59c9 Thanks @dylans! - Immer 9 security update, refactor to support immer 9 API changes
#4253 0214b630 Thanks @TheSpyder! - Fix Transforms.wrapNodes crashing when the match function matched only the editor
#4049 6c844227 Thanks @ulion! - Fix ios chrome ime double input issue.
#4421 237edc6e Thanks @jaked! - fix decorate bug (#4277) without adding extra layers of render tree
#4349 236754c4 Thanks @imdbsd! - Add isElementType utility to Element interface
796389c7 Thanks @TheSpyder! - Applying invalid insert_node operations will now throw an exception for all invalid paths, not just invalid parent paths.#4245 b33a531b Thanks @JonasKruckenberg! - Removed lodash dependecy to reduce bundled footprint
#4208 feb293aa Thanks @TheSpyder! - Fix Error: Cannot get the start point in the node at path [...] because it has no start text node caused by normalizing a document where some elements have no children
#4230 796389c7 Thanks @TheSpyder! - Exceptions in editor.apply() and Editor.withoutNormalizing() will no longer leave the editor in an invalid state
#4227 e6413d46 Thanks @ulion! - Fixed a bug that would allow multiple changes to be scheduled at the same time.
#4193 fd70dc0b Thanks @beorn! - Fixed insert and remove text operations to no-op without any text.
#4078 2dad21d1 Thanks @TheSpyder! - Fixed inversion of set_node operations that delete properties on nodes.
#4168 95f402c5 Thanks @ridhambhat! - Fixed a bug in splitting and applying overlapping marks to text nodes.
c6002024 - Updated Text.equals to deeply compare text node properties. Previously it only did a shallow comparison, but this made it harder to keep track of more complex data structures at the text level.
#4154 7283c51f Thanks @ianstormtaylor! - Start using 🦋 Changesets to manage releases. Going forward, whenever a pull request is made that fixes or adds functionality to Slate, it will need to be accompanied by a changset Markdown file describing the change. These files will be automatically used in the release process when bump the versions of Slate and compiling the changelog.
c6002024 - Added support for custom selection properties. Previously you could set custom properties on the selection objects but it was not a fully supported feature because there was no way to delete them later. Now custom properties are officially supported and deleting them once set is possible.
c6002024 - Fixed move_node operations to normalize the node in question.
c6002024 - Added memoization logic to Node.isNodeList and Editor.isEditor to speed up common code paths.
c6002024 - Fixed a bug when merging deeply nested multi-child nodes.
c6002024 - Fixed a bug when deleting a hanging range with a trailing void block node.
c6002024 - Fixed a bug in Editor.positions which caused it to sometimes skip positions in text nodes that were segmented across inlines or marks.