From 668c9e49c7718c31136199511196065a1312cdb3 Mon Sep 17 00:00:00 2001 From: Eric Cornelissen Date: Thu, 30 Sep 2021 09:33:44 +0200 Subject: [PATCH] Create VERSIONING.md (#6023) * Create VERSIONING.md * Include VERSIONING.md in NPM package * Add note on deprecation timelines to VERSIONING.md * Be explicit about what "support for old major versions" means Co-authored-by: Peter Noble --- .npmignore | 1 + CONTRIBUTING.md | 12 ------------ VERSIONING.md | 26 ++++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 VERSIONING.md diff --git a/.npmignore b/.npmignore index c267f88e0ff8..6570921b272c 100644 --- a/.npmignore +++ b/.npmignore @@ -7,4 +7,5 @@ !DISCLAIMER.md !README.md !LICENSE.md +!VERSIONING.md !index.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5d328b6fedc1..904537d0b5e0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -387,15 +387,3 @@ Then, start a Docker container for simple-icons and attach to it: ```shell docker run -it --rm --entrypoint "/bin/ash" simple-icons ``` - ---- - -# Versioning - -We use [Semantic Versioning](https://semver.org/) in this project. Given a version number `MAJOR.MINOR.PATCH` you can expect the following kinds of changes: - -| Version number | Kinds of changes | -| :---- | :---- | -| _Major_ | Removed icons; Renamed icons; Breaking API changes | -| _Minor_ | New icons; API changes | -| _Patch_ | Updated SVGs; Updated metadata | diff --git a/VERSIONING.md b/VERSIONING.md new file mode 100644 index 000000000000..98d9a1291363 --- /dev/null +++ b/VERSIONING.md @@ -0,0 +1,26 @@ +# Versioning + +We use [Semantic Versioning](https://semver.org/) to version Simple Icons. In short, this means that version numbers are structured as `MAJOR.MINOR.PATCH`. For example, version `3.1.4` is major version `3`, minor version `1`, and patch `4`. Increasing each of these numbers implies certain kinds of changes. + +For Simple Icons, given a change to the version number you can expect the following kinds of changes: + +| Version number increase | Kinds of changes | +| :---- | :---- | +| _Major_ | Removed icons; Renamed icons; Breaking API changes | +| _Minor_ | New icons; API changes | +| _Patch_ | Updated SVGs; Updated metadata | + +## Release Schedule + +_Minor_ releases and _patches_ are scheduled on a weekly basis and are generally released on a Sunday. + +_Major_ releases are scheduled on a half-year basis, mainly to remove old SVGs. That is, approximately every 6 months a normal Sunday release is a _major_ release instead of a _minor_ release or _patch_. + +## Deprecation + +For approximately 3 months after a _major_ release, the _major_ release preceding it will be supported. After 3 months, the previous _major_ release is deprecated and will no longer be supported. + +Support of a _major_ version entails the following: + +- SVGs and metadata of brands will be updated on request. This excludes brands that were removed in the new _major_ release. +- Bugs in the npm library will be updated if reported.