Skip to content

Releases: paqu-io/form0-react

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 19:04

What's Changed

🚀 New Features

  • Hidden-Value Recovery: Added application-controlled recovery of hidden values, with new inspectHiddenValue and correctHiddenValue worker calls, and validation findings now carry a hidden flag (fbd8a9a)
  • Validation Pagination: Validation sidebar now shows 15 findings per page, with compact themed pagination shown only when there is more than one page, and long labels and messages wrap within the sidebar (46b003a)

🐛 Bug Fixes

  • Time Field Entry: Replaced the native time input with a text editor for HH:MM or HH:MM:SS that preserves incomplete input while typing and fills in :00 seconds for complete minute values (46b003a)
  • Live Validation Findings: Stabilized live validation findings display (46b003a)
  • Validation Navigation: Retained validation navigation only after findings exist (f85d679)
  • Navigation After Clearing: Kept validation navigation available after findings clear (ef74d79)

📚 Documentation

  • README Update: Documented the default TimeField behavior, custom time picker registration through the field registry, and validation sidebar pagination (46b003a)

🔧 Maintenance

  • Core Dependency: Updated form0-core from v0.10.0 to v0.11.0 (05fb7d0)
  • Version Bump: Bumped package version to 0.10.0 (0a4fe1e)

Full Changelog: v0.9.0...v0.10.0

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 19:22

What's Changed

🚀 New Features

  • Hidden Field Retention: Added handling of cleared fields for fields with visible_preserve_value: false. The engine worker now reports clearedFields, and the React client applies them to the repeatable record state (275a0cc)

🔧 Maintenance

  • Core Dependency: Updated form0-core from ^0.9.0 to ^0.10.0 (abcf7ed)
  • Version Bump: Bumped package version to 0.9.0 (a84f7d3)

Full Changelog: v0.8.0...v0.9.0

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 16:26

What's Changed

🚀 New Features

  • Event Failure Reporting: Failed managed events now report once to console.error by default, including rejected SETVALUE() operations and rejected onOperations promises. Reports include the event type, triggering field, root/row scope and issue codes/messages, without values, operation arguments, snapshots or record IDs (bd0b582)
  • eventDiagnostics Prop: Added eventDiagnostics={{ failures: false }} on FormRenderer to turn off this reporting; the setting stays current in open editors without rebuilding the engine (bd0b582)
  • Duplicate Report Avoidance: Built-in Submit and row Save keep using the submission reporter, so they do not emit a second event report (bd0b582)

📚 Documentation

  • README Update: Added a "Managed event failure reporting" section covering eventDiagnostics, what is and isn't reported, and SETVALUE() value rules for numeric and choice fields (bd0b582)

🔧 Maintenance

  • Test Coverage: Added tests and fixtures for event reporting and diagnostics (bd0b582)
  • Version Bump: Bumped the package version to 0.8.0 (985120c)
  • Release Merge: Merged PR #90 from development (60837e4)

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 13:20

What's Changed

🚀 New Features

  • Submission Diagnostics: Added a submissionDiagnostics prop to FormRenderer with saveFailures (on by default) and validationBlocks (off by default) options for console-only reporting of failed saves and blocked Submit or repeatable-row Save attempts (31cbef1)
  • Save Failure Reporting: Failed saves are now logged to console.error with the failure stage and the original error, and edits stay available for retry (31cbef1)

🐛 Bug Fixes

  • Submit Error Handling: Changed the non-managed Submit path to await onSubmit and report rejections instead of silently swallowing them (31cbef1)
  • Validation Block Logging: Removed the unconditional [RECORD SUBMIT] console messages shown when validation blocked a Submit, so they now appear only when validationBlocks is enabled (31cbef1)

📚 Documentation

  • Submission Logging Guide: Added a "Save failures and submission logging" section to the README covering the new options and the rethrow requirement for apps that catch save errors (31cbef1)

