Skip to content

Commit

Permalink
Introduce a backwards comp policy (#474)
Browse files Browse the repository at this point in the history
* Introduce a backwards comp policy

* Tweak doc some more
  • Loading branch information
Tinche authored Dec 26, 2023
1 parent 9792a43 commit 2e91f22
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 3 deletions.
20 changes: 17 additions & 3 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
## Security contact information
# Security Policy

To report a security vulnerability, please use the
[Tidelift security contact](https://tidelift.com/security).

## Versioning and Backwards Compatibility

_cattrs_ follows [*CalVer*](https://calver.org) and we only support the latest PyPI version, due to limited resources.
We aim to support all Python versions that are not end-of-life; older versions will be dropped to ease the maintenance burden.

Our goal is to never undertake major breaking changes (the kinds that would necessitate a v2 if we were following SemVer).
Minor breaking changes may be undertaken to improve the developer experience and robustness of the library.
All breaking changes are prominently called out in the changelog, alongside any customization steps that may be used to restore previous behavior, when applicable.

APIs may be marked as provisional.
These are not guaranteed to be stable and may change or be removed without prior notice.

## Security Contact Information

To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security).
Tidelift will coordinate the fix and disclosure.
8 changes: 8 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,18 @@
```{currentmodule} cattrs
```

This project adheres to [Calendar Versioning](https://calver.org/).
The first number of the version is the year.
The second number is incremented with each release, starting at 1 for each year.
The third number is for emergencies when we need to start branches for older releases.

Our backwards-compatibility policy can be found [here](https://github.com/python-attrs/cattrs/blob/main/.github/SECURITY.md).

## 24.1.0 (UNRELEASED)

- **Potentially breaking**: Unstructuring hooks for `typing.Any` are consistent now: values are unstructured using their runtime type.
Previously this behavior was underspecified and inconsistent, but followed this rule in the majority of cases.
Reverting old behavior is very dependent on the actual case; ask on the issue tracker if in doubt.
([#473](https://github.com/python-attrs/cattrs/pull/473))
- Introduce {meth}`BaseConverter.get_structure_hook` and {meth}`BaseConverter.get_unstructure_hook` methods.
([#432](https://github.com/python-attrs/cattrs/issues/432) [#472](https://github.com/python-attrs/cattrs/pull/472))
Expand Down

0 comments on commit 2e91f22

Please sign in to comment.