Changelog
3.9.1
Patch Changes
- 571e9ac: Turnstile: keep
captchaLoadinguntil the challenge iframe (or response field) is mounted in the container, soform.ui.canSubmitstays false for the visible widget load—not only the script/render()call.
3.9.0
Minor Changes
- f9fef7f: Surface
captchaLoadingwhile CAPTCHA prepare runs soform.ui.canSubmitstays false until the provider is ready; notify subscribers on Security Stage state transitions. Playground CAPTCHA lab: Loading → ready scenario + submit gated oncanSubmit.mockCaptchagainsloadDelayMs/failLoadWith.
3.8.1
Patch Changes
- adb77b9: Add a Become a Sponsor badge linking to GitHub Sponsors.
3.8.0
Minor Changes
- 6f40b2b: Import Phase 1 HTML constraint attributes into validators on DOM attach (Field > Schema > HTML merge). Raise
core-loginentry-chunk gzip budget 26→27 KB (ADR-013) for sync kind-merge + HTML extract on the createForm graph.
3.7.0
Minor Changes
- 6134105: Add
@jayoncode/form-intelligence/captchaSecurity Stage with Turnstile, reCAPTCHA, hCaptcha, andmockCaptcha; token atmeta.security.captcha.
3.6.0
Minor Changes
- af981ea: Deepen DevTools UI projection snapshots with hard
submissionGuardvs UX explain, presentation flags, and structured playground explain panels. - af981ea: Seed Presentation
field.required(ARIA / DOM /requiredFields) from schema and staticrequiredvalidators; workflow rules still override (Q10).
Patch Changes
- af981ea: Align Vue/Angular adapters with the shared adapter contract:
controller,fieldController,focusFirstInvalid; AngularfiFieldsyncs projection attrs; docs teachui()+showError. - af981ea: Add a plugin author guide (ownership, extension map, conventions, testing) and maintainer note
019-plugin-author-conventions. - af981ea: Bring Yup/Valibot/AJV to Zod-level schema adapter depth: shared contract harness, nested/array path mapping (Yup brackets, AJV required params), and core nested-adapter error merge fix.
- af981ea: Document hard
submissionGuard()vsform.ui.canSubmit/explain("submit")on the Submission guide; link from UI projection. Add maturity backlogengineering/016-maturity-backlog.md. Point UI projection docs at the/uiplayground lab.
3.5.0
Minor Changes
- 9223e6d: Add derived UI projection (
/ui) and submission hard guards (submissionGuard()enforced insubmit()). React/Vue/Angular/DOM adapters useform.ui.canSubmit/showError/statusfor button and field UX. Raisecore-loginentry-chunk gzip budget 24→26 KB (ADR-013) for the always-on projection graph. Remove@jayoncode/form-intelligent*compatibility packages from the monorepo (EOL — migrate toform-intelligence*).
3.4.1
Patch Changes
- Enhance document introduction
3.4.0
Minor Changes
- 06610ef: Rename Form Intelligence packages from
form-intelligent*toform-intelligence*(core + adapters). Old@jayoncode/form-intelligent*packages remain compatibility re-exports so existing installs keep working; prefer the new names for new projects.
3.3.1
Patch Changes
- Fix
validateOnmode gating:onChangeis value-change only; wireall/onTouchedfor change+blur; keeponBlur/onSubmitfrom validating on the wrong triggers.
3.3.0
Minor Changes
- Add
createForm({ subscribe })for one or many create-time state listeners (same store asform.subscribe(), fires once after init, until destroy). - Additive subscribe to createForm()
3.2.1
Patch Changes
- Fix incorrect types / docs mismatch
3.2.0
Minor Changes
- Support
createForm({ plugins })for declarative registration (same as sequentialform.use()). - form-intelligent 3.2.0 — engines, plugins, a11y, format rename
- Add Field/Form Controllers,
field.aria/setAriaIds,focusFirstInvalid, and/accessibilityhelpers. - Add analytics path allow/deny, timing fields on snapshots, and privacy tests (values never captured).
- Add
asyncValidator({ … })options overload with cache, retry, timeout, debounce, and duplicate coalescing. - Add fluent
form.calculate(path).from(…).compute(…), markDirty/lazy/memoized options, and calculation loop guards. - Add createCheckpoint/restoreCheckpoint and richer fieldMeta (labels + isValidating) for durable state restore without overloading getSnapshot.
- Add Dependency Engine:
dependencies()map/registrar, cycle detection, and cascade clear/revalidate on parent change. - Add DevTools performance marks, plugin introspection, RingBuffer, and value redaction helpers.
- Add
form.restoreDraft(), optional draft envelopes/migrate, pollution-safe merge, andDraftStorageErrorfor quota failures. - Harden offline queue: maxItems/overflow policies, OfflineQueueError, idempotency keys, and onConflict flush callbacks.
- Add plugin error isolation, engines/version metadata, and documented pipeline stages (
PLUGIN_PIPELINE_STAGES). - Add Presentation Engine accessors (
getPresentation,field.ui),/presentationentry, and consistent DOM apply of UI flags. - Add submit phase machine,
form.useMiddleware(shared with plugin hooks), and/middlewareentry. - Add Transform Engine: inbound trim/normalize/sanitize/parse pipeline,
form.transform, and/transformentry (Format stays display-only). - Add wizard branching MVP (
when/next/guards), configurablegoTovalidation modes, step graph helpers, and optionalpersistStepInDraft. - Rename
/formatformatter exports toformat*(formatPhone,formatCurrency, …); keeptrim. Clarifies validators vs masks.
Patch Changes
- Harden async validation: abort/debounce races, AbortSignal on ValidationContext, and no hung onChange schedules.
- Sync Phase 20 docs: migration breaks, capabilities matrix, performance nav, and diagrams checklist.
- Lock Phase 18 performance budgets (entry-chunk size), Vitest timing gates, and create/destroy leak stress.
- Add shared adapter contract helpers, SSR/stress suites, and CI SSR + size budget steps.
- Harden validation: catch throwing validators as field errors; expand built-in/mode/cross-field coverage and document normalized error shape.
- Harden workflow: registration rule order, typed WorkflowError, populate race guards, and autosave cancel on submit/destroy.
Unreleased
Minor Changes
- Phases 9–20: presentation, middleware, draft/wizard/offline/analytics harden, plugin isolation, controllers/
field.aria, DevTools marks, performance budgets, testing contracts.
Patch / migration notes
- DevTools:
captureStateOnWorkflowEventsdefaults tofalse;redactValuesdefaults totruewhen capturing. createBrowserLifecyclePluginis only exported from/plugins(removed from/workflowre-exports).- Accessibility subpath is
/accessibility(not/a11y); usecreateFormControllerfor controllers. core-loginentry-chunk gzip budget is 24 KB — seedocs/performance.md.
3.1.0
Minor Changes
- Fixed. DiffType gained "moved", which broke form-intelligent’s narrower FormChangeType.
3.0.0
Minor Changes
- Align FormChangeType / FormDiffMetadata with object-diff
movedrecords and movedCount. - Fixed DiffTye gained "moved" which broke FI FormChangeType
Patch Changes
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- Updated dependencies [8c0a09f]
- @jayoncode/object-diff@0.3.0
2.0.0
Patch Changes
- Updated dependencies [36dc43a]
- @jayoncode/browser-lifecycle@0.3.0
1.1.0
Minor Changes
- 0f961ff: Change package title in npm server
1.0.0
Major Changes
- 926fd56: JOC Docs v1.3.0 — Form Intelligence, playground hub, per-package changelogs
Patch Changes
- Updated dependencies [926fd56]
- @jayoncode/browser-lifecycle@0.2.0
- @jayoncode/object-diff@0.2.0
0.1.1
Patch Changes
- 1745931: Improve npm README title formatting and docs playground sidebar links (open in new tab).
0.1.0
Initial public release of the headless form workflow engine for the JOC ecosystem.
Added
createForm()with field registration and headless bindings- Validation pipeline with built-in validators (
required,email,url,minLength,regex) - Submission orchestration with double-submit guard
- Workflow primitives: autosave, drafts, multi-step wizard
- Formatters:
phone,currency,slug,trim,uppercase,lowercase - Plugin registry and adapter interfaces
- Interactive playground and package documentation on the JOC docs site
All notable changes to @jayoncode/form-intelligence are documented in this file.
The format is based on Keep a Changelog, and this project follows Semantic Versioning.
[Unreleased]
Added
- Modular engines: fields, validation, state, submission, workflow, format, plugins, adapters
- Plugin hook API (
beforeValidate,beforeSubmit, …) and middleware helpers - Core adapter interfaces (
SchemaAdapter,PersistenceAdapter,FrameworkAdapter,SubmitTransportAdapter) - Documentation: migration guide and common patterns
- Examples:
vanilla-html,basic-validation,wizard-workflow(+ framework stubs)
