Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pyup: Scheduled weekly dependency update for week 31 #102

Open
wants to merge 191 commits into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Aug 2, 2021

Update arrow from 0.16.0 to 1.1.1.

Changelog

1.1.1

------------------

- [NEW] Added Odia, Maltese, Serbian, Sami, and Luxembourgish locales.
- [FIXED] All calls to ``arrow.get()`` should now properly pass the ``tzinfo`` argument to the Arrow constructor. See PR `968 <https://github.com/arrow-py/arrow/pull/968/>`_ for more info.
- [FIXED] Humanize output is now properly truncated when a locale class overrides ``_format_timeframe()``.
- [CHANGED] Renamed ``requirements.txt`` to ``requirements-dev.txt`` to prevent confusion with the dependencies in ``setup.py``.
- [CHANGED] Updated Turkish locale and added tests.

1.1.0

------------------

- [NEW] Implemented the ``dehumanize`` method for ``Arrow`` objects. This takes human readable input and uses it to perform relative time shifts, for example:

.. code-block:: python

 >>> arw
 <Arrow [2021-04-26T21:06:14.256803+00:00]>
 >>> arw.dehumanize("8 hours ago")
 <Arrow [2021-04-26T13:06:14.256803+00:00]>
 >>> arw.dehumanize("in 4 days")
 <Arrow [2021-04-30T21:06:14.256803+00:00]>
 >>> arw.dehumanize("in an hour 34 minutes 10 seconds")
 <Arrow [2021-04-26T22:40:24.256803+00:00]>
 >>> arw.dehumanize("hace 2 años", locale="es")
 <Arrow [2019-04-26T21:06:14.256803+00:00]>

- [NEW] Made the start of the week adjustable when using ``span("week")``, for example:

.. code-block:: python

 >>> arw
 <Arrow [2021-04-26T21:06:14.256803+00:00]>
 >>> arw.isoweekday()
 1  Monday
 >>> arw.span("week")
 (<Arrow [2021-04-26T00:00:00+00:00]>, <Arrow [2021-05-02T23:59:59.999999+00:00]>)
 >>> arw.span("week", week_start=4)
 (<Arrow [2021-04-22T00:00:00+00:00]>, <Arrow [2021-04-28T23:59:59.999999+00:00]>)

- [NEW] Added Croatian, Latin, Latvian, Lithuanian and Malay locales.
- [FIX] Internally standardize locales and improve locale validation. Locales should now use the ISO notation of a dash (``"en-gb"``) rather than an underscore (``"en_gb"``) however this change is backward compatible.
- [FIX] Correct type checking for internal locale mapping by using ``_init_subclass``. This now allows subclassing of locales, for example:

.. code-block:: python

 >>> from arrow.locales import EnglishLocale
 >>> class Klingon(EnglishLocale):
 ...     names = ["tlh"]
 ...
 >>> from arrow import locales
 >>> locales.get_locale("tlh")
 <__main__.Klingon object at 0x7f7cd1effd30>

- [FIX] Correct type checking for ``arrow.get(2021, 3, 9)`` construction.
- [FIX] Audited all docstrings for style, typos and outdated info.

1.0.3

------------------

- [FIX] Updated internals to avoid issues when running ``mypy --strict``.
- [FIX] Corrections to Swedish locale.
- [INTERNAL] Lowered required coverage limit until ``humanize`` month tests are fixed.

1.0.2

------------------

- [FIXED] Fixed an ``OverflowError`` that could occur when running Arrow on a 32-bit OS.

1.0.1

------------------

- [FIXED] A ``py.typed`` file is now bundled with the Arrow package to conform to PEP 561.

1.0.0

------------------

After 8 years we're pleased to announce Arrow v1.0. Thanks to the entire Python community for helping make Arrow the amazing package it is today!

- [CHANGE] Arrow has **dropped support** for Python 2.7 and 3.5.
- [CHANGE] There are multiple **breaking changes** with this release, please see the `migration guide <https://github.com/arrow-py/arrow/issues/832>`_ for a complete overview.
- [CHANGE] Arrow is now following `semantic versioning <https://semver.org/>`_.
- [CHANGE] Made ``humanize`` granularity="auto" limits more accurate to reduce strange results.
- [NEW] Added support for Python 3.9.
- [NEW] Added a new keyword argument "exact" to ``span``, ``span_range`` and ``interval`` methods. This makes timespans begin at the start time given and not extend beyond the end time given, for example:

.. code-block:: python

 >>> start = Arrow(2021, 2, 5, 12, 30)
 >>> end = Arrow(2021, 2, 5, 17, 15)
 >>> for r in arrow.Arrow.span_range('hour', start, end, exact=True):
 ...     print(r)
 ...
 (<Arrow [2021-02-05T12:30:00+00:00]>, <Arrow [2021-02-05T13:29:59.999999+00:00]>)
 (<Arrow [2021-02-05T13:30:00+00:00]>, <Arrow [2021-02-05T14:29:59.999999+00:00]>)
 (<Arrow [2021-02-05T14:30:00+00:00]>, <Arrow [2021-02-05T15:29:59.999999+00:00]>)
 (<Arrow [2021-02-05T15:30:00+00:00]>, <Arrow [2021-02-05T16:29:59.999999+00:00]>)
 (<Arrow [2021-02-05T16:30:00+00:00]>, <Arrow [2021-02-05T17:14:59.999999+00:00]>)

- [NEW] Arrow now natively supports PEP 484-style type annotations.
- [FIX] Fixed handling of maximum permitted timestamp on Windows systems.
- [FIX] Corrections to French, German, Japanese and Norwegian locales.
- [INTERNAL] Raise more appropriate errors when string parsing fails to match.

0.17.0

-------------------

- [WARN] Arrow will **drop support** for Python 2.7 and 3.5 in the upcoming 1.0.0 release. This is the last major release to support Python 2.7 and Python 3.5.
- [NEW] Arrow now properly handles imaginary datetimes during DST shifts. For example:

.. code-block:: python

 >>> just_before = arrow.get(2013, 3, 31, 1, 55, tzinfo="Europe/Paris")
 >>> just_before.shift(minutes=+10)
 <Arrow [2013-03-31T03:05:00+02:00]>

.. code-block:: python

 >>> before = arrow.get("2018-03-10 23:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific")
 >>> after = arrow.get("2018-03-11 04:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific")
 >>> result=[(t, t.to("utc")) for t in arrow.Arrow.range("hour", before, after)]
 >>> for r in result:
 ...     print(r)
 ...
 (<Arrow [2018-03-10T23:00:00-08:00]>, <Arrow [2018-03-11T07:00:00+00:00]>)
 (<Arrow [2018-03-11T00:00:00-08:00]>, <Arrow [2018-03-11T08:00:00+00:00]>)
 (<Arrow [2018-03-11T01:00:00-08:00]>, <Arrow [2018-03-11T09:00:00+00:00]>)
 (<Arrow [2018-03-11T03:00:00-07:00]>, <Arrow [2018-03-11T10:00:00+00:00]>)
 (<Arrow [2018-03-11T04:00:00-07:00]>, <Arrow [2018-03-11T11:00:00+00:00]>)

