Release notes
*Sourced from [attrs's releases](https://github.com/python-attrs/attrs/releases).*
> ## 19.2.0
> See .
>
> ## 19.1.0
> See .
>
> ## 18.2.0
> See .
>
> ## 18.1.0
> See .
>
> ## 17.4.0
> See .
>
> ## Docs only
> See .
>
> ## Minor typo in docs
> No code changes, no new distributions.
Changelog
*Sourced from [attrs's changelog](https://github.com/python-attrs/attrs/blob/master/CHANGELOG.rst).*
> 19.2.0 (2019-10-01)
> ===================
>
> Backward-incompatible Changes
> -----------------------------
>
> - Removed deprecated `Attribute` attribute `convert` per scheduled removal on 2019/1. This planned deprecation is tracked in issue [\#307](https://github-redirect.dependabot.com/python-attrs/attrs/issues/307). [\#504](https://github-redirect.dependabot.com/python-attrs/attrs/issues/504)
> - `__lt__`, `__le__`, `__gt__`, and `__ge__` do not consider subclasses comparable anymore.
>
> This has been deprecated since 18.2.0 and was raising a `DeprecationWarning` for over a year. [\#570](https://github-redirect.dependabot.com/python-attrs/attrs/issues/570)
>
> Deprecations
> ------------
>
> - The `cmp` argument to `attr.s()` and `attr.ib()` is now deprecated.
>
> Please use `eq` to add equality methods (`__eq__` and `__ne__`) and `order` to add ordering methods (`__lt__`, `__le__`, `__gt__`, and `__ge__`) instead – just like with [dataclasses](https://docs.python.org/3/library/dataclasses.html).
>
> Both are effectively `True` by default but it's enough to set `eq=False` to disable both at once. Passing `eq=False, order=True` explicitly will raise a `ValueError` though.
>
> Since this is arguably a deeper backward-compatibility break, it will have an extended deprecation period until 2021-06-01. After that day, the `cmp` argument will be removed.
>
> `attr.Attribute` also isn't orderable anymore. [\#574](https://github-redirect.dependabot.com/python-attrs/attrs/issues/574)
>
> Changes
> -------
>
> - Updated `attr.validators.__all__` to include new validators added in [\#425](). [\#517](https://github-redirect.dependabot.com/python-attrs/attrs/issues/517)
> - Slotted classes now use a pure Python mechanism to rewrite the `__class__` cell when rebuilding the class, so `super()` works even on environments where `ctypes` is not installed. [\#522](https://github-redirect.dependabot.com/python-attrs/attrs/issues/522)
> - When collecting attributes using `@attr.s(auto_attribs=True)`, attributes with a default of `None` are now deleted too. [\#523](https://github-redirect.dependabot.com/python-attrs/attrs/issues/523), [\#556](https://github-redirect.dependabot.com/python-attrs/attrs/issues/556)
> - Fixed `attr.validators.deep_iterable()` and `attr.validators.deep_mapping()` type stubs. [\#533](https://github-redirect.dependabot.com/python-attrs/attrs/issues/533)
> - `attr.validators.is_callable()` validator now raises an exception `attr.exceptions.NotCallableError`, a subclass of `TypeError`, informing the received value. [\#536](https://github-redirect.dependabot.com/python-attrs/attrs/issues/536)
> - `@attr.s(auto_exc=True)` now generates classes that are hashable by ID, as the documentation always claimed it would. [\#543](https://github-redirect.dependabot.com/python-attrs/attrs/issues/543), [\#563](https://github-redirect.dependabot.com/python-attrs/attrs/issues/563)
> - Added `attr.validators.matches_re()` that checks string attributes whether they match a regular expression. [\#552](https://github-redirect.dependabot.com/python-attrs/attrs/issues/552)
> - Keyword-only attributes (`kw_only=True`) and attributes that are excluded from the `attrs`'s `__init__` (`init=False`) now can appear before mandatory attributes. [\#559](https://github-redirect.dependabot.com/python-attrs/attrs/issues/559)
> - The fake filename for generated methods is now more stable. It won't change when you restart the process. [\#560](https://github-redirect.dependabot.com/python-attrs/attrs/issues/560)
> - The value passed to `@attr.ib(repr=…)` can now be either a boolean (as before) or a callable. That callable must return a string and is then used for formatting the attribute by the generated `__repr__()` method. [\#568](https://github-redirect.dependabot.com/python-attrs/attrs/issues/568)
> - Added `attr.__version_info__` that can be used to reliably check the version of `attrs` and write forward- and backward-compatible code. Please check out the [section on deprecated APIs](http://www.attrs.org/en/stable/api.html#deprecated-apis) on how to use it. [\#580](https://github-redirect.dependabot.com/python-attrs/attrs/issues/580)
>
> ------------------------------------------------------------------------
>
> 19.1.0 (2019-03-03)
> ===================
>
> Backward-incompatible Changes
> -----------------------------
>
> - Fixed a bug where deserialized objects with `cache_hash=True` could have incorrect hash code values. This change breaks classes with `cache_hash=True` when a custom `__setstate__` is present. An exception will be thrown when applying the `attrs` annotation to such a class. This limitation is tracked in issue [\#494](https://github-redirect.dependabot.com/python-attrs/attrs/issues/494). [\#482](https://github-redirect.dependabot.com/python-attrs/attrs/issues/482)
>
> Changes
> ... (truncated)
Commits
- [`7fcd616`](https://github.com/python-attrs/attrs/commit/7fcd616aabb4067b07a5bded22bc578d35f9e14d) Complete suffix handling coverage
- [`8a98469`](https://github.com/python-attrs/attrs/commit/8a984696162513763220822701a7e7d723732f78) fix changelog
- [`9e15786`](https://github.com/python-attrs/attrs/commit/9e157869679face1058f497412b047d845cb1bd7) Merge branch 'version-info'
- [`5283230`](https://github.com/python-attrs/attrs/commit/528323040f429e725ce35250af1c0ff51b632dac) Prepare 19.2.0
- [`955d622`](https://github.com/python-attrs/attrs/commit/955d622493795b4d14cd950f0da2c90bc1e3006a) Add attr.__version_info__ ([#580](https://github-redirect.dependabot.com/python-attrs/attrs/issues/580))
- [`735b3be`](https://github.com/python-attrs/attrs/commit/735b3bef489d105d86536e4fab2c916a256bd506) drop the ing
- [`568aa33`](https://github.com/python-attrs/attrs/commit/568aa33d56ab2c8e8b3408decc159995bea3869c) Handle PY2 better in comparability test
- [`c1681f7`](https://github.com/python-attrs/attrs/commit/c1681f7b498c93ea6554fe66176abfd419f603ed) Merge branch 'master' into version-info
- [`754fae0`](https://github.com/python-attrs/attrs/commit/754fae0699e52dc7d05819c1a3f4c4749e804e4c) Clarify that unannotated attributes are ignored too
- [`0614510`](https://github.com/python-attrs/attrs/commit/0614510159e55446d34d07e16898001429f20c74) Merge branch 'master' into version-info
- Additional commits viewable in [compare view](https://github.com/python-attrs/attrs/compare/16.3.0...19.2.0)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps attrs from 16.3.0 to 19.2.0.
Release notes
*Sourced from [attrs's releases](https://github.com/python-attrs/attrs/releases).* > ## 19.2.0 > SeeChangelog
*Sourced from [attrs's changelog](https://github.com/python-attrs/attrs/blob/master/CHANGELOG.rst).* > 19.2.0 (2019-10-01) > =================== > > Backward-incompatible Changes > ----------------------------- > > - Removed deprecated `Attribute` attribute `convert` per scheduled removal on 2019/1. This planned deprecation is tracked in issue [\#307](https://github-redirect.dependabot.com/python-attrs/attrs/issues/307). [\#504](https://github-redirect.dependabot.com/python-attrs/attrs/issues/504) > - `__lt__`, `__le__`, `__gt__`, and `__ge__` do not consider subclasses comparable anymore. > > This has been deprecated since 18.2.0 and was raising a `DeprecationWarning` for over a year. [\#570](https://github-redirect.dependabot.com/python-attrs/attrs/issues/570) > > Deprecations > ------------ > > - The `cmp` argument to `attr.s()` and `attr.ib()` is now deprecated. > > Please use `eq` to add equality methods (`__eq__` and `__ne__`) and `order` to add ordering methods (`__lt__`, `__le__`, `__gt__`, and `__ge__`) instead – just like with [dataclasses](https://docs.python.org/3/library/dataclasses.html). > > Both are effectively `True` by default but it's enough to set `eq=False` to disable both at once. Passing `eq=False, order=True` explicitly will raise a `ValueError` though. > > Since this is arguably a deeper backward-compatibility break, it will have an extended deprecation period until 2021-06-01. After that day, the `cmp` argument will be removed. > > `attr.Attribute` also isn't orderable anymore. [\#574](https://github-redirect.dependabot.com/python-attrs/attrs/issues/574) > > Changes > ------- > > - Updated `attr.validators.__all__` to include new validators added in [\#425](). [\#517](https://github-redirect.dependabot.com/python-attrs/attrs/issues/517) > - Slotted classes now use a pure Python mechanism to rewrite the `__class__` cell when rebuilding the class, so `super()` works even on environments where `ctypes` is not installed. [\#522](https://github-redirect.dependabot.com/python-attrs/attrs/issues/522) > - When collecting attributes using `@attr.s(auto_attribs=True)`, attributes with a default of `None` are now deleted too. [\#523](https://github-redirect.dependabot.com/python-attrs/attrs/issues/523), [\#556](https://github-redirect.dependabot.com/python-attrs/attrs/issues/556) > - Fixed `attr.validators.deep_iterable()` and `attr.validators.deep_mapping()` type stubs. [\#533](https://github-redirect.dependabot.com/python-attrs/attrs/issues/533) > - `attr.validators.is_callable()` validator now raises an exception `attr.exceptions.NotCallableError`, a subclass of `TypeError`, informing the received value. [\#536](https://github-redirect.dependabot.com/python-attrs/attrs/issues/536) > - `@attr.s(auto_exc=True)` now generates classes that are hashable by ID, as the documentation always claimed it would. [\#543](https://github-redirect.dependabot.com/python-attrs/attrs/issues/543), [\#563](https://github-redirect.dependabot.com/python-attrs/attrs/issues/563) > - Added `attr.validators.matches_re()` that checks string attributes whether they match a regular expression. [\#552](https://github-redirect.dependabot.com/python-attrs/attrs/issues/552) > - Keyword-only attributes (`kw_only=True`) and attributes that are excluded from the `attrs`'s `__init__` (`init=False`) now can appear before mandatory attributes. [\#559](https://github-redirect.dependabot.com/python-attrs/attrs/issues/559) > - The fake filename for generated methods is now more stable. It won't change when you restart the process. [\#560](https://github-redirect.dependabot.com/python-attrs/attrs/issues/560) > - The value passed to `@attr.ib(repr=…)` can now be either a boolean (as before) or a callable. That callable must return a string and is then used for formatting the attribute by the generated `__repr__()` method. [\#568](https://github-redirect.dependabot.com/python-attrs/attrs/issues/568) > - Added `attr.__version_info__` that can be used to reliably check the version of `attrs` and write forward- and backward-compatible code. Please check out the [section on deprecated APIs](http://www.attrs.org/en/stable/api.html#deprecated-apis) on how to use it. [\#580](https://github-redirect.dependabot.com/python-attrs/attrs/issues/580) > > ------------------------------------------------------------------------ > > 19.1.0 (2019-03-03) > =================== > > Backward-incompatible Changes > ----------------------------- > > - Fixed a bug where deserialized objects with `cache_hash=True` could have incorrect hash code values. This change breaks classes with `cache_hash=True` when a custom `__setstate__` is present. An exception will be thrown when applying the `attrs` annotation to such a class. This limitation is tracked in issue [\#494](https://github-redirect.dependabot.com/python-attrs/attrs/issues/494). [\#482](https://github-redirect.dependabot.com/python-attrs/attrs/issues/482) > > Changes > ... (truncated)Commits
- [`7fcd616`](https://github.com/python-attrs/attrs/commit/7fcd616aabb4067b07a5bded22bc578d35f9e14d) Complete suffix handling coverage - [`8a98469`](https://github.com/python-attrs/attrs/commit/8a984696162513763220822701a7e7d723732f78) fix changelog - [`9e15786`](https://github.com/python-attrs/attrs/commit/9e157869679face1058f497412b047d845cb1bd7) Merge branch 'version-info' - [`5283230`](https://github.com/python-attrs/attrs/commit/528323040f429e725ce35250af1c0ff51b632dac) Prepare 19.2.0 - [`955d622`](https://github.com/python-attrs/attrs/commit/955d622493795b4d14cd950f0da2c90bc1e3006a) Add attr.__version_info__ ([#580](https://github-redirect.dependabot.com/python-attrs/attrs/issues/580)) - [`735b3be`](https://github.com/python-attrs/attrs/commit/735b3bef489d105d86536e4fab2c916a256bd506) drop the ing - [`568aa33`](https://github.com/python-attrs/attrs/commit/568aa33d56ab2c8e8b3408decc159995bea3869c) Handle PY2 better in comparability test - [`c1681f7`](https://github.com/python-attrs/attrs/commit/c1681f7b498c93ea6554fe66176abfd419f603ed) Merge branch 'master' into version-info - [`754fae0`](https://github.com/python-attrs/attrs/commit/754fae0699e52dc7d05819c1a3f4c4749e804e4c) Clarify that unannotated attributes are ignored too - [`0614510`](https://github.com/python-attrs/attrs/commit/0614510159e55446d34d07e16898001429f20c74) Merge branch 'master' into version-info - Additional commits viewable in [compare view](https://github.com/python-attrs/attrs/compare/16.3.0...19.2.0)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)