Releases: microsoft/roosterjs
Releases · microsoft/roosterjs
RoosterJs 8.31.0
Improvement
- Improve undo behavior when focused position is changed before taking undo snapshot (#1213)
- Allow setting custom classname to Watermark entities for easy querying (#1219)
- Fix table resize after merge cells (#1209)
- Fix Cut/Copy tables (#1225)
- Add double long arrow bullet type (#1243, #1246)
- Fix Centered Indents (#1240)
- Rename experimentCommitListChains to commitListChains (#1248)
Bug fix
- Fix table inserter height and width (#1205)
- Fix crash when enabling Watermark plugin (#1221)
- Pendable format state isBold is incorrect (#1224)
- When toggle list type,list symbol style maybe incorrect (#1228, #1230, #1232)
- Fix "ReferenceError: window is not defined" when used with Next.js (#1242)
Engineering improvement
- Fix Drag and Drop tests (#1231)
- Add Unit Tests to SingleImage, PPT Paste Converters and WordCustomData (#1238)
- Fix CopyPaste plugin to enable strict mode (#1244)
- Add Unit Tests to Paste Plugin (#1236)
- Enable Strict Mode on rooster-editor-core/lib/editor (#1229)
Interface changes
- New format API
- commitListChains: Renamed from experimentCommitListChains
- New enum BulletListType value
- DoubleLongArrow: Bullet triggered by "-->"
- New Watermark.constructor() parameter
- customClass: Allow customizing CSS class name of watermark element
RoosterJs 8.30.2
Bug fix
- Fix "ReferenceError: window is not defined" when used with Next.js (#1242)
RoosterJs 8.30.1
RoosterJs 8.30.0
Bug fix:
- imageEditPlugin cause content bounce and original image size change (#1172)
- getFormatState() may throw exception in some case (#1181, #1182, #1194)
- Fix infinite loop when inserting a table and editor does not contain any element. (#1185)
- Table selection when and in the same row (#1202)
Improvement
- Add parameter to ImageEdit plugin to still allow disable image side resize/crop/rotate functionalities (#1175)
- Provide a friendly error message when uiUtilities is not set to react plugin (#1176)
- Add a new experimental feature NormalizeList to list item not showing correctly in Win32 Outlook (#1190)
- Fix copy/cut safari (#1198)
- Keep start property and marker (if supported) when copying list from WordOnline (#1200)
Graduate features:
- ExperimentalFeatures.PasteWithLinkPreview (#1175)
- ExperimentalFeatures.SingleDirectionResize (#1175)
- ExperimentalFeatures.ImageRotate (#1175)
- ExperimentalFeatures.ImageCrop (#1175)
Engineering improvement
- Publish from release branch only (#1181, #1184, #1187, #1188)
- Added testing for DragAndDropHelper and a parameter to force touch behaviour (#1180)
- Fix a build issue from fluentui (#1195)
Interface changes
- New exported table format API
- getTableFormatInfo: Get the format info of a table
- New experimental feature
- NormalizeList: Normalize list to make sure it can be displayed correctly in other client
- New properties of interface ElementBasedFormatState
- tableFormat: Format of table, if there is table at cursor position
- tableHasHeader: If there is a table, whether the table has header row
- New properties of interface ImageEditOptions
- disableSideResize: Whether side resizing (single direction resizing) is disabled.
- disableRotate: Whether image rotate is disabled.
- disableCrop: Whether image crop is disabled.
- New method of ImageEdit plugin
- isOperationAllowed: Check if the given image edit operation is allowed by this pluign
RoosterJs 8.29.4
Bug fix
- Fix infinite loop when inserting a table and editor does not contain any element (#1186)
RoosterJs 8.29.3
RoosterJs 8.29.2
RoosterJs 8.29.0
Bug fix
- Disable insert link when selection includes multiple paragraphs (#1132)
- Do not apply format on readonly content (#1122)
- When insert table, do not apply existing background color (#1169)
- Fix bug in the calculation of min-width and min-height of image resize (#1165)
Improvement
- Add an empty line when insert a table right after another table (#1167)
- Add a new experimental feature to improve the inline formatting when selection is collpased (#1161)
Interface changes
- New member of interface PendingFormatStatePluginState:
- pendableFormatSpan A temporary SPAN element to hold pending format change. it will be inserted into content when user type something,
- New experimental feature member:
- PendingStyleBasedFormat
- New value of enum TableBorderFormat
- Clear
- New member of interface PendingFormatStatechangedEvent and CompatiblePendingFormatStateChangedEvent
- formatCallback: A callback to do format change to a temp element. This is used for style-based format such as font and color
- New member of interface ElementBasedFormatState
- isMultilineSelection Whether the selected text is multiline
RoosterJs 8.28.1
Improvement
- Modified shouldReplace to add editor as optional parameter (#1081)
Bug fix
- Delete the whole table if the table is empty after deletion (#1106)
- Horizontal table inserter not disposing (#1107)
- Avoid merge of two lines when the pasted content only contains two blocks. (#1113)
- Replace highlighted text not working (#1071)
- Modify the Check in normalizeRect (#1134)
- Stop Table Resizer disposal while editing (#1135)
- InsertNode with option InsertInNewLine is inserting the new node incorrectly when target is a table cell (#1137)
- Fix numbering list triggers (#1142)
Engineering improvement
- Add buildmjs to export esmodules under lib-mjs (#1110)
- Enable strict mode in roosterjs-editor-core/lib/coreApi folder (#1111)
- Add tests
- Run test coverage for both browsers (#1139)
- Use caret version dependency between packages
Interface changes
- New parameter of CustomReplacement.shouldReplace:
- sourceEditor: A reference to the editor to allow more complex replacement rules
RoosterJs 8.27.0
Improvement
- Modify the editor.addUndoSnapshot to add formatApiName to the request (#1075)
- Fix align list item when styled (#1076)
- Add different apiNames for automatic formatting. (#1087, #1092)
Bug fix
- Fix bug in ensureUniqueId (#1074)
- Fix Option+Backspace behavior on Mac (#1084)
- Add null check in AdjustInsertPosition (#1088)
- Fix empty selection check in TypeInContainerPlugin (#1086)
Engineering improvement
Interface change
- New parameter of addUndoSnapshot API callback parameter:
- additonalData: Additinal data for this callback
- New parameter for toggleBullet, toggleNumbering, toggleListType:
- apiNameOverride: Override the default API name parameter in ContentChangedEvent