v0.6.0¶
Release Date: 2026-10-19
This release adds question banks: the registry package manages licensed
collections of questions with immutable published versions, forks with
lineage, and .h5p import and export. Question metadata gains relative
difficulty, skills, and standards under the renamed h5pkit extension key.
The rename is breaking; see the upgrade notes. The documentation site is
reorganized into guides, design, specifications, and releases.
Highlights¶
- Question bank registry.
registry.Bank,BankVersion,License, andLineagedescribe licensed banks whose content lives in versions.Storepersists them;MemoryStoreis the in-memory implementation, andregistry/registrytestis the conformance suite any other store must pass. See Question Banks. - Versioning. The store numbers versions, a bank has one draft at a time, and
Publishvalidates and freezes a draft, computing the union of its questions' skills and standards. A frozen version returnsErrImmutable. - Forks and lineage.
Forkderives a bank from a published version, recording its parent and inheriting the parent's license when it has none.Descendantsfinds everything derived from a bank. - Interop.
ExportQuestionSet,ExportPackage, andWritePackageturn a version into a playable H5P question set or an.h5ppackage;ImportPackagereads one into a draft, keeping the metadata. - Question metadata. The
h5pkitblock addsdifficultyScore(relative within a bank, 0 to 1),skills, andstandards, all validated byQuestionSet.Validate. See Extensions and Standards Compliance.
Upgrade notes¶
- Rename the metadata key. The block is read and written only under
extensions.h5pkit. Content with anextensions.h5pGoblock no longer loads its metadata; rename the key. - Rename the Go type.
H5PGoExtensionis nowExtensionandNewH5PGoExtensionis nowNewExtension. The old names are removed. - Go 1.26. The module's
godirective is 1.26. - Documentation links moved. The guides are under
/guides/on the site, for example/guides/getting-started/installation/. Update bookmarks to the old paths.
Known limits¶
- No
Storeoperation archives a version yet;archivedis treated as frozen when a store sets it. MemoryStorekeeps everything in one process. A persistent store lives in its own module and passesregistrytest.RunStoreTests.- The new content types (true/false, blanks, single choice set, essay, drag text, drag question) and the editor's metadata fields come in the next release.