Skip to content

Latest commit

 

History

History
679 lines (427 loc) · 28.9 KB

File metadata and controls

679 lines (427 loc) · 28.9 KB

CHANGELOG

All notable changes to this project are documented here. Versions are cut automatically from Conventional Commits on every merge to main by python-semantic-release. Do not edit released sections by hand.

v2.2.0 (2026-09-27)

Features

  • meta: Vendor the specification 1.0.0 meta-schema (#172, 5a8ac8d)

v2.1.0 (2026-09-27)

Features

  • checks: Name the rc.4 rules a validator can enforce (#171, 2832dab)

v2.0.0 (2026-09-27)

Bug Fixes

  • A partial export emits one schema level, composed with allOf (#162, c877216)

  • Declare an IRI-family format on emitted link properties (#162, c877216)

  • Derive x-oold-range from the target's location, not its identity (#162, c877216)

  • Emit schemas that validate against OO-LD v1.0.0-rc.3 (#162, c877216)

  • Publish the document shape, not the code-generation shape (#162, c877216)

Documentation

  • Correct what a schema says about a link (#162, c877216)

Features

  • A bare Link[T] annotation is optional (#162, c877216)

Testing

  • Cover def pruning and the v1 requiredness spelling (#162, c877216)

v1.1.0 (2026-09-27)

Features

  • meta: Vendor OO-LD 1.0.0-rc.4 and rc.5 (#169, 9ed8118)

v1.0.3 (2026-09-24)

Bug Fixes

  • v1: Route json() dumps kwargs to json.dumps, not dict() (41b65de)

v1.0.2 (2026-09-21)

Bug Fixes

  • frame: Treat a bare @reverse term as reference-valued (#164, 6199a31)

v1.0.1 (2026-09-19)

Bug Fixes

  • frame: Keep reference-valued properties as IRIs (#161, c8297dc)

Chores

Documentation

  • examples: Optional children extension in wiki_data (2f372c3)

v1.0.0 (2026-09-15)

Bug Fixes

  • Aliases, default_factory and registration in the notation module (4eda165)

  • Equality no longer depends on whether a link was resolved (baea692)

  • Link annotations no longer force a None arm on every dereference (09d1c18)

  • Preserve declared default IRIs and repair link serialisation (fac1ef7)

  • Reach the annotate function through annotationlib (3f36c92)

  • Read class annotations under PEP 649 deferred evaluation (cbc1c98)

  • Restore legacy behaviour the descriptor binding did not reproduce (6fb1076)

  • Shared Field reuse, Annotated defaults, equality and type arrays (38d81b0)

  • Stop resolution failures being hidden, and link mutations being lost (91e136f)

  • Support generated-package declaration shapes in the descriptor binding (d8dbac9)

  • examples: Benchmark the legacy binding, not the new one twice (1e5721c)

  • examples: Make wiki_data.py run against the live endpoint (8a668a4)

  • examples: Read name from rdfs:label, not the Commons category (14a8fd5)

  • experimental: Lossless de-serialisation of union link arms (ce8eb21)

  • typing: Make the binding swap visible to a type checker (80e8e99)

  • v1: Encode non-JSON types in to_json (d96476c)

  • v1: Register full class IRI set and share the type registry (9cb6f5f)

Chores

  • Ignore .vscode, node_modules and .claude (221d88d)

  • Tell deptry annotationlib is stdlib from 3.14 (2458473)

Documentation

  • Correct stale claims and tabulate notation support (0abd4c4)

  • Name the recommended link notation, and mirror the v1 binding swap (df13e87)

  • Record the downstream verification results (100f694)

  • Record the metaclass identity requirement for the replacement (c7af84c)

  • validation: Correct how pyld actually fails on each count (#150, 4556612)

  • validation: Document the fault status in the how-to (#152, 6b31fd3)

  • validation: Give the context walker a true justification (#150, 4556612)

  • validation: State what --offline pins and what nothing pins (#149, abcad76)

Features

  • Carry the typed query subscription into the descriptor binding (5774fcd)

  • Declare link optionality in the type parameter (cc8470d)

  • Derive x-oold-range from the link annotation (d66f037)

  • Extend the binding switch to pydantic v1 (15ab140)

  • Make the descriptor binding the default (3a4a98a)

  • Make the descriptor binding the default and drop AutoLinkedModel (57389a3)

  • OOLD_LINKS=0 runs models as plain pydantic (042d9a2)

  • OoldField(required=True) carries link requiredness (b20175a)

  • Opt-in descriptor binding via OOLD_DESCRIPTOR_BINDING (67ac41b)

  • Public type registry API (5f97f94)

  • Raise mandatory-link failures on access, and translate the DSL to SPARQL (b126971)

  • Type link fields in both directions via Link[T] / LinkList[T] (b33b5a7)

  • experimental: Downstream API parity layer for the descriptor binding (a96a91b)

  • experimental: Graph-object binding prototypes and benchmarks (e55c64f)

  • experimental: OoldField() without arguments infers the link target (b2c62e5)

  • experimental: Pydantic v1 descriptor binding (c41ee9c)

  • experimental: Share the type registry with oold.model._types (d5a5d64)

Refactoring

  • One link descriptor and one construction guard for both versions (16ffdb2)

  • Promote the descriptor binding out of experimental (562419a)

  • Remove dead code and the duplication behind it (93f18a1)

  • Share the downstream API surface between v1 and v2 (66b3292)

Testing

  • validation: Check context equality over every schema, not thirteen (#153, d47f39e)

  • validation: Pin the pyld equivalence the docstring argues from (#150, 4556612)

v0.20.0 (2026-09-11)

Features

  • validation: Report an unexpected exception as a validator fault (#151, 70e0102)

Testing

  • validation: Cover genuine remote retrieval and the warm cache (#139, 7fd050f)

  • validation: Cover the fault paths the guard-shaped tests missed (#151, 70e0102)

v0.19.0 (2026-08-31)

Features

  • validation: Add oold meta vendor command (#146, f714002)

Testing

  • validation: Cover @vocab suppressing the coverage finding (#137, 9f7d12a)

v0.18.4 (2026-08-31)

Bug Fixes

  • validation: Narrow roundtrip.py's broad exception handling (#147, 354d966)

  • validation: Use jsonschema[format-nongpl] for format checks (#140, 03336e3)

Testing

  • parity: Compare against oold-js instead of oold-schema's scripts (#144, 42d0d74)

v0.18.3 (2026-08-29)

Bug Fixes

  • validation: Revalidate the remote meta cache instead of trusting it (#143, 8e83643)

Testing

  • validation: Cover the conditional-fetch helper directly (#143, 8e83643)

v0.18.2 (2026-08-29)

Bug Fixes

  • validation: Treat an absent @context as every property unmapped (#142, bc6e1c9)

v0.18.1 (2026-08-27)

Bug Fixes

  • validation: Count a scoped @context term only where it is a property (#135, 0b49605)

Code Style

Continuous Integration

  • Gate the parity check against the reference (fdb9007)

Documentation

  • validation: State invariants in comments, not prior behaviour (4baf212)

v0.18.0 (2026-08-24)

Features

  • validation: Accept a checkout as a meta-schema source (7a1030e)

v0.17.1 (2026-08-24)

Bug Fixes

  • validation: Classify every level, and cite the coverage rule (be47619)

Chores

  • meta: Vendor oold-schema v1.0.0-rc.3 (2485f98)

Testing

  • validation: Cover the unclassified-level raise (f509f3c)

v0.17.0 (2026-08-23)

Bug Fixes

  • cli: Keep the missing-extra guard on oold-validate (b4e23ac)

  • docs: Restate and guard Zensical's default Markdown extensions (ebc3907)

  • validation: Count x-oold-context synonyms as mapped terms (7875b51)

  • validation: Import select_rules where the MCP server uses it (7050e8b)

  • validation: Keep a processor failure distinct from a missing term (2a03e2f)

  • validation: Report the keyword coverage.vocab leaves out (c5d9324)

  • validation: Share rule filtering, report a corrupt rules schema (65d2ce3)

  • validation: Warn on an unmapped term instead of failing (561d0b8)

Chores

  • Ignore the local graphify-out directory (ef375d3)

  • validation: Vendor the 43-rule catalogue (cbcf95a)

Code Style

  • Apply ruff-format to the check-registry drift test (ca11109)

  • tests: Store the hand-written fixtures with LF line endings (8c965d6)

Documentation

  • Add CLAUDE.md with the conventions agents keep getting wrong (4fdda5e)

  • Explain how to turn a specification rule into a check (988bc38)

  • Fix the vendoring procedure and say what a new check owes (92524af)

  • Move documentation out of source dirs and drop meta-talk (fc4de8c)

  • spec: Collapse the check mappings into one registry structure (264d71e)

  • spec: Correct the version gate, and cost out a changed rule (08b9945)

  • spec: Design a check registry and an oold checks command (26ceba9)

  • spec: Pin where compatibility for a new rule's check lives (3ba00a6)

  • spec: State which ids the registry covers, and fix the grep guard (3b497b5)

  • validation: Record catalogue's source so a rebase cannot orphan it (5bcd043)

Features

  • validation: Accept raw JSON in every MCP document tool (18a952c)

  • validation: Add native OO-LD schema and instance validator (80ee29a)

  • validation: Check catalogue and fixture slice against facts (a7a7f3c)

  • validation: Cite the specification's rule ids in findings (f39b280)

  • validation: Classify a single file from its $schema (6897095)

  • validation: Drive rule checks from the specification catalogue (71c734c)

  • validation: Enforce four more catalogued rules (fb99f5c)

  • validation: Enforce narrow-only composition (13ade19)

  • validation: Enforce ten more normative rules (3030aa8)

  • validation: Enforce two more rules, and leave the third alone (bee7204)

  • validation: Gate checks on the catalogue, and add oold checks (f6fcbbb)

  • validation: Model the rule catalogue and type the MCP results (5feef83)

  • validation: Track meta-schema v0.8.0 (8e96921)

  • validation: Track the v1.0.0-rc.2 release (5a6b6d7)

  • validation: Track upstream's two-tier meta-schema split (09ede4a)

  • validation: Vendor reshaped catalogue, and enforce its new rules (6589527)

Refactoring

  • validation: Fold the check mappings into a single registry (57c1945)

Testing

  • validation: Arm remote-context fixture against literal @context (bd34c1b)

  • validation: Give three checks a fixture that actually reaches them (793aaa1)

v0.16.5 (2026-08-06)

Bug Fixes

  • ci: Send the pypi environment claim when publishing (3aa8029)

v0.16.4 (2026-08-06)

Bug Fixes

  • Register a class only under the type IRIs it introduces (7ca1b85)

Chores

Continuous Integration

  • release: Add whats-changed notes with changelog link for zenodo (147d70f)

  • release: Update on title and authors (996c4de)

v0.16.3 (2026-07-29)

Bug Fixes

  • Correct resolve_iri typo to resolve_iris in WikiDataSparqlResolver (d04108a)

  • Restore tag-push release trigger; rewrite CONTRIBUTING for clarity and brevity (1b3436b)

  • ci: Disable uv cache in benchmark job to prevent post-step failure (c5873ed)

  • ci: Use git worktree for baseline benchmarks to avoid branch switch (5139d76)

Build System

  • Map module names for optional UI extras to silence deptry warnings (d963a13)

  • Migrate from pyscaffold/setuptools to hatchling + uv tooling (9ce1f13)

Chores

  • Authorship for zenodo releases through CITATION.cff file; Guideline on contributing and docs updated with how to be author on zenodo (ff73bc0)

  • Ignore local files (bf1a9e0)

  • release: Seed version fields and changelog for psr (df5f4a8)

Continuous Integration

  • Add conventional-commit commit-msg hook (d263194)

  • Add semantic-release version preview on pull requests (75a2998)

  • Fix version-preview to show bump and changelog, v-prefixed and reworded (4db8800)

  • Make version-preview evaluate on main so PR bump shows correctly (92d4101)

  • release: Automate release on merge to main via psr (5ddafe7)

  • release: Configure python-semantic-release (psr) with static version (b81a511)

  • release: Push release commit via github app token to satisfy branch ruleset (2e64068)

Documentation

  • Add landing hero on Home, move old content to new About page (32d22b5)

  • Add OO-LD logo, fix tab/icon rendering, uv-first install, tidy README (9404a1d)

  • Add tabs nav + logo + landing hero, fix page title, tidy README (e16d80c)

  • Drop redundant Development page (merged into Contributing) (6c929c2)

  • Fix + enlarge mermaid diagrams, hide footer on landing page (c87a92d)

  • Fix home hero right-side gap and top alignment (c6a9d0b)

  • Fix landing hero gradient — seamless yellow to bottom, no footer (b6cc144)

  • Fix raw tab artifacts (enable pymdownx.tabbed), lead with uv install (73ecc54)

  • Reformat for markdownlint, add AI statement (50ffbed)

  • Regenerate documentation and add citation support (d88f913)

  • Rm authors entirely to make use of auto contributor fetching from github (bots should be already ignored) (6446a91)

  • Upd ai guidelines (bdfc192)

  • contributing: Document conventional commits and auto-release (cfaa811)