- [NEW] Added ``humanize`` week granularity translation for Tagalog.
- [CHANGE] Calls to the ``timestamp`` property now emit a ``DeprecationWarning``. In a future release, ``timestamp`` will be changed to a method to align with Python's datetime module. If you would like to continue using the property, please change your code to use the ``int_timestamp`` or ``float_timestamp`` properties instead.
- [CHANGE] Expanded and improved Catalan locale.
- [FIX] Fixed a bug that caused ``Arrow.range()`` to incorrectly cut off ranges in certain scenarios when using month, quarter, or year endings.
- [FIX] Fixed a bug that caused day of week token parsing to be case sensitive.
- [INTERNAL] A number of functions were reordered in arrow.py for better organization and grouping of related methods. This change will have no impact on usage.
- [INTERNAL] A minimum tox version is now enforced for compatibility reasons. Contributors must use tox >3.18.0 going forward.
Links

Update astroid from 2.4.2 to 2.6.5.

Changelog

2.6.5

============================
Release date: 2021-07-21

* Fix a crash when there would be a 'TypeError object does not support
item assignment' in the code we parse.

Closes PyCQA/pylint4439

* Fix a crash when a AttributeInferenceError was raised when
failing to find the real name in infer_import_from.

Closes PyCQA/pylint4692

2.6.4

============================
Release date: 2021-07-19

* Fix a crash when a StopIteration was raised when inferring
a faulty function in a context manager.

Closes PyCQA/pylint4723

2.6.3

============================
Release date: 2021-07-19

* Added ``If.is_sys_guard`` and ``If.is_typing_guard`` helper methods

* Fix a bad inferenece type for yield values inside of a derived class.

Closes PyCQA/astroid1090

* Fix a crash when the node is a 'Module' in the brain builtin inference

Closes PyCQA/pylint4671

* Fix issues when inferring match variables

Closes PyCQA/pylint4685

* Fix lookup for nested non-function scopes

* Fix issue that ``TypedDict`` instance wasn't callable.

Closes PyCQA/pylint4715

* Add dependency on setuptools and a guard to prevent related exceptions.

2.6.2

============================
Release date: 2021-06-30

* Fix a crash when the inference of the length of a node failed

Closes PyCQA/pylint4633

* Fix unhandled StopIteration during inference, following the implementation
of PEP479 in python 3.7+

Closes PyCQA/pylint4631
Closes 1080

2.6.1

============================
Release date: 2021-06-29

* Fix issue with ``TypedDict`` for Python 3.9+

Closes PyCQA/pylint4610

2.6.0

============================
Release date: 2021-06-22

* Appveyor and travis are no longer used in the continuous integration

* ``setuptools_scm`` has been removed and replaced by ``tbump`` in order to not
have hidden runtime dependencies to setuptools

* ``NodeNg``, the base node class, is now accessible from ``astroid`` or
``astroid.nodes`` as it can be used for typing.

* Update enum brain to improve inference of .name and .value dynamic class
attributes

Closes PyCQA/pylint1932
Closes PyCQA/pylint2062
Closes PyCQA/pylint2306

* Removed ``Repr``, ``Exec``, and ``Print`` nodes as the ``ast`` nodes
they represented have been removed with the change to Python 3

* Deprecate ``Ellipsis`` node. It will be removed with the next minor release.
Checkers that already support Python 3.8+ work without issues. It's only
necessary to remove all references to the ``astroid.Ellipsis`` node.
This changes will make development of checkers easier as the resulting tree for Ellipsis
will no longer depend on the python version. **Background**: With Python 3.8 the
``ast.Ellipsis`` node, along with ``ast.Str``, ``ast.Bytes``, ``ast.Num``,
and ``ast.NamedConstant`` were merged into ``ast.Constant``.

* Deprecated ``Index`` and ``ExtSlice`` nodes. They will be removed with the
next minor release. Both are now part of the ``Subscript`` node.
Checkers that already support Python 3.9+ work without issues.
It's only necessary to remove all references to the ``astroid.Index`` and
``astroid.ExtSlice`` nodes. This change will make development of checkers
easier as the resulting tree for ``ast.Subscript`` nodes will no longer
depend on the python version. **Background**: With Python 3.9 ``ast.Index``
and ``ast.ExtSlice`` were merged into the ``ast.Subscript`` node.

* Updated all Match nodes to be internally consistent.

* Add ``Pattern`` base class.

2.5.8

============================
Release date: 2021-06-07

* Improve support for Pattern Matching

* Add lineno and col_offset for ``Keyword`` nodes and Python 3.9+

* Add global inference cache to speed up inference of long statement blocks

* Add a limit to the total number of nodes inferred indirectly as a result
of inferring some node

2.5.7

============================
Release date: 2021-05-09

* Fix six.with_metaclass transformation so it doesn't break user defined transformations.

* Fix detection of relative imports.
Closes 930
Closes PyCQA/pylint4186

* Fix inference of instance attributes defined in base classes

Closes 932

* Update `infer_named_tuple` brain to reject namedtuple definitions
that would raise ValueError

Closes 920

* Do not set instance attributes on builtin object()

Closes 945
Closes PyCQA/pylint4232
Closes PyCQA/pylint4221
Closes PyCQA/pylint3970
Closes PyCQA/pylint3595

* Fix some spurious cycles detected in ``context.path`` leading to more cases
that can now be inferred

Closes 926

* Add ``kind`` field to ``Const`` nodes, matching the structure of the built-in ast Const.
The kind field is "u" if the literal is a u-prefixed string, and ``None`` otherwise.

Closes 898

* Fix property inference in class contexts for properties defined on the metaclass

Closes 940

* Update enum brain to fix definition of __members__ for subclass-defined Enums

Closes PyCQA/pylint3535
Closes PyCQA/pylint4358

* Update random brain to fix a crash with inference of some sequence elements

Closes 922

* Fix inference of attributes defined in a base class that is an inner class

Closes 904

* Allow inferring a return value of None for non-abstract empty functions and
functions with no return statements (implicitly returning None)

Closes 485

* scm_setuptools has been added to the packaging.

* Astroid's tags are now the standard form ``vX.Y.Z`` and not ``astroid-X.Y.Z`` anymore.

* Add initial support for Pattern Matching in Python 3.10

2.5.6

============================
Release date: 2021-04-25

* Fix retro-compatibility issues with old version of pylint
Closes PyCQA/pylint4402

2.5.5

============================
Release date: 2021-04-24

* Fixes the discord link in the project urls of the package.
Closes PyCQA/pylint4393

2.5.4

============================
Release date: 2021-04-24

* The packaging is now done via setuptools exclusively. ``doc``, ``tests``, and ``Changelog`` are
not packaged anymore - reducing the size of the package greatly.

* Debian packaging is now  (officially) done in https://salsa.debian.org/python-team/packages/astroid.

* ``__pkginfo__`` now  only contain ``__version__`` (also accessible with ``astroid.__version__``),
other meta-information are still accessible with ``import importlib;metadata.metadata('astroid')``.

* Added inference tip for ``typing.Tuple`` alias

* Fix crash when evaluating ``typing.NamedTuple``

Closes PyCQA/pylint4383

* COPYING was removed in favor of COPYING.LESSER and the latter was renamed to LICENSE to make more apparent
that the code is licensed under LGPLv2 or later.

