Skip to content

Releases: FicSysFR/jsonforms_builder

2.0.2

Choose a tag to compare

@github-actions github-actions released this 08 Sep 19:15

FicSysFR npm migration

⚠️ Breaking Changes

  • Official v2 packages move to @ficsysfr/jsonforms_builder and
    @ficsysfr/jsonforms_builder-mcp. Public exports, the MCP binary name and the historical builder
    draft key stay unchanged; only installation and import paths change.

🐛 Fixes

  • Added blocking TypeScript validation and corrected TipTap NodeView, invalid UI-schema input,
    JSON Schema allOf accumulation and non-textual date-format handling (aca301d).

📝 Documentation

  • Moved canonical repository, Pages, Codecov and contributor links to FicSysFR (8922fb4).
  • Updated installation, Tailwind, Vite and MCP examples for the @ficsysfr scope.

🔧 Internal

  • Added audited npm tarballs, checksums, versioned changelog sources and one idempotent release
    workflow using npm Trusted Publishing provenance.
  • The one-use bootstrap run freezes the former @tacxou v2 packages only after both FicSysFR
    packages have passed registry integrity and dist-tag verification.

2.0.1

Choose a tag to compare

@github-actions github-actions released this 11 Aug 20:02

Full Changelog: 2.0.0...2.0.1

2.0.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 19:54

Complete stack change: the renderers no longer build on Quasar but on
Nuxt UI 4 + Tailwind CSS 4, and therefore inherit the host application's theme automatically.

⚠️ Breaking Changes

  • Renderers rewritten on the Nuxt UI U* components: nuxtUiRenderers (controls,
    layouts, additional elements) and allRenderers (same + the UEditor rich text editor) replace the
    Quasar entry points (c3a864d)
  • @nuxt/ui becomes a peerDependency alongside vue, @jsonforms/core and
    @jsonforms/vue: the library bundles no component of its own and imports them from the host app's
    installation (c3a864d)
  • Tailwind 4 must declare the library as a source — without
    @source "../node_modules/@tacxou/jsonforms_builder/dist";, the renderers' classes no longer have
    a matching CSS rule (c3a864d)
  • Quasar components and styles that became unnecessary removed from the public surface (3330b90)
  • v1 remains available: v1-quasar branch and @tacxou/jsonforms_builder@1.x on npm

✨ Features

  • Visual builder: import of an existing { schema, uischema }, automatic draft save
    in localStorage, JSON export including the data (b7deded, 586c236)
  • New controls: PIN, color picker, file upload, rating, calendar and tags
    (6abee43)
  • Slider control split from the number control, with its own options (c5cf5d5)
  • Dates: calendar popover + TimePicker on the date control (aa5c2f3), date constraints and
    range selection (919712d, 3b6acff), calendar type resolution (f448bb0)
  • leading / trailing icons on controls, with iconPlacement to render them inside
    or outside the Nuxt UI component (ce1da48, 0ec768d)
  • WYSIWYG: JSON or HTML contentType, configurable toolbar and density, image upload with
    drag-resize and a replace/delete bubble (55f8fd5, 030abe8, 4e103fc)
  • clearOnHide option: resets the value of a control hidden by a rule (4e48c83)
  • allOf schemas handled by a dedicated useAllOfControl composable (5004164)
  • Arrays: support for combinator schemas in items (a9085ce)
  • JSONForms translator wired into the gallery and i18n exports completed (6fe83fc)

🐛 Fixes

  • Year input: years being typed and years below 100 are no longer rewritten
    (bf3b611)
  • Object control: the data structure is preserved on render (bcd39d9) and infinite recursion
    on self-referencing schemas is now blocked (be9b8d9)
  • Menus: workaround for the upstream onClickOutside defect (@vueuse/core) that threw
    Cannot read properties of null (reading 'subTree') when unmounting a subtree (7c9ba21)
  • Gallery search field: no more unwanted autofill from Chrome's password manager
    (85c1543, 9010da2)

⚡ Performance

  • Object control: optimized render logic and lighter error propagation (c89e42b)
  • allOf: useJsonFormsControl replaces useJsonFormsAllOfControl, with a performance test on
    deep schema flattening (dd8ac16, 6c4fbc4)

♻️ Refactoring

  • Stronger typing: any replaced by unknown and refined definitions in the configuration and the
    controls (a93e06a, 85e6357)
  • Date control cleaned of unused references, popover alignment revised, tests added for the
    readonly and disabled states (79fe52f)

📝 Documentation

  • VitePress site with an embedded playground (routes #/?example=… / #/builder), sidebar
    filtering through the query string and an inspection tab (1d5e1a9, dda2adc, fb01be0, 0fd4a41,
    edc06f0)
  • Enriched option guides: icons, slider, WYSIWYG, interactive showcases (6c051f7, 030abe8)

🔧 Internal

  • Migration from Bun to Yarn Classic as the single package manager (c662022)
  • ESLint and Prettier replaced by Biome (lint + format), rules adjusted for Vue/Pug and
    Tailwind (88b09ca, 11b5a8f, d240bba, e30540e, 352fa4c)
  • GitHub Actions workflows moved to actions/checkout@v5 and actions/setup-node@v5 (2934f27)
  • Regression and performance test suites exposed as dedicated commands, performance budgets
    readjusted (ab80049, 25fc56d)

Full Changelog: 1.0.3...2.0.0

1.0.3

Choose a tag to compare

@tacxou tacxou released this 17 Dec 16:48

Highlights

  • Corrected the npm publish command so automated releases push the right artifacts without manual intervention.
  • Fixed the postbuild script typo to reinstate the expected build pipeline without failing tasks.

Links

1.0.2

Choose a tag to compare

@tacxou tacxou released this 17 Dec 16:05

Highlights

  • Registered every required Quasar widget (select, item, field, option group, icons, popup) inside the JSON Forms controls to avoid reliance on the global plugin and remove missing-component warnings.
  • Bundled the date renderer with its QDate/QTime popup stack so calendar/time pickers stay functional in module-only builds.
  • Corrected the textarea renderer autogrow prop so multiline fields expand as expected.

Links

1.0.1

Choose a tag to compare

@tacxou tacxou released this 17 Dec 14:30

Highlights

  • Fixed the autocomplete widget freezing when switching schemas in quick succession.
  • Normalized i18n resources to avoid missing translations in vertical and horizontal layouts.
  • Hardened server-side validation for the preview API.
  • Updated frontend dependencies (Vue 3.5.x, vite 6.1.x) and aligned Express type packages.

Links

1.0.0

Choose a tag to compare

@tacxou tacxou released this 16 Dec 17:48

Highlights

  • Centralised renderer logic via composables (useNumericControl, useStringControl, usePasswordControl, useSliderControl, useRadioGroupControl, useBooleanControl, useEnumSuggestionControl, useTextareaControl, useAutocompleteControl, useDateControl) while preserving comments and console traces.
  • Refactored associated components to consume those hooks; the date control keeps its local dayjs setup.
  • Added unit tests for every composable plus extended shared-utility coverage; bun test now reports 53+ passing specs.
  • Resolved TypeScript warnings so bun run build completes cleanly.
  • Simplified CI: Bun-only runtime, branch filters (main, fix*, feat*, feature*), no Node version matrix.
  • Updated documentation with a banner image and clarified the Bun-driven build/publish pipeline.

Links