Overview
Yoopta Editor v6 introduces significant API and architectural changes compared to v4.9.x. This guide helps you migrate existing projects to the latest version.Version 6.0.0 was released on February 24, 2026 and graduated from beta (6.0.0-beta.22) with no feature changes.
Breaking Changes Summary
1. Editor Creation
v4.9.x:2. Value Management
v4.9.x:valueprop on<YooptaEditor>- Controlled component pattern
- No
valueprop - Set initial value with
createYooptaEditor({ value })oreditor.setEditorValue() - Read value from
onChangecallback oreditor.getEditorValue()
3. UI Components
v4.9.x:@yoopta/toolspackagetools={[...]}prop
@yoopta/uipackage- UI components as children of
<YooptaEditor>
Step-by-Step Migration
Step 1: Update Dependencies
Update to the latest versions:Step 2: Create Editor Instance
Move editor configuration outside the component: Before (v4.9.x):Step 3: Update UI Components
Replace@yoopta/tools with @yoopta/ui components as children:
Before (v4.9.x):
Step 4: Apply Themes (Optional)
Use theme packages for pre-styled UI:Step 5: Update API Calls
Update deprecated API methods: Removed Methods:| v4.9.x | v6 Replacement |
|---|---|
editor.applyChanges | editor.applyTransforms |
editor.selection | editor.path |
editor.setSelection | editor.setPath |
editor.setBlockSelected | editor.setPath |
editor.insertBlocks | editor.batchOperations(() => { /* multiple insertBlock */ }) |
editor.deleteBlocks | editor.batchOperations(() => { /* multiple deleteBlock */ }) |
editor.createBlock | editor.insertBlock |
Step 6: Update Event Handlers
Change event API:Step 7: Update Drag and Drop
If you use drag-and-drop, update the implementation: Before (v4.9.x):Version-Specific Changes
6.0.1 (February 27, 2026)
CSS Variables Change
CSS Variables Change
Breaking: Removed Action Required: If you have custom variables, rename them to match shadcn conventions.
--yoopta-shadcn-* prefix from CSS variables. Theme now reads standard shadcn variables directly.Migration:Media Plugin Changes
Media Plugin Changes
Changed: Removed hardcoded
maxWidth/maxHeight from embed, image, and video plugins. Default sizing now uses Infinity.Migration: If you relied on the old defaults, explicitly set size constraints:6.0.0-beta.20 (February 12, 2026)
Collaboration Package
Collaboration Package
New: See Collaboration docs for setup.
@yoopta/collaboration package for real-time collaborative editing.6.0.0-beta.19 (February 7, 2026)
ElementOptions Component
ElementOptions Component
New: Compound component for inline element configuration.
6.0.0-beta.21 (February 17, 2026)
List Plugin Fixes
List Plugin Fixes
Fixed: Focus loss when pressing Enter in lists (especially Safari).Action Required: None - automatic improvement.
4.9.9 → 6.0.0
Block Render Change
Block Render Change
Breaking: Removed unnecessary wrapper div from block render.Migration: Check your custom styles that target block wrappers:
Common Migration Issues
TypeError: editor.insertBlock is not a function
TypeError: editor.insertBlock is not a function
Cause: Using old API or not creating editor with
createYooptaEditor.Fix:UI components not appearing
UI components not appearing
Cause: Forgot to render UI components as children.Fix:
Content not loading
Content not loading
Cause: Not setting initial value correctly.Fix:
onChange firing during initialization
onChange firing during initialization
Cause: This was a bug in v4.9.x, fixed in v6.Fix: Upgrade to v6 -
onChange no longer fires during initialization.CSS variables not working
CSS variables not working
Cause: Missing CSS imports or using old variable names.Fix:
Migration Checklist
- Updated all packages to v6+
- Uninstalled
@yoopta/tools - Installed
@yoopta/ui - Created editor with
createYooptaEditor - Removed
plugins,marks, andvaluefrom<YooptaEditor> - Updated UI components to be children
- Updated
onChangehandler - Replaced deprecated API calls
- Updated event handlers
- Tested all functionality
- Updated CSS styles if needed
- Reviewed and updated custom plugins
Getting Help
If you encounter issues during migration:- Check the examples in the repository
- Review the full changelog
- Ask in GitHub Discussions
- Report bugs in GitHub Issues
Related
Getting Started
Fresh start with v6
Troubleshooting
Common issues and solutions