🔧 Maintenance

  • Version Bump: Bumped the package version from 0.6.0 to 0.7.0 (0cbd70e)
  • Tests: Added tests/submission-reporting.test.jsx covering submission reporting (31cbef1)
  • Development Merge: Merged PR #88 from development (5df49a7)

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 08:42

What's Changed

💥 Breaking Changes

  • Stricter Value Updates: Input aliases and numeric/boolean choice-ID coercion are no longer supported. Malformed setter calls now reject before any value batch is applied, and writes to calculated, display or container targets, cross-scope writes, and setter/event writes in record readonly mode are rejected. Use string choice IDs, { choice, other } (SingleChoice/Boolean), or arrays/{ choices, other } (MultiChoice) instead (afa6383)

🚀 New Features

  • Unified Value Normalization: Official setters and default SETVALUE operations now share core normalization across the React layer and the engine worker, with full live objects preserving labels and metadata (afa6383)
  • Worker Value Setter: Added setValue to the engine worker client and a replacement option on setValues for loading paths that bypass setter restrictions (afa6383)

📚 Documentation

  • Programmatic Updates Guide: Added a README section describing the value-update contract, accepted value shapes, and rejection rules (afa6383)

🔧 Maintenance

  • Core Dependency: Updated form0-core from ^0.8.1 to ^0.9.0 (574bd30)
  • Version Bump: Bumped package version to 0.6.0 (8564d23)
  • Release Merge: Merged development branch via PR #86 (4dbeef6)

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 10:47

What's Changed

💥 Breaking Changes

  • Lifecycle Events Default On: Managed lifecycle events and field interaction subscriptions are now enabled by default, and the host must supply events.recordKind ('new' or 'existing') because a missing value is now a configuration error. Add engineOptions={{ events: { recordKind: 'new' } }} (or 'existing'), or set lifecycle: false to keep the legacy root load/edit/change behavior and fieldInteractions: [] to opt out of interactions (51ea37a)
  • form0-core Requirement: Raised the form0-core dependency from ^0.5.1 to ^0.8.1 (d630a26)

🚀 New Features

  • Repeatable Entry Mode: Added the repeatableEntryMode option ('readonly' by default, or 'edit') so existing rows open in view or edit mode at every nesting level, with an Edit action in view mode and no schema or record changes (583166d)
  • Accepted Views: Preserved accepted calculation views across the main thread and the worker (aa8e58f)
  • Submission Preparation: Adopted shared record preparation and worker-based reviews for submission (2b129f3)

