Latest Release
Version 6.1.0
Release Date: RecentFeatures
- Open HTML decoder for custom parser
- Add animation during auto scrolling (desktop and mobile)
- Support formula in DeltaMarkdownDecoder
- Allow passing in a context menu builder
- Allow users to supply decoration instead of only color
- Add performance tests
Bug Fixes
- Unable to input text on Windows desktop
- Paste issue from ChatGPT
- Scrolling issue with single block node from bottom to top
- TextStyleExtensions combine logic issue with font family
- Super weird bug with placeholders
- Word boundary regards white space as a word
- Selection move direction logic should visit children
- Support export markdown with inline math equation
Improvements
- Optimize auto scroller speed
- Optimize context menu logic
Version 6.0.0
Breaking Changes: Major version update with new featuresFeatures
- Support block wrapper for enhanced block customization
- Adding offline collaboration example using appflowy_editor_sync_plugin
Bug Fixes
- Paste single line text will remove the children block
Updates
- Upgrade to Flutter 3.32.4
Version 5.x Series
Version 5.2.0
Features
- Support customizing link button
- Add flag to disable keyboard shortcuts
- Add trailing builder in block menu
- Add ScrollViewScrolledListener to EditorState
- Support customizing scroll edge offset
- Enable set floatingToolbarHeight outside
- Add document rules
- Enable dismiss floating toolbar from outside
- Enable pass custom color from outside
Bug Fixes
- scrollController disposed twice
- Menu position error
- Interceptor not working with continuous deleting
- Auto scroll issue
- Recreate FloatingToolbarWidget after Brightness was changed
- Assertion in editor list example
- Unable to undo/redo when the selection is null
- Parse table width/height error if the value is int
- Prevent lock after backspacing on select all
- Rename the description of turning into heading shortcuts
- Shift+click not working if beginning is out of the window
- Add isMetricsChanged to FloatingToolbarBuilder
- Slash menu sometimes incorrectly show on left side
- Backspace select all issues
- Do not recreate the toolbar when the selection not changed
- Slash not recognized on mobile
Improvements
- Mark node id as non final
- Remove assertion in scrollable helper
Version 5.1.0
Features
- Upgrade to Flutter 3.27.0
- Disable floating toolbar when editable is false
- Allow coloring image menu
- Add simple columns block in editor
- Add interceptor into selection service to custom the drag target node
- Support custom non-standard URLs
Bug Fixes
- The cursor constantly blinking on Android
- RTL languages display incorrectly with soft line break
- Find getting focus unexpectedly
- Editor will crash if deleting all nodes
- Check for has client before jumping in shrinkwrapped editor
- Add default selection area for empty character
Version 5.0.0
Major ReleaseFeatures
- Select multiple lines with block selection style
- Custom slice function
- Support in memory transaction update
- Support customize supported node types for slash menu
- Add command shortcut keys to convert text to title
- Add
partialSlicedto support partial sliced attributes - Deep copy the node
- Support text align in text-based blocks
- Enable debug paint size for mobile drag handle
- Clear selection extra info before inserting a new line
- Expose text span for text style builder
- Support copy with indentPadding
Bug Fixes
- Export PDF set font not work
- HTML decoder ignores h4-h6 tags
- Markdown parser doesn’t recognize softline breaks
- Use retain instead of insert/delete for same attr
- Replace texts assertion
- Links starting with 0 index lose href attribute after formatting
- Replace texts may result in incorrect afterSelection
- Cancel block selection when tapping the editor on mobile
- Highlight search match not scrolling document to reveal said match
- Cursor height is inconsistent when font size is smaller than default
- Move cursor up/down error
- Table resizing when rect not rendered
- Searching command with / using i18n
- Cross blocks format not reflected on the float toolbar
- Hide the floating toolbar if no content is visible
- Skip repeated key events when slash menu is opening
- Creating document from slash menu leaves text behind
- Closing a ’)’ bracket to create a link will erase text following it
- Underscore should not be interpreted in inline-code
- Cross column deletion in the table
- Shift+enter should wrap the line in list
- All the text pasted from google doc will be applied inline link
- Sougou IME issue on Windows
- Enter after emoji will create a softbreak on mobile
- Using space bar to move the cursor not working on Android
- Unable to parse image if the image is inside the paragraph
- Use jump to when cursor not rendered
- Check if scroll service is disposed before scrolling
Improvements
- Update migration guide
- Refactor HTML test
- Reset to the default inline code format logic
- Fixed menu closing on some devices
Version 4.0.0
Major Release - Drag and DropFeatures
- Support dragging to reorder blocks
- Implement auto scroll when dragging to reorder
- Allow configuring the auto scroll edge offset
- Support moving a block to become a child of another block
- Listen on delete_backward changes
- Support formatting text when the composing range is not collapsed
- Support skipping slice attributes
- Add keyboard service interceptor to prevent default ops execution
- Support keyboard gesture on mobile
- Add ‘delete line’ command shortcut
- Implement custom pan gesture to avoid delay offset update
- Multi list indentation at once
- Slice attribute from next position if index is 0
- Add auto expanded editor showcase
- Override block component validator
Bug Fixes
- Backquote key will cause crash when using French IME
- Odd toggle behavior continuous markdown
- Context menu doesn’t show up when the first paragraph is empty
- Insert the pasted nodes after current selection if they start with a non-delta node
- Only notify UI of selection change if it actually changed
- Shift+delete issues
- Ctrl+delete does not delete newlines
- Ctrl+backspace does not delete newlines
- Do not highlight inactive items on empty selection
- showActionsNotifier called after it has been disposed
Improvements
- Integrate delete line command into cut command
Version 3.x Series
Version 3.3.0
Features
- Support moving cursor using keyboard gesture
- Support more link types
Bug Fixes
- Regain focus after navigation arrows are used
- Unsupported platform error on web
- Platform.environment is not supported on web
- Document getting first or last node exception
Improvements
- Remove todolist validation and set checked as false by default
- Hide Log and PlatformExtension
Version 3.2.0
Features
- Customize shortcuts in readonly mode
- Render drop target
- Support single column slash menu
- Support disabling keyboard & scroll service
- Support customizing tooltip style
- Custom slash menu text style
- Paste list children nodes
- Update keyboard height
- Optimize table update
- Optimize the table node parse steps and add logs
- Magnifier should be fully displayed at the edge of the editor
Bug Fixes
- Document from markdown contains HTML escape text
- Force unwrap error
- Error in file selection
- Refine drop target position
- Stabilize rendering for nested lists beyond level 1
- Enable converting multiline to list
- Table cell insertion error
- Chinese input issues
- Context menu wrong offset
Improvements
- Support disabling selection gesture
- Expose text operation functions
- Support disable auto scroll
Version 3.1.0
Features
- Support custom markdown parsers
- Undo markdown style
- Enable selection in readonly mode
- Use format of wrapping node when pasting plain text
- Document to PDF feature for AppFlowy Editor
Bug Fixes
- Handwriting IME doesn’t work
- Incorrect calculation of skip value in moveVertical
- Add code to support sliced
- Render issue of nested list
- The toolbar will be blocked if the scroll bar is hidden
Version 3.0.0
Major ReleaseFeatures
- Command improvement
Bug Fixes
- Markdown to document with image URL having properties after extension
- Incorrect cursor position after new line
- Content jumping down and scrolling getting locked
- Underscore markdown syntax assertion
- Cursor height is inconsistent after upgrading to Flutter 3.22
Improvements
- Separated determineTextDirection function
Version 2.x Series
Version 2.5.1
Updates
- Upgrade Flutter to 3.22.0
Version 2.5.0
Features
- Improve mobile selection
- Support option/cmd + click to open link
Bug Fixes
- Improve link menu position
- Incorrect cursor movement behaviour
- Update selection from the delta
- Replace_text
- CJK IME issues on Linux
- Empty items disable context menu
- Remove heading node validation
Improvements
- Upgrade flutter dependencies
- Provide an option to disable color parser
Version 2.4.0
Features
- Provide an option to disable color parser
- Improve mobile selection
- Support option/cmd + click to open link
Bug Fixes
- Improve link menu position
- Incorrect cursor movement behaviour
- Update selection from the delta
- Inline math equation issue
- CJK IME issues on Linux
Version 2.3.4
Features
- Support customizing mobile page style
- Add table style
- Support auto complete for text block
- Combine diff operations
- Add more gesture interceptors
- Support remote selections
- Add diff document/nodes function
- Disable converting heading block to numbered list block
- Add fixed toolbar example
Bug Fixes
- Unable to select multiple words
- Filter invalid text editing value
- Delta insert error
- Late initialization error
- Render paragraph hot reload error
- Extra space from numbered list item
- Disable tableActionHandler when the editorState is not editable
Version 2.3.3
Features
- Word counter service
- Support scaling the SVG
- Support selecting word on iOS through long pressing
Bug Fixes
- Slash command menu bad positioning in Web Version
- Unable to export image block in markdown format
- Unable to click the items in a long list
- Resolve data loss issue during block type conversion
- Unable to redo/undo in lists
- Flutter analyze
Improvements
- Upgrade flutter version to 3.19.0
- Rename highlight color to background color
Version 2.3.0
Features
- Support customizing cursor width
- Support updating cursor position via spacebar
- Add markdown divider encoder parser
Bug Fixes
- Chinese input issue
- Move cursor up/down issues
- Ignore parent gesture
- Support character deletion while holding down the Shift key
Version 2.2.0
Features
- Support customizing the mobile magnifier
- Support keep editor focus on mobile
- Support clicking the selection area to disable floating toolbar
- Adding an ability to have a link check before embedding
- Add markdown link syntax formatting
- Table navigation using TAB key
- Improve Android selection gesture
- Improve iOS touch gesture
Bug Fixes
- Indent/outdent doesn’t work in not collapsed selection
- Renamed duplicated shortcut key
- Todo list lost focus
- Resolve dead loop in node_iterator toList
- Active hover on upload image
- Text_decoration_mobile_toolbar_padding
- Android 14 issues
Version 2.1.0
Features
- Show magnifier when dragging the handlers
- Refactor keyboard height observer to support multiple listeners
Bug Fixes
- floating_toolbar_position_error
- Selection menu positioning on right half of editor
- Editor cannot scroll when editable is false
- Markdown does not support nested lists
- Input chinese issue
- Header/footer focus issue
Improvements
- Upgrade to Flutter 3.16
Version 2.0.0
Major Release - Stable Channel SupportFeatures
- Support Flutter stable channel
- Support toggling format style when the selection is collapsed
- Optimize editing experience on mobile
- Support display number of the numbered list in latin or roman format
Bug Fixes
- Don’t rebuild mobile toolbar every time
- Solve the left and right key bug
- Unable to set toolbar icon theme
Version 1.x Series
Version 1.5.2
Features
- Show placeholder override for paragraph block
- Checkbox unresponsive in custom Theme example
Bug Fixes
- Quit editing button doesn’t work
- Check if header exists for footer
- ‘PageStorage.of’ returns null
- Catch regex
FormatExceptionand show a corresponding error message
Improvements
- Changed padding values and added borderRadius
- Refactor character replacement
Version 1.5.1
Features
- ToggledStyle notifier
- Power checkbox shortcut
Bug Fixes
- Applied Corner Radius to Block Selection Area
- Do not select all if selection is null
- On UI event reset selection type
- Image copy error width/height is double
Version 1.5.0
Features
- Enable toggling and canceling of formatting with shortcuts
- Disable the toolbar in the code block
- Refactor logic for converting color string to Color
- Add an extra info parameter to the node
- Support parsing the nested list when exporting to markdown
- Optimize editable features
- Table HTML encoder and decoder added
- Support overriding i18n
- Convert = and > to ⇒
Bug Fixes
- Cursor blinks at the wrong location when inserting text
- Pinyin IME on Linux
- Unable to clear the style by toggling twice
Version 1.4.4
Features
- Support customizing error block
- Export JSON in mobile and update mobile_example.json
- Add regex and case sensitive to
FindReplaceMenu - Customize desktop toolbar style
- Support RTL in toolbar
- Optimize the find and replace logic
- Enable shift+press for selection range
- Image block revamp
Bug Fixes
- Undo failed in a nested list in a special case
- The cursor will flicker one frame to its previous position
- Delete the divider on mobile will raise an error
- Unable to update selection sometimes when the editor lost focus
- Search integration issues
- Image block revamp issues
- Impossible to click on any sub-items if the top level item is off-screen
- The selection should be clear if header or footer is focusing
- The selection handles remain on the screen after cutting the text
Version 1.4.0
Features
- Adjust the loading large document optimization in mobile platform
- Simplify auto scroll behavior in ScrollServiceWidget
- Implement delta diff and provide external values
- Add more showcases on the mobile/desktop platform
- Support customizing the record time
- Bulk open links shortcut
- Optimize performance
Bug Fixes
- Request focus in find replace menu
- Remove unused check in non_delta_input_service
- Unable to paste HTML contains section
- Sometimes failed to paste content from Google translation
- Duration cannot be zero in animate
- Image upload on web
- Fix block selection area
- Resolve
RangeErrorwhen last row deleted - Resolve layout problem of
FindMenuWidget - Show reset color button even if one of the selected text was formatted
- Selection area doesn’t show if in the long selection
- DT_TOOLCHAIN_DIR path in Podfile for iOS and macOS
- Respect default and last direction on new line and indent
- Link menu overflow in right
- Resolve “Bad state: no element” when in-table paragraph deleted
Improvements
- Add jumpTo to editor scroll service
- Update l10n
- Refactor attribute comparison in Delta class diff loop
- Update Chinese l10n
- Migrate tests
- Refactor color conversion method to handle RGB and hex formats
Version 1.3.0
Features
- Support table plugin
- Support alignment for block component
- Toggle highlight using ctrl/cmd + shift + h
- Refactor floating toolbar positioning logic
- Default text direction property
Bug Fixes
- Rect of the divider block is incorrect
- Replace matches on the same node
- Update resizable image width calculation with minimum width constraint
- Fixed the cursor not moving to next line after inserting divider
- HTML encoder not adding multiple text decorations
- Exception on prev node text direction null
Version 1.2.4
Features
- Improve CJK IME support
- Implement find dialog
- Improve functionality for pasting from HTML
- Placeholder on paragraph when selected
- Double hyphen to em dash
- Skip whitespace between words while navigating with CTRL+ARROW keys
- Add support for context menu items to the editor
- Add support for custom parser for markdown to document
Bug Fixes
- Miss the nested node when copying
- Refactor _onSelectionChange to update _showPlaceholder state more efficiently
Version 1.2.3
Features
- Add edit link menu on mobile
- HTML encode parser added
- Support scroll without animation
- Expose context in nodeBuilder
- Paste plaintext shortcut
Bug Fixes
- Indent padding from left when RTL
- Fixed numbered list being treated as a paragraph
How to Upgrade
To upgrade to the latest version:Release Notes Format
Each release includes:- Features: New functionality and enhancements
- Bug Fixes: Resolved issues and corrections
- Breaking Changes: Changes that may require code modifications
- Improvements: Performance and code quality enhancements
Versioning
AppFlowy Editor follows Semantic Versioning:- Major (x.0.0): Breaking changes
- Minor (0.x.0): New features, backward compatible
- Patch (0.0.x): Bug fixes, backward compatible
Stay Updated
GitHub Releases
Get notified of new releases
Migration Guide
Learn how to upgrade
Contributing
Contribute to future releases
Examples
See features in action