Skip to content

Releases: open-resource-discovery/specification

v1.14.4

28 Apr 08:31
67074a7

Choose a tag to compare

Changed

  • Added recommendation to use Concept IDs as labels keys to indicate ownership and avoid naming conflicts. The labels key 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-type perspective data takes precedence; if unavailable, the aggregator SHOULD derive it from the latest system-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 deprecated releaseStatus 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
Raluca Gruber
Simon Heimler
Simon Heimler

v1.14.3

02 Apr 13:50
2eba138

Choose a tag to compare

Added

  • Added relationship property to ApiResource for expressing relations to other ORD resources:

    • relatedApiResources: Array of RelatedApiResource objects to link API resources to API resources
    • relatedEventResources: Array of RelatedEventResource objects to link API resources to event resources
  • Added relationship property to EventResource for expressing relations to other ORD resources:

    • relatedEventResources: Array of RelatedEventResource objects to link event resources to event resources
    • relatedApiResources: Array of RelatedApiResource objects 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
Raluca Gruber
Pavel Kornev
Pavel Kornev
Simon Heimler
Simon Heimler

v1.14.2

27 Mar 16:14
899b2d3

Choose a tag to compare

Added

  • Added a files property to Packages to allow linking of arbitrary files associated with packages, such as additional documentation in PDF format.
  • Added new releaseStatus value development for resources that are under active development and not yet released for consumption.
  • Added relationship properties to Capability for expressing relations to other ORD resources:
    • relatedApiResources: Array of RelatedApiResource objects to link capabilities to API resources
    • relatedEventResources: Array of RelatedEventResource objects to link capabilities to event resources
    • relatedCapabilities: Array of RelatedCapability objects to link capabilities to other capabilities
    • Each relationship object includes the ORD ID of the related resource and an extensible relationType
  • Existing relatedEntityTypes property on EntityType has been extended to include relationType as well, for consistency and extensibility.
  • Added CapabilityIntegrationAspect definition to support capability dependencies in integration aspects
    • Capabilities can now be referenced as integration dependencies alongside API and Event Resources
    • Includes ordId and minVersion properties for capability integration aspects
  • Added x-deprecated-in-version and x-deprecation-text information to the exported JSON Schema

Changed

  • Made RelatedEntityType.relationType an 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 files property for Packages (#94) (Pavel Kornev)
  • 801cbb2 Do not inherit descriptions via YAML Anchor tag (#98) (Simon Heimler)
  • f9aa617 Added x-deprecated-in-version and x-deprecation-text information 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
Nangiale Shir
Raluca Gruber
Raluca Gruber
Pavel Kornev
Pavel Kornev
Simon Heimler
Simon Heimler

v1.14.1

19 Mar 09:43
44311fa

Choose a tag to compare

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 type field on ApiResourceDefinition and EventResourceDefinition accepts not only the predefined enum values and custom, but also any valid Specification ID as an extension point. All apiProtocol descriptions that listed allowed type values now consistently mention this option alongside custom.
  • Allow all media types under under application/* and text/* 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 type field 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/* and text/* for resource definitions by @pavelkornev in #90

Full Changelog: v1.14.0...v1.14.1

v1.14.0

22 Jan 11:49
1c2c0d8

Choose a tag to compare

Added

  • Added Agent as 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 exposedApiResources to describe their API interface, e.g. using the A2A protocol.
    • Agents have integrationDependencies to describe which external resources like APIs, MCP Servers etc. they depend on.
    • Added AI Agents and Protocols concept documentation
  • Introduced abstract property for API, Event and Data Product Resources to indicate interface-only resources.
  • Added subset property to ApiResourceIntegrationAspect with new ApiResourceIntegrationAspectSubset definition
    • This allows narrowing down API resource integration aspects to specific operations or tools
    • The operationId field can be used to specify individual API operations (e.g., OpenAPI operationId) or tools (e.g., MCP tool name)
  • Added labels and correlationIds to 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 compatibleWith an 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-type property 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

19 Dec 15:22
7b7801f

Choose a tag to compare

Added

  • Added system-type perspective to describe static metadata that is not version dependent.

  • Added optional visibility to 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 partOfGroupTypes to Group Types, allowing group types to be hierarchically organized
    • Added partOfGroups to Groups, allowing group instances to be hierarchically organized
  • Added data-loading and data-loading-error as new lifecycleStatus for 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 anyOf for the allowed values)
  • Breaking: The minSystemVersion was 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 minSystemVersion is not a SemVer, it would be unclear how to do the version comparison anyway.

Removed

  • deleted SAP specific values from ORD Configuration:

    • AccessStrategy values: sap:oauth-client-credentials:v1, sap:cmp-mtls:v1, sap.businesshub:basic-auth:v1 but 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:

    • policyLevel values: sap:base:v1, sap:core:v1, sap:dp:v1 but 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
    • ApiResource.implementationStandard values: 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:v1 but 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
    • Package.policyLevel, ApiResource.policyLevel, EventResource.policyLevel, EntityType.policyLevel, DataProduct.policyLevel values: sap:base:v1, sap:core:v1, sap:dp:v1 but 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
    • AccessStrategy values: sap:oauth-client-credentials:v1, sap:cmp-mtls:v1, sap.businesshub:basic-auth:v1 but 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

Full Changelog: v1.12.3...v1.13.0

v1.12.3

06 Oct 09:23

Choose a tag to compare

Changed

  • Breaking:
    • NPM package does not export ordDocumentSchemaWithAnnotations and ordConfigurationSchemaWithAnnotations anymore, use ordDocumentSchema and ordConfigurationSchema instead
  • Breaking: Typescript Types renaming:
    • renamed AccessStrategy from Configuration schema to OrdV1DocumentAccessStrategy
    • renamed ORDDocument to OrdDocument, ORDConfiguration to OrdConfiguration, APIResource to ApiResource etc. (similar interface names are now camelCase explicit)

v1.12.2

18 Sep 14:26
afb2fc6

Choose a tag to compare

Added

  • Added Google A2A protocol support for agent integration
    • Added new apiProtocol: a2a
    • Added new resource definition type: a2a-agent-card

v1.12.1

09 Sep 07:28
726744f

Choose a tag to compare

Added

  • Added basic-auth access strategy for generic basic authentication
    • Deprecated sap.businesshub:basic-auth:v1 access strategy in favor of basic-auth

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

03 Jul 08:42
2fdd78c

Choose a tag to compare

Added

  • Introduction of perspective in 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 version
      • system-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 systemInstanceAware flag
  • Added relationType to EntityType.relatedEntityTypes
    • This allows to define the semantic relationship type between two entity types
    • Allowed values are part-of and can-share-identity
  • Added new releaseStatus of sunset
    • 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 sunset status. A tombstone entry MUST be provided on top.

Changed

  • Clarifications on Versioning and Lifecycle
    • Deprecation of resource does not imply a planned sunset, this is only implied once a sunsetDate has 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)

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)