Skip to content

Releases: open-resource-discovery/specification

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

v1.10.0

24 Mar 20:48

Choose a tag to compare

Added

  • Added minSystemVersion to API and event resources, data products and capabilities
  • Added describedSystemVersion and describedSystemType to the ORD Document root
    • This completes the simplified ORD system landscape model, so it can be described within ORD (in case aggregator doesn't have the landscape model already)
  • Added compatibleWith to API / event resources
    • This allows to point to another ORD ID that defines the contract that the API / event resources are compatible with
    • Typical case is that the API contract is defined by an external party, e.g. as a Service Provider Interface
    • There is some overlap with implementationStandard, which in the future should be less used / considered for deprecation (in case of Events)
  • Added explicit constraints of 36 characters length for namespaces, 32 for system / authority namespaces
    • So far we only documented the constraints in the SAP namespace registry, we add them now in the public spec to be transparent on current constraints. If they prove to be a problem, making them more liberal will be a follow-up discussion. However, without explicit constraints, no consumer can rely on particular limits.
  • Added sap.dp:data-subscription-api:v1 as implementationStandard choice

Changed

  • Renamed the term system installation to system deployment and updated some definition terms for more clarity.
    • This has no impact on the ORD interface, just on the documentation.

Full Changelog: v1.9.11...v1.10.0