Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: centralize version and version-range #322

Merged

Conversation

jkowalleck
Copy link
Member

@jkowalleck jkowalleck commented Oct 15, 2023

goal: improve documentation by consolidating elements regarding "version".
pure refactoring, no new functionality was added, nor removed, nor changed.

  • consolidate version
  • consolidate range
  • rename range definition to version-range
  • add more examples
  • review rendered documentation

@jkowalleck jkowalleck added this to the 1.6 milestone Oct 15, 2023
@jkowalleck jkowalleck requested a review from a team as a code owner October 15, 2023 08:20
">=2.2.0|!= 2.2.1|<2.3.0"
]
},
"range": {
Copy link
Member Author

@jkowalleck jkowalleck Oct 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the name was too broad. Therefore, it needed to be renamed to version-range

BUT range was an existing definition, which may have been used/referenced in JSON schemas downstream, by organizations that build super/subsets of our schema. (like @siemens did this in the past.)
Therefore, we cannot simply remove/rename it.

SO it stayed as is, but is marked as deprecated and "inherits" from the new definition.

@jkowalleck jkowalleck marked this pull request as draft October 15, 2023 08:58
@jkowalleck jkowalleck force-pushed the refactor/versions-streamlined branch from 50c245b to 1edf19a Compare October 15, 2023 09:06
@jkowalleck jkowalleck marked this pull request as ready for review October 15, 2023 09:09
@jkowalleck jkowalleck force-pushed the refactor/versions-streamlined branch from 1edf19a to 5c2a788 Compare October 15, 2023 11:10
@jkowalleck jkowalleck marked this pull request as draft October 15, 2023 11:13
@jkowalleck jkowalleck force-pushed the refactor/versions-streamlined branch from 5c2a788 to e83c89b Compare October 15, 2023 11:18
@jkowalleck jkowalleck marked this pull request as ready for review October 15, 2023 11:24
schema/bom-1.6.schema.json Outdated Show resolved Hide resolved
schema/bom-1.6.xsd Outdated Show resolved Hide resolved
@jkowalleck jkowalleck force-pushed the refactor/versions-streamlined branch from e83c89b to c5d669b Compare October 19, 2023 07:53
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
@jkowalleck jkowalleck force-pushed the refactor/versions-streamlined branch from c5d669b to 92ae29e Compare October 19, 2023 07:57
@jkowalleck
Copy link
Member Author

@stevespringett thank you for the review. you are right, and I adjusted to the naming convention.

@stevespringett stevespringett merged commit a8d1c65 into CycloneDX:1.6-dev Oct 21, 2023
5 checks passed
@jkowalleck jkowalleck mentioned this pull request Oct 22, 2023
stevespringett added a commit that referenced this pull request Apr 9, 2024
## Added

* Core enhancement: Attestation
([#192](#192) via
[#348](#348))
* Core enhancement: Cryptography Bill of Materials — CBOM
([#171](#171),
[#291](#291) via
[#347](#347))
* Feature to express the URL to source distribution
([#98](#98) via
[#269](#269))
* Feature to express the URL to RFC 9116 compliant documents
([#380](#380) via
[#381](#381))
* Feature to express tags/keywords for services and components (via
[#383](#383))
* Feature to express details for component authors
([#335](#335) via
[#379](#379))
* Feature to express details for component and BOM manufacturer
([#346](#346) via
[#379](#379))
* Feature to express communicate concluded values from observed
evidences ([#411](#411)
via [#412](#412))
* Features to express license acknowledgement
([#407](#407) via
[#408](#408))
* Feature to express environmental consideration information for model
cards ([#396](#396) via
[#395](#395))
* Feature to express the address of organizational entities (via
[#395](#395))
* Feature to express additional component identifiers: Universal Bill Of
Receipts Identifier and Software Heritage persistent IDs
([#413](#413) via
[#414](#414))

## Fixed

* Allow multiple evidence identities by XML/JSON schema
([#272](#272) via
[#359](#359))
  This was already correct via ProtoBuff schema.
* Prevent empty `license` entities by XML schema
([#288](#288) via
[#292](#292))
  This was already correct in JSON/ProtoBuff schema.
* Prevent empty or malformed `property` entities by JSON schema
([#371](#371) via
[#375](#375))
  This was already correct in XML/ProtoBuff schema.
* Allow multiple `licenses` in `Metadata` by ProtoBuff schema
([#264](#264) via
[#401](#401))
  This was already correct in XML/JSON schema.

## Changed

* Allow arbitrary `$schema` values by JSON schema
([#402](#402) via
[#403](#403))
* Increased max length of `versionRange` (via
[`3e01ce6`](3e01ce6))
* Harmonized length of `version` (via
[#417](#417))

## Deprecated

* Data model "Component"'s field `author` was deprecated. (via
[#379](#379))
  Use field `authors` or field `manufacturer` instead.
* Data model "Metadata"'s field `manufacture` was deprecated.
([#346](#346) via
[#379](#379))
  Use "Metadata"'s field `component`'s field `manufacturer` instead. 
  - for XML: `/bom/metadata/component/manufacturer`
  - for JSON: `$.metadata.component.manufacturer`
  - for ProtoBuf: `Bom:metadata.component.manufacturer`

## Documentation

* Centralize version and version-range (via
[#322](#322))
* Streamlined SPDX expression related descriptions (via
[#327](#327))
* Enhanced descriptions of `bom-ref`/`refType`
([#336](#336) via
[#344](#344))
* Enhanced readability of enum documentation in JSON schema
([#361](#361) via
[#362](#362))
* Fixed typo "compliment" -> "complement" (via
[#369](#369))
* Added documentation for enum "ComponentScope"'s values in JSON schema
([#293](#293) via
[`d92e58e`](d92e58e))
  Texts were a taken from the existing ones in XML/ProtoBuff schema.
* Added documentation for enum "TaskType"'s values
([#245](#245) via
[#377](#377))
* Improve documentation for data model "Metadata"'s field `licenses`
([#273](#273) via
[#378](#378))
* Added documentation for enum "MachineLearningApproachType"'s values
([#351](#351) via
[#416](#416))
* Rephrased some texts here and there.

## Test data

* Added test data for newly added use cases
* Added quality assurance for our ProtoBuf schemas
([#384](#384) via
[#385](#385))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants