Releases: open-resource-discovery/specification
v1.14.4
Changed
- Added recommendation to use Concept IDs as
labelskeys to indicate ownership and avoid naming conflicts. Thelabelskey validation pattern now also allows:and/characters accordingly. - Clarified the use of authority namespaces for resource ORD IDs: when multiple system types share the same resource contract under a shared authority namespace, the uniqueness and aggregation rules now explicitly address this. See Shared Resources Across System Types.
- Added concept page on Shared Resources Across System Types.
- Clarification: Consolidated and clarified the static perspective resolution algorithm for aggregators. When no specific version is requested, explicit
system-typeperspective data takes precedence; if unavailable, the aggregator SHOULD derive it from the latestsystem-version. Previously this behavior was scattered and only stated as MAY.
Commits
- 67074a73 Release/v1.14.4 (fix pipeline) (#123) (Simon Heimler)
- 3df30eaa Release ORD v1.14.4 (#122) (Simon Heimler)
- e7c044df Fix labels key regexp to actually allow the characers as recommended Concept ID (#120) (Simon Heimler)
- 71ebb146 Clarify shared resources between system types via authority namespace (#117) (Simon Heimler)
- 22ffff23 Clarify system-perspective fallback from system-version (#118) (Simon Heimler)
- c3e16e58 Recommend labels key to be Concept ID to clarify ownership and avoid conflicts (#116) (Simon Heimler)
- 70f82452 Improve
deprecatedreleaseStatus documentation (#115) (Raluca Gruber) - 564f4ea5 Improve documentation on ORD System model (#114) (Simon Heimler)
- d7bd346d Add ORD Model Extensions, with AgentGovernance model as placeholder (#111) (Simon Heimler)
Contributors
|
Raluca Gruber |
Simon Heimler |
v1.14.3
Added
-
Added relationship property to
ApiResourcefor expressing relations to other ORD resources:relatedApiResources: Array ofRelatedApiResourceobjects to link API resources to API resourcesrelatedEventResources: Array ofRelatedEventResourceobjects to link API resources to event resources
-
Added relationship property to
EventResourcefor expressing relations to other ORD resources:relatedEventResources: Array ofRelatedEventResourceobjects to link event resources to event resourcesrelatedApiResources: Array ofRelatedApiResourceobjects to link event resources to API resources
Changed
- Improved the Grouping and Bundling documentation page:
- Added missing Product section explaining the concept and its role in portfolio structuring.
- Added a "Choosing the Right Concept" comparison table to help decide which grouping mechanism to use.
- Improved descriptions for all grouping concepts (Package, Consumption Bundle, Entity Type, Tags, Labels, Groups).
Commits
- 2eba138 Add missing relations with custom relationType to APIResource and EventResource (#110) (Raluca Gruber)
- 9b7fdc1 Add script for LLM notebook export (#107) (Simon Heimler)
- cc76947 Minor improvements to AGENTS.md and claude config (#106) (Simon Heimler)
- 4e324ac Mention products in grouping and bundling (#101) (Simon Heimler)
- 020556c Chore: Improve AGENTS.md, add Claude config (#103) (Simon Heimler)
- ea8827e SAP Policy Levels naming convention (#77) (Pavel Kornev)
Contributors
|
Raluca Gruber |
Pavel Kornev |
Simon Heimler |
v1.14.2
Added
- Added a
filesproperty to Packages to allow linking of arbitrary files associated with packages, such as additional documentation in PDF format. - Added new
releaseStatusvaluedevelopmentfor resources that are under active development and not yet released for consumption. - Added relationship properties to
Capabilityfor expressing relations to other ORD resources:relatedApiResources: Array ofRelatedApiResourceobjects to link capabilities to API resourcesrelatedEventResources: Array ofRelatedEventResourceobjects to link capabilities to event resourcesrelatedCapabilities: Array ofRelatedCapabilityobjects to link capabilities to other capabilities- Each relationship object includes the ORD ID of the related resource and an extensible
relationType
- Existing
relatedEntityTypesproperty onEntityTypehas been extended to includerelationTypeas well, for consistency and extensibility. - Added
CapabilityIntegrationAspectdefinition to support capability dependencies in integration aspects- Capabilities can now be referenced as integration dependencies alongside API and Event Resources
- Includes
ordIdandminVersionproperties for capability integration aspects
- Added
x-deprecated-in-versionandx-deprecation-textinformation to the exported JSON Schema
Changed
- Made
RelatedEntityType.relationTypean extensible enum that now also accepts any valid Concept ID in addition to the existing values (part-of,can-share-identity)
Commits
- 899b2d3 Release v1.14.2 (#100) (Simon Heimler)
- 832bfbb Add missing relations with custom relationType to Capability (#96) (Simon Heimler)
- 2feb93e Allow integration dependencies to also refer to capabilitites (#93) (Simon Heimler)
- 1624908 Add releaseStatus: development (#92) (Simon Heimler)
- 7780ea1 Add
filesproperty for Packages (#94) (Pavel Kornev) - 801cbb2 Do not inherit descriptions via YAML Anchor tag (#98) (Simon Heimler)
- f9aa617 Added
x-deprecated-in-versionandx-deprecation-textinformation to the exported JSON Schema (#97) (Raluca Gruber) - 31c92ec Add PR preview support (#89) (Nangiale Shir)
- e0a40e9 Fix release workflow (#91) (Pavel Kornev)
Contributors
|
Nangiale Shir |
Raluca Gruber |
Pavel Kornev |
Simon Heimler |
v1.14.1
Changed
- Clarification: ORD IDs MUST be interpreted case-insensitively when used for comparison, lookups or deduplication. This was previously left open and is now explicitly required.
- Clarification: The
typefield onApiResourceDefinitionandEventResourceDefinitionaccepts not only the predefined enum values andcustom, but also any valid Specification ID as an extension point. AllapiProtocoldescriptions that listed allowedtypevalues now consistently mention this option alongsidecustom. - Allow all media types under under
application/*andtext/*for resource definitions
What's Changed (commits)
- Extend documentation on AI Agent detail page by @Fannon in #69
- Fix json5 code block not syntax highlighting by @Fannon in #71
- Add interactive ORD Schema graph visualizer by @Fannon in #73
- Improve tools/schema-viewer: add deep linking and interactive features by @Fannon in #75
- Fix Schema explorer embed having an absolute URL by @Fannon in #76
- Improve visibility and releaseStatus documentation by @Fannon in #78
- Add ORD Model Extensions by @Fannon in #87
- Clarify allowed values for
typefield by @Fannon in #85 - Add more prominent NotebookLM link and Ask AI navbar pill by @Fannon in #83
- ORD ID is to be treated case-insensitive by @Fannon in #88
- Allow all media types under under
application/*andtext/*for resource definitions by @pavelkornev in #90
Full Changelog: v1.14.0...v1.14.1
v1.14.0
Added
- Added
Agentas a new top-level entity type in ORD- Agents provide high-level descriptions of systems that can perform tasks, make decisions, and interact with users or other systems to achieve specific business goals. This may be an AI agent or a rule-based agent.
- Agents have
exposedApiResourcesto describe their API interface, e.g. using the A2A protocol. - Agents have
integrationDependenciesto describe which external resources like APIs, MCP Servers etc. they depend on. - Added AI Agents and Protocols concept documentation
- Introduced
abstractproperty for API, Event and Data Product Resources to indicate interface-only resources. - Added
subsetproperty toApiResourceIntegrationAspectwith newApiResourceIntegrationAspectSubsetdefinition- This allows narrowing down API resource integration aspects to specific operations or tools
- The
operationIdfield can be used to specify individual API operations (e.g., OpenAPIoperationId) or tools (e.g., MCP toolname)
- Added
labelsandcorrelationIdsto group and group type.- This allows to apply extensions / references to non ORD concepts via IDs, making the group concept more extensible.
Fixed
- BREAKING FIX: make
compatibleWithan array of ORD IDs and a maximum version instead of an ORD ID value. Only this way one can correctly express compatibility with a dedicated contract versions.- We're introducing this as a fix, because the feature has not been adopted so far and we think that the information missing otherwise would make the concept unviable for real scenarios.
What's Changed
- preserve
x-ums-typeproperty in the configuration and document schema by @maiargu in #64 - Enable trusted publishing channel to NPM registry by @pavelkornev in #65
- Adding (AI) Agents as Top-Level Concept by @HelgeCD in #59
- feat(spec): add abstract property and enhance compatibleWith definition by @swennemers in #30
- Add labels and correlationIDs to group and group type by @Fannon in #36
- Add API Resource Integration Aspect Subset by @Fannon in #66
- Release ORD v1.14.0 by @Fannon in #67
New Contributors
Full Changelog: v1.13.0...v1.14.0
v1.13.0
Added
-
Added
system-typeperspective to describe static metadata that is not version dependent. -
Added optional
visibilityto API Resource Definition, Event Resource Definition and Capability Definition- By default the definitions have the same visibility as the resource they belong to
- The visibility of a resource definition MUST be lower (more restrictive) than the visibility of the resource it describes.
E.g. a public resource can declare to have some resource definitions that are internal while others are public. An internal resource can't set a resource definition to be public.
-
Added expressing hierarchical taxonomies and graph relationships for both group types and group instances
- Added
partOfGroupTypesto Group Types, allowing group types to be hierarchically organized - Added
partOfGroupsto Groups, allowing group instances to be hierarchically organized
- Added
-
Added
data-loadinganddata-loading-erroras newlifecycleStatusfor Data Products- These statuses indicate that the Data Product metadata is ready, and data loading is in progress.
Changed
- The public ORD page changed its domain name:
- $id of both Document and Configuration schemas now point to a new domain (with a proper redirect from the old location)
- breaking: increased minimum Node.js version to v22 LTS (for local development)
- breaking: fixed namespace part check from
^([a-z0-9-]+(?:[.][a-z0-9-]+)*)to^([a-z0-9]+(?:[.][a-z0-9]+)*)from multiple OrdID/CorrelationId/ConceptId/SpecificationID regular expressions
Fixed
- make AccessStrategy from ORD Configuration consistent with AccessStrategy from ORD Document (both should use
anyOffor the allowed values) - Breaking: The
minSystemVersionwas not properly validated against semver, although the version it refers to (describedSystemVersion.version) is a mandatory semver.- Fixed the regex to properly validate against Semantic Versioning 2.0.0 standard.
- Added to documentation that this is an association to
SystemVersion.version. - Introducing this as bugfix, as this property was presumed to be semver. This change just adds validation and explicit mentioning to ensure it.
- If
minSystemVersionis not a SemVer, it would be unclear how to do the version comparison anyway.
Removed
-
deleted SAP specific values from ORD Configuration:
AccessStrategyvalues:sap:oauth-client-credentials:v1,sap:cmp-mtls:v1,sap.businesshub:basic-auth:v1but any string with pattern^([a-z0-9]+(?:[.][a-z0-9]+)*):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$is allowed therefore using these values is still allowed
-
deleted SAP specific values from ORD Document:
policyLevelvalues:sap:base:v1,sap:core:v1,sap:dp:v1but any string with pattern^([a-z0-9]+(?:[.][a-z0-9]+)*):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$is allowed therefore using these values is still allowedApiResource.implementationStandardvalues:sap:ord-document-api:v1,sap:csn-exposure:v1,sap:ape-api:v1,sap:cdi-api:v1,sap:delta-sharing:v1,sap:hana-cloud-sql:v1,sap.dp:data-subscription-api:v1but any string with pattern^([a-z0-9]+(?:[.][a-z0-9]+)*):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$is allowed therefore using these values is still allowedPackage.policyLevel,ApiResource.policyLevel,EventResource.policyLevel,EntityType.policyLevel,DataProduct.policyLevelvalues:sap:base:v1,sap:core:v1,sap:dp:v1but any string with pattern^([a-z0-9]+(?:[.][a-z0-9]+)*):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$is allowed therefore using these values is still allowedAccessStrategyvalues:sap:oauth-client-credentials:v1,sap:cmp-mtls:v1,sap.businesshub:basic-auth:v1but any string with pattern^([a-z0-9]+(?:[.][a-z0-9]+)*):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$is allowed therefore using these values is still allowed
What's Changed
- fix: Incorrect REUSE syntax by @dellagustin-sap in #18
- Make public spec leading by @Fannon in #19
- fix(cleanup): delete unnecessary zip folder from repo by @maiargu in #20
- Docs: anchor stability, post-render table labels, and navbar search overlay/dropdown fixes by @nirooxx in #21
- Fix typos in ORD specification documentation by @Fannon in #23
- fix: configuration access strategy by @maiargu in #25
- Fix PR preview deployment to specification-preview repo by @nirooxx in #29
- Configure PR preview by @pavelkornev in #31
- Improve documentation clarity by @Fannon in #27
- Update favicon to SVG by @pavelkornev in #33
- Replace PR Preview token by @pavelkornev in #34
- added docusaurus tabs css by @maiargu in #35
- Fix PR Preview: Ensure PAT is used instead of GITHUB_TOKEN by @pavelkornev in #37
- Enable new domain by @pavelkornev in #41
- Replace links to use new domain by @pavelkornev in #42
- Fix links by @pavelkornev in #43
- update dependencies by @maiargu in #44
- Change domain name to open-resource-discovery.org by @pavelkornev in #45
- Change domain name to open-resource-discovery.org by @pavelkornev in #46
- Add banner to highlight website copies for PR previews by @pavelkornev in #47
- Do not check-in generated example and diagram documentation markdown by @Fannon in #50
- Feat: Fetch banner url from banner-server by @jurijat in #48
- fix: Announcement banner color by @pavelkornev in #51
- Update namespace requirements in sap-base-v1.md by @Fannon in #38
- Updated contributing guidelines by @steffengoebel in #2
- Verify generated files are up to date by @Fannon in #52
- Fix broken anchor links and move Taxonomy to bottom by @Fannon in #55
- Documentation term use consistency by @Fannon in #57
- fix: namespace regex part by @maiargu in #58
- Add banner content caching by @jurijat in #56
- Fixing documentation / language inconsistencies before release by @Fannon in #60
- Add visibility to resource / capability definitions by @Fannon in #32
- Feat: Data Loading status by @swennemers in #39
- Express hierarchical taxonomies and graph relationships for both group types and group instances by @Fannon in #54
- Ensure that minSystemVersion is a semver, as systemVersion already is by @Fannon in #53
- Add system-type perspective that is system-version independent by @Fannon in #49
- Release ORD v1.13.0 by @Fannon in #62
New Contributors
- @dellagustin-sap made their first contribution in #18
- @Fannon made their first contribution in #19
- @maiargu made their first contribution in #20
- @nirooxx made their first contribution in #21
- @pavelkornev made their first contribution in #31
- @jurijat made their first contribution in #48
- @steffengoebel made their first contribution in #2
- @swennemers made their first contribution in #39
Full Changelog: v1.12.3...v1.13.0
v1.12.3
Changed
- Breaking:
- NPM package does not export
ordDocumentSchemaWithAnnotationsandordConfigurationSchemaWithAnnotationsanymore, useordDocumentSchemaandordConfigurationSchemainstead
- NPM package does not export
- Breaking: Typescript Types renaming:
- renamed
AccessStrategyfrom Configuration schema toOrdV1DocumentAccessStrategy - renamed
ORDDocumenttoOrdDocument,ORDConfigurationtoOrdConfiguration,APIResourcetoApiResourceetc. (similar interface names are now camelCase explicit)
- renamed
v1.12.2
Added
- Added Google A2A protocol support for agent integration
- Added new
apiProtocol:a2a - Added new resource definition type:
a2a-agent-card
- Added new
v1.12.1
Added
- Added
basic-authaccess strategy for generic basic authentication- Deprecated
sap.businesshub:basic-auth:v1access strategy in favor ofbasic-auth
- Deprecated
Changed
- Added explicit max length constrain to
systemNamespace(32 chars)- This was already stated in the specification, but not enforced in the JSON Schema
v1.12.0
Added
- Introduction of
perspectivein the ORD config and ORD document interfaces- This allows to explicitly declare which perspective is described on a per ORD-Document granularity level
system-version: Describes a static view, how a type of the system looks like in a specific versionsystem-instance: Describes how the system instance actually looks like at run-time (complete description, not partial!)system-independent: Content that is independent or shared by multiple systems, e.g. global taxonomy.
- It is now allowed to describe the same ORD resource not once, but for each perspective
- This deprecates the
systemInstanceAwareflag
- This allows to explicitly declare which perspective is described on a per ORD-Document granularity level
- Added
relationTypetoEntityType.relatedEntityTypes- This allows to define the semantic relationship type between two entity types
- Allowed values are
part-ofandcan-share-identity
- Added new
releaseStatusofsunset- If a resource has been sunset, previously it was required to also remove the resource description in ORD. Now it's allowed to keep it, but with
sunsetstatus. A tombstone entry MUST be provided on top.
- If a resource has been sunset, previously it was required to also remove the resource description in ORD. Now it's allowed to keep it, but with
Changed
- Clarifications on Versioning and Lifecycle
- Deprecation of resource does not imply a planned sunset, this is only implied once a
sunsetDatehas been set. - Deprecation of resource is RECOMMENDED once a successor resource exists.
- Tombstone indicates either removal or archival of the entry for an ORD aggregator (implementation choice)
- Deprecation of resource does not imply a planned sunset, this is only implied once a
Fixed
- Consistency: The Access Strategy enum in the ORD config interface was not extensible, like it already was in the Document interface (introduced with v1.11.0)