Skip to content

Commit

Permalink
Create VERSIONING.md (simple-icons#6023)
Browse files Browse the repository at this point in the history
* 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 <[email protected]>
  • Loading branch information
ericcornelissen and PeterShaggyNoble authored Sep 30, 2021
1 parent d86cbfa commit 668c9e4
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 12 deletions.
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@
!DISCLAIMER.md
!README.md
!LICENSE.md
!VERSIONING.md
!index.js
12 changes: 0 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
26 changes: 26 additions & 0 deletions VERSIONING.md
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit 668c9e4

Please sign in to comment.