New Froala Editor v5.4.0 is here – Learn More
Froala Documentation
- Installation Guides
- Browser Support
- Languages Support
- Shortcuts
- Activation
- Examples
- Customize the Editor
- Use-cases
- Plugins
- APIs
- Development Frameworks
- Server Integrations
- Server SDKs
- Migration Guides
- Changelog
- Tutorials
- Froala Docs
- /
- Migrate from Version 4 to Version 5
Migrating from Froala V4 to Froala V5
Migrating from Froala V4 to V5 is a straightforward process with no breaking changes, ensuring a seamless transition. Users can quickly and easily upgrade, enjoying the same editor they love while benefiting from more powerful features, an enhanced user experience, and improved stability and reliability. This upgrade promises to maintain the familiar interface while delivering significant enhancements.
Important To use Froala V5 you need a new API key. Please contact support@froala.com to get your new key.
Install Version 5
To find information on the different options for installing Froala Editor, refer to the Getting Started guide
Initialization
Version 5 and version 4 both support the same initialization method, just add your new API key, and the editor will continue to function as it did before, but with new features available. The following example shows how to initialize the editor in version 5.new FroalaEditor('.editor', {
// Pass options.
optionName: 'Option Value',
anotherOption: 'Froala Option',
yetAnotherOne: 100,
// Bind events
events: {
eventName: function (param1, param2) {
// Get editor instance.
let editor = this;
// Callback code here
// Use editor methods.
editor.method();
}
}
})
Plugins
The following plugins are available when you migrate to version 5:
V5.3.0
V5.2.0
V5.1.0
V5.0.0
These plugins are included by default if you are using the froala_editor.pkgd.js file. Otherwise you should include their corresponding stylesheet and JavaScript files. If you have set the pluginsEnabled option you should add the corresponding plugin identifier.
Sample code:
new FroalaEditor('#froala-editor', {
pluginsEnabled: ['image', 'link', 'exportToWord', 'codeSnippet'],
}); Learn more about how Froala plugins works.
API Options
In addition to the new plugins’ configurations, the following API options has been added:
V5.4.0
| aiChatWebSearchEnabled | Sets whether the web-search toggle in the AI Chat panel starts on or off. |
| aiChatModels | Defines the list of selectable AI models shown in the chat panel’s model dropdown. |
| aiChatDefaultModel | Sets which model from aiChatModels is preselected when the panel opens. |
| aiChatReasoningEnabled | Sets whether the reasoning toggle in the AI Chat panel starts on or off. |
| aiChatStreamResponse | Determines whether AI Chat answers stream in gradually or appear all at once. |
| aiChatSupportedFileTypes | Lists the file extensions users can attach as AI Chat context. |
| aiChatMaxFileSizeMB | Sets the maximum size, in MB, allowed for a single attached file. |
| aiChatMaxFiles | Caps how many files can be attached to one AI Chat conversation. |
| aiChatRequestTimeoutMs | Sets how long, in milliseconds, to wait for an AI Chat response before timing out. |
| aiChatIncludeReferenceUrlsInContext | Controls whether “Reference URL” context sources are also folded into the outgoing prompt text. |
| aiChatPanelWidth | Sets the initial width, in pixels, of the AI Chat panel. |
| aiChatPanelMaxWidth | Sets the maximum width, in pixels, the AI Chat panel can be resized to. |
| aiChatWelcomeMessage | Overrides the intro text shown in the AI Chat panel’s empty-state welcome message. |
| aiImproveWritingPrompt | The instruction sent to the AI backend whenever Improve Writing runs. |
| selectionActionButtons | Lists the command buttons shown in the popup that appears when text is selected. |
| inlineSuggestions | Enables Gmail-style inline “ghost text” continuation suggestions while typing. |
| inlineSuggestionsDelay | Sets the debounce delay, in milliseconds, before an inline suggestion is requested. |
| inlineSuggestionsPromptTemplate | The prompt template sent to the AI model to generate an inline continuation suggestion. |
| aiSpeechToText | Shows a microphone button letting users dictate their AI prompt instead of typing it. |
| aiSpeechToTextWaveform | Shows an animated “Listening…” waveform in place of the prompt input while recording. |
| aiSpeechToTextListeningText | The label shown next to the recording waveform. |
| aiSpeechToTextMaxDuration | Sets the maximum recording duration, in seconds, before transcription is triggered automatically. |
| aiAssistRequest | Custom function to handle AI requests, now able to stream via a third onChunk argument and report webSearchUsed on return. |
V5.3.0
| fontSizeCustomMin | Defines the minimum font size that can be entered in the Custom Font Size dialog |
| fontSizeCustomMax | Defines the maximum font size that can be entered in the Custom Font Size dialog. |
| importFromWordMammoth | Specifies the Mammoth library instance used to import and convert Microsoft Word (.docx) documents into HTML content. |
V5.2.0
| preserveListLineOnBackspace | Prevents Backspace from merging or removing a list item when the cursor is at its start. |
V5.0.1
| toolbarButtonsEnabledOnEditorOff | Specify which toolbar buttons should remain active even when the Froala editor is disabled. |
| tableHorizontalResizer | Control table horizontal resizing. |
| tableVerticalResizer | Control table vertical resizing. |
V5.0.0
| retainLineBreaksInCellsOnWrap | Control how line breaks within a cell are handled when the cell’s content wraps to multiple lines. |
A complete list of Froala editor options is available on the Options API page.
New Methods
In addition to the new plugins’ methods, the following API methods has been added:
V5.4.0
aiChatAssistant.togglePanel – aiChatAssistant.togglePanel
aiChatAssistant.isPanelOpen – aiChatAssistant.isPanelOpen
aiChatAssistant.sendMessage – aiChatAssistant.sendMessage
aiChatAssistant.addContextSource – aiChatAssistant.addContextSource
aiChatAssistant.removeContextSource – aiChatAssistant.removeContextSource
aiChatAssistant.hasActiveConversation – aiChatAssistant.hasActiveConversation
aiChatAssistant.applyToEditor – aiChatAssistant.applyToEditor
aiChatAssistant.getChatHistory – aiChatAssistant.getChatHistory
aiImproveWriting.applyExternalRewriteDirect – aiImproveWriting.applyExternalRewriteDirect
aiAssist.requestAnswerStream – aiAssist.requestAnswerStream
aiImproveWriting.start – aiImproveWriting.start
aiImproveWriting.hasActiveSession – aiImproveWriting.hasActiveSession
aiImproveWriting.isInFlight – aiImproveWriting.isInFlight
aiImproveWriting.hasActiveCollabReview – aiImproveWriting.hasActiveCollabReview
aiImproveWriting.acceptAllSession – aiImproveWriting.acceptAllSession
aiImproveWriting.rejectAllSession – aiImproveWriting.rejectAllSession
collaborative.isPanelOpen – collaborative.isPanelOpen
collaborative.hidePanelForCoexistence – collaborative.hidePanelForCoexistence
dockPanel.registerCoexistence – dockPanel.registerCoexistence
dockPanel.unregisterCoexistence – dockPanel.unregisterCoexistence
markdown.getMarkdown – markdown.getMarkdown
markdown.setMarkdown – markdown.setMarkdown
aiAssist.requestAnswer – aiAssist.requestAnswer
selection.element – selection.element
API Events
In addition to the new plugins’ configurations, the following API events has been added:
V5.4.0
| markdown.beforeGet | Fires before getMarkdown() reads the content; returning false cancels the read. |
| markdown.afterGet | Fires after getMarkdown() has retrieved the content. |
| markdown.beforeSet | Fires before setMarkdown() applies new content; returning false cancels the set. |
| markdown.set | Fires after setMarkdown() has successfully applied the content. |
| aiAssist.chatPanelResized | Fires after the user finishes drag-resizing the AI Chat panel. |
| aiAssist.chatBeforeApply | Fires before a chat response is inserted into the document; returning false cancels the insert. |
| aiAssist.chatAfterApply | Fires after a chat response has been inserted into the document. |
| aiAssist.improveWritingStarted | Fires when an Improve Writing request is sent to the AI backend. |
| aiAssist.improveWritingResponse | Fires when the AI response for an Improve Writing request is received. |
| aiAssist.reviewStarted | Fires when a standalone review session opens for AI-suggested changes. |
| aiAssist.hunkResolved | Fires whenever a single change in the active review session is accepted or rejected. |
| aiAssist.reviewEnded | Fires when a review session ends because every change has been resolved. |
| aiAssist.beforeHunkInsert | Fires once per AI-proposed change during a collaborative Suggesting-mode review. |
| dockPanel.opening | Fires when a registered dock panel is about to become visible. |
V5.1.0
| drop.afterCleanup | This event is triggered just after the clean process during a drop operation. |
| drop.beforeCleanup | This event is triggered just before the clean process during a drop operation. |
Why migrate to V5?
Version 5 offers increased stability and reliability, ensuring a smoother editing experience with fewer disruptions. It also includes a range of new features and bug fixes that enhance functionality and address issues present in previous versions. By upgrading, users can take advantage of these improvements while continuing to enjoy the seamless operation of their favorite editor.
Key improvements:
- Collaboration features.
- AI features.
- Enhanced tables.
- Improved accessibility.
- Better iOS mobile support.
- Enhanced copying and pasting from Word.
You can read the complete changelog here.
Additional Resources
Froala Editor V5.2 with Filerobot, CSP Compliance and Stability
We’re thrilled to announce the release of Froala Editor V5.2, a milestone update that brings powerful new capabilities and critical stability improvements to your favorite WYSIWYG editor. This release represents
Froala 5.1 Release: AI Assist Plugin
Froala 5.1 is here. This release includes performance improvements, bug fixes, and enhanced stability across the editor. But there’s one addition your team has been asking for: Froala AI Assist—a
Froala V5 Tables Are Worth the Upgrade from V3
Froala V5 makes tables faster to build, easier to format, and consistent by default. Multi-cell selection, proportional resizing, copy-paste cells, and automatic style defaults mean you spend minutes on tables
Froala V5.0.1: New Toolbar & Table Controls
Froala Editor V5.0.1 is here, and it brings some highly requested features that give you more granular control over your editor’s behavior. If you’ve ever needed to keep certain toolbar
Froala V5.0.0 Release: Code Snippets, Word Imports, and More
Froala V5.0.0 introduces two major features: code snippet insertion with syntax highlighting, and direct Word document import with formatting preserved. This release also includes table handling improvements and updated styling
Migration support
Get hands-on help migrating your project from our dedicated support team. They are available to assist with any questions or concerns you might have during the transition. Don't hesitate to reach out if you encounter any issues or need guidance on utilizing the new features effectively.
Whats on this page hide