* Moved from appveyor and travis to Github Actions for continuous integration.

2.5.3

============================
Release date: 2021-04-10

* Takes into account the fact that subscript inferring for a ClassDef may involve __class_getitem__ method

* Reworks the ``collections`` and ``typing`` brain so that pylint`s acceptance tests are fine.

Closes PyCQA/pylint4206

* Use ``inference_tip`` for ``typing.TypedDict`` brain.

* Fix mro for classes that inherit from typing.Generic

* Add inference tip for typing.Generic and typing.Annotated with ``__class_getitem__``

Closes PyCQA/pylint2822

2.5.2

============================
Release date: 2021-03-28

* Detects `import numpy` as a valid `numpy` import.

Closes PyCQA/pylint3974

* Iterate over ``Keywords`` when using ``ClassDef.get_children``

Closes PyCQA/pylint3202

2.5.1

============================
Release date: 2021-02-28

* The ``context.path`` is reverted to a set because otherwise it leads to false positives
for non `numpy` functions.

Closes 895 899

* Don't transform dataclass ClassVars

* Improve typing.TypedDict inference

* Fix the `Duplicates found in MROs` false positive.

Closes 905
Closes PyCQA/pylint2717
Closes PyCQA/pylint3247
Closes PyCQA/pylint4093
Closes PyCQA/pylint4131
Closes PyCQA/pylint4145

2.5

============================
Release date: 2021-02-15

* Adds `attr_fset` in the `PropertyModel` class.

Fixes PyCQA/pylint3480

* Remove support for Python 3.5.
* Remove the runtime dependency on ``six``. The ``six`` brain remains in
astroid.

Fixes PyCQA/astroid863

* Enrich the ``brain_collection`` module so that ``__class_getitem__`` method is added to `deque` for
``python`` version above 3.9.

* The ``context.path`` is now a ``dict`` and the ``context.push`` method
returns ``True`` if the node has been visited a certain amount of times.

Close 669

* Adds a brain for type object so that it is possible to write `type[int]` in annotation.

Fixes PyCQA/pylint4001

* Add ``__class_getitem__`` method to ``subprocess.Popen`` brain under Python 3.9 so that it is seen as subscriptable by pylint.

Fixes PyCQA/pylint4034


* Adds `degrees`, `radians`, which are `numpy ufunc` functions, in the `numpy` brain. Adds `random` function in the `numpy.random` brain.

Fixes PyCQA/pylint3856

* Fix deprecated importlib methods

Closes 703

* Fix a crash in inference caused by `Uninferable` container elements

Close 866

* Add `python 3.9` support.

* The flat attribute of ``numpy.ndarray`` is now inferred as an ``numpy.ndarray`` itself.
It should be a ``numpy.flatiter`` instance, but this class is not yet available in the numpy brain.

Fixes PyCQA/pylint3640

* Fix a bug for dunder methods inference of function objects

Fixes 819

* Fixes a bug in the signature of the ``ndarray.__or__`` method,
in the ``brain_numpy_ndarray.py`` module.

Fixes 815

* Fixes a to-list cast bug in ``starred_assigned_stmts`` method, in the
``protocols.py`` module.

* Added a brain for ``hypothesis.strategies.composite``

* The transpose of a ``numpy.ndarray`` is also a ``numpy.ndarray``

Fixes PyCQA/pylint3387

* Added a brain for ``sqlalchemy.orm.session``

* Separate string and bytes classes patching

Fixes PyCQA/pylint3599

* Prevent recursion error for self referential length calls

Close 777

* Added missing methods to the brain for ``mechanize``, to fix pylint false positives

Close 793

* Added more supported parameters to ``subprocess.check_output``

* Fix recursion errors with pandas

Fixes PyCQA/pylint2843
Fixes PyCQA/pylint2811

* Added exception inference for `UnicodeDecodeError`

Close PyCQA/pylint3639

* `FunctionDef.is_generator` properly handles `yield` nodes in `If` tests

Close PyCQA/pylint3583

* Fixed exception-chaining error messages.

* Fix failure to infer base class type with multiple inheritance and qualified names

Fixes 843

* Fix interpretation of ``six.with_metaclass`` class definitions.

Fixes 713

* Reduce memory usage of astroid's module cache.

* Remove dependency on `imp`.

Close 594
Close 681

* Do not crash when encountering starred assignments in enums.

Close 835

* Fix a crash in functools.partial inference when the arguments cannot be determined

Close PyCQA/pylint3776

* Fix a crash caused by a lookup of a monkey-patched method

Close PyCQA/pylint3686

* ``is_generator`` correctly considers `Yield` nodes in `AugAssign` nodes

This fixes a false positive with the `assignment-from-no-return` pylint check.

Close PyCQA/pylint3904

* Corrected the parent of function type comment nodes.

These nodes used to be parented to their original ast.FunctionDef parent
but are now correctly parented to their astroid.FunctionDef parent.

Close PyCQA/astroid851
Links

Update attrs from 20.1.0 to 21.2.0.

Changelog

21.2.0

-------------------

Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- We had to revert the recursive feature for ``attr.evolve()`` because it broke some use-cases -- sorry!
`806 <https://github.com/python-attrs/attrs/issues/806>`_
- Python 3.4 is now blocked using packaging metadata because ``attrs`` can't be imported on it anymore.
To ensure that 3.4 users can keep installing  ``attrs`` easily, we will `yank <https://pypi.org/help/#yanked>`_ 21.1.0 from PyPI.
This has **no** consequences if you pin ``attrs`` to 21.1.0.
`807 <https://github.com/python-attrs/attrs/issues/807>`_


----

21.1.0

-------------------

Deprecations
^^^^^^^^^^^^

- The long-awaited, much-talked-about, little-delivered ``import attrs`` is finally upon us!

Since the NG APIs have now been proclaimed stable, the **next** release of ``attrs`` will allow you to actually ``import attrs``.
We're taking this opportunity to replace some defaults in our APIs that made sense in 2015, but don't in 2021.

So please, if you have any pet peeves about defaults in ``attrs``'s APIs, *now* is the time to air your grievances in 487!
We're not gonna get such a chance for a second time, without breaking our backward-compatibility guarantees, or long deprecation cycles.
Therefore, speak now or forever hold you peace!
`487 <https://github.com/python-attrs/attrs/issues/487>`_
- The *cmp* argument to ``attr.s()`` and `attr.ib()` has been **undeprecated**
It will continue to be supported as syntactic sugar to set *eq* and *order* in one go.

I'm terribly sorry for the hassle around this argument!
The reason we're bringing it back is it's usefulness regarding customization of equality/ordering.

The ``cmp`` attribute and argument on ``attr.Attribute`` remains deprecated and will be removed later this year.
`773 <https://github.com/python-attrs/attrs/issues/773>`_


Changes
^^^^^^^

- It's now possible to customize the behavior of ``eq`` and ``order`` by passing in a callable.
`435 <https://github.com/python-attrs/attrs/issues/435>`_,
`627 <https://github.com/python-attrs/attrs/issues/627>`_
- The instant favorite `next-generation APIs <https://www.attrs.org/en/stable/api.html#next-gen>`_ are not provisional anymore!

