Skip to main content
Complete changelog of AppFlowy Editor releases, including new features, bug fixes, and breaking changes.

Latest Release

Version 6.1.0

Release Date: Recent

Features

  • 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 features

Features

  • 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 Release

Features

  • 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 partialSliced to 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 Drop

Features

  • 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 Release

Features

  • 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 Support

Features

  • 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 FormatException and 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 RangeError when 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:
flutter pub upgrade appflowy_editor
For major version upgrades, review the Migration Guide for breaking changes and migration steps.

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

Build docs developers (and LLMs) love