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 migrate make artifact upgrades explicit, reviewable, and reversible with --dry-run.
  • React layers, live paradoc dev previews, paradoc check, and the copyable component registry provide an end-to-end document composition workflow.
  • sealBundle prepares 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/format replaces 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; run paradoc migrate before loading older, undated, or unversioned files.
  • Signing fields now live only in signatures; migrate legacy signatureBlocks and anchorBlocks to 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, not auto; the migration rewrites existing slots.

Core and SDK

  • Import the builder namespace as p instead of para.
  • fill() and safeFill() are progressive; replace partial-fill APIs with fill() followed by update().
  • Bind file resolvers when constructing or loading an artifact, not in render(), seal(), or bundle operations.
  • Pass a SealAdapter through seal({ adapter }); the legacy Sealer overload and formal-signing aliases are removed.
  • Replace DraftForm.setField() and updateFields() with draft.update({ fields: ... }).
  • Custom renderers must read parties, annexes, signers, captures, and defs beside data.fields.

Rendering and React

  • Import PDF runtime APIs from @paradoc/react-pdf; @paradoc/react now 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, and index(item).
  • Application styles own typography; remove fontFamily tokens and registered package font families.
  • Remove PDF signature rendering options and deprecated SDK renderer wrappers; use built-in rendering or @paradoc/render subpaths.

CLI, sessions, AI, and resolvers

  • The CLI, @paradoc/ai-tools, @paradoc/ai-sdk, and @paradoc/tanstack-ai require Node.js 22 or newer.
  • Invoke the CLI as paradoc; the para binary 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-tools operation contracts and renamed validation outputs.
  • Import resolvers from @paradoc/resolvers/fs, /http, or /memory; the package root exports nothing.
  • Replace @paradoc/serialization with @paradoc/format and pass a formatter through render context.

Upgrading from 0.5

  1. Upgrade CLI and AI runtimes to Node.js 22 or newer.
  2. Run paradoc migrate <file-or-directory> --dry-run, review the schema and signature-slot changes, then rerun without --dry-run.
  3. Rename para imports to p, bind resolvers when artifacts are constructed, and replace removed draft and fill helpers.
  4. Install @paradoc/react-pdf for React PDF rendering, checking, or Chromium output and update imports from @paradoc/react.
  5. Replace template binding aliases and helpers, then run paradoc validate and paradoc check across 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 @paradoc component 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, and check cover 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.
  • hostedSealAdapter uses the served conversion route, supports cancellation, and reports structured conversion and response errors.

Packages

  • @paradoc/react, @paradoc/react-pdf, @paradoc/format, and @paradoc/mastra join the public framework.
  • @paradoc/resolvers/http safely resolves file-backed layers beneath a base URL in any runtime with fetch.
  • Essentials artifacts and examples use current schemas, signature slots, formatter behavior, and rendering limits.

On this page