# Asterdoc v0.6.0

Released 2026-09-25

Canonical URL: https://docs.asterdoc.com/changelog/v0.6.0/

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 `@asterdoc/expr`, including typed conditions, list aggregates, party data, and row-aware expressions.
* `@asterdoc/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 `@asterdoc/react-pdf`; `@asterdoc/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 `@asterdoc/render` subpaths.

### CLI, sessions, AI, and resolvers

* The CLI, `@asterdoc/ai-tools`, `@asterdoc/ai-sdk`, and `@asterdoc/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 `@asterdoc/ai-tools` operation contracts and renamed validation outputs.
* Import resolvers from `@asterdoc/resolvers/fs`, `/http`, or `/memory`; the package root exports nothing.
* Replace `@paradoc/serialization` with `@asterdoc/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 `@asterdoc/react-pdf` for React PDF rendering, checking, or Chromium output and update imports from `@asterdoc/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

* `@asterdoc/react`, `@asterdoc/react-pdf`, `@asterdoc/format`, and `@asterdoc/mastra` join the public framework.
* `@asterdoc/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.
