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 3 to Version 5
Migrating from Froala V3 to Froala V5
Migrating from Froala V3 to V5 is a seamless transition with no breaking changes. Users will enjoy the same familiar editor, now with more powerful features, an enhanced user experience, and improved stability.
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 3 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
V4.7.0
V4.5.2
V4.3.0
V4.2.0
V4.0.0
These plugins, except “Track Changes” plugin, 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. New 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. |
V4.7.2
| clearFormatOnEnterNewLine | Control whether or not the formatting of the current line is carried over to the new line when you press Enter after pasting content. |
| cleanReduntantStyleOnGet | Removes unnecessary styles from parent elements when retrieving the editor’s content. |
V4.6.2
| proportionalTableResize | Controls how a table behaves when you resize it. |
| enableTableSelection | Enable or disable table selection. |
V4.6.0
| tableDefaultAlign | Set the default alignment of the table. |
| tableDefaultHeight | Set the default height of the table. |
| tableDefaultBGColor | Set the default background color of the table. |
| tableDefaultBorderColor | Set the default border color of the table. |
| tableDefaultBorderWidth | Set the default border width of the table. |
| tableDefaultBorderStyle | Set the default border style of the table. |
V4.5.1
| allowStylingOnNonEditable | Specifies whether styling is permitted on non-editable content. |
V4.5.0
| pluginsDisabled | Defines a list of plugins to be excluded in the current editor instance. |
| lineHeights (updated) | Now accept array of objects |
V4.2.1
| fontFamilyDefaultSelection | Apply a default font family. |
| fontSizeDefaultSelection | Apply a default font size. |
| preserveTabSpaces | Customize or not the number of spaces generated by the \t character. |
| tabSpaces | Configure the editor’s Tab key to insert a specific number of spaces. |
V4.1.3
| tableResizer | Enables resizing table cells. |
| tableResizerOffset | The distance in pixels from the table cell’s left or right border to show the resizer. |
| tableResizingLimit | The minimum width in pixels of a table cell is allowed while resizing. |
V4.1.0
| toolbarResponsiveToEditor | Make the editor toolbar responsive based on the editor size instead of the browser window size. |
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
V4.6.0
V4.1.0
html.wrap(updated)
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. |
Integrations
V5 allows you to integrate Froala with modern frameworks and web technologies.
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:
- Resolved XSS security vulnerabilities.
- Collaboration features.
- AI features.
- Typescript support.
- Enhanced tables.
- Improved accessibility.
- Better iOS mobile support.
- Enhanced copying and pasting from Word.
- YouTube Shorts support.
- Position the toolbar at the bottom on mobile devices.
- Disable plugins more easily.
- Filestack integration
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