Releases: optimajet/formengine
Release list
Form Engine 10.0.1
July 6, 2026
Overview
FormEngine 10.0.1 fixes npm publication packages and ships a few housekeeping changes on top of 10.0.0.
Why update
- Fix broken installation of 10.0.0 release.
Changelog
Update instructions
Update all packages to version 10.0.1. No migration beyond 10.0.0 is required for typical Designer and Viewer integrations.
Enhancements
- New measurement data in bundle size comparison for FormEngine Core, SurveyJS, RJSF, and Vueform.
Security
- Bumped
js-yamlfrom4.1.1to4.3.0in examples. - Bumped
sigstorefrom4.1.0to4.1.1in examples.
Chore
- Bumped
vitefrom7.3.2to8.1.3,rollup-plugin-bundle-stats, and@vitejs/plugin-react-swcin examples.
Form Engine 10.0.0
July 3, 2026
Overview
FormEngine 10.0.0 removes deprecated component-metadata, validation, and RSuite picker APIs that have been marked for removal in earlier releases. German (de-DE) strings are retranslated across Core, Designer, and view packages, and LocalizationStore is split into smaller pieces so form switching does not leave stale locale data behind.
Monaco editors for computed properties and localization now keep keyboard focus inside editable regions. RSuite CSS was fixed so production builds can minify styles safely. Built-in validation now uses Zod 4.4.
Why update
- Remove deprecated APIs before the next major blocks you:
Definer.preview,customPreview, thefinitenumber validator, andinlineon RsDatePickerProps / RsTimePickerProps are gone. - Pick up new German (
de-DE) strings in Designer and component packages. - Switch forms without leftover localization and work against a smaller ILocalizationStore contract if you extend localization yourself.
- Type in constrained Monaco regions for computed properties and localization code without focus getting stuck in read-only areas.
- Get smaller CSS bundles now that Lightning CSS minification works for RSuite styles.
Key features
- Removed deprecated APIs for component metadata (Definer, Meta), number validation, and RSuite date/time pickers.
- Retranslated German (
de-DE) locale files vialocalization.config.json. - Reworked LocalizationStore and expanded ILocalizationStore.
- In-house constrained Monaco editing for computed properties and localization code fields.
- Fixed
@font-faceplacement in RSuite CSS; Lightning CSS minification enabled in production builds.
Changelog
Breaking changes
- Removed
Definer.previewandcustomPreviewfrom DefinerData and Meta. You can no longer customize component palette previews through this API. - Removed the deprecated
inlineproperty from RsDatePickerProps and RsTimePickerProps. The pickers now extendOmit<DatePickerProps, 'inline'>and the equivalent time-picker props withoutinline. - Removed the deprecated
finitenumber validation rule from the built-in Zod rule set. Removefinitefrom form JSON or replace it withintegeror another number rule from Form validation. - ILocalizationStore now requires
value,engine,removeLocalization,removeLocalizationForType,hasLocalization,hasLanguage, andgetLocalizationItemId. Custom implementations must type thetypeargument as LocalizationType ingetLocalizationandsetLocalization.
Update instructions
Update all packages to version 10.0.0.
If your custom components still call Definer.preview or pass customPreview in DefinerData, delete those calls. They stopped doing anything in recent releases.
If form JSON still uses a finite validation rule on number fields, remove it or switch to a supported validator from Form validation.
If you implement ILocalizationStore yourself, match the current interface and use LocalizationType for the type parameter.
Standard Designer and Viewer integrations need no other changes.
Features
Enhancements
- Retranslated German (
de-DE) locale bundles across Core, Designer, and view packages using the new translation workflow. - Split responsibilities in LocalizationStore and FluentLocalizationEngine for language resolution, bundle creation, and store state.
- Replaced the third-party Monaco constrained-editor plugin with an in-house setup for computed-property and localization code editors.
- Upgraded built-in Zod to
^4.4.3and kept legacy date boundary error messages when Zod 4.3+ reports timestamp-based date issues. - Enabled Lightning CSS minification for production CSS builds after fixing RSuite stylesheet structure.
- Release scripts now refresh public and private
package.jsonvariants automatically during release prep.
Bug fixes
- Localization from a previously opened form no longer sticks around after you switch to another form in the Designer or Viewer.
- Constrained Monaco editors accept keyboard input again when the caret lands in a read-only region; focus moves to the nearest editable range.
- Invalid nested
@font-facerules in RSuite custom CSS no longer break CSS processors or block minification.
Resources
- ILocalizationStore API reference documents the expanded store contract.
- Computed properties is still the place to read about function-type calculated fields and the constrained code editor.
Security
- Bumped
axiosfrom1.13.6to1.16.1in examples. - Bumped
dompurifyfrom3.3.2to3.4.11in examples. - Bumped
express,body-parser, andqsin examples. - Bumped
honofrom4.12.18to4.12.26in examples. - Bumped
js-yamlfrom4.1.0/4.1.1to4.3.0in examples. - Bumped
multerfrom2.1.1to2.2.0in examples. - Bumped
@sigstore/core,@sigstore/verify, andsigstorein examples. - Bumped
shell-quotefrom1.8.3to1.8.4in examples. - Bumped
tmpfrom0.2.5to0.2.7in examples. - Bumped
viteand@vitejs/plugin-react-swcin examples.
Chore
- Bumped
zodfrom^4.0.0to^4.4.3. - Bumped
vitest,@vitest/browser,@vitest/browser-playwright, and@vitest/uifrom4.0.9to4.1.8. - Bumped
@angular/common,@angular/core, and@angular/compilerfrom21.1.5to21.2.17in examples. - Bumped
@remix-run/server-runtime,@remix-run/node,@remix-run/serve,@remix-run/dev, andreact-routerin examples. - Bumped
form-datafrom4.0.5to4.0.6in examples. - Bumped
launch-editorfrom2.13.0to2.14.1in examples. - Bumped
markdown-itfrom14.1.1to14.2.0in examples. - Flattened the open-source monorepo layout (removed the intermediate
src/directory) and updated CI/build configuration accordingly.
Form Engine 9.0.0
May 20, 2026
Overview
FormEngine 9.0.0 extends localization to array-type component data (dropdown items, radio groups, checkbox lists, and similar controls), interpolates Fluent placeholders inside localized arrays and objects, and separates Builder UI language from the form preview language. German (de-DE) translations are refreshed across Core, Designer, and components packages.
Why update
- Localize structured component data (arrays) in the Designer and runtime with the same Fluent patterns as string properties; see
Localizing array data. - Use form data inside localized arrays — Fluent placeholders such as
{$userName}work in localized array and object JSON. - Control Builder UI and preview languages independently — set defaultBuilderLanguage and defaultViewerLanguage on FormBuilder.
- Get updated German localization — refreshed
de-DEstrings across Core, Designer, and component packages.
Key features
- Localizable array properties via ArrayBuilder.localize for component metadata authors.
- Fluent interpolation in localized arrays and objects at runtime.
- Separate Builder UI and form-preview language defaults on FormBuilder: defaultBuilderLanguage, defaultViewerLanguage.
Changelog
Breaking changes
- FormBuilder no longer accepts the inherited FormViewerProps.language prop. Use defaultViewerLanguage for the initial form-preview language instead. FormViewer still accepts language.
Update instructions
Update all packages to version 9.0.0.
If your Designer integration passes language to FormBuilder, rename it to defaultViewerLanguage. To set the Builder UI language on first load, pass defaultBuilderLanguage.
Before 9.0.0:
<FormBuilder language="de-DE" getForm={getForm} view={view} />After 9.0.0:
<FormBuilder defaultViewerLanguage="de-DE" defaultBuilderLanguage="de-DE" getForm={getForm} view={view} />Features
- Added localizable array properties for component metadata via ArrayBuilder.localize.
- Added Fluent interpolation for placeholders inside localized array and object data resolved at runtime.
- Added defaultBuilderLanguage, defaultViewerLanguage on FormBuilder.
Enhancements
- Refreshed German (
de-DE) localization strings across Core, Designer, and view packages.
Bug fixes
- Fix the form language selector in the Designer not honoring the initial language passed through props.
Resources
- Documented localizing array data and variables in localized arrays and objects in Core localization.
- Expanded Designer guidance for localizing array properties and interpolating form data in array JSON.
Security
- Bumped
axiosfrom1.15.0to1.15.2. - Bumped
brace-expansionfrom5.0.4to5.0.6in examples.
Chore
- Bumped
@babel/plugin-transform-modules-systemjsfrom7.29.0to7.29.4in examples. - Bumped
fast-urifrom3.1.0to3.1.2in examples. - Bumped
honofrom4.12.14to4.12.18in examples. - Bumped
ip-addressandexpress-rate-limitin examples. - Bumped
nextfrom16.2.3to16.2.6in examples. - Bumped
postcssfrom8.5.8to8.5.10. - Bumped
postcssfrom8.5.6to8.5.14in examples.
Form Engine 8.1.0
May 1, 2026
Overview
FormEngine 8.1.0 improves multilingual behavior (fallbacks, edge-case handling, and removal of the [NOT LOCALIZED] placeholder), adds documented Designer language-switch customization, and includes small viewer and bundle-size example updates.
Why update
- Improve localization: stronger fallbacks and edge-case handling;
[NOT LOCALIZED]is no longer emitted. - Style or replace the Designer language-switch UI using documented menu keys instead of patching internals.
Key features
- Language switch customization for
MainMenu_Item_LanguageSwitchandMainMenu_Item_LanguageItem_<language-full-code>in the Designer.
Changelog
Update instructions
Update all packages to version 8.1.0. No stylesheet or API migration beyond 8.0.0 is required for typical applications.
Enhancements
- Remove the
[NOT LOCALIZED]placeholder from localized output and improve Fluent fallback behavior.
Bug fixes
- Fix incorrect application of component styles in production builds.
- Address localization edge cases in the Fluent fallback chain (LocalizationStore).
Resources
- Expanded Designer customization with concrete language-switch customization examples.
- Revisit Localization and Internationalization when you adjust multilingual forms.
Chore
- Bumped
uuidand@rspack/cliin theexamplescommunitybundle-sizetemplate.
Form Engine 8.0.0
April 21, 2026
Overview
FormEngine 8.0.0 removes Emotion-based style injection from Core, Designer, and view packages. Component styles are now shipped as static assets (including CSS modules where applicable), which works better with strict Content Security Policy rules. The designer gains finer control over main menu items, and viewer localization behavior is now explicit: FormViewerLite applies NoopLocalizationEngine by default, while FormViewer accepts an explicit localizationEngine, so you can disable the default Fluent localization behavior with NoopLocalizationEngine or provide a custom ILocalizationEngine. The embedded Monaco editor is also updated. This release includes several localization and RTL styling fixes.
Why update
- Adopt CSP-friendly Core styling by importing
@react-form-builder/core/assets/styles.cssinstead of relying on runtime Emotion injection. - Use viewer localization control based on the runtime you choose: FormViewerLite uses NoopLocalizationEngine by default, while FormViewer accepts an explicit localizationEngine: use NoopLocalizationEngine to disable the default Fluent localization behavior, or pass your own ILocalizationEngine implementation.
- Customize designer main menu entries (hide, style, or replace controls) via Menu items customization.
- Get an updated Monaco editor, plus fixes for the localization editor and RTL / screen styles.
Key features
- Core styles ship as static CSS for stricter CSP: import
@react-form-builder/core/assets/styles.cssper Install FormEngine Core. - FormViewerLite uses NoopLocalizationEngine by default; FormViewer takes localizationEngine on FormViewerProps, so you can use NoopLocalizationEngine or a custom ILocalizationEngine.
- Menu items customization for Designer main-menu controls (
MainMenu_Item_*keys). - Monaco editor updated to 0.55.1.
Changelog
Breaking changes
- FormEngine packages now deliver styling through static CSS and CSS modules instead of injecting FormEngine-owned rules with Emotion. Import the published stylesheets for each stack you use (for Core,
@react-form-builder/core/assets/styles.css; see Install FormEngine Core and other package docs). Your application may still resolve@emotion/*or similar CSS-in-JS from third-party dependencies (for example, Material UI’s default Emotion integration). This is independent of FormEngine’s own styling model. - The library no longer patches
displayNameon component metadata. Use typeName on DefinerData, or, after build, read type on the assembled Model when filtering components. - Removed
formEngineRsuiteCssLoader. Use ltrCssLoader and rtlCssLoader from@react-form-builder/components-rsuitewith withCssLoader (for example in FormEngine Designer usage). - Tightened the root ESLint preset for contributors:
- type-aware TypeScript (
plugin:@typescript-eslint/recommended-type-checked) - React performance linting (
plugin:react-perf/all) - stricter module boundaries (
import/no-extraneous-dependenciesand related import rules) - consistent type-only imports and exports (
consistent-type-imports,consistent-type-exports,@typescript-eslint/no-import-type-side-effects) - required variable initializers (
@typescript-eslint/init-declarations) - JSDoc on public symbols (
jsdoc/require-jsdoc).
- type-aware TypeScript (
- Removed implicitly injected default property values for:
SimpleFieldclear now sets the field value toundefinedinstead of the controlmodelValue.
Update instructions
Update all packages to version 8.0.0.
Stylesheets and CSS modules. FormEngine packages now combine published global CSS (where exposed in package.json exports) with CSS modules compiled into the bundle. Import only the paths below; do not reference internal *.module.css files from consumers.
@react-form-builder/core— addimport '@react-form-builder/core/assets/styles.css'for anyFormViewer, field rendering, or embedded designer preview. Details: Install FormEngine Core.@react-form-builder/designer— addimport '@react-form-builder/designer/assets/designer.ltr.min.css'orimport '@react-form-builder/designer/assets/designer.rtl.min.css'to match layout direction, in addition to Core styles. Details: Install FormEngine Designer.@react-form-builder/components-rsuite— register ltrCssLoader and rtlCssLoader through withCssLoader (replacingformEngineRsuiteCssLoader). If you do not use loaders, you can import@react-form-builder/components-rsuite/assets/styles.ltr.cssand, when needed,@react-form-builder/components-rsuite/assets/styles.rtl.cssinstead.@react-form-builder/components-material-ui— keep@emotion/reactand@emotion/styledfor Material UI itself, and add the Core stylesheet import above. FormEngine no longer injects its own styles through Emotion.@react-form-builder/components-mantine— keep importing Mantine’s CSS (for example@mantine/core/styles.cssand packages you enable). Add the Core stylesheet. FormEngine-specific styling is shipped as CSS modules inside the Mantine pack. Overview: Mantine components.- Bundles and add-ons using composed styles follow the same rules as the underlying Core, Designer, and RSuite packages. These packages bundle scoped CSS and do not add extra FormEngine CSS entry points beyond their dependencies. Aff...
Form Engine 7.15.0
April 1, 2026
Overview
FormEngine 7.15.0 adds optional callbacks when the designer or preview language changes, extends onFormElementAdd with the preset name when a component is added from a preset, and fixes preset display in the component palette. The public FormEngine example on GitHub now demonstrates IndexedDB-backed form storage. This release also migrates several repository and sample-app scripts to TypeScript and includes dependency updates across the monorepo and examples.
Why update
- React to builder and viewer language switches with onBuilderLanguageChange and onViewerLanguageChange.
- Read presetName from onFormElementAdd when users add components from presets.
- Avoid misleading “InternalError” labels for presets in the component palette.
- Align the public example with the documented form storage workflow.
Key features
- Added onBuilderLanguageChange and onViewerLanguageChange on FormBuilderProps.
- Added optional presetName to the onFormElementAdd payload (see Tracking component add and remove events).
- Updated the public FormEngine example to use form storage (IndexedDB) alongside the designer.
Changelog
Update instructions
Update all packages to version 7.15.0. No additional actions are required.
Features
- Added onBuilderLanguageChange and onViewerLanguageChange callbacks on FormBuilderProps for builder and preview language changes.
- Added optional presetName to the onFormElementAdd callback payload when a component is inserted from a preset.
- Documented presetName in Tracking component add and remove events.
- Wired IndexedDB form storage into the premium FormEngine example (
examples/premium/formengine) to match the form storage documentation.
Bug fixes
- Fixed preset entries showing as
InternalErrorin the component picker when preset metadata was unavailable. - Fixed incorrect links in Integrating FormEngine with Angular.
Security
- Bumped
handlebarsfrom4.7.8to4.7.9. - Bumped
node-forge(transitive dependency updates). - Bumped
socket.io-parser(including in Angular examples).
Chore
- Migrated selected build, release, and sample-app automation scripts from JavaScript and PowerShell to TypeScript.
- Bumped
flattedfrom3.3.3to3.4.2. - Bumped
yamlfrom1.10.2to1.10.3. - Bumped
brace-expansionfrom1.1.11to1.1.13. - Bumped
picomatchacross examples and sample apps. - Bumped
path-to-regexpfrom8.3.0to8.4.0in tooling. - Bumped
locutusin the Vue bundle-size example underexamples/community/bundle-size.
Resources
Form Engine 7.14.0
7.14.0
March 19, 2026
Overview
FormEngine 7.14.0 focuses on publishing @react-form-builder/indexed-db-form-storage for IndexedDB-backed form storage and includes multiple bug fixes across the designer and viewer. This release also includes maintenance updates and dependency updates.
Why update
- Publish @react-form-builder/indexed-db-form-storage for browser-based form persistence.
- Document how to wire it to the designer via
formStorageusing the Form storage guide. - Keep your development tooling and documentation up to date with maintenance fixes.
Key features
- Published @react-form-builder/indexed-db-form-storage for browser-based form persistence.
- Updated Form storage documentation with the IndexedDB example.
Changelog
Update instructions
Update all packages to version 7.14.0. No additional actions are required.
Features
- Published @react-form-builder/indexed-db-form-storage for browser-based form persistence.
- Documented how to connect it to the designer using the FormBuilder formStorage prop and the IFormStorage interface.
- Added a new guide: Integrating FormEngine with Angular.
Enhancements
- Improved developer experience by fixing missing documentation warnings for
InsertPosition.
Bug fixes
- Fixed "not found" not displayed in components panel.
- Fixed Mantine
withAsteriskso it correctly marks the required form field. - Fixed style editor visibility for
RsCellandRsHeaderCell. - Fixed an issue where the nested embedded form example looked compressed.
- Fixed functional argument editor incorrectly checks function body.
- Fixed
MUIbreakage with Webpack. - Fixed
package.jsonbeing compiled.
Security
- Bumped
nextfrom16.1.5to16.1.7in/examples/premium/with-nextjs/with-nextjs-v16. - Bumped
undicifrom6.23.0to6.24.1in/examples/premium/with-remix/with-remix-v2. - Bumped
locutusfrom3.0.0to3.0.14in/examples/community/bundle-size.
Chore
- Bumped
tarfrom7.5.2to7.5.11. - Bumped
lernafrom9.0.3to9.0.6.
Resources
Form Engine 7.13.0
7.13.0
March 10, 2026
Overview
FormEngine 7.13.0 delivers improvements across the designer, components, and build tooling. This release introduces a new MuiDatePicker, adds designer customization features, improves core package tree shaking, and includes a broad set of maintenance updates for dependencies and documentation.
Why update
- Get new UI capabilities, including MuiDatePicker and component toolbar customization.
- Improve designer integrations with add/remove callbacks and updated component ref handling (refValue).
- Benefit from bug fixes in wizard navigation, modal behavior, palette rendering, and release tooling.
Key features
- Added MuiDatePicker support.
- Added component toolbar customization in the designer.
- Added designer events for add/remove callbacks.
- Added direct component ref handling in action events via refValue (DOM element, imperative handle, or
null).
Changelog
Update instructions
Update all packages to version 7.13.0. No additional actions are required.
Features
- Added component toolbar customization.
- Added designer events for add/remove callbacks.
- Added direct refValue support for component refs in action events.
- Added MuiDatePicker.
- Added Mantine to bundle size comparison.
Enhancements
- Improved tree shaking in the core library.
- Added a link to the bundle size comparison on public GitHub.
- Replaced the documentation search engine with Algolia.
- Sorted union types in API reference output.
Bug fixes
- Fixed an issue where changing an action name could crash the application.
- Fixed
closeModalbehavior whenonCloseis used. - Fixed palette rendering with multiple system components.
Security
- Bumped
rollupto4.59.0. - Bumped
multerto2.1.0in the examples. - Bumped
immutableto5.1.5in the examples. - Bumped
locutusto3.0.0in the examples. - Bumped
minimatchto3.1.4in the examples. - Bumped
ajvto6.14.0in the/examples/premium/with-remix/with-remix-v2. - Bumped
ajvto8.18.0in the/examples/community/bundle-size.
Form Engine 7.12.0
7.12.0
February 17, 2026
Overview
FormEngine 7.12.0 introduces Mantine components as a new option in the component library, alongside Material UI and RSuite. This release
also adds JSON schemas for component libraries, improves configuration options with support for passing user-defined context
and configuring initial state, and contains multiple bug fixes and dependency updates across the platform.
Why update
- Start building forms with the new Mantine components set.
- Take advantage of JSON schemas for component libraries and improved configuration options.
- Benefit from fixes in RSuite views, nested forms, templates, documentation, and test infrastructure, plus updated dependencies.
Key features
- Mantine components integration for building forms with the Mantine UI library.
- JSON schemas for component libraries.
- Extended configuration options, including support for passing user-defined context.
Changelog
Update instructions
Update all packages to version 7.12.0. No additional actions are required.
Features
- Added Mantine components to the component library as an alternative to Material UI and RSuite.
- Added JSON schemas for component libraries to improve tooling and validation.
- Added support for passing user-defined context and initial state so that advanced scenarios can inject additional data into forms at runtime.
Bug fixes
- Fixed an issue where the RSuite view could break styles on the first load.
- Fixed a problem where every created form appeared as a Template in the templates section.
- Fixed extra indentation in nested forms so layouts render correctly.
- Fixed documentation issues related to the data table dark theme.
- Fixed a bug where the modal template picker could appear empty.
Resources
- Core documentation: Storing user-defined data.
- Designer documentation: Storing user-defined data updated with the new features.
Security
- Bumped
qsfrom6.14.1to6.14.2Remix example. - Bumped
axiosfrom1.13.2to1.13.5. - Bumped
@isaacs/brace-expansionfrom5.0.0to5.0.1.
Form Engine 7.11.0
7.11.0
February 3, 2026
Overview
FormEngine 7.11.0 focuses on core package structure, MUI component improvements, and dependency maintenance. Barrel files have been removed from the core package to improve tree shaking and reduce bundle size. MUI components now support disabled and read-only properties consistently, and new components (MuiDialog, MuiTextField type property) extend the Material UI integration.
Why update
- Benefit from a leaner core package and better tree shaking after barrel file removal.
- Use MUI disabled and read-only support and new component options (MuiDialog, MuiTextField type).
- Stay on updated dependencies (lodash, diff, ESLint, Next.js) and bug fixes for designer, localization, and tests.
Key features
- Leaner core package after barrel file removal (improved tree shaking).
- MUI disabled and read-only support and new component options (MuiDialog, MuiTextField type).
- Dependency and security updates across examples and core.
Changelog
Update instructions
Update all packages to version 7.11.0. No additional actions are required.
Features
- Added MuiDialog component (see Forms JSON — Modal component).
- Added type property support to MuiTextField.
- Added support for disabled and read-only properties for MUI components (see Disabled and read-only).
Enhancements
- Removed barrel files from the core package to improve tree shaking and package structure.
- Moved bundle-size tooling to public examples and dropped install-from-tgz flow.
- Extended FormEngine core documentation.
- Documented bundle size comparison with competitors.
- Bumped Next.js from 15.4.10 to 16.1.5 in
/examples/premium/with-nextjs. - Bumped ESLint and related packages in premium examples (with-nextjs-v16, with-remix-v2).
Bug fixes
- Fixed Vitest globals causing Jest types to be used in tests.
- Fixed localization fallback behavior.
- Fixed designer issue where RSuite CSS overrode MUI styles.
- Fixed IndexedDB error:
'demo-presets' is not a known object store name. - Fixed read-only and disabled flags not always being passed through the component hierarchy.
- Fixed CI build failure.
- Addressed test environment limitation:
Window's getComputedStyle()with pseudo-elements (not implemented in test runner).
Resources
- Split documentation for FormEngine Core and FormEngine Designer.
- Added size bundle comparison article.
Security
- Bumped
lodashfrom 4.17.21 to 4.17.23 in/srcand in premium examples (formengine, with-nextjs-v15, with-remix-v2). - Bumped
lodash-esfrom 4.17.21 to 4.17.23 in/examples/premium/with-formik. - Bumped
difffrom 5.2.0 to 5.2.2 in/examples/premium/with-remix/with-remix-v2.