Paradoc v0.6.0
Released 2026-09-25
Paradoc 0.6 turns documents into a complete application surface: compose them in React, migrate versioned artifacts, extract filled PDFs, and seal multi-document packets. It also tightens public contracts across the SDK, CLI, rendering, sessions, and AI adapters.
Highlights
- Dated schemas and
paradoc migratemake artifact upgrades explicit, reviewable, and reversible with--dry-run. - React layers, live
paradoc devpreviews,paradoc check, and the copyable component registry provide an end-to-end document composition workflow. sealBundleprepares and seals multi-part packets with one canonical PDF, packet-wide signer mapping, and part-level provenance.- PDF rendering now embeds fonts, follows AcroForm appearance settings, rejects encrypted inputs, and can extract filled values back into artifact data.
- Templates and artifact logic share
@paradoc/expr, including typed conditions, list aggregates, party data, and row-aware expressions. @paradoc/formatreplaces serialization with locale-aware formatting shared by text, DOCX, PDF, and React output.- AI SDK, TanStack AI, and Mastra adapters expose the same validated document operations, including extraction and progressive filling.
Breaking changes
Schemas and artifacts
- Artifact files must use the current dated
$schema; runparadoc migratebefore loading older, undated, or unversioned files. - Signing fields now live only in
signatures; migrate legacysignatureBlocksandanchorBlocksto signature slots. - Field, party, option, and config schemas reject unknown keys; correct misspellings instead of relying on dropped properties.
- The marker placement literal is
flow, notauto; the migration rewrites existing slots.
Core and SDK
- Import the builder namespace as
pinstead ofpara. fill()andsafeFill()are progressive; replace partial-fill APIs withfill()followed byupdate().- Bind file resolvers when constructing or loading an artifact, not in
render(),seal(), or bundle operations. - Pass a
SealAdapterthroughseal({ adapter }); the legacySealeroverload and formal-signing aliases are removed. - Replace
DraftForm.setField()andupdateFields()withdraft.update({ fields: ... }). - Custom renderers must read
parties,annexes,signers,captures, anddefsbesidedata.fields.
Rendering and React
- Import PDF runtime APIs from
@paradoc/react-pdf;@paradoc/reactnow contains the headless React runtime and discovery APIs. - Text and DOCX templates must use full paths such as
{{fields.name}}; binding aliases are supported only on PDF file layers. - PDF bindings now fail on missing fields, invalid roots, and malformed qualifiers; use AcroForm field names as keys and Paradoc paths as values.
- Replace legacy template helpers and Handlebars context paths with artifact expressions,
item,parent, andindex(item). - Application styles own typography; remove
fontFamilytokens and registered package font families. - Remove PDF signature rendering options and deprecated SDK renderer wrappers; use built-in rendering or
@paradoc/rendersubpaths.
CLI, sessions, AI, and resolvers
- The CLI,
@paradoc/ai-tools,@paradoc/ai-sdk, and@paradoc/tanstack-airequire Node.js 22 or newer. - Invoke the CLI as
paradoc; theparabinary is removed. - Configure every registry explicitly; the CLI no longer falls back to a default registry.
- Session projections now include annexes and richer party state; persist events directly instead of using the removed spine adapter.
- Use the unified
@paradoc/ai-toolsoperation contracts and renamed validation outputs. - Import resolvers from
@paradoc/resolvers/fs,/http, or/memory; the package root exports nothing. - Replace
@paradoc/serializationwith@paradoc/formatand pass a formatter through render context.
Upgrading from 0.5
- Upgrade CLI and AI runtimes to Node.js 22 or newer.
- Run
paradoc migrate <file-or-directory> --dry-run, review the schema and signature-slot changes, then rerun without--dry-run. - Rename
paraimports top, bind resolvers when artifacts are constructed, and replace removed draft and fill helpers. - Install
@paradoc/react-pdffor React PDF rendering, checking, or Chromium output and update imports from@paradoc/react. - Replace template binding aliases and helpers, then run
paradoc validateandparadoc checkacross the migrated project.
Other changes
Core, schemas, and sessions
- Builders cover every schema key, and validation reports schema versions, file references, template expressions, signing slots, and PDF bindings earlier.
- List aggregates, typed party expressions, row references, progressive checklists, annex commands, and rule IDs improve guided form completion.
- Bundle rendering preserves nested parts, while sealing and finalization enforce signer, capture, and required-slot integrity.
Render, React, and components
- PDF fill and extraction support embedded fonts, Unicode strings, comb fields, multiline values, overlays, page selection, flattening, and merging.
- React documents add pagination, page furniture, explicit breaks, application fonts, right-to-left output, annex images, and packet previews.
- The
@paradoccomponent registry ships document components and complete blocks for invoices, engagement letters, purchase orders, and vendor packets. - Formatters add selection, rating, contact, temporal, money, party, attachment, and signature output with locale fallbacks and structured issues.
CLI, SDK, and AI
paradoc migrate,data extract,dev, andcheckcover schema upgrades, PDF recovery, live composition previews, and static composition checks.- CLI validation accepts multiple artifacts, validates project files and data through core, and preserves installed layer dependencies and checksums.
- AI adapters share bounded model output, validated inputs and outputs, fill-state inspection, updates, rendering, and extraction.
hostedSealAdapteruses the served conversion route, supports cancellation, and reports structured conversion and response errors.
Packages
@paradoc/react,@paradoc/react-pdf,@paradoc/format, and@paradoc/mastrajoin the public framework.@paradoc/resolvers/httpsafely resolves file-backed layers beneath a base URL in any runtime withfetch.- Essentials artifacts and examples use current schemas, signature slots, formatter behavior, and rendering limits.