Explore the RiC model - every entity, attribute and relation, plain and navigable. Open the model navigator ↗

OpenRiC Specification — Changelog

Newest first. From the release after v0.43.14, bin/release writes each entry, with the line naming who approved it; see change control. The entries for v0.43.11 to v0.43.14 were backfilled from their tags on 2026-10-15.

v0.46.0 - 2026-10-15

Mapping follows RiC-AG with RiC-O 1.1 terms (open issue O-8 resolved); control areas and ISDF mapped; openricx:arrangement deprecated; external review brief

Migration: mapping rows that change what a server emits are ISAD(G) 3.3.1 (now rico:scopeAndContent; servers that sent openricx:description for it SHOULD send both until v0.47.0), 3.3.4 (rico:structure), 3.4.4 (rico:physicalCharacteristicsNote on the instantiation), 3.6.1 (rico:generalDescription), 3.7.2 (rico:isOrWasRegulatedBy) and 3.2.4 (acquisition as a rico:Activity). The reference service emitted only 3.3.1 and sends both forms since service v0.17.11.

Deprecated: openricx:arrangement, replaced by rico:structure.

Erratum (2026-10-15, after release): “until v0.47.0” above should read “until at least v0.48.0”. Change control keeps a deprecated item for at least one further minor release. See known issue K-4.

Approved by: Dr Johan Pieterse, 2026-10-15

v0.45.0 - 2026-10-15

Fixture provenance and licence labels; mapping compared row by row with RiC-AG (audit, open issue O-8); accruals mapped to rico:accruals and openricx:accrualsNote deprecated; write-body schemas for every entity type; probe covers round-trip editing for every entity type and relations

Deprecated: openricx:accrualsNote (added in v0.44.0, never emitted by any server) is replaced by RiC-O 1.1’s rico:accruals. No server or client change is needed.

Approved by: Dr Johan Pieterse, 2026-10-15

v0.44.1 - 2026-10-15

Demonstration uses an AI-generated 3D model on its own record; the Egyptian Boat’s non-commercial model is detached; drift log records service v0.17.8 verifying against spec v0.44.0

Approved by: Dr Johan Pieterse, 2026-10-15

v0.44.0 - 2026-10-15

Part I corrections: data-driven site and release manifest, status and versions pages, evidence labels; API contract (OpenAPI 3.1) checked in CI; crosswalk editions and change-control policy; openric: API vocabulary published; Core Discovery 0.4.0 list envelope; conformance probe gains round-trip editing and provenance and event checks; implementer quickstart

Migration: Core Discovery 0.3.0 to 0.4.0 is breaking for list responses. Servers send openric:total, openric:page, openric:limit and openric:items (integers and an array) and page by page and limit; offset is gone; the old ric:* keys may stay as aliases. Clients read the openric: keys. Full table: Core Discovery §9.

Approved by: Dr Johan Pieterse, 2026-10-15

v0.43.14 - 2026-10-14

Wizard no longer saves to the public reference service; help pages say every write needs a key.

Approved by: Dr Johan Pieterse, 2026-10-14 (release confirmation; entry backfilled 2026-10-15)

v0.43.13 - 2026-10-14

Version bump only: re-release of v0.43.12 with the same content and message. No other file changed.

Approved by: Dr Johan Pieterse, 2026-10-14 (release confirmation; entry backfilled 2026-10-15)

v0.43.12 - 2026-10-14

Profile inventory, schema and fixture counts render from _data/ and CI rejects hand-typed ones; a generated /status/ page with the conformance matrix; the /spec/versions/ page; page-kind banners; drift log and architecture page corrected.

Approved by: Dr Johan Pieterse, 2026-10-14 (release confirmation; entry backfilled 2026-10-15)

v0.43.11 - 2026-10-13

