Releasing
For maintainers.
Specification release
Section titled “Specification release”npm testpasses on a clean checkout.CHANGELOG.mdhas a dated section for the version;MIGRATIONS.mdcovers every breaking change.- The version is updated in: the headers of
spec/*.md,package.json,conformance/cases.json(corpusVersion), anddocs/versioning-and-release.md. - Tag
vX.Y.Zand publish a GitHub release whose notes are the changelog section. Attach:- the corpus as
moca-conformance-X.Y.Z.tar.gz(theconformance/directory), so an implementation can pin it without a checkout; - every example package as a
.mocafile, and the example trust root asexample-trust-root.json, and Acme’s semantic index asacme-support.bge-small-en-v1.5.moca.idx.zip: everythingnpm run pack:exampleswrites todist/examples/. It checks each file as it packs it. The index needs the standard model installed first (npx @openmoca/moca-embed models add bge-small-en-v1.5); the walkthrough links to it. The Readers’ getting-started guides downloadsupport-kb.mocaandexample-trust-root.json, and the examples’ READMEs and openmoca.org link to every file, so keep the names. Upload them withgh release upload vX.Y.Z dist/examples/*.
- the corpus as
- Once
@openmoca/moca-core,moca-indexandmoca-signare on npm, thedevDependenciesinpackage.jsonname their released versions instead offile:../paths, so a clone of a release tag can run the corpus on its own (npm ci && npm run conformance).
Moving the pins
Section titled “Moving the pins”The specification and the reference Reader release together, at the same version, because each pins the other (CONTRIBUTING.md):
- Release moca-reader-typescript and moca-tools with their moca-spec pin set
to the coming tag
vX.Y.Z, the commit you are about to tag. - In moca-spec, set
MOCA_READER_TYPESCRIPT_REFandMOCA_TOOLS_REFto their new tags, then release the specification as above. - In every other open repository, move each
MOCA_*_REFto the new tags in one pull request per repository.
Between releases, no pin names a branch.
Reader and tool releases
Section titled “Reader and tool releases”The reference Reader and the tools are released from their own repositories
(moca-reader-typescript, moca-convert, moca-tools), each published to npm as
@openmoca/<tool> with its own version. The MCP server, moca-mcp-dotnet, is
released as platform downloads and the OpenMoca.Mcp .NET tool. Publish
@openmoca/moca-core first; the others depend on it. Each repository’s
README has its release steps.
Identifiers
Section titled “Identifiers”The specification’s identifiers live under https://w3id.org/moca/. The
redirect is maintained in the w3id.org repository
(perma-id/w3id.org); keep it pointing
at the published schemas and profile documents.