Comments (6)
Just repeating my comment from during the Architecture DWG meeting: the original proposal presented at the meeting does not follow the semantic versioning principles as specified on https://semver.org/.
From https://semver.org/#summary:
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
See especially https://semver.org/#spec-item-9:
A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes. Pre-release versions have a lower precedence than the associated normal version. A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version. Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92, 1.0.0-x-y-z.–.
Note, see also https://semver.org/#spec-item-10:
Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata MUST be ignored when determining version precedence. Thus two versions that differ only in the build metadata, have the same precedence. Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85, 1.0.0+21AF26D3—-117B344092BD.
So you could e.g. have release and pre-release versions: 1.0.0-draft.1, 1.0.0-draft.2, 1.0.0-draft.3, 1.0.0, 1.0.1.draft.1, 1.0.1, 1.1.0.
The Git commit number would be a form of build metadata (e.g. 1.0.0-draft.1+79c1702).
from architecture-dwg.
This is a general issue, not restricted to "OpenAPI definition documents".
from architecture-dwg.
The issue was discussed during the 2021-09-13 Architecture DWG session.
Some of the proposed solutions included:
- Adding a fourth digit to semantic versioning. MAJOR.MINOR.PATCH.DRAFT-IN-PROGRESS for example 0.9.1.2
- Using Git commit numbers e.g. 79c1702d63c7f848da4e56e0b8976f93230452d5
- A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. [...] Examples: 1.0.0-alpha, 1.0.0-alpha.1
from architecture-dwg.
OGC API Features is using the 3rd approach, pre-release drafts are tagged as {x}.{y}.{z}-draft.{n}
with {x}.{y}.{z}
being the OGC version and {n}
the pre-release number, starting with 1
for the first draft and increasing for each subsequent draft.
from architecture-dwg.
from architecture-dwg.
To close this Issue, I note that the {x}.{y}.{z}-draft.{n}
approach appears to have been the most favoured during the 2021-09-13 Architecture DWG session.
I have now listed it on a wiki page I am building that lists 'Recommended Practices for OGC API SWGs'.
from architecture-dwg.
Related Issues (20)
- Upload initial version of the JSON Best Practice document
- Consider Testbed 14 OGC 18-091r2: Application Schemas and JSON Technologies ER
- Consider SHACL for validating JSON-LD
- Add consideration to JSON Pointer and JSON Path
- Incorporate JSON-LD 1.1
- Define the scope of the document
- Minor editorial naming
- Delegation of the development of Extensions (OGC API parts) to different OGC API SWGs HOT 3
- Need for an OGC DWG on Feature Encodings?
- provide consistent guidance on JSON/YAML schemas
- Conformance class URIs during development HOT 1
- crs-compound: Support compound CRS including ISO-8601/Gregorian HOT 16
- How to address Geospatial content. Requirements for Geopatial content HOT 1
- Update the location of ISO/TC211 xsd files in the OGC Schemas repository HOT 6
- Establish draft policy for OGC Building Blocks
- Recommending an expression/transformation type for JSON-LD
- Take into account ELFIE json-ld experiences HOT 1
- Consider role of JSON-LD context HOT 1
- Feedback to JSON-LD standard HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from architecture-dwg.