Skip to content

Commit

Permalink
Docs(web): Add link to list with all deprecations
Browse files Browse the repository at this point in the history
refs #DS-1215
  • Loading branch information
literat committed Nov 28, 2024
1 parent 2c12a12 commit f3934c6
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 12 deletions.
19 changes: 9 additions & 10 deletions docs/decisions/010-deprecations.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@ Status: proposed

## Context

Starting the development of our design system from scratch, we have been using version 0 for a long time.
As [SEMVER suggests][semver-zero-version], we want to communicate to our users that the design system is at an early stage and any feature is not considered stable.
However, from the time our users started to use the design system and test it, they wanted the components they would not change under the hands.
They want to API to be more stable and predictable.
Starting the development of our design system from scratch, we had been using version 0 for a long time.
As [SEMVER suggests][semver-zero-version], we wanted to communicate to our users that the design system was at an early stage and any feature was not considered stable.
However, from the time our users started to use the design system and tested it, they wanted the components that would not change under the hands.
They wanted the API to be more stable and predictable.

Starting the first production usage of the design system, we had to stabilize the API and find another way how to customize and further develop our components.
But without breaking the existing API.
Starting the first production usage of the design system, we had to stabilize the API and find another way how to further improve and develop our components, but without breaking the existing API.

So, we began with the research on how other libraries are solving this problem.
In various libraries like ESLint or [Twig][twig-deprecated] we have found the concept of deprecations.
Expand All @@ -38,9 +37,9 @@ We will implement the following deprecation strategy:
We will mark any feature that will be considered as a breaking change as deprecated.
We will maintain DEPRECATIONS-v\*.md files for each major version documenting all deprecations.
We will include a deprecation notice in the commit message as well as in the release notes.
We will provide [migration guides][migration-guides] for each deprecation.
We will provide a [migration guides][migration-guides] for each deprecation.
There will be a "Deprecations" section in each package README.md file pointing to the deprecations list.
When there will be a deprecation notice in the component's README file it will be pointing to the related deprecation notice in deprecations list.
When there will be a deprecation notice in the component's README file it will be pointing to the related deprecation notice in the deprecations list mentioned above.
Developers will have clear visibility of deprecated features during development.
Production builds won't be impacted by deprecation warnings.
Migration to new versions will be easier with clear upgrade paths.
Expand All @@ -50,8 +49,8 @@ Additional maintenance effort is required to keep deprecation documentation up t
### Breaking Changes without Deprecation

When delivering a new Major version, deprecating some features may not be possible or there will be a very short period to adapt.
In such cases, the breaking changes can be introduced without deprecation as a standard part of the Major version upgrade.
We consider there is a no less than 1 month period between the release of the deprecation notice and the release of the new Major version.
In such cases, the breaking changes can be introduced without deprecation as a standard part of the major version upgrade.
We consider there is a no less than 1 month period between the release of the deprecation notice and the release of the new major version.
When the gap is longer, we should deprecate the feature first.

[migration-guides]: https://github.com/lmc-eu/spirit-design-system/blob/main/docs/migrations/README.md
Expand Down
2 changes: 1 addition & 1 deletion packages/web-react/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ Check your browser console to see if you are using any of the deprecated functio

![Deprecations in the Browser's console](https://github.com/lmc-eu/spirit-design-system/blob/main/static/deprecations-browser-console.png?raw=true)

πŸ‘‰ [See a DEPRECATIONS file][all-deprecations] for a list of all deprecations.
πŸ‘‰ [See the DEPRECATIONS file][all-deprecations] for the list of all deprecations.

### Warnings in environments

Expand Down
6 changes: 5 additions & 1 deletion packages/web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ Check your browser console to see if you are using any of the deprecated functio

![Deprecations in the Browser's console][deprecations]

πŸ‘‰ [See a DEPRECATIONS file][all-deprecations] for a list of all deprecations.

## Feature Flags

πŸ‘€ See [Feature Flags documentation][feature-flags-docs] for how to use them.
Expand All @@ -257,11 +259,13 @@ Check your browser console to see if you are using any of the deprecated functio

See the [LICENSE][license] file for information.

[all-deprecations]: https://github.com/lmc-eu/spirit-design-system/tree/main/packages/web/DEPRECATIONS.md
[configuring-load-path]: https://github.com/lmc-eu/spirit-design-system/tree/main/packages/design-tokens#configuring-load-path
[deprecations]: https://github.com/lmc-eu/spirit-design-system/blob/main/static/deprecations-browser-console.png?raw=true
[design-tokens-usage]: https://github.com/lmc-eu/spirit-design-system/tree/main/packages/design-tokens#basic-usage
[design-tokens-load-path]: https://github.com/lmc-eu/spirit-design-system/tree/main/packages/design-tokens#in-sass
[design-tokens-color-tokens]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/design-tokens/src/scss/themes/_color-tokens.scss
[design-tokens-rebranding]: https://github.com/lmc-eu/spirit-design-system/tree/main/packages/design-tokens#rebranding-spirit
[deprecations]: https://github.com/lmc-eu/spirit-design-system/blob/main/static/deprecations-browser-console.png?raw=true
[examples]: https://spirit-design-system.netlify.app/packages/web/
[feature-flags-docs]: https://github.com/lmc-eu/spirit-design-system/blob/main/docs/contribution/feature-flags.md
[license]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web/LICENSE.md
Expand Down

0 comments on commit f3934c6

Please sign in to comment.