- #5069
46d113fe
Thanks @krenzke! - Expose getDirtyPaths method on Editor object to allow for customization
- #4988
fbab6331
Thanks @BitPhinix! - Android input handling rewrite, replace composition insert prefixes with decoration based mark placeholders
- #5029
736662f8
Thanks @hanagejet! - fix:Path.previous()
dose not working when path isnull
- #5015
9ae37287
Thanks @tithanayut! - Fix deleteBackward behavior for Thai script where deleting N character(s) backward should delete N code point(s) instead of an entire grapheme cluster
- #4999
fe13a8f9
Thanks @alexandercampbell! - Add new Slate.Scrubber interface to allow scrubbing end user data from exception text. The default behavior remains unchanged.
- #5008
e9ea2815
Thanks @steve-codaio! - Revert to previous position behavior around inline voids
- #4974
3b7a1bf7
Thanks @dylans! - Added types for options and common string literals, thanks @JoshuaKGoldberg
- #4952
9ce0a08c
Thanks @steve-codaio! - Fix positions iteration when starting inside an inline void node
-
#4873
20acca4b
Thanks @bryanph! - A different behavior for inserting a soft break with shift+enter is quite common in rich text editors. Right now you have to do this in onKeyDown which is not so nice. This adds a separate insertSoftBreak method on the editor instance that gets called when a soft break is inserted. This maintains the current default behavior for backwards compatibility (it just splits the block). But at least you can easily overwrite it now.If you rely on overwriting editor.insertBreak for extra behavior for soft breaks this might be a breaking change for you and you should overwrite editor.insertSoftBreak instead.
- #4912
43ca2b56
Thanks @zhugexinxin! - feat: add merge to setNodes and test
- #4889
970523f
(https://github.com/ianstormtaylor/slate/commit/970523f881bf1918f91cb9de87c961dfb965e8a1) Thanks @zhugexinxin! - feat: add custom compare node props
- #4858
33be22f3
Thanks @TheSpyder! - Reverted #4804 as it triggered an exception when inserting text with multi-block selection
- #4848
482b090e
Thanks @rockettomatooo! - fix point transform for insert_text operations to account for affinity
- #4703
205d4b7e
Thanks @e1himself! - Add tests for Editor.unhangRange() behavior
- #4735
e5427ddd
Thanks @steve-codaio! - Optimize path transforms during normalization
-
#4708
2fc7ad92
Thanks @bryanph! - AllowOperation
type to be extendedFor example:
import type { BaseOperation } from 'slate' type CustomOperation = | BaseOperation | YourCustomOperation | AnotherCustomOperation declare module 'slate' { interface CustomTypes { Operation: CustomOperation; } }
- #4672
2523dc4f
Thanks @VictorBaron! - Fix - deep-equals was always returning true when array props were equals.
- #4671
e3afda94
Thanks @unageek! - Fixed the issue where the cursor jumps more than one character unexpectedly
- #4565
5818aca5
Thanks @oliger! - Fix issue with unicode 1.1 smileys followed by a variation selector.
- #4638
e0f41514
Thanks @e1himself! - Improve typescript type ofprops
argument ofTransforms.setNodes()
- #4578
67badb7d
Thanks @jameshfisher! - Allow typing at the end of inline elements
- #4552
37d60c58
Thanks @clauderic! - Only apply FirefoxtoSlatePoint()
offset fix when the cloned contents end in\n\n
instead of just\n
.
- #4523
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
- #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
- #4276
6f47cbbe
Thanks @TheSpyder! - Switched fromfast-deep-equal
to a custom deep equality check. This restores the ability for text nodes with mark values set toundefined
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 setnull
inset_node
'snewProperties
object when usingTransforms.unsetNodes()
- #4482
dd752df1
Thanks @Jokcy! - Fix cursor not correct issue after insert multiple nodes withTransform.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.
- #4253
0214b630
Thanks @TheSpyder! - FixTransforms.wrapNodes
crashing when thematch
function matched only the editor
- #4230
796389c7
Thanks @TheSpyder! - Applying invalidinsert_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! - FixError: 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 ineditor.apply()
andEditor.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.
- #4078
2dad21d1
Thanks @TheSpyder! - Fixed inversion ofset_node
operations that delete properties on nodes.
- #4168
95f402c5
Thanks @ridhambhat! - Fixed a bug in splitting and applying overlapping marks to text nodes.
c6002024
- UpdatedText.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
- Fixedmove_node
operations to normalize the node in question.
c6002024
- Added memoization logic toNode.isNodeList
andEditor.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 inEditor.positions
which caused it to sometimes skip positions in text nodes that were segmented across inlines or marks.