Releases: open-resource-discovery/specification
Releases · open-resource-discovery/specification
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)
v1.11.1
Added
- Added MCP as standardized API Resource
apiProtocoloption: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.
- 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
- Added new standardized enum values for
industryandlineOfBusiness
Changed
- Fixed regex for
customImplementationStandardandcustomTypeto avoid versions with leadings zeroes::v00001- not allowed:v0- allowed:v1- allowed
Full Changelog: v1.11.0...v1.11.1
v1.11.0
Added
- Added simplified
exposedEntityTypesto API and event resource, in favor of now deprecatedentityTypeMappings - Added optional ORD Provider API
?selectparameter to reduce result set of ORD aggregation run- Support of the select subset of the select parameter is indicated through ORD Config
capabilities.select.
- Support of the select subset of the select parameter is indicated through ORD Config
Changed
- Deprecated
entityTypeMappingsin favor of simplifiedexposedEntityTypes - 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
customtypes
- This will lead to less need to update the validator and could deprecate
- 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
Added
- Added
partOfProductsto 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
Added
- Added
minSystemVersionto API and event resources, data products and capabilities - Added
describedSystemVersionanddescribedSystemTypeto 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
compatibleWithto 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:v1asimplementationStandardchoice
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