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.
-
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)
- v1: Route json() dumps kwargs to json.dumps, not dict()
(
41b65de)
- Classify as Beta
(
c147a05)
- examples: Optional children extension in wiki_data
(
2f372c3)
-
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)
-
Ignore .vscode, node_modules and .claude (
221d88d) -
Tell deptry annotationlib is stdlib from 3.14 (
2458473)
-
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)
-
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)
-
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)
-
validation: Check context equality over every schema, not thirteen (#153,
d47f39e) -
validation: Pin the pyld equivalence the docstring argues from (#150,
4556612)
-
validation: Cover genuine remote retrieval and the warm cache (#139,
7fd050f) -
validation: Cover the fault paths the guard-shaped tests missed (#151,
70e0102)
-
validation: Narrow roundtrip.py's broad exception handling (#147,
354d966) -
validation: Use jsonschema[format-nongpl] for format checks (#140,
03336e3)
- Gate the parity check against the reference
(
fdb9007)
- validation: State invariants in comments, not prior behaviour
(
4baf212)
- validation: Accept a checkout as a meta-schema source
(
7a1030e)
- validation: Classify every level, and cite the coverage rule
(
be47619)
- meta: Vendor oold-schema v1.0.0-rc.3
(
2485f98)
- validation: Cover the unclassified-level raise
(
f509f3c)
-
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)
-
Ignore the local graphify-out directory (
ef375d3) -
validation: Vendor the 43-rule catalogue (
cbcf95a)
-
Apply ruff-format to the check-registry drift test (
ca11109) -
tests: Store the hand-written fixtures with LF line endings (
8c965d6)
-
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 checkscommand (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)
-
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)
- validation: Fold the check mappings into a single registry
(
57c1945)
-
validation: Arm remote-context fixture against literal @context (
bd34c1b) -
validation: Give three checks a fixture that actually reaches them (
793aaa1)
- ci: Send the pypi environment claim when publishing
(
3aa8029)
- Register a class only under the type IRIs it introduces
(
7ca1b85)
- License fix
(
daa8d8c)
-
release: Add whats-changed notes with changelog link for zenodo (
147d70f) -
release: Update on title and authors (
996c4de)
-
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)
-
Map module names for optional UI extras to silence deptry warnings (
d963a13) -
Migrate from pyscaffold/setuptools to hatchling + uv tooling (
9ce1f13)
-
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)
-
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)
-
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)