Repository navigation
Versions and Changelog
Frans Ward edited this page Nov 10, 2026
·
2 revisions
This page states which version of the Edubadges Metadata Model is current, which versions are still supported, how versions are numbered and what changed between them.
| Version | Based on | Status | Use for new edubadges? | Verifiable? | Specification |
|---|---|---|---|---|---|
| v1 | Open Badges 2.1 | Frozen | No | Yes | |
| v2 | Open Badges 2.1 | Current | Yes | Yes | 3 – Technical description |
| OB3 profile | Open Badges 3.0 / VC 2.0 | Draft | Not yet | — | Edubadges Metadata Model OB3 |
Edubadges server support. v2 metadata is issued by Edubadges server from release [7.0.0] - 2024-08-14. Before that release the server issues v1. Check the server CHANGELOG for the exact version.
The model has two levels of versioning:
- Model version (v1, v2, …): the complete set of 17 extensions as published together. Pages 2 and 3 of this wiki always describe the current model version.
-
Extension version: each extension has its own context and schema at an immutable URL:
https://api.edubadges.nl/extensions/<Name>Extension/v<N>/context.jsonand…/v<N>/schema.json. An edubadge always records the exact URL it was issued with, so it can be validated against that version forever.
- Published files never change. A context or schema at a versioned URL is not edited after publication, not even for a typo. Any change produces a new version.
- What counts as a new version: any change to field names, datatypes, cardinality, required fields, allowed values, validation patterns or IRIs. Each of these can break either issuers or verifiers, so a new version number is used for all of them; there are no minor versions of a context or schema.
- What does not: clarifications in the wiki text, new examples and fixed links. These are listed in the changelog below as editorial.
- Model versions move together. When one extension gets a new version, the model version is raised and all extensions are republished under the new version number, so implementers only ever deal with one consistent set. Unchanged extensions keep identical content.
- Old versions stay online. Contexts and schemas of every published version remain resolvable for as long as badges using them may exist.
- A new model version is announced at least 6 months before the previous version stops being used for new edubadges.
- During that period both versions are accepted by Edubadges for issuing; after it, only the new one.
- Edubadges already issued are never reissued or invalidated because of a model version change.
- Migration guidance is published with each new version (see Migrating v1 data to v2).
Format: newest first. Types: Added, Changed, Deprecated, Removed, Fixed, Editorial.
- New single Metadata extension to support Open Badges V3.(Draft)
https://github.com/edubadges/edubadges-server/wiki/Edubadges-Metadata-Model-OB3
- Changed: property names to camelCase, types and values to PascalCase.
-
Changed: field and enumeration IRIs moved to the Edubadges namespace
https://w3id.org/edubadges/terms#(eb). -
Changed: versioned, immutable URLs (
…/v2/context.json,…/v2/schema.json). - Changed: JSON Schema draft-07 for compatibility with Open Badges validators.
-
Fixed:
xsd:decimalcoercion removed from non-integer numbers. - Changed: multilingual text (institution name, learning outcomes, quality framework) as JSON-LD language maps.
- Changed: scheme-qualified identifiers (BRIN, SCHAC, ROR, ErasmusCode, PIC; CROHO, CREBO).
-
Added: multiple countries and languages;
stacksInto;gradingSchemeUrl; multiple quality frameworks; GradingTableExtension allowed on BadgeClass. -
Changed:
SupervisedWithIdentityVerificationsplit into Online and Onsite variants. - Full field-by-field list: What changed in v2.
- Added: seven extensions for the EU Council Recommendation on micro-credentials (2022): ParticipationForm, AssessmentType, SupervisionType, QualityAssurance, IntegrationOptions, [TBD: confirm the remaining two].
- Added: the original ten extensions.
If v1 and its later additions were never formally split into v1.0 and v1.1, list them under v1 and state the dates on which extensions were added.