Sitemap, and spec pages say which release last revised them, so version headers no longer read as the current release; the drift check covers them. Also released in this tag: the shared presentation shell and task-first navigation (#10, #11), Browse as a catalogue (#12), wizard branching (#15), site-wide search (#17), “OpenRiC in five minutes”, three cross-cutting wizard scenarios, and the single version source with the drift guard and RiC baseline page.

Approved by: Dr Johan Pieterse, 2026-10-13 (release confirmation; entry backfilled 2026-10-15)

v0.43.1 - v0.43.10 - 2026-06-20 to 2026-06-22

Backfilled 2026-09-28. Ten patch releases shipped after v0.43.0 without changelog entries, which is why pages still quoting v0.37.0 went unnoticed for three months. Recorded here in groups.

Help diagrams (v0.43.1, v0.43.3, v0.43.4)

Demand-signal tracker and the Ask form (v0.43.5, v0.43.6, v0.43.7)

Typography (v0.43.8, v0.43.9, v0.43.10)

Note on tags. A stray v0.43.2 tag and release were created by an accidental second bin/release run and have been deleted; the empty commit fbf71a8 remains in linear history, untagged and harmless. The tag line is v0.43.0, v0.43.1, v0.43.3 onward.

v0.43.0 — 2026-06-19

Governance-line draft profiles (ported from the Heratio reference implementation)

Five proven-in-Heratio capabilities are specified as new draft OpenRiC profiles (ArchiveHeritageGroup/OpenRiC #1–#5):

Also: registered the profiles (plus the previously-shipped SPARQL Access) in spec/profiles/index.md. Seven profiles normative, five draft.

Help centre (/help)

A full, searchable help centre at openric.org/help — the same two-door (archivist / technical) spirit as the redesigned home, now with sample-rich how-tos:

v0.38.3 — 2026-05-25

Conformance probe: SPARQL probes hardened + /sparql/info added

Two corrections to the SPARQL Access section of conformance/probe.sh:

  1. URL-encode the SPARQL query body. The previous /sparql probe URL contained raw {, ?, } characters in the query value (?query=SELECT * WHERE { ?s ?p ?o } LIMIT 1). curl was treating {...} as a glob/brace expansion and ? as a query-string delimiter, so the URL was being mangled before transmission. The probe was passing only by accident — against the previous OpenRiC reference implementation, which masked all Fuseki errors as HTTP 200 with a wrapped JSON envelope. A server that correctly returns 4xx on backend parse failures (as the spec requires per Core Discovery §4) was being flagged non-conformant by the previous probe. Fixed by piping the query through jq -sRr @uri before interpolation.
  2. Assert canonical SPARQL Results JSON shape. The predicate was a bare . (any non-null JSON), which silently accepted a server returning {"sparql": "...", "results": {...}} (non-canonical wrapper) as conformant. New predicate (.head.vars | type) == "array" requires the canonical application/sparql-results+json shape per the SPARQL 1.1 Protocol.
  3. Add /sparql/info probe. Tests the void:Dataset description endpoint required by sparql-access profile §2.1. Optional, since the profile is itself optional.

Reference server (ric.theahg.co.za, OpenRiC service v0.10.0) passes 30/30 probes after this patch. Servers that previously claimed sparql-access conformance without exposing canonical SPARQL Results JSON will need to fix their endpoint to remain conformant.

No spec prose changes; no profile claim changes.

v0.38.2 — 2026-05-25

Conformance probe: detail-endpoint coverage for all 8 entity types

conformance/probe.sh previously ran probe_show_first (detail-show) for only records / agents / repositories. The other 5 entity types (places / rules / activities / instantiations / functions) were list-only, which let the v0.9.0-introduced regression on /functions/{id} stay hidden for 35 days until the reference service’s v0.9.2 audit caught it.

This patch adds detail-show probes for the missing 5 types. Probe surface goes from 24 → 29 checks. The reference service at ric.theahg.co.za/api/ric/v1 passes all 29.

Any conformant OpenRiC implementation should pass the expanded probe; if a previously-passing server starts failing, it is a real regression (not a probe artifact). No spec prose, no profile claims, no SHACL shapes changed.

v0.38.1 — 2026-05-25

Doc-only patch: RiC-AG cross-reference + RiC-CM Nav declaration

Two drift-log.md open items resolved; both are pure-documentation changes — no normative property mapping or profile claim changes.

RiC-AG (Application Guidelines) — cross-referenced

RiC-CM navigator reconciliation — declared (option C)

v0.38.0 — 2026-04-25

Wave B — outreach prep + SPARQL Access maturity step + extension proposals

Triggered by the v2 outstanding-work review (openric_outstanding_deep_review_v2.md) which flagged: zero progress on the v1.0 governance gates (second implementation, external institution commitment, non-maintainer contributors), the SPARQL Access Draft profile lacking SHACL + fixtures, and three concrete upstream-proposal candidates ready to file at ICA-EGAD/RiC-O.

SPARQL Access (Draft) — promotion-blocker artifacts shipped

Related Implementations expanded

Drift log additions

Upstream-proposal templates — three paste-ready GitHub-issue bodies in new docs/upstream-proposals/ directory, ready for the maintainer to file against ICA-EGAD/RiC-O:

Each draft includes rationale, suggested IRI, suggested domain/range, alternatives considered, cross-walks to source standards, and OpenRiC’s interim placement.

Outreach drafts — two paste-ready email/discussion bodies in new docs/outreach/ directory:

Extension proposals (post-v1.0) — new docs/extensions/ directory with strawman drafts:

Mapping spec — RiC-O Converter alignment

No spec-semantics changes. No rico:* term renames, no SHACL constraint changes, no fixture rewrites of existing fixtures. v0.38.0 is purely additive — new artifacts, new docs, no breaking changes to v0.37.1 conformance.

v0.37.1 — 2026-04-25

Public consistency patch

Triggered by an external “outstanding work” review (openric_outstanding_deep_review_v2.md) that flagged drift between the v0.37.0 landing claim and several supporting pages. The review’s namespace claims (still uses rico:DateRange etc.) were verified as stale reads — the live site already reflects v0.37.0 — but the reviewer correctly caught presentation-level drift:

No spec semantics changed.

v0.37.0 — 2026-04-25

RiC-O 1.1 namespace remediation (Phases A → E) + drift cleanups + Garance-aligned additions

This is the largest single release since the v0.30.0 → v0.36.0 profile-freeze series. It closes the RiC-O 1.1 conformance audit (110 missing terms → 0 genuine emitted-context violations) and adds the linked-data publication infrastructure flagged by external review (Florence Clavaud / Garance / KM RiC user-group thread).

Namespace remediation — five phases applied:

Pre-A drift cleanups (from external review P1/P2):

Linked-data publication additions (from Garance review, ICA-EGAD-aligned):

Notes:

v0.36.1 — 2026-04-21

SPARQL positioned; triplestore-choice guide added

v0.36.0 — 2026-04-21

Export-Only profile — profile matrix complete (7/7 normative)

v0.35.0 — 2026-04-21

Provenance & Event profile + freeze-series renumber

v0.34.0 — 2026-04-21

Round-Trip Editing profile

v0.33.0 — 2026-04-21

Digital Object Linkage profile

v0.32.0 — 2026-04-21

Graph Traversal profile + “six profiles” → “seven profiles” correction

v0.31.0 — 2026-04-21

Authority & Context profile

v0.30.0 — 2026-04-21

Core Discovery profile — first normative freeze

v0.29.0 — 2026-04-21

Reference-server additions rolled forward from post-v0.2.0 Unreleased

v0.2.0 — 2026-04-18

Second freeze of the OpenRiC specification. All changes below are live on the reference infrastructure at ric.theahg.co.za and have been verified with the conformance probe.

New public surfaces

Specification additions (pending a v0.2.0 freeze)

The following endpoints were added to the Viewing API document (§4.11–4.18). They are live on the reference deployment but not yet part of a frozen tag:

Read-side (no new auth required):

Write-side (new — requires X-API-Key + write / delete scopes):

Harvesting — OAI-PMH v2.0

Conformance suite

API Explorer

Graph endpoint additions

Auth

§6 of the Viewing API spec is revised. Reads stay public by default; writes require an API key with an appropriate scope. Three scopes defined: write, delete, and implicit read. 401 on missing key, 403 on missing scope.

CORS

§5.3 extended: write endpoints MUST handle the OPTIONS preflight and return the standard CORS headers. Without this, browser-based capture clients can’t write.

Tooling

Fixtures / validator

No changes yet — the 20-case fixture pack and the validator CLI still target v0.1.0 endpoint shapes. Adding fixtures for the new read endpoints + the write surface is the blocker for a v0.2.0 tag.


v0.1.0 — 2026-04-17 (first frozen draft)

First frozen release of OpenRiC. The specification is draft-stable: implementations can now claim conformance against a specific version. Breaking changes are allowed in v0.2.x in response to external review, but any such change will bump the minor version.

Four specification documents

Published at openric.org:

Machine-checkable artifacts

Reference implementation

Heratio is the first reference implementation and live-validated against these artifacts. Eight endpoint types pass schema + shape validation:

All graph edges emit canonical rico:* predicates; 2,000+ RiC entities are currently served.

Licensing

CI

GitHub Actions workflow (.github/workflows/ci.yml) runs on every push and PR:

  1. Validator unit + fixture tests (pytest)
  2. JSON Schema 2020-12 well-formedness
  3. SHACL Turtle parse check
  4. Markdown internal-link check

Contributors

What’s next (roadmap for v0.2.x)


v0.1.0 is a draft freeze. If you plan to implement against it, please open an issue on GitHub so we know who’s implementing and can coordinate breaking changes in v0.2.x.