🐛 Bug Fixes

  • Automatic Click Events: Reserved automatic click events for activation fields, since no built-in control emits click (4426b7b)
  • Repeatable Choices: Normalized repeatable choice operations in events (8d93c7f)
  • Other Selection: Preserved the Other selection when its text is cleared (189663f)
  • Editor Session: Fixed submission acknowledgement to use the current editor session (d4d141a)
  • Submission Pauses: Reduced pauses during submission and guarded cooperative delivery (854f79d)
  • Security Hardening: Guarded worker paths and generated event literals (e326038)
  • Vitest Vulnerabilities: Patched Vitest mock registration vulnerabilities by updating @vitest/* packages (b21bed5)
  • Funding Metadata: Added the funding URL to package.json and package-lock.json (58861e7)

📚 Documentation

  • README Updates: Documented recordKind in examples, the new event defaults, the form0-core 0.8.1 requirement, and the repeatableEntryMode option with its view/edit behavior (51ea37a, 583166d)

🔧 Maintenance

  • Node.js Pinning: Pinned CI and publish workflows to patched Node.js runtimes (22.23.4 and 24.22.1) (6278297)
  • Renderer Tests: Added tests for live calculations across cached evaluations and for schema reload replacing calculations and events (222dbd9, 9f28145)
  • Event Tests: Updated tests to await state publication after change operations (c7d61a3)
  • Development Merge: Merged pull request #84 from development (ce26869)
  • Version Bump: Bumped version to 0.5.0 (d630a26)

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 10:47

What's Changed

🚀 New Features

  • Managed Event Lifecycle: Added opt-in lifecycle events (load, new/edit, change, cancel, unload) with explicit recordKind and optional focus/blur/click field interactions via engineOptions.events (bf1c0a3)
  • Event Controller: Added onEventController with dispatch() and prepareSave(), both returning promises in every execution mode (bf1c0a3)
  • Save Preparation: Added prepareSave to validate, run pre-save hooks, await delegated operations and return a final payload without persisting or closing the editor (bf1c0a3)
  • Custom Validation: Added INVALID(message) for validate-record handlers, reported as scope-level findings in the validation summary and navigation (bf1c0a3)
  • Repeatable Row Events: Added row-level events carrying action (add, edit, remove) and affectedInstancePath, plus change-status for user changes to status fields (bf1c0a3)
  • Worker Event Support: Added event and save-preparation transport in worker mode, keeping callbacks and alerts on the host (bf1c0a3)

📚 Documentation

  • Managed Events Guide: Added a README section covering lifecycle options, the controller API, prepareSave behavior, INVALID, row requests and worker limits (bf1c0a3)

🔧 Maintenance

  • Core Upgrade: Updated form0-core from ^0.4.1 to ^0.5.1, now the minimum required version (f6c0332)
  • Test Tooling: Patched test tooling dependencies (f6c0332)
  • Version Bump: Bumped package version to 0.4.0 (ac1e0a3)
  • Development Merge: Merged pull request #82 from development (9ed01f8)

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 15:30

What's Changed

🚀 New Features

  • Engine Options: Added engineOptions prop on FormRenderer, forwarding helpers, security, onWarning, onUpdate, onOperations and diagnostic controls to root and repeatable-row engines (ed137e9)
  • Calculation Diagnostics: Added onDiagnostics(snapshot, meta) callback reporting calculation findings per evaluation, with scope, instance path (including repeatable rows) and evaluation metadata (ed137e9)
  • Console Reporting: Added diagnostics.console option to control console output, enabled by default and de-duplicating identical repeats (ed137e9)
  • Scope Lifecycle: Added scope-ended notification when an editor closes, an engine or schema is replaced, or the form unmounts (ed137e9)
  • Operations Callback: Added onOperations(operations, meta, applyDefault) for handling non-alert operations, with default processing preserved when omitted (ed137e9)
  • Worker Mode Support: Added diagnostics and engine options support in worker mode, rejecting non-cloneable configuration such as function helpers with a clear error (ed137e9)

📚 Documentation

  • README Guides: Added sections on engine options, calculation diagnostics and worker mode behavior (ed137e9)

🔧 Maintenance

  • Worker Tests: Replaced the evaluated bootstrap in worker tests with a static adapter (d11b815)
  • Version Bump: Bumped package version to 0.3.0 (67056aa)

Full Changelog: v0.2.2...v0.3.0

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 08 Oct 16:40

What's Changed

🐛 Bug Fixes

  • Calculated Dates: Fixed date-style calculated fields showing the previous day in timezones west of UTC by formatting YYYY-MM-DD values as local calendar dates (0185c1d)
  • Early-Year Dates: Fixed early-year dates (years 0–99) being remapped to 1900–1999, and updated form0-core to ^0.4.1 (1170cd3)

🔧 Maintenance

  • Security Patch: Updated source-map-js from 1.2.1 to 1.2.2 to address a security advisory (986c53c)
  • Issue Automation: Added a GitHub Actions workflow that adds new issues to the form0 project (a3a821c)
  • Workflow Security: Restricted the issue workflow to minimal permissions (ef4bd2a)
  • Version Bump: Bumped version to 0.2.2 (8ebdcbe)

Full Changelog: v0.2.1...v0.2.2

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 16 Sep 16:36

What's Changed

🔧 Maintenance

  • Copyright Update: Updated the copyright holder name in LICENSE and package.json from paqu.io to paqu technologies (50262fc)
  • Dependency Update: Updated form0-core dependency from ^0.2.1 to ^0.3.0 (8f2a055)

Full Changelog: v0.2.0...v0.2.1