The specification pins the Unicode 16.0 character data (spec/01 §1.4), which Python 3.14 is the first to ship; Python 3.12 has 15.0 and 3.13 has 15.1, so text with characters added in 16.0 could normalize differently there. The tools already required 3.14; the package now does too. - pyproject.toml: requires-python >= 3.14, with the 3.14 classifier. - The package and tools docstrings, tools/README.md and the changelog say 3.14 instead of 3.12. pixi.lock still needs `pixi lock` (see the previous commit); its paperspec entry also records the old requires-python. pixi run check passes; no computed value changed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
Changelog
A change to any computed value is a breaking change and needs a new major version of the format it touches; see spec/00-introduction.md.
0.1.0
The first release.
- The specification, in chapters 0 to 23, covering every format: 32 formats, of which 19 are
candidateand 13provisional. - 42 JSON Schemas, using a keyword subset that independent validators read alike.
- Tables for SQLite, Dolt and PostgreSQL, a team's store, and the SQLite bundle with full-text search.
- The JSON-LD context for layers, and registries of formats, rules, download-stamp rules and default stage requirements.
- Test vectors for every computed value, from canonical JSON to anchor resolution, grading and the target set of targeted F3.
- Example packages (a converted chemistry paper with corrections and receipts, its checks-only export, an open-access paper, a Typst draft and a tiny document, also as a zip), a record of every other format, and 31 broken packages, each breaking one named rule.
- Work keys minted from a Scholar-style citation key and a hash of the work's identity, with document keys for versions;
tag:URIs for layers, annotations and documents. - Spot-check seeds as VRF proofs (RFC 9381), RFC 9162 inclusion and consistency proofs, a history root over every document's corrections, and a provisional transparency log with signed checkpoints.
- Signed QA reports, a conformance checklist covered by a receipt, and a
descriptionannotation for the figure descriptions an accessible export needs. - ML-DSA-65 (FIPS 204) as a signature scheme, with a reference implementation checked against NIST's vectors;
cosereserved;did:keyidentifiers for roster keys; the hash algorithm named in every document; model provenance by weights, prompt and parameters; witnesses and a static tile layout for the log; and the character data pinned to Unicode 16.0. - Guides for newcomers: an overview, the concepts, a walkthrough of the example paper, runnable examples, the rationale, a FAQ and a glossary.
- Tools that build and check everything, validate packages and zipped packages and run proposed corrections through the gate, load packages into SQLite or a bundle, and stress the reference implementation with random inputs.
- A pixi workspace pinned to Python 3.14, with tasks for checking, building, linting, validating and loading.
0.1.1
Packaging and lazy imports only; the formats stay at 0.1.0, and no computed value, vector, fixture, schema or SQL file changed.
- The oracle moves from
tools/oracle/tosrc/paperspec/and installs as the Python packagepaperspec(pyproject.toml, setuptools), withschemas/,sql/andvectors/as the data subpackagespaperspec.schemas,paperspec.sqlandpaperspec.vectors, so other repositories import the reference implementation instead of reimplementing it. - The package version comes from git tags through setuptools-scm.
- The base package has no dependencies and requires Python 3.14, the first with the Unicode 16.0 character data the specification pins; the extras
paperspec[schema](jsonschema,referencing),paperspec[crypto](cryptography) andpaperspec[tools](both) coverschemaand the HKDF and Ed25519 functions ofcrypto, which now import their packages on first use. - The tools import
paperspecfromsrc/, and their Python 3.14 and package check moves totools/__init__.py, so the package itself checks nothing on import. - The pixi workspace installs the package editable, and a
devenvironment builds the wheel withpixi run -e dev wheel.