They are also officially supported by Mypy as of their `0.800 release <https://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html>`_.

We hope the next release will already contain an (additional) importable package called ``attrs``.
`668 <https://github.com/python-attrs/attrs/issues/668>`_,
`786 <https://github.com/python-attrs/attrs/issues/786>`_
- If an attribute defines a converter, the type of its parameter is used as type annotation for its corresponding ``__init__`` parameter.

If an ``attr.converters.pipe`` is used, the first one's is used.
`710 <https://github.com/python-attrs/attrs/issues/710>`_
- Fixed the creation of an extra slot for an ``attr.ib`` when the parent class already has a slot with the same name.
`718 <https://github.com/python-attrs/attrs/issues/718>`_
- ``__attrs__init__()`` will now be injected if ``init=False``, or if ``auto_detect=True`` and a user-defined ``__init__()`` exists.

This enables users to do "pre-init" work in their ``__init__()`` (such as ``super().__init__()``).

``__init__()`` can then delegate constructor argument processing to ``self.__attrs_init__(*args, **kwargs)``.
`731 <https://github.com/python-attrs/attrs/issues/731>`_
- ``bool(attr.NOTHING)`` is now ``False``.
`732 <https://github.com/python-attrs/attrs/issues/732>`_
- It's now possible to use ``super()`` inside of properties of slotted classes.
`747 <https://github.com/python-attrs/attrs/issues/747>`_
- Allow for a ``__attrs_pre_init__()`` method that -- if defined -- will get called at the beginning of the ``attrs``-generated ``__init__()`` method.
`750 <https://github.com/python-attrs/attrs/issues/750>`_
- Added forgotten ``attr.Attribute.evolve()`` to type stubs.
`752 <https://github.com/python-attrs/attrs/issues/752>`_
- ``attrs.evolve()`` now works recursively with nested ``attrs`` classes.
`759 <https://github.com/python-attrs/attrs/issues/759>`_
- Python 3.10 is now officially supported.
`763 <https://github.com/python-attrs/attrs/issues/763>`_
- ``attr.resolve_types()`` now takes an optional *attrib* argument to work inside a ``field_transformer``.
`774 <https://github.com/python-attrs/attrs/issues/774>`_
- ``ClassVar``\ s are now also detected if they come from `typing-extensions <https://pypi.org/project/typing-extensions/>`_.
`782 <https://github.com/python-attrs/attrs/issues/782>`_
- To make it easier to customize attribute comparison (435), we have added the ``attr.cmp_with()`` helper.

See the `new docs on comparison <https://www.attrs.org/en/stable/comparison.html>`_ for more details.
`787 <https://github.com/python-attrs/attrs/issues/787>`_
- Added **provisional** support for static typing in ``pyright`` via the `dataclass_transforms specification <https://github.com/microsoft/pyright/blob/master/specs/dataclass_transforms.md>`_.
Both the ``pyright`` specification and ``attrs`` implementation may change in future versions of both projects.

Your constructive feedback is welcome in both `attrs795 <https://github.com/python-attrs/attrs/issues/795>`_ and `pyright#1782 <https://github.com/microsoft/pyright/discussions/1782>`_.
`796 <https://github.com/python-attrs/attrs/issues/796>`_


----

20.3.0

-------------------

Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- ``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**.

This release does **not** change change anything about them and they are already used widely in production though.

If you wish to use them together with mypy, you can simply drop `this plugin <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963#file-attrs_ng_plugin-py>`_ into your project.

Feel free to provide feedback to them in the linked issue 668.

We will release the ``attrs`` namespace once we have the feeling that the APIs have properly settled.
`668 <https://github.com/python-attrs/attrs/issues/668>`_


Changes
^^^^^^^

- ``attr.s()`` now has a *field_transformer* hook that is called for all ``Attribute``\ s and returns a (modified or updated) list of ``Attribute`` instances.
``attr.asdict()`` has a *value_serializer* hook that can change the way values are converted.
Both hooks are meant to help with data (de-)serialization workflows.
`653 <https://github.com/python-attrs/attrs/issues/653>`_
- ``kw_only=True`` now works on Python 2.
`700 <https://github.com/python-attrs/attrs/issues/700>`_
- ``raise from`` now works on frozen classes on PyPy.
`703 <https://github.com/python-attrs/attrs/issues/703>`_,
`712 <https://github.com/python-attrs/attrs/issues/712>`_
- ``attr.asdict()`` and ``attr.astuple()`` now treat ``frozenset``\ s like ``set``\ s with regards to the *retain_collection_types* argument.
`704 <https://github.com/python-attrs/attrs/issues/704>`_
- The type stubs for ``attr.s()`` and ``attr.make_class()`` are not missing the *collect_by_mro* argument anymore.
`711 <https://github.com/python-attrs/attrs/issues/711>`_


----

20.2.0

-------------------

Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- ``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**.

This release fixes a bunch of bugs and ergonomics but they remain mostly unchanged.

If you wish to use them together with mypy, you can simply drop `this plugin <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963#file-attrs_ng_plugin-py>`_ into your project.

Feel free to provide feedback to them in the linked issue 668.

We will release the ``attrs`` namespace once we have the feeling that the APIs have properly settled.
`668 <https://github.com/python-attrs/attrs/issues/668>`_


Changes
^^^^^^^

- ``attr.define()`` et al now correct detect ``__eq__`` and ``__ne__``.
`671 <https://github.com/python-attrs/attrs/issues/671>`_
- ``attr.define()`` et al's hybrid behavior now also works correctly when arguments are passed.
`675 <https://github.com/python-attrs/attrs/issues/675>`_
- It's possible to define custom ``__setattr__`` methods on slotted classes again.
`681 <https://github.com/python-attrs/attrs/issues/681>`_
- In 20.1.0 we introduced the ``inherited`` attribute on the ``attr.Attribute`` class to differentiate attributes that have been inherited and those that have been defined directly on the class.

It has shown to be problematic to involve that attribute when comparing instances of ``attr.Attribute`` though, because when sub-classing, attributes from base classes are suddenly not equal to themselves in a super class.

Therefore the ``inherited`` attribute will now be ignored when hashing and comparing instances of ``attr.Attribute``.
`684 <https://github.com/python-attrs/attrs/issues/684>`_
- ``zope.interface`` is now a "soft dependency" when running the test suite; if ``zope.interface`` is not installed when running the test suite, the interface-related tests will be automatically skipped.
`685 <https://github.com/python-attrs/attrs/issues/685>`_
- The ergonomics of creating frozen classes using ``define(frozen=True)`` and sub-classing frozen classes has been improved:
you don't have to set ``on_setattr=None`` anymore.
`687 <https://github.com/python-attrs/attrs/issues/687>`_


----
Links

Update babel from 2.8.0 to 2.9.1.

Changelog

2.9.1

-------------

Bugfixes
~~~~~~~~

* The internal locale-data loading functions now validate the name of the locale file to be loaded and only
allow files within Babel's data directory.  Thank you to Chris Lyne of Tenable, Inc. for discovering the issue!

2.9.0

-------------

Upcoming version support changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* This version, Babel 2.9, is the last version of Babel to support Python 2.7, Python 3.4, and Python 3.5.

