Skip to content

Releases: open-resource-discovery/specification

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)

v1.11.1

24 Jun 14:25
df6a32c

Choose a tag to compare

Added

  • Added MCP as standardized API Resource apiProtocol option: mcp
    • There is not yet an official standardized resource definition type yet unfortunately
  • Added openapi-v3.1+ as new API Resource Definition type
    • This is a new resource definition type as 3.1 is not backward compatible with 3.0. All upcoming 3.x versions will be backward compatible with 3.1, so they share the 3.1+ definition type.
  • Added new standardized enum values for industry and lineOfBusiness

Changed

  • Fixed regex for customImplementationStandard and customType to avoid versions with leadings zeroes:
    • :v00001 - not allowed
    • :v0 - allowed
    • :v1 - allowed

Full Changelog: v1.11.0...v1.11.1

v1.11.0

28 May 15:44
5995602

Choose a tag to compare

Added

  • Added simplified exposedEntityTypes to API and event resource, in favor of now deprecated entityTypeMappings
  • Added optional ORD Provider API ?select parameter to reduce result set of ORD aggregation run
    • Support of the select subset of the select parameter is indicated through ORD Config capabilities.select.

Changed

  • Deprecated entityTypeMappings in favor of simplified exposedEntityTypes
  • Changed most enums to be "extensible" by default, usually by allowing strings, following a Spec ID regexp pattern
    • This will lead to less need to update the validator and could deprecate custom types
  • Changed the structure of the ORD page
    • Details section removed, merged content either into spec itself (concepts) or new help area
    • Moved FAQ into help, some detail article became FAQ articles

v1.10.1

29 Apr 10:09
4fb25a9

Choose a tag to compare

Added

  • Added partOfProducts to Data Product, to be consistent with API, Event Resource etc.
    • This allows an individual data product to add product assignments independent of the package they are part of.

Changed

  • Updated ORD Logo and relevant images / diagrams
  • Renamed "ORD Document API" to "ORD Provider API"
  • Renamed "ORD Service" to "ORD Discovery API"

Full Changelog: v1.10.0...1.10.1