Migration Overview
AppFlowy Editor follows semantic versioning. Major version updates may include breaking changes that require code modifications.What's changed in version 6.x?
What's changed in version 6.x?
Version 6.0.0 introduced several new features:
- Block wrapper support
- Upgrade to Flutter 3.32.4
- Performance improvements for auto-scrolling
- Enhanced offline collaboration support
What's changed in version 5.x?
What's changed in version 5.x?
Version 5.0.0 brought significant improvements:
- Text alignment support in text-based blocks
- Deep copy functionality for nodes
- Simple columns block support
- Enhanced keyboard gesture support on mobile
- Selection service interceptors for custom drag target nodes
What's changed in version 4.x?
What's changed in version 4.x?
Version 4.0.0 focused on drag and drop:
- Block reordering via drag and drop
- Auto-scroll when dragging to reorder
- Moving blocks to become children of other blocks
- Configurable auto-scroll edge offset
- Multi-list indentation at once
What's changed in version 3.x?
What's changed in version 3.x?
Version 3.0.0 included:
- Command improvements and shortcuts
- Cursor height consistency fixes for Flutter 3.22
- Content scrolling and jumping improvements
- Enhanced markdown syntax handling
What's changed in version 2.x?
What's changed in version 2.x?
Version 2.0.0 marked the stable release:
- Support for Flutter stable channel
- Format style toggling with collapsed selection
- Optimized mobile editing experience
- Numbered list display in latin or roman format
- Table plugin support (2.3.0+)
From 1.1 to 1.2
Breaking Changes
Constructor Changes
AppFlowyEditor.custom and AppFlowyEditor.standard have been removed. Use AppFlowyEditor constructor instead.
Before:
Class Renames
DefaultSelectable → DefaultSelectableMixinAPI Changes
TextSpanDecoratorForAttribute Context Parameter TheTextSpanDecoratorForAttribute now requires a BuildContext parameter:
Version 2.0+ Updates
Flutter Version Requirements
Starting with version 2.0.0, AppFlowy Editor supports Flutter stable channel. Ensure your Flutter version meets the minimum requirements:Mobile Platform Changes
Version 2.0+ includes significant mobile optimizations:- Enhanced touch gesture handling
- Improved magnifier display
- Better keyboard height observation
- Optimized floating toolbar positioning
If you’ve customized mobile toolbar behavior, review your implementation against the new mobile editing APIs.
Version 3.0+ Updates
Table Support
Version 3.0+ introduces table plugin support. To use tables:Text Direction
Default text direction property added in version 3.2.0:Version 4.0+ Updates
Drag and Drop
Version 4.0 introduces block drag-and-drop reordering:Keyboard Service Interceptor
New interceptor to prevent default operations:Version 5.0+ Updates
Text Alignment
Text alignment support in text-based blocks:Node Deep Copy
Deep copy functionality for nodes:Selection Interceptor
Customize drag target nodes:Version 6.0+ Updates
Block Wrapper Support
Version 6.0 introduces block wrapper for enhanced block customization:Flutter 3.32.4
Upgrade your Flutter version to 3.32.4 or higher:Common Migration Issues
Import errors after upgrading
Import errors after upgrading
Problem:
Cannot find 'DefaultSelectable' or similar errors.Solution: Check for renamed classes:DefaultSelectable→DefaultSelectableMixinFlowyRichText→AppFlowyRichText
Editor not rendering after upgrade
Editor not rendering after upgrade
Problem: Editor shows blank screen or crashes.Solution:
- Clear your build cache:
flutter clean - Update dependencies:
flutter pub upgrade - Check that you’re using the new
AppFlowyEditorconstructor - Verify Flutter version compatibility
Custom decorators not working
Custom decorators not working
Problem: Custom text span decorators fail after upgrade.Solution: Add the
BuildContext parameter to your decorator methods:Mobile keyboard issues
Mobile keyboard issues
Problem: Keyboard behavior changed on mobile after upgrade.Solution: Version 2.0+ includes refactored keyboard height observer. If you’ve customized keyboard behavior, update to use the new keyboard observer APIs:
Testing After Migration
After migrating, test these critical areas:- Basic Editing: Type, delete, select text
- Formatting: Bold, italic, links, code blocks
- Block Operations: Create, delete, reorder blocks
- Mobile Gestures: Touch selection, toolbar display (if applicable)
- Undo/Redo: Verify history stack works correctly
- Custom Components: Test any custom block components
- Serialization: Test document save/load functionality
Getting Help
If you encounter migration issues:- Check the GitHub Issues
- Review the changelog for detailed changes
- Ask questions in the AppFlowy Discord community
- Submit bug reports with migration context
Next Steps
Changelog
View detailed version history
Examples
Explore example applications