changelog
id: "changelog" slug: "changelog" title: "Changelog" description: "Release history for the .curt format spec and the curt-format package."
Unreleased
curt-convertbulk-output collision gap closed (commit4719816): collidingcurtFilenameoutputs in one run now get a deterministic-<6 hex>SHA-256-of-source-path suffix instead of silently overwriting; post-fix corpus revalidation 1169 inputs → 1169 distinct outputs, 0 self-check failures, deterministic across runs. Gap removed from thecurt-converttracker entry; dated fix note appended to CAPABILITIES.md finding 3.- Ecosystem tracker grew 5 → 9 consumers:
curt-vcon(.curt ⇄ vCon bridge),curt-convert(Claude Code JSONL → .curt), andcurt-openwebui(TS CLI + draft Python pipelines filter) added tocapabilities.json/CAPABILITIES.md. All three are same-author (JordanNewell), local and unpublished — the first consumers to depend on thecurt-formatpackage rather than vendoring, and the first writers to use the speccurtFilenamealgorithm. Same-author emissions do not promote draft extensions (tool-linkagestays draft). Per-entry evidence dated 2026-11-01;lastAudited(2026-10-14) not bumped — no full re-audit. No spec or package changes;curt-formatstays 1.2.0. - Documentation corrections from the post-release audit: SPEC's bulk
convention now states the L3 rules normatively (import valid entries,
report corrupted ones — never silently drop; ignore directory entries);
spec-revision pins updated to
[email protected]; the unused conversation-levelprovider/modelfields were removed from theCurtConversationtype (they were never in the spec's conversation table; the fields ride unknown-field passthrough or theusage-metadataextension). - Publication history corrected: 1.0.0 and 1.1.0 were tagged in-repo but never published to npm. 1.2.0 is the first npm release.
1.2.0 — 2026-10-14
- License: MIT. The spec, reference implementation, schema, and fixtures were BUSL-1.1 through 1.1.0; they are now permanently open. Applications remain BUSL-1.1 — see the design doc, docs/specs/2026-10-14-curt-standard-framework-design.md.
- Ecosystem capability tracker:
CAPABILITIES.md+ machine-readablecapabilities.json— per-consumer read/write, spec revision implemented, conformance gaps (first audit 2026-10-14: 5 consumers in, 8 repos out, zero consumers on thecurt-formatpackage). - Conformance:
conformance/— levels L1 CORE / L2 NAMED / L3 BULK / L4 extensions, executable vectors (conformance/vectors/), claim process.capabilities.jsongainsconformanceLevel/extensionsper consumer (first grading 2026-10-14: only the reference implementation passes L1).
1.1.0 — 2026-10-10
Additive release; format version stays 1 and every v1 file remains valid.
parseCurtignores a single leading UTF-8 BOM (spec clarified; writers still must not emit one).- New exports:
isCurtMessage,isCurtConversation(the validation rules as type guards),curtFilename(the documented naming convention), andCURT_MAGIC. - Non-normative JSON Schema at
schema/curt-v1.schema.json, importable from the package; tested to agree withparseCurt. - SPEC.md: conformance section, BOM rule, integer-timestamp guidance, precise naming algorithm, untrusted-input notes.
- Package:
exportsmap,sideEffects: false, schema + SPEC ship in the tarball. CI on Node 20/22 (Ubuntu + Windows). New empty-conversation fixture; 27 tests.
1.0.0 — 2026-10-10
Initial release: spec, reference implementation, round-trip fixtures. (Never published to npm; the 2025 date in earlier revisions of this file was a typo.)