Improvements
~~~~~~~~~~~~

* CLDR: Use CLDR 37 – Aarni Koskela (734)
* Dates: Handle ZoneInfo objects in get_timezone_location, get_timezone_name - Alessio Bogon (741)
* Numbers: Add group_separator feature in number formatting - Abdullah Javed Nesar (726)

Bugfixes
~~~~~~~~

* Dates: Correct default Format().timedelta format to 'long' to mute deprecation warnings – Aarni Koskela
* Import: Simplify iteration code in "import_cldr.py" – Felix Schwarz
* Import: Stop using deprecated ElementTree methods "getchildren()" and "getiterator()" – Felix Schwarz
* Messages: Fix unicode printing error on Python 2 without TTY. – Niklas Hambüchen
* Messages: Introduce invariant that _invalid_pofile() takes unicode line. – Niklas Hambüchen
* Tests: fix tests when using Python 3.9 – Felix Schwarz
* Tests: Remove deprecated 'sudo: false' from Travis configuration – Jon Dufresne
* Tests: Support Py.test 6.x – Aarni Koskela
* Utilities: LazyProxy: Handle AttributeError in specified func – Nikiforov Konstantin (724)
* Utilities: Replace usage of parser.suite with ast.parse – Miro Hrončok

Documentation
~~~~~~~~~~~~~

* Update parse_number comments – Brad Martin (708)
* Add __iter__ to Catalog documentation – CyanNani123

2.8.1

-------------

This is solely a patch release to make running tests on Py.test 6+ possible.

Bugfixes
~~~~~~~~

* Support Py.test 6 - Aarni Koskela (747, 750, 752)
Links

Update black from 20.8b1 to 21.7b0.

Changelog

21.7b0

_Black_

- Configuration files using TOML features higher than spec v0.5.0 are now supported
(2301)
- Add primer support and test for code piped into black via STDIN (2315)
- Fix internal error when `FORCE_OPTIONAL_PARENTHESES` feature is enabled (2332)
- Accept empty stdin (2346)
- Provide a more useful error when parsing fails during AST safety checks (2304)

Docker

- Add new `latest_release` tag automation to follow latest black release on docker
images (2374)

Integrations

- The vim plugin now searches upwards from the directory containing the current buffer
instead of the current working directory for pyproject.toml. (1871)
- The vim plugin now reads the correct string normalization option in pyproject.toml
(1869)
- The vim plugin no longer crashes Black when there's boolean values in pyproject.toml
(1869)

21.6b0

_Black_

- Fix failure caused by `fmt: skip` and indentation (2281)
- Account for += assignment when deciding whether to split string (2312)
- Correct max string length calculation when there are string operators (2292)
- Fixed option usage when using the `--code` flag (2259)
- Do not call `uvloop.install()` when _Black_ is used as a library (2303)
- Added `--required-version` option to require a specific version to be running (2300)
- Fix incorrect custom breakpoint indices when string group contains fake f-strings
(2311)
- Fix regression where `R` prefixes would be lowercased for docstrings (2285)
- Fix handling of named escapes (`\N{...}`) when `--experimental-string-processing` is
used (2319)

Integrations

- The official Black action now supports choosing what version to use, and supports the
major 3 OSes. (1940)

21.5b2

_Black_

- A space is no longer inserted into empty docstrings (2249)
- Fix handling of .gitignore files containing non-ASCII characters on Windows (2229)
- Respect `.gitignore` files in all levels, not only `root/.gitignore` file (apply
`.gitignore` rules like `git` does) (2225)
- Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (2227)
- Add extra uvloop install + import support if in python env (2258)
- Fix --experimental-string-processing crash when matching parens are not found (2283)
- Make sure to split lines that start with a string operator (2286)
- Fix regular expression that black uses to identify f-expressions (2287)

_Blackd_

- Add a lower bound for the `aiohttp-cors` dependency. Only 0.4.0 or higher is
supported. (2231)

Packaging

- Release self-contained x86_64 MacOS binaries as part of the GitHub release pipeline
(2198)
- Always build binaries with the latest available Python (2260)

Documentation

- Add discussion of magic comments to FAQ page (2272)
- `--experimental-string-processing` will be enabled by default in the future (2273)
- Fix typos discovered by codespell (2228)
- Fix Vim plugin installation instructions. (2235)
- Add new Frequently Asked Questions page (2247)
- Fix encoding + symlink issues preventing proper build on Windows (2262)

21.5b1

_Black_

- Refactor `src/black/__init__.py` into many files (2206)

Documentation

- Replaced all remaining references to the
[`master`](https://github.com/psf/black/tree/main) branch with the
[`main`](https://github.com/psf/black/tree/main) branch. Some additional changes in
the source code were also made. (2210)
- Sigificantly reorganized the documentation to make much more sense. Check them out by
heading over to [the stable docs on RTD](https://black.readthedocs.io/en/stable/).
(2174)

21.5b0

_Black_

- Set `--pyi` mode if `--stdin-filename` ends in `.pyi` (2169)
- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are
being called but with no arguments (2182)

_Black-Primer_

- Add `--no-diff` to black-primer to suppress formatting changes (2187)

21.4b2

_Black_

- Fix crash if the user configuration directory is inaccessible. (2158)

- Clarify
[circumstances](https://github.com/psf/black/blob/master/docs/the_black_code_style.md#pragmatism)
in which _Black_ may change the AST (2159)

- Allow `.gitignore` rules to be overridden by specifying `exclude` in `pyproject.toml`
or on the command line. (2170)

_Packaging_

- Install `primer.json` (used by `black-primer` by default) with black. (2154)

21.4b1

_Black_

- Fix crash on docstrings ending with "\\ ". (2142)

- Fix crash when atypical whitespace is cleaned out of dostrings (2120)

- Reflect the `--skip-magic-trailing-comma` and `--experimental-string-processing` flags
in the name of the cache file. Without this fix, changes in these flags would not take
effect if the cache had already been populated. (2131)

- Don't remove necessary parentheses from assignment expression containing assert /
return statements. (2143)

_Packaging_

- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling

21.4b0

_Black_

- Fixed a rare but annoying formatting instability created by the combination of
optional trailing commas inserted by `Black` and optional parentheses looking at
pre-existing "magic" trailing commas. This fixes issue 1629 and all of its many many
duplicates. (2126)

- `Black` now processes one-line docstrings by stripping leading and trailing spaces,
and adding a padding space when needed to break up """". (1740)

- `Black` now cleans up leading non-breaking spaces in comments (2092)

- `Black` now respects `--skip-string-normalization` when normalizing multiline
docstring quotes (1637)

- `Black` no longer removes all empty lines between non-function code and decorators
when formatting typing stubs. Now `Black` enforces a single empty line. (1646)

- `Black` no longer adds an incorrect space after a parenthesized assignment expression
in if/while statements (1655)

- Added `--skip-magic-trailing-comma` / `-C` to avoid using trailing commas as a reason
to split lines (1824)

- fixed a crash when PWD=/ on POSIX (1631)

- fixed "I/O operation on closed file" when using --diff (1664)

- Prevent coloured diff output being interleaved with multiple files (1673)

- Added support for PEP 614 relaxed decorator syntax on python 3.9 (1711)

- Added parsing support for unparenthesized tuples and yield expressions in annotated
assignments (1835)

- added `--extend-exclude` argument (PR 2005)

- speed up caching by avoiding pathlib (1950)

- `--diff` correctly indicates when a file doesn't end in a newline (1662)

- Added `--stdin-filename` argument to allow stdin to respect `--force-exclude` rules
(1780)

- Lines ending with `fmt: skip` will now be not formatted (1800)

- PR 2053: Black no longer relies on typed-ast for Python 3.8 and higher

- PR 2053: Python 2 support is now optional, install with
`python3 -m pip install black[python2]` to maintain support.

- Exclude `venv` directory by default (1683)

- Fixed "Black produced code that is not equivalent to the source" when formatting
Python 2 docstrings (2037)

_Packaging_

- Self-contained native _Black_ binaries are now provided for releases via GitHub
Releases (1743)
Links

Update certifi from 2020.6.20 to 2021.5.30.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update chardet from 3.0.4 to 4.0.0.

Changelog

4.0.0

Benchmarking chardet 4.0.0 on CPython 3.7.5 (default, Sep  8 2020, 12:19:42)
[Clang 11.0.3 (clang-1103.0.32.62)]
--------------------------------------------------------------------------------
.......................................................................................................................................................................................................................................................................................................................................................................
Calls per second for each encoding:
Links

Update click from 7.1.2 to 8.0.1.

Changelog

8.0.1

-------------

Released 2021-05-19

-   Mark top-level names as exported so type checking understand imports
 in user projects. :issue:`1879`
-   Annotate ``Context.obj`` as ``Any`` so type checking allows all
 operations on the arbitrary object. :issue:`1885`
-   Fix some types that weren't available in Python 3.6.0. :issue:`1882`
-   Fix type checking for iterating over ``ProgressBar`` object.
 :issue:`1892`
-   The ``importlib_metadata`` backport package is installed on Python <
 3.8. :issue:`1889`
-   Arguments with ``nargs=-1`` only use env var value if no command
 line values are given. :issue:`1903`
-   Flag options guess their type from ``flag_value`` if given, like
 regular options do from ``default``. :issue:`1886`
-   Added documentation that custom parameter types may be passed
 already valid values in addition to strings. :issue:`1898`
-   Resolving commands returns the name that was given, not
 ``command.name``, fixing an unintended change to help text and
 ``default_map`` lookups. When using patterns like ``AliasedGroup``,
 override ``resolve_command`` to change the name that is returned if
 needed. :issue:`1895`
-   If a default value is invalid, it does not prevent showing help
 text. :issue:`1889`
-   Pass ``windows_expand_args=False`` when calling the main command to
 disable pattern expansion on Windows. There is no way to escape
 patterns in CMD, so if the program needs to pass them on as-is then
 expansion must be disabled. :issue:`1901`

8.0.0

-------------

Released 2021-05-11

-   Drop support for Python 2 and 3.5.
-   Colorama is always installed on Windows in order to provide style
 and color support. :pr:`1784`
-   Adds a repr to Command, showing the command name for friendlier
 debugging. :issue:`1267`, :pr:`1295`
-   Add support for distinguishing the source of a command line
 parameter. :issue:`1264`, :pr:`1329`
-   Add an optional parameter to ``ProgressBar.update`` to set the
 ``current_item``. :issue:`1226`, :pr:`1332`
-   ``version_option`` uses ``importlib.metadata`` (or the
 ``importlib_metadata`` backport) instead of ``pkg_resources``. The
 version is detected based on the package name, not the entry point
 name. The Python package name must match the installed package
 name, or be passed with ``package_name=``. :issue:`1582`
-   If validation fails for a prompt with ``hide_input=True``, the value
 is not shown in the error message. :issue:`1460`
-   An ``IntRange`` or ``FloatRange`` option shows the accepted range in
 its help text. :issue:`1525`, :pr:`1303`
-   ``IntRange`` and ``FloatRange`` bounds can be open (``<``) instead
 of closed (``<=``) by setting ``min_open`` and ``max_open``. Error
 messages have changed to reflect this. :issue:`1100`
-   An option defined with duplicate flag names (``"--foo/--foo"``)
 raises a ``ValueError``. :issue:`1465`
-   ``echo()`` will not fail when using pytest's ``capsys`` fixture on
 Windows. :issue:`1590`
-   Resolving commands returns the canonical command name instead of the
 matched name. This makes behavior such as help text and
 ``Context.invoked_subcommand`` consistent when using patterns like
 ``AliasedGroup``. :issue:`1422`
-   The ``BOOL`` type accepts the values "on" and "off". :issue:`1629`
-   A ``Group`` with ``invoke_without_command=True`` will always invoke
 its result callback. :issue:`1178`
-   ``nargs == -1`` and ``nargs > 1`` is parsed and validated for
 values from environment variables and defaults. :issue:`729`
-   Detect the program name when executing a module or package with
 ``python -m name``. :issue:`1603`
-   Include required parent arguments in help synopsis of subcommands.
 :issue:`1475`
-   Help for boolean flags with ``show_default=True`` shows the flag
 name instead of ``True`` or ``False``. :issue:`1538`
-   Non-string objects passed to ``style()`` and ``secho()`` will be
 converted to string. :pr:`1146`
-   ``edit(require_save=True)`` will detect saves for editors that exit
 very fast on filesystems with 1 second resolution. :pr:`1050`
-   New class attributes make it easier to use custom core objects
 throughout an entire application. :pr:`938`

 -   ``Command.context_class`` controls the context created when
     running the command.
 -   ``Context.invoke`` creates new contexts of the same type, so a
     custom type will persist to invoked subcommands.
 -   ``Context.formatter_class`` controls the formatter used to
     generate help and usage.
 -   ``Group.command_class`` changes the default type for
     subcommands with ``group.command()``.
 -   ``Group.group_class`` changes the default type for subgroups
     with ``group.group()``. Setting it to ``type`` will create
     subgroups of the same type as the group itself.
 -   Core objects use ``super()`` consistently for better support of
     subclassing.

-   Use ``Context.with_resource()`` to manage resources that would
 normally be used in a ``with`` statement, allowing them to be used
 across subcommands and callbacks, then cleaned up when the context
 ends. :pr:`1191`
-   The result object returned by the test runner's ``invoke()`` method
 has a ``return_value`` attribute with the value returned by the
 invoked command. :pr:`1312`
-   Required arguments with the ``Choice`` type show the choices in
 curly braces to indicate that one is required (``{a|b|c}``).
 :issue:`1272`
-   If only a name is passed to ``option()``, Click suggests renaming it
 to ``--name``. :pr:`1355`
-   A context's ``show_default`` parameter defaults to the value from
 the parent context. :issue:`1565`
-   ``click.style()`` can output 256 and RGB color codes. Most modern
 terminals support these codes. :pr:`1429`
-   When using ``CliRunner.invoke()``, the replaced ``stdin`` file has
 ``name`` and ``mode`` attributes. This lets ``File`` options with
 the ``-`` value match non-testing behavior. :issue:`1064`
-   When creating a ``Group``, allow passing a list of commands instead
 of a dict. :issue:`1339`
-   When a long option name isn't valid, use ``difflib`` to make better
 suggestions for possible corrections. :issue:`1446`
-   Core objects have a ``to_info_dict()`` method. This gathers
 information about the object's structure that could be useful for a
 tool generating user-facing documentation. To get the structure of
 an entire CLI, use ``Context(cli).to_info_dict()``. :issue:`461`
-   Redesign the shell completion system. :issue:`1484`, :pr:`1622`

 -   Support Bash >= 4.4, Zsh, and Fish, with the ability for
     extensions to add support for other shells.
 -   Allow commands, groups, parameters, and types to override their
     completions suggestions.
 -   Groups complete the names commands were registered with, which
     can differ from the name they were created with.
 -   The ``autocompletion`` parameter for options and arguments is
     renamed to ``shell_complete``. The function must take
     ``ctx, param, incomplete``, must do matching rather than return
     all values, and must return a list of strings or a list of
     ``CompletionItem``. The old name and behavior is deprecated and
     will be removed in 8.1.
 -   The env var values used to start completion have changed order.
     The shell now comes first, such as ``{shell}_source`` rather
     than ``source_{shell}``, and is always required.

-   Completion correctly parses command line strings with incomplete
 quoting or escape sequences. :issue:`1708`
-   Extra context settings (``obj=...``, etc.) are passed on to the
 completion system. :issue:`942`
-   Include ``--help`` option in completion. :pr:`1504`
-   ``ParameterSource`` is an ``enum.Enum`` subclass. :issue:`1530`
-   Boolean and UUID types strip surrounding space before converting.
 :issue:`1605`
-   Adjusted error message from parameter type validation to be more
 consistent. Quotes are used to distinguish the invalid value.
 :issue:`1605`
-   The default value for a parameter with ``nargs`` > 1 and
 ``multiple=True`` must be a list of tuples. :issue:`1649`
-   When getting the value for a parameter, the default is tried in the
 same section as other sources to ensure consistent processing.
 :issue:`1649`
-   All parameter types accept a value that is already the correct type.
 :issue:`1649`
-   For shell completion, an argument is considered incomplete if its
 value did not come from the command line args. :issue:`1649`
-   Added ``ParameterSource.PROMPT`` to track parameter values that were
 prompted for. :issue:`1649`
-   Options with ``nargs`` > 1 no longer raise an error if a default is
 not given. Parameters with ``nargs`` > 1 default to ``None``, and
 parameters with ``multiple=True`` or ``nargs=-1`` default to an
 empty tuple. :issue:`472`
-   Handle empty env vars as though the option were not passed. This
 extends the change introduced in 7.1 to be consistent in more cases.
 :issue:`1285`
-   ``Parameter.get_default()`` checks ``Context.default_map`` to
 handle overrides consistently in help text, ``invoke()``, and
 prompts. :issue:`1548`
-   Add ``prompt_required`` param to ``Option``. When set to ``False``,
 the user will only be prompted for an input if no value was passed.
 :issue:`736`
-   Providing the value to an option can be made optional through
 ``is_flag=False``, and the value can instead be prompted for or
 passed in as a default value.
 :issue:`549, 736, 764, 921, 1015, 1618`
-   Fix formatting when ``Command.options_metavar`` is empty. :pr:`1551`
-   Revert adding space between option help text that wraps.
 :issue:`1831`
-   The default value passed to ``prompt`` will be cast to the correct
 type like an input value would be. :pr:`1517`
-   Automatically generated short help messages will stop at the first
 ending of a phrase or double linebreak. :issue:`1082`
-   Skip progress bar render steps for efficiency with very fast
 iterators by setting ``update_min_steps``. :issue:`676`
-   Respect ``case_sensitive=False`` when doing shell completion for
 ``Choice`` :issue:`1692`
-   Use ``mkstemp()`` instead of ``mktemp()`` in pager implementation.
 :issue:`1752`
-   If ``Option.show_default`` is a string, it is displayed even if
 ``default`` is ``None``. :issue:`1732`
-   ``click.get_terminal_size()`` is deprecated and will be removed in
 8.1. Use :func:`shutil.get_terminal_size` instead. :issue:`1736`
-   Control the location of the temporary directory created by
 ``CLIRunner.isolated_filesystem`` by passing ``temp_dir``. A custom
 directory will not be removed automatically. :issue:`395`
-   ``click.confirm()`` will prompt until input is given if called with
 ``default=None``. :issue:`1381`
-   Option prompts validate the value with the option's callback in
 addition to its type. :issue:`457`
-   ``confirmation_prompt`` can be set to a custom string. :issue:`723`
-   Allow styled output in Jupyter on Windows. :issue:`1271`
-   ``style()`` supports the ``strikethrough``, ``italic``, and
 ``overline`` styles. :issue:`805, 1821`
-   Multiline marker is removed from short help text. :issue:`1597`
-   Restore progress bar behavior of echoing only the label if the file
 is not a TTY. :issue:`1138`
-   Progress bar output is shown even if execution time is less than 0.5
 seconds. :issue:`1648`
-   Progress bar ``item_show_func`` shows the current item, not the
 previous item. :issue:`1353`
-   The ``Path`` param type can be passed ``path_type=pathlib.Path`` to
 return a path object instead of a string. :issue:`405`
-   ``TypeError`` is raised when parameter with ``multiple=True`` or
 ``nargs > 1`` has non-iterable default. :issue:`1749`
-   Add a ``pass_meta_key`` decorator for passing a key from
 ``Context.meta``. This is useful for extensions using ``meta`` to
 store information. :issue:`1739`
-   ``Path`` ``resolve_path`` resolves symlinks on Windows Python < 3.8.
 :issue:`1813`
-   Command deprecation notice appears at the start of the help text, as
 well as in the short help. The notice is not in all caps.
 :issue:`1791`
-   When taking arguments from ``sys.argv`` on Windows, glob patterns,
 user dir, and env vars are expanded. :issue:`1096`
-   Marked messages shown by the CLI with ``gettext()`` to allow
 applications to translate Click's built-in strings. :issue:`303`
-   Writing invalid characters  to ``stderr`` when using the test runner
 does not raise a ``UnicodeEncodeError``. :issue:`848`
-   Fix an issue where ``readline`` would clear the entire ``prompt()``
 line instead of only the input when pressing backspace. :issue:`665`
-   Add all kwargs passed to ``Context.invoke()`` to ``ctx.params``.
 Fixes an inconsistency when nesting ``Context.forward()`` calls.
 :issue:`1568`
-   The ``MultiCommand.resultcallback`` decorator is renamed to
 ``result_callback``. The old name is deprecated. :issue:`1160`
-   Fix issues with ``CliRunner`` output when using ``echo_stdin=True``.
 :issue:`1101`
-   Fix a bug of ``click.utils.make_default_short_help`` for which the
 returned string could be as long as ``max_width + 3``. :issue:`1849`
-   When defining a parameter, ``default`` is validated with
 ``multiple`` and ``nargs``. More validation is done for values being
 processed as well. :issue:`1806`
-   ``HelpFormatter.write_text`` uses the full line width when wrapping
 text. :issue:`1871`
Links

Update cookiecutter from 1.7.2 to 1.7.3.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update coverage from 5.2.1 to 5.5.

Changelog

5.5

--------------------------

- ``coverage combine`` has a new option, ``--keep`` to keep the original data
files after combining them.  The default is still to delete the files after
they have been combined.  This was requested in `issue 1108`_ and implemented
in `pull request 1110`_.  Thanks, Éric Larivière.

- When reporting missing branches in ``coverage report``, branches aren't
reported that jump to missing lines.  This adds to the long-standing behavior
of not reporting branches from missing lines.  Now branches are only reported
if both the source and destination lines are executed.  Closes both `issue
1065`_ and `issue 955`_.

- Minor improvements to the HTML report:

- The state of the line visibility selector buttons is saved in local storage
 so you don't have to fiddle with them so often, fixing `issue 1123`_.

- It has a little more room for line numbers so that 4-digit numbers work
 well, fixing `issue 1124`_.

- Improved the error message when combining line and branch data, so that users
will be more likely to understand what's happening, closing `issue 803`_.

.. _issue 803: https://github.com/nedbat/coveragepy/issues/803
.. _issue 955: https://github.com/nedbat/coveragepy/issues/955
.. _issue 1065: https://github.com/nedbat/coveragepy/issues/1065
.. _issue 1108: https://github.com/nedbat/coveragepy/issues/1108
.. _pull request 1110: https://github.com/nedbat/coveragepy/pull/1110
.. _issue 1123: https://github.com/nedbat/coveragepy/issues/1123
.. _issue 1124: https://github.com/nedbat/coveragepy/issues/1124


.. _changes_54:

5.4

--------------------------

- The text report produced by ``coverage report`` now always outputs a TOTAL
line, even if only one Python file is reported.  This makes regex parsing
of the output easier.  Thanks, Judson Neer.  This had been requested a number
of times (`issue 1086`_, `issue 922`_, `issue 732`_).

- The ``skip_covered`` and ``skip_empty`` settings in the configuration file
can now be specified in the ``[html]`` section, so that text reports and HTML
reports can use separate settings.  The HTML report will still use the
``[report]`` settings if there isn't a value in the ``[html]`` section.
Closes `issue 1090`_.

- Combining files on Windows across drives now works properly, fixing `issue
577`_.  Thanks, `Valentin Lab <pr1080_>`_.

- Fix an obscure warning from deep in the _decimal module, as reported in
`issue 1084`_.

- Update to support Python 3.10 alphas in progress, including `PEP 626: Precise
line numbers for debugging and other tools <pep626_>`_.

.. _issue 577: https://github.com/nedbat/coveragepy/issues/577
.. _issue 732: https://github.com/nedbat/coveragepy/issues/732
.. _issue 922: https://github.com/nedbat/coveragepy/issues/922
.. _issue 1084: https://github.com/nedbat/coveragepy/issues/1084
.. _issue 1086: https://github.com/nedbat/coveragepy/issues/1086
.. _issue 1090: https://github.com/nedbat/coveragepy/issues/1090
.. _pr1080: https://github.com/nedbat/coveragepy/pull/1080
.. _pep626: https://www.python.org/dev/peps/pep-0626/


.. _changes_531:

5.3.1

----------------------------

- When using ``--source`` on a large source tree, v5.x was slower than previous
versions.  This performance regression is now fixed, closing `issue 1037`_.

- Mysterious SQLite errors can happen on PyPy, as reported in `issue 1010`_. An
immediate retry seems to fix the problem, although it is an unsatisfying
solution.

- The HTML report now saves the sort order in a more widely supported way,
fixing `issue 986`_.  Thanks, Sebastián Ramírez (`pull request 1066`_).

- The HTML report pages now have a :ref:`Sleepy Snake <sleepy>` favicon.

- Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37).

- Continuous integration has moved from Travis and AppVeyor to GitHub Actions.

.. _issue 986: https://github.com/nedbat/coveragepy/issues/986
.. _issue 1037: https://github.com/nedbat/coveragepy/issues/1037
.. _issue 1010: https://github.com/nedbat/coveragepy/issues/1010
.. _pull request 1066: https://github.com/nedbat/coveragepy/pull/1066

.. _changes_53:

5.3

--------------------------

- The ``source`` setting has always been interpreted as either a file path or a
module, depending on which existed.  If both interpretations were valid, it
was assumed to be a file path.  The new ``source_pkgs`` setting can be used
to name a package to disambiguate this case.  Thanks, Thomas Grainger. Fixes
`issue 268`_.

- If a plugin was disabled due to an exception, we used to still try to record
its information, causing an exception, as reported in `issue 1011`_.  This is
now fixed.

.. _issue 268: https://github.com/nedbat/coveragepy/issues/268
.. _issue 1011: https://github.com/nedbat/coveragepy/issues/1011


.. _changes_521:
Links

Update distlib from 0.3.1 to 0.3.2.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update doc8 from 0.8.1 to 0.9.0.

Changelog

0.9.0

Major Changes

* Remove chardet based input encoding detection (46) zgoda
* Remove support for py27 and py35 (45) ssbarnea

Minor Changes

* add support for reading doc8 config from pyproject.toml file (49) swaldhoer
* Add support for py38 (44) ssbarnea
* Add support for py39 (61) ssbarnea
* Turn off pre-commit's automated multiprocessing (38) peterjc
* Improve readme (36) stephenfin

Bugfixes

* Add pyproject.toml support to README (56) kasium
* Ignoring several labels for "code-block" directive. (51) sdelliot
* Handling of Windows (and legacy Mac) line endings (47) MarkusPiotrowski
* Accept the :substitutions: option on code-block directives in Sphinx (34) ntolia

Kudos goes to: MarkusPiotrowski, kasium, ntolia, peterjc, sbellem, sdelliot, ssbarnea, stephenfin, swaldhoer and zgoda
Links

Update docutils from 0.16 to 0.17.1.

Changelog

0.17.1

===========================

0.17.1b.dev

* Bug fixes (for details see the Docutils `HISTORY`_).

0.17

=========================

* Numerous bug fixes and improvements
(for details see the Docutils `HISTORY`_).

* Installing with ``setup.py`` now requires setuptools_.
Alternatively, install with pip_.

* The generic command line front end tool docutils-cli.py_ allows
the free selection of reader, parser, and writer components.

* Support Arabic language.

* New, **experimental** wrapper to integrate the `recommonmark`__
Markdown parser for use with Docutils.
Currently only tested with recommonmark version 0.4.0.

__ https://pypi.org/project/recommonmark/

* HTML5 writer:

- New option embed_images_.

- Use semantic tags (for details see the Docutils `HISTORY`_).

- Change the `initial_header_level`_ setting's default to "2", as browsers
 use the `same style for <h1> and <h2> when nested in a section`__.

- New optional style ``responsive.css``, adapts to different screen
 sizes.

- Move non-essential styling from ``minimal.css`` to ``plain.css``
 rsp. ``responsive.css``.

- Show code line numbers as pseudo-elements so they are skipped when
 copying the code block from the page.

.. _initial_header_level: docs/user/config.htmlinitial-header-level
__ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article
.. _embed_images: docs/user/config.htmlembed-images

* LaTeX writer:

- New configuration setting `legacy_class_functions`_.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant