Skip to content

Releases: optimajet/formengine

Form Engine 10.0.1

Choose a tag to compare

@optimajet optimajet released this 06 Jul 20:24

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

Security

  • Bumped js-yaml from 4.1.1 to 4.3.0 in examples.
  • Bumped sigstore from 4.1.0 to 4.1.1 in examples.

Chore

  • Bumped vite from 7.3.2 to 8.1.3, rollup-plugin-bundle-stats, and @vitejs/plugin-react-swc in examples.

Form Engine 10.0.0

Choose a tag to compare

@optimajet optimajet released this 03 Jul 18:37

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, the finite number validator, and inline on 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 via localization.config.json.
  • Reworked LocalizationStore and expanded ILocalizationStore.
  • In-house constrained Monaco editing for computed properties and localization code fields.
  • Fixed @font-face placement in RSuite CSS; Lightning CSS minification enabled in production builds.

Changelog

Breaking changes

  • Removed Definer.preview and customPreview from DefinerData and Meta. You can no longer customize component palette previews through this API.
  • Removed the deprecated inline property from RsDatePickerProps and RsTimePickerProps. The pickers now extend Omit<DatePickerProps, 'inline'> and the equivalent time-picker props without inline.
  • Removed the deprecated finite number validation rule from the built-in Zod rule set. Remove finite from form JSON or replace it with integer or another number rule from Form validation.
  • ILocalizationStore now requires value, engine, removeLocalization, removeLocalizationForType, hasLocalization, hasLanguage, and getLocalizationItemId. Custom implementations must type the type argument as LocalizationType in getLocalization and setLocalization.

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

  • Added isBoolean and isDate utility exports from @react-form-builder/core.

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.3 and 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.json variants 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-face rules 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 axios from 1.13.6 to 1.16.1 in examples.
  • Bumped dompurify from 3.3.2 to 3.4.11 in examples.
  • Bumped express, body-parser, and qs in examples.
  • Bumped hono from 4.12.18 to 4.12.26 in examples.
  • Bumped js-yaml from 4.1.0/4.1.1 to 4.3.0 in examples.
  • Bumped multer from 2.1.1 to 2.2.0 in examples.
  • Bumped @sigstore/core, @sigstore/verify, and sigstore in examples.
  • Bumped shell-quote from 1.8.3 to 1.8.4 in examples.
  • Bumped tmp from 0.2.5 to 0.2.7 in examples.
  • Bumped vite and @vitejs/plugin-react-swc in examples.

Chore

  • Bumped zod from ^4.0.0 to ^4.4.3.
  • Bumped vitest, @vitest/browser, @vitest/browser-playwright, and @vitest/ui from 4.0.9 to 4.1.8.
  • Bumped @angular/common, @angular/core, and @angular/compiler from 21.1.5 to 21.2.17 in examples.
  • Bumped @remix-run/server-runtime, @remix-run/node, @remix-run/serve, @remix-run/dev, and react-router in examples.
  • Bumped form-data from 4.0.5 to 4.0.6 in examples.
  • Bumped launch-editor from 2.13.0 to 2.14.1 in examples.
  • Bumped markdown-it from 14.1.1 to 14.2.0 in examples.
  • Flattened the open-source monorepo layout (removed the intermediate src/ directory) and updated CI/build configuration accordingly.

Form Engine 9.0.0

Choose a tag to compare

@optimajet optimajet released this 20 May 09:57

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-DE strings across Core, Designer, and component packages.

Key features

Changelog

Breaking changes

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

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

Security

  • Bumped axios from 1.15.0 to 1.15.2.
  • Bumped brace-expansion from 5.0.4 to 5.0.6 in examples.

Chore

  • Bumped @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in examples.
  • Bumped fast-uri from 3.1.0 to 3.1.2 in examples.
  • Bumped hono from 4.12.14 to 4.12.18 in examples.
  • Bumped ip-address and express-rate-limit in examples.
  • Bumped next from 16.2.3 to 16.2.6 in examples.
  • Bumped postcss from 8.5.8 to 8.5.10.
  • Bumped postcss from 8.5.6 to 8.5.14 in examples.

Form Engine 8.1.0

Choose a tag to compare

@optimajet optimajet released this 01 May 15:10

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

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

Chore

  • Bumped uuid and @rspack/cli in the examples community bundle-size template.

Form Engine 8.0.0

Choose a tag to compare

@optimajet optimajet released this 22 Apr 13:43

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

Key features

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 displayName on 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-rsuite with 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-dependencies and 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).
  • Removed implicitly injected default property values for:
  • SimpleField clear now sets the field value to undefined instead of the control modelValue.

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 — add import '@react-form-builder/core/assets/styles.css' for any FormViewer, field rendering, or embedded designer preview. Details: Install FormEngine Core.
  • @react-form-builder/designer — add import '@react-form-builder/designer/assets/designer.ltr.min.css' or import '@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 (replacing formEngineRsuiteCssLoader). If you do not use loaders, you can import @react-form-builder/components-rsuite/assets/styles.ltr.css and, when needed, @react-form-builder/components-rsuite/assets/styles.rtl.css instead.
  • @react-form-builder/components-material-ui — keep @emotion/react and @emotion/styled for 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.css and 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...
Read more

Form Engine 7.15.0

Choose a tag to compare

@optimajet optimajet released this 02 Apr 07:04

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

Key features

Changelog

Update instructions

Update all packages to version 7.15.0. No additional actions are required.

Features

Bug fixes

Security

  • Bumped handlebars from 4.7.8 to 4.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 flatted from 3.3.3 to 3.4.2.
  • Bumped yaml from 1.10.2 to 1.10.3.
  • Bumped brace-expansion from 1.1.11 to 1.1.13.
  • Bumped picomatch across examples and sample apps.
  • Bumped path-to-regexp from 8.3.0 to 8.4.0 in tooling.
  • Bumped locutus in the Vue bundle-size example under examples/community/bundle-size.

Resources

Form Engine 7.14.0

Choose a tag to compare

@optimajet optimajet released this 20 Mar 14:53

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

Key features

Changelog

Update instructions

Update all packages to version 7.14.0. No additional actions are required.

Features

Enhancements

  • Improved developer experience by fixing missing documentation warnings for InsertPosition.

Bug fixes

  • Fixed "not found" not displayed in components panel.
  • Fixed Mantine withAsterisk so it correctly marks the required form field.
  • Fixed style editor visibility for RsCell and RsHeaderCell.
  • Fixed an issue where the nested embedded form example looked compressed.
  • Fixed functional argument editor incorrectly checks function body.
  • Fixed MUI breakage with Webpack.
  • Fixed package.json being compiled.

Security

  • Bumped next from 16.1.5 to 16.1.7 in /examples/premium/with-nextjs/with-nextjs-v16.
  • Bumped undici from 6.23.0 to 6.24.1 in /examples/premium/with-remix/with-remix-v2.
  • Bumped locutus from 3.0.0 to 3.0.14 in /examples/community/bundle-size.

Chore

  • Bumped tar from 7.5.2 to 7.5.11.
  • Bumped lerna from 9.0.3 to 9.0.6.

Resources

Form Engine 7.13.0

Choose a tag to compare

@optimajet optimajet released this 10 Mar 16:21

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

Key features

Changelog

Update instructions

Update all packages to version 7.13.0. No additional actions are required.

Features

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 closeModal behavior when onClose is used.
  • Fixed palette rendering with multiple system components.

Security

  • Bumped rollup to 4.59.0.
  • Bumped multer to 2.1.0 in the examples.
  • Bumped immutable to 5.1.5 in the examples.
  • Bumped locutus to 3.0.0 in the examples.
  • Bumped minimatch to 3.1.4 in the examples.
  • Bumped ajv to 6.14.0 in the /examples/premium/with-remix/with-remix-v2.
  • Bumped ajv to 8.18.0 in the /examples/community/bundle-size.

Form Engine 7.12.0

Choose a tag to compare

@optimajet optimajet released this 17 Feb 18:52

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

Security

  • Bumped qs from 6.14.1 to 6.14.2 Remix example.
  • Bumped axios from 1.13.2 to 1.13.5.
  • Bumped @isaacs/brace-expansion from 5.0.0 to 5.0.1.

Form Engine 7.11.0

Choose a tag to compare

@optimajet optimajet released this 03 Feb 17:53

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

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

Security

  • Bumped lodash from 4.17.21 to 4.17.23 in /src and in premium examples (formengine, with-nextjs-v15, with-remix-v2).
  • Bumped lodash-es from 4.17.21 to 4.17.23 in /examples/premium/with-formik.
  • Bumped diff from 5.2.0 to 5.2.2 in /examples/premium/with-remix/with-remix-v2.