dash-fda icon indicating copy to clipboard operation
dash-fda copied to clipboard

Scheduled weekly dependency update for week 26

Open pyup-bot opened this issue 4 years ago • 0 comments

Update astroid from 2.0.1 to 2.4.2.

Changelog

2.4.2

============================
Release Date: TBA

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

Close PyCQA/pylint3519

* Properly construct the arguments of infered property descriptors

Close PyCQA/pylint3648

2.4.1

============================
Release Date: 2020-05-05

* Handle the case where the raw builder fails to retrieve the ``__all__`` attribute

Close 772

* Restructure the AST parsing heuristic to always pick the same module

Close PyCQA/pylint3540
Close 773

* Changed setup.py to work with [distlib](https://pypi.org/project/distlib)

Close 779

* Do not crash with SyntaxError when parsing namedtuples with invalid label

Close PyCQA/pylint3549

* Protect against ``infer_call_result`` failing with `InferenceError` in `Super.getattr()`

Close PyCQA/pylint3529

2.4.0

============================
Release Date: 2020-04-27

* Expose a ast_from_string method in AstroidManager, which will accept
source code as a string and return the corresponding astroid object

Closes PyCQA/astroid725

* ``BoundMethod.implicit_parameters`` returns a proper value for ``__new__``

Close PyCQA/pylint2335

* Allow slots added dynamically to a class to still be inferred

Close PyCQA/pylint2334

* Allow `FunctionDef.getattr` to look into both instance attrs and special attributes

Close PyCQA/pylint1078

* Infer qualified ``classmethod`` as a classmethod.

Close PyCQA/pylint3417

* Prevent a recursion error to happen when inferring the declared metaclass of a class

Close 749

* Raise ``AttributeInferenceError`` when ``getattr()`` receives an empty name

Close PyCQA/pylint2991

* Prevent a recursion error for self reference variables and `type()` calls.

Close 199

* Do not infer the first argument of a staticmethod in a metaclass as the class itself

Close PyCQA/pylint3032

* ``NodeNG.bool_value()`` gained an optional ``context`` parameter

We need to pass an inference context downstream when inferring the boolean
value of a node in order to prevent recursion errors and double inference.

This fix prevents a recursion error with dask library.

Close PyCQA/pylint2985

* Pass a context argument to ``astroid.Arguments`` to prevent recursion errors

Close PyCQA/pylint3414

* Better inference of class and static methods decorated with custom methods

Close PyCQA/pylint3209

* Reverse the order of decorators for `infer_subscript`

`path_wrapper` needs to come first, followed by `raise_if_nothing_inferred`,
otherwise we won't handle `StopIteration` correctly.

Close 762

* Prevent a recursion error when inferring self-referential variables without definition

Close PyCQA/pylint1285

* Numpy `datetime64.astype` return value is inferred as a `ndarray`.

Close PyCQA/pylint3332

* Skip non ``Assign`` and ``AnnAssign`` nodes from enum reinterpretation

Closes PyCQA/pylint3365

* Numpy ``ndarray`` attributes ``imag`` and ``real`` are now inferred as ``ndarray``.

Close PyCQA/pylint3322

* Added a call to ``register_transform`` for all functions of the ``brain_numpy_core_multiarray``
module in case the current node is an instance of ``astroid.Name``

Close 666

* Use the parent of the node when inferring aug assign nodes instead of the statement

Close PyCQA/pylint2911
Close PyCQA/pylint3214

* Added some functions to the ``brain_numpy_core_umath`` module

Close PyCQA/pylint3319

* Added some functions of the ``numpy.core.multiarray`` module

Close PyCQA/pylint3208

* All the ``numpy ufunc`` functions derived now from a common class that
implements the specific ``reduce``, ``accumulate``, ``reduceat``,
	``outer`` and ``at`` methods.

Close PyCQA/pylint2885

* ``nodes.Const.itered`` returns a list of ``Const`` nodes, not strings

Close PyCQA/pylint3306

* The ``shape`` attribute of a ``numpy ndarray`` is now a ``ndarray``

Close PyCQA/pylint3139

* Don't ignore special methods when inspecting gi classes

Close 728

* Added transform for ``scipy.gaussian``

* Add suport for inferring properties.

* Added a brain for ``responses``

* Allow inferring positional only arguments.

* Retry parsing a module that has invalid type comments

It is possible for a module to use comments that might be interpreted
as type comments by the `ast` library. We do not want to completely crash on those
invalid type comments.

Close 708

* Scope the inference to the current bound node when inferring instances of classes

When inferring instances of classes from arguments, such as ``self``
in a bound method, we could use as a hint the context's ``boundnode``,
which indicates the instance from which the inference originated.
As an example, a subclass that uses a parent's method which returns
``self``, will override the ``self`` to point to it instead of pointing
to the parent class.

Close PyCQA/pylint3157

* Add support for inferring exception instances in all contexts

We were able to infer exception instances as ``ExceptionInstance``
only for a handful of cases, but not all. ``ExceptionInstance`` has
support for better inference of `.args` and other exception related
attributes that normal instances do not have.
This additional support should remove certain false positives related
to ``.args`` and other exception attributes in ``pylint``.

Close PyCQA/pylint2333

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

Close 722

* Infer args unpacking of ``self``

Certain stdlib modules use ``*args`` to encapsulate
the ``self`` parameter, which results in uninferable
instances given we rely on the presence of the ``self``
argument to figure out the instance where we should be
setting attributes.

Close PyCQA/pylint3216

* Clean up setup.py

Make pytest-runner a requirement only if running tests, similar to what was
done with McCabe.

Clean up the setup.py file, resolving a handful of minor warnings with it.

* Handle StopIteration error in infer_int.

Close PyCQA/pylint3274

* Can access per argument type comments for positional only and keyword only arguments.

The comments are accessed through through the new
``Arguments.type_comment_posonlyargs`` and
``Arguments.type_comment_kwonlyargs`` attributes respectively.

* Relax upper bound on `wrapt`

Close 755

* Properly analyze CFFI compiled extensions.

2.3.2

============================
Release Date: TBA

* All type comments have as parent the corresponding `astroid` node

Until now they had as parent the builtin `ast` node which meant
we were operating with primitive objects instead of our own.

Close PyCQA/pylint3174


* Pass an inference context to `metaclass()` when inferring an object type

This should prevent a bunch of recursion errors happening in pylint.
Also refactor the inference of `IfExp` nodes to use separate contexts
for each potential branch.

Close PyCQA/pylint3152
Close PyCQA/pylint3159

2.3.1

============================
Release Date: 2019-09-30

* A transform for the builtin `dataclasses` module was added.

This should address various `dataclasses` issues that were surfaced
even more after the release of pylint 2.4.0.
In the previous versions of `astroid`, annotated assign nodes were
allowed to be retrieved via `getattr()` but that no longer happens
with the latest `astroid` release, as those attribute are not actual
attributes, but rather virtual ones, thus an operation such as `getattr()`
does not make sense for them.

* Update attr brain to partly understand annotated attributes

Close 656

2.3.0

============================
Release Date: 2019-09-24

* Add a brain tip for ``subprocess.check_output``

Close 689

* Remove NodeNG.nearest method because of lack of usage in astroid and pylint.

Close 691

* Allow importing wheel files. Close 541

* Annotated AST follows PEP8 coding style when converted to string.

* Fix a bug where defining a class using type() could cause a DuplicateBasesError.

Close 644

* Dropped support for Python 3.4.

* Numpy brain support is improved.

Numpy's fundamental type ``numpy.ndarray`` has its own brain : ``brain_numpy_ndarray`` and
each numpy module that necessitates brain action has now its own numpy brain :

 - ``numpy.core.numeric``
 - ``numpy.core.function_base``
 - ``numpy.core.multiarray``
 - ``numpy.core.numeric``
 - ``numpy.core.numerictypes``
 - ``numpy.core.umath``
 - ``numpy.random.mtrand``

Close PyCQA/pylint2865
Close PyCQA/pylint2747
Close PyCQA/pylint2721
Close PyCQA/pylint2326
Close PyCQA/pylint2021

* ``assert`` only functions are properly inferred as returning ``None``

Close 668

* Add support for Python 3.8's `NamedExpr` nodes, which is part of assignment expressions.

Close 674

* Added support for inferring `IfExp` nodes.

* Instances of exceptions are inferred as such when inferring in non-exception context

This allows special inference support for exception attributes such as `.args`.

Close PyCQA/pylint2333

* Drop a superfluous and wrong callcontext when inferring the result of a context manager

Close PyCQA/pylint2859

* ``igetattr`` raises ``InferenceError`` on re-inference of the same object

This prevents ``StopIteration`` from leaking when we encounter the same
object in the current context, which could result in various ``RuntimeErrors``
leaking in other parts of the inference.
Until we get a global context per inference, the solution is sort of a hack,
as with the suggested global context improvement, we could theoretically
reuse the same inference object.

Close 663

* Variable annotations can no longer be retrieved with `ClassDef.getattr`

Unless they have an attached value, class variable annotations can no longer
be retrieved with `ClassDef.getattr.`

* Improved builtin inference for ``tuple``, ``set``, ``frozenset``, ``list`` and ``dict``

We were properly inferring these callables *only* if they had consts as
values, but that is not the case most of the time. Instead we try to infer
the values that their arguments can be and use them instead of assuming
Const nodes all the time.

Close PyCQA/pylint2841

* The last except handler wins when inferring variables bound in an except handler.

Close PyCQA/pylint2777


* ``threading.Lock.locked()`` is properly recognized as a member of ``threading.Lock``

Close PyCQA/pylint2791


* Fix recursion error involving ``len`` and self referential attributes

Close PyCQA/pylint2736
Close PyCQA/pylint2734
Close PyCQA/pylint2740

* Can access per argument type comments through new ``Arguments.type_comment_args`` attribute.

Close 665

* Fix being unable to access class attributes on a NamedTuple.

Close PyCQA/pylint1628

* Fixed being unable to find distutils submodules by name when in a virtualenv.

Close PyCQA/pylint73

2.2.0

============================
Release Date: 2019-02-27


* Fix a bug concerning inference of calls to numpy function that should not return Tuple or List instances.

Close PyCQA/pylint2436

* Fix a bug where a method, which is a lambda built from a function, is not inferred as ``BoundMethod``

Close PyCQA/pylint2594

* ``typed_ast`` gets installed for Python 3.7, meaning type comments can now work on 3.7.

* Fix a bug concerning inference of unary operators on numpy types.

Close PyCQA/pylint2436 (first part)

* Fix a crash with ``typing.NamedTuple`` and empty fields. Close PyCQA/pylint2745

* Add a proper ``strerror`` inference to the ``OSError`` exceptions.

Close PyCQA/pylint2553

* Support non-const nodes as values of Enum attributes.

Close 612

* Fix a crash in the ``enum`` brain tip caused by non-assign members in class definitions.

Close PyCQA/pylint2719

* ``brain_numpy`` returns an undefined type for ``numpy`` methods to avoid ``assignment-from-no-return``

Close PyCQA/pylint2694

* Fix a bug where a call to a function that has been previously called via
functools.partial was wrongly inferred

Close PyCQA/pylint2588

* Fix a recursion error caused by inferring the ``slice`` builtin.

Close PyCQA/pylint2667

* Remove the restriction that "old style classes" cannot have a MRO.

This does not make sense any longer given that we run against Python 3
code.
Close PyCQA/pylint2701

* Added more builtin exceptions attributes. Close 580

* Add a registry for builtin exception models. Close PyCQA/pylint1432

* Add brain tips for `http.client`. Close PyCQA/pylint2687

* Prevent crashing when processing ``enums`` with mixed single and double quotes.

Close PyCQA/pylint2676

* ``typing`` types have the `__args__` property. Close PyCQA/pylint2419

* Fix a bug where an Attribute used as a base class was triggering a crash

Close 626

* Added special support for `enum.IntFlag`

Close PyCQA/pylint2534

* Extend detection of data classes defined with attr

Close 628

* Fix typo in description for brain_attrs

2.1.0

============================
Release Date: 2018-11-25

* ``threading.Lock.acquire`` has the ``timeout`` parameter now.

  Close PyCQA/pylint2457

* Pass parameters by keyword name when inferring sequences.

  Close PyCQA/pylint2526

* Correct line numbering for f-strings for complex embedded expressions

  When a f-string contained a complex expression, such as an attribute access,
  we weren't cloning all the subtree of the f-string expression for attaching the correct
  line number. This problem is coming from the builtin AST parser which gives for the f-string
  and for its underlying elements the line number 1, but this is causing all sorts of bugs and
  problems in pylint, which expects correct line numbering.

  Close PyCQA/pylint2449

* Add support for `argparse.Namespace`

  Close PyCQA/pylint2413

* `async` functions are now inferred as `AsyncGenerator` when inferring their call result.

* Filter out ``Uninferable`` when inferring the call result result of a class with an uninferable ``__call__`` method.

  Close PyCQA/pylint2434

* Make compatible with AST changes in Python 3.8.

* Subscript inference (e.g. "`a[i]`") now pays attention to multiple inferred values for value
  (e.g. "`a`") and slice (e.g. "`i`")

  Close 614

2.0.4

============================
Release Date: 2018-08-10

* Make sure that assign nodes can find ``yield`` statements in their values

  Close PyCQA/pylint2400

2.0.3

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

Release Date: 2018-08-08

* The environment markers for PyPy were invalid.

2.0.2

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

Release Date: 2018-08-01

* Stop repeat inference attempt causing a RuntimeError in Python3.7

  Close PyCQA/pylint2317

*  infer_call_result can raise InferenceError so make sure to handle that for the call sites
   where it is used

  infer_call_result started recently to raise InferenceError for objects for which it
  could not find any returns. Previously it was silently raising a StopIteration,
  which was especially leaking when calling builtin methods.
  Since it is after all an inference method, it is expected that it
  could raise an InferenceError rather than returning nothing.

  Close PyCQA/pylint2350
Links
  • PyPI: https://pypi.org/project/astroid
  • Changelog: https://pyup.io/changelogs/astroid/
  • Repo: https://github.com/PyCQA/astroid

Update attrs from 18.1.0 to 19.3.0.

Changelog

19.3.0

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

Changes
^^^^^^^

- Fixed ``auto_attribs`` usage when default values cannot be compared directly with ``==``, such as ``numpy`` arrays.
`585 <https://github.com/python-attrs/attrs/issues/585>`_


----

19.2.0

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

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

- Removed deprecated ``Attribute`` attribute ``convert`` per scheduled removal on 2019/1.
This planned deprecation is tracked in issue `307 <https://github.com/python-attrs/attrs/issues/307>`_.
`504 <https://github.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.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.com/python-attrs/attrs/issues/574>`_


Changes
^^^^^^^

- Updated ``attr.validators.__all__`` to include new validators added in `425`_.
`517 <https://github.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.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.com/python-attrs/attrs/issues/523>`_,
`556 <https://github.com/python-attrs/attrs/issues/556>`_
- Fixed ``attr.validators.deep_iterable()`` and ``attr.validators.deep_mapping()`` type stubs.
`533 <https://github.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.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.com/python-attrs/attrs/issues/543>`_,
`563 <https://github.com/python-attrs/attrs/issues/563>`_
- Added ``attr.validators.matches_re()`` that checks string attributes whether they match a regular expression.
`552 <https://github.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.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.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.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.htmldeprecated-apis>`_ on how to use it.
`580 <https://github.com/python-attrs/attrs/issues/580>`_

.. _`425`: https://github.com/python-attrs/attrs/issues/425


----

19.1.0

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

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.com/python-attrs/attrs/issues/494>`_.
`482 <https://github.com/python-attrs/attrs/issues/482>`_


Changes
^^^^^^^

- Add ``is_callable``, ``deep_iterable``, and ``deep_mapping`` validators.

* ``is_callable``: validates that a value is callable
* ``deep_iterable``: Allows recursion down into an iterable,
 applying another validator to every member in the iterable
 as well as applying an optional validator to the iterable itself.
* ``deep_mapping``: Allows recursion down into the items in a mapping object,
 applying a key validator and a value validator to the key and value in every item.
 Also applies an optional validator to the mapping object itself.

You can find them in the ``attr.validators`` package.
`425`_
- Fixed stub files to prevent errors raised by mypy's ``disallow_any_generics = True`` option.
`443 <https://github.com/python-attrs/attrs/issues/443>`_
- Attributes with ``init=False`` now can follow after ``kw_only=True`` attributes.
`450 <https://github.com/python-attrs/attrs/issues/450>`_
- ``attrs`` now has first class support for defining exception classes.

If you define a class using ``attr.s(auto_exc=True)`` and subclass an exception, the class will behave like a well-behaved exception class including an appropriate ``__str__`` method, and all attributes additionally available in an ``args`` attribute.
`500 <https://github.com/python-attrs/attrs/issues/500>`_
- Clarified documentation for hashing to warn that hashable objects should be deeply immutable (in their usage, even if this is not enforced).
`503 <https://github.com/python-attrs/attrs/issues/503>`_


----

18.2.0

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

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

- Comparing subclasses using ``<``, ``>``, ``<=``, and ``>=`` is now deprecated.
The docs always claimed that instances are only compared if the types are identical, so this is a first step to conform to the docs.

Equality operators (``==`` and ``!=``) were always strict in this regard.
`394 <https://github.com/python-attrs/attrs/issues/394>`_


Changes
^^^^^^^

- ``attrs`` now ships its own `PEP 484 <https://www.python.org/dev/peps/pep-0484/>`_ type hints.
Together with `mypy <http://mypy-lang.org>`_'s ``attrs`` plugin, you've got all you need for writing statically typed code in both Python 2 and 3!

At that occasion, we've also added `narrative docs <https://www.attrs.org/en/stable/types.html>`_ about type annotations in ``attrs``.
`238 <https://github.com/python-attrs/attrs/issues/238>`_
- Added *kw_only* arguments to ``attr.ib`` and ``attr.s``, and a corresponding *kw_only* attribute to ``attr.Attribute``.
This change makes it possible to have a generated ``__init__`` with keyword-only arguments on Python 3, relaxing the required ordering of default and non-default valued attributes.
`281 <https://github.com/python-attrs/attrs/issues/281>`_,
`411 <https://github.com/python-attrs/attrs/issues/411>`_
- The test suite now runs with ``hypothesis.HealthCheck.too_slow`` disabled to prevent CI breakage on slower computers.
`364 <https://github.com/python-attrs/attrs/issues/364>`_,
`396 <https://github.com/python-attrs/attrs/issues/396>`_
- ``attr.validators.in_()`` now raises a ``ValueError`` with a useful message even if the options are a string and the value is not a string.
`383 <https://github.com/python-attrs/attrs/issues/383>`_
- ``attr.asdict()`` now properly handles deeply nested lists and dictionaries.
`395 <https://github.com/python-attrs/attrs/issues/395>`_
- Added ``attr.converters.default_if_none()`` that allows to replace ``None`` values in attributes.
For example ``attr.ib(converter=default_if_none(""))`` replaces ``None`` by empty strings.
`400 <https://github.com/python-attrs/attrs/issues/400>`_,
`414 <https://github.com/python-attrs/attrs/issues/414>`_
- Fixed a reference leak where the original class would remain live after being replaced when ``slots=True`` is set.
`407 <https://github.com/python-attrs/attrs/issues/407>`_
- Slotted classes can now be made weakly referenceable by passing ``attr.s(weakref_slot=True)``.
`420 <https://github.com/python-attrs/attrs/issues/420>`_
- Added *cache_hash* option to ``attr.s`` which causes the hash code to be computed once and stored on the object.
`426 <https://github.com/python-attrs/attrs/issues/426>`_
- Attributes can be named ``property`` and ``itemgetter`` now.
`430 <https://github.com/python-attrs/attrs/issues/430>`_
- It is now possible to override a base class' class variable using only class annotations.
`431 <https://github.com/python-attrs/attrs/issues/431>`_


----
Links
  • PyPI: https://pypi.org/project/attrs
  • Changelog: https://pyup.io/changelogs/attrs/
  • Homepage: https://www.attrs.org/

Update black from 18.6b3 to 19.10b0.

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

Links
  • PyPI: https://pypi.org/project/black
  • Changelog: https://pyup.io/changelogs/black/
  • Repo: https://github.com/psf/black

Update certifi from 2018.4.16 to 2020.6.20.

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

Links
  • PyPI: https://pypi.org/project/certifi
  • Docs: https://certifiio.readthedocs.io/en/latest/

Update click from 6.7 to 7.1.2.

Changelog

7.1.1

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

Released 2020-03-09

-   Fix ``ClickException`` output going to stdout instead of stderr.
 :issue:`1495`

7.1

-----------

Released 2020-03-09

-   Fix PyPI package name, "click" is lowercase again.
-   Fix link in ``unicode_literals`` error message. :pr:`1151`
-   Add support for colored output on UNIX Jupyter notebooks.
 :issue:`1185`
-   Operations that strip ANSI controls will strip the cursor hide/show
 sequences. :issue:`1216`
-   Remove unused compat shim for ``bytes``. :pr:`1195`
-   Expand testing around termui, especially getchar on Windows.
 :issue:`1116`
-   Fix output on Windows Python 2.7 built with MSVC 14. :pr:`1342`
-   Fix ``OSError`` when running in MSYS2. :issue:`1338`
-   Fix ``OSError`` when redirecting to ``NUL`` stream on Windows.
 :issue:`1065`
-   Fix memory leak when parsing Unicode arguments on Windows.
 :issue:`1136`
-   Fix error in new AppEngine environments. :issue:`1462`
-   Always return one of the passed choices for ``click.Choice``
 :issue:`1277`, :pr:`1318`
-   Add ``no_args_is_help`` option to ``click.Command``, defaults to
 False :pr:`1167`
-   Add ``show_defaults`` parameter to ``Context`` to enable showing
 defaults globally. :issue:`1018`
-   Handle ``env MYPATH=''`` as though the option were not passed.
 :issue:`1196`
-   It is once again possible to call ``next(bar)`` on an active
 progress bar instance. :issue:`1125`
-   ``open_file`` with ``atomic=True`` retains permissions of existing
 files and respects the current umask for new files. :issue:`1376`
-   When using the test ``CliRunner`` with ``mix_stderr=False``, if
 ``result.stderr`` is empty it will not raise a ``ValueError``.
 :issue:`1193`
-   Remove the unused ``mix_stderr`` parameter from
 ``CliRunner.invoke``. :issue:`1435`
-   Fix ``TypeError`` raised when using bool flags and specifying
 ``type=bool``. :issue:`1287`
-   Newlines in option help text are replaced with spaces before
 re-wrapping to avoid uneven line breaks. :issue:`834`
-   ``MissingParameter`` exceptions are printable in the Python
 interpreter. :issue:`1139`
-   Fix how default values for file-type options are shown during
 prompts. :issue:`914`
-   Fix environment variable automatic generation for commands
 containing ``-``. :issue:`1253`
-   Option help text replaces newlines with spaces when rewrapping, but
 preserves paragraph breaks, fixing multiline formatting.
 :issue:`834, 1066, 1397`
-   Option help text that is wrapped adds an extra newline at the end to
 distinguish it from the next option. :issue:`1075`
-   Consider ``sensible-editor`` when determining the editor to use for
 ``click.edit()``. :pr:`1469`
-   Arguments to system calls such as the executable path passed to
 ``click.edit`` can contains spaces. :pr:`1470`
-   Add ZSH completion autoloading and error handling. :issue:`1348`
-   Add a repr to ``Command``, ``Group``, ``Option``, and ``Argument``,
 showing the name for friendlier debugging. :issue:`1267`
-   Completion doesn't consider option names if a value starts with
 ``-`` after the ``--`` separator. :issue:`1247`
-   ZSH completion escapes special characters in values. :pr:`1418`
-   Add completion support for Fish shell. :pr:`1423`
-   Decoding bytes option values falls back to UTF-8 in more cases.
 :pr:`1468`
-   Make the warning about old 2-arg parameter callbacks a deprecation
 warning, to be removed in 8.0. This has been a warning since Click
 2.0. :pr:`1492`

7.0

-----------

Released 2018-09-25

-   Drop support for Python 2.6 and 3.3. :pr:`967, 976`
-   Wrap ``click.Choice``'s missing message. :issue:`202`, :pr:`1000`
-   Add native ZSH autocompletion support. :issue:`323`, :pr:`865`
-   Document that ANSI color info isn't parsed from bytearrays in Python
 2. :issue:`334`
-   Document byte-stripping behavior of ``CliRunner``. :issue:`334`,
 :pr:`1010`
-   Usage errors now hint at the ``--help`` option. :issue:`393`,
 :pr:`557`
-   Implement streaming pager. :issue:`409`, :pr:`889`
-   Extract bar formatting to its own method. :pr:`414`
-   Add ``DateTime`` type for converting input in given date time
 formats. :pr:`423`
-   ``secho``'s first argument can now be ``None``, like in ``echo``.
 :pr:`424`
-   Fixes a ``ZeroDivisionError`` in ``ProgressBar.make_step``, when the
 arg passed to the first call of ``ProgressBar.update`` is 0.
 :issue:`447`, :pr:`1012`
-   Show progressbar only if total execution time is visible. :pr:`487`
-   Added the ability to hide commands and options from help. :pr:`500`
-   Document that options can be ``required=True``. :issue:`514`,
 :pr:`1022`
-   Non-standalone calls to ``Context.exit`` return the exit code,
 rather than calling ``sys.exit``. :issue:`667`, :pr:`533, 1098`
-   ``click.getchar()`` returns Unicode in Python 3 on Windows,
 consistent with other platforms. :issue:`537, 821, 822, 1088`,
 :pr:`1108`
-   Added ``FloatRange`` type. :pr:`538, 553`
-   Added support for bash completion of ``type=click.Choice`` for
 ``Options`` and ``Arguments``. :issue:`535`, :pr:`681`
-   Only allow one positional arg for ``Argument`` parameter
 declaration. :issue:`568, 574`, :pr:`1014`
-   Add ``case_sensitive=False`` as an option to Choice. :issue:`569`
-   ``click.getchar()`` correctly raises ``KeyboardInterrupt`` on "^C"
 and ``EOFError`` on "^D" on Linux. :issue:`583`, :pr:`1115`
-   Fix encoding issue with ``click.getchar(echo=True)`` on Linux.
 :pr:`1115`
-   ``param_hint`` in errors now derived from param itself.
 :issue:`598, 704`, :pr:`709`
-   Add a test that ensures that when an argument is formatted into a
 usage error, its metavar is used, not its name. :pr:`612`
-   Allow setting ``prog_name`` as extra in ``CliRunner.invoke``.
 :issue:`616`, :pr:`999`
-   Help text taken from docstrings truncates at the ``\f`` form feed
 character, useful for hiding Sphinx-style parameter documentation.
 :pr:`629, 1091`
-   ``launch`` now works properly under Cygwin. :pr:`650`
-   Update progress after iteration. :issue:`651`, :pr:`706`
-   ``CliRunner.invoke`` now may receive ``args`` as a string
 representing a Unix shell command. :pr:`664`
-   Make ``Argument.make_metavar()`` default to type metavar. :pr:`675`
-   Add documentation for ``ignore_unknown_options``. :pr:`684`
-   Add bright colors support for ``click.style`` and fix the reset
 option for parameters ``fg`` and ``bg``. :issue:`703`, :pr:`809`
-   Add ``show_envvar`` for showing environment variables in help.
 :pr:`710`
-   Avoid ``BrokenPipeError`` during interpreter shutdown when stdout or
 stderr is a closed pipe. :issue:`712`, :pr:`1106`
-   Document customizing option names. :issue:`725`, :pr:`1016`
-   Disable ``sys._getframes()`` on Python interpreters that don't
 support it. :pr:`728`
-   Fix bug in test runner when calling ``sys.exit`` with ``None``.
 :pr:`739`
-   Clarify documentation on command line options. :issue:`741`,
 :pr:`1003`
-   Fix crash on Windows console. :issue:`744`
-   Fix bug that caused bash completion to give improper completions on
 chained commands. :issue:`754`, :pr:`774`
-   Added support for dynamic bash completion from a user-supplied
 callback. :pr:`755`
-   Added support for bash completions containing spaces. :pr:`773`
-   Allow autocompletion function to determine whether or not to return
 completions that start with the incomplete argument. :issue:`790`,
 :pr:`806`
-   Fix option naming routine to match documentation and be
 deterministic. :issue:`793`, :pr:`794`
-   Fix path validation bug. :issue:`795`, :pr:`1020`
-   Add test and documentation for ``Option`` naming: functionality.
 :pr:`799`
-   Update doc to match arg name for ``path_type``. :pr:`801`
-   Raw strings added so correct escaping occurs. :pr:`807`
-   Fix 16k character limit of ``click.echo`` on Windows. :issue:`816`,
 :pr:`819`
-   Overcome 64k character limit when writing to binary stream on
 Windows 7. :issue:`825`, :pr:`830`
-   Add bool conversion for "t" and "f". :pr:`842`
-   ``NoSuchOption`` errors take ``ctx`` so that ``--help`` hint gets
 printed in error output. :pr:`860`
-   Fixed the behavior of Click error messages with regards to Unicode
 on 2.x and 3.x. Message is now always Unicode and the str and
 Unicode special methods work as you expect on that platform.
 :issue:`862`
-   Progress bar now uses stderr by default. :pr:`863`
-   Add support for auto-completion documentation. :issue:`866`,
 :pr:`869`
-   Allow ``CliRunner`` to separate stdout and stderr. :pr:`868`
-   Fix variable precedence. :issue:`873`, :pr:`874`
-   Fix invalid escape sequences. :pr:`877`
-   Fix ``ResourceWarning`` that occurs during some tests. :pr:`878`
-   When detecting a misconfigured locale, don't fail if the ``locale``
 command fails. :pr:`880`
-   Add ``case_sensitive=False`` as an option to ``Choice`` types.
 :pr:`887`
-   Force stdout/stderr writable. This works around issues with badly
 patched standard streams like those from Jupyter. :pr:`918`
-   Fix completion of subcommand options after last argument
 :issue:`919`, :pr:`930`
-   ``_AtomicFile`` now uses the ``realpath`` of the original filename
 so that changing the working directory does not affect it. :pr:`920`
-   Fix incorrect completions when defaults are present :issue:`925`,
 :pr:`930`
-   Add copy option attrs so that custom classes can be re-used.
 :issue:`926`, :pr:`994`
-   "x" and "a" file modes now use stdout when file is ``"-"``.
 :pr:`929`
-   Fix missing comma in ``__all__`` list. :pr:`935`
-   Clarify how parameters are named. :issue:`949`, :pr:`1009`
-   Stdout is now automatically set to non blocking. :pr:`954`
-   Do not set options twice. :pr:`962`
-   Move ``fcntl`` import. :pr:`965`
-   Fix Google App Engine ``ImportError``. :pr:`995`
-   Better handling of help text for dynamic default option values.
 :pr:`996`
-   Fix ``get_winter_size()`` so it correctly returns ``(0,0)``.
 :pr:`997`
-   Add test case checking for custom param type. :pr:`1001`
-   Allow short width to address cmd formatting. :pr:`1002`
-   Add details about Python version support. :pr:`1004`
-   Added deprecation flag to commands. :pr:`1005`
-   Fixed issues where ``fd`` was undefined. :pr:`1007`
-   Fix formatting for short help. :pr:`1008`
-   Document how ``auto_envvar_prefix`` works with command groups.
 :pr:`1011`
-   Don't add newlines by default for progress bars. :pr:`1013`
-   Use Python sorting order for ZSH completions. :issue:`1047`,
 :pr:`1059`
-   Document that parameter names are converted to lowercase by default.
 :pr:`1055`
-   Subcommands that are named by the function now automatically have
 the underscore replaced with a dash. If you register a function
 named ``my_command`` it becomes ``my-command`` in the command line
 interface.
-   Hide hidden commands and options from completion. :issue:`1058`,
 :pr:`1061`
-   Fix absolute import blocking Click from being vendored into a
 project on Windows. :issue:`1068`, :pr:`1069`
-   Fix issue where a lowercase ``auto_envvar_prefix`` would not be
 converted to uppercase. :pr:`1105`
Links
  • PyPI: https://pypi.org/project/click
  • Changelog: https://pyup.io/changelogs/click/
  • Homepage: https://palletsprojects.com/p/click/

Update codecov from 2.0.15 to 2.1.7.

Changelog

2.1.7

- [279](https://github.com/codecov/codecov-python/pull/279) Fix pinned coverage version

2.1.6

- [275](https://github.com/codecov/codecov-python/pull/275) Fix GitHub Actions implementation

2.1.5

- [273](https://github.com/codecov/codecov-python/pull/273) Implement retries on Codecov API calls
- [265](https://github.com/codecov/codecov-python/pull/265) Add GitHub Actions CI detection
- [267](https://github.com/codecov/codecov-python/pull/267) Add CODECOV_NAME as default for name

2.1.4

- [260](https://github.com/codecov/codecov-python/pull/260) Enforce black formatting
- [169](https://github.com/codecov/codecov-python/pull/169) Fix command line quoting on Windows
- [216](https://github.com/codecov/codecov-python/pull/216) Fix GitLab CI project directory detection on Windows
- [264](https://github.com/codecov/codecov-python/pull/264) Fix GitLab CI post version 9
- [262](https://github.com/codecov/codecov-python/pull/262) Check text for NoneType on writes
- [266](https://github.com/codecov/codecov-python/pull/266) Include the cacert in the PUT call when uploading to S3
- [263](https://github.com/codecov/codecov-python/pull/263) Fixed gcov not being found in certain instances

2.1.3

- Fix find command not working on Windows
- Add support for gzipping reports
- Dynamic syncing of version

2.1.1

- Fix command when neither hg or git are not available

2.1.0

- Remove x-amz-acl header
- Reformat with Black

2.0.22

- Cleaning TOC generation

2.0.21

- fixed string issues

2.0.20

- fixed broken subprocess handling

2.0.19

- fixed broken subprocess handling

2.0.18

- fixed broken subprocess handling

2.0.17

- fixed reported command injection vulnerability.

2.0.16

- fixed reported command injection vulnerability.
Links
  • PyPI: https://pypi.org/project/codecov
  • Changelog: https://pyup.io/changelogs/codecov/
  • Repo: https://github.com/codecov/codecov-python

Update coverage from 4.5.1 to 5.1.

Changelog

5.1

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

- The JSON report now includes counts of covered and missing branches. Thanks,
Salvatore Zagaria.

- On Python 3.8, try-finally-return reported wrong branch coverage with
decorated async functions (`issue 946`_).  This is now fixed. Thanks, Kjell
Braden.

- The :meth:`~coverage.Coverage.get_option` and
:meth:`~coverage.Coverage.set_option` methods can now manipulate the
``[paths]`` configuration setting.  Thanks to Bernát Gábor for the fix for
`issue 967`_.

.. _issue 946: https://github.com/nedbat/coveragepy/issues/946
.. _issue 967: https://github.com/nedbat/coveragepy/issues/967


.. _changes_504:

5.0.4

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

- If using the ``[run] relative_files`` setting, the XML report will use
relative files in the ``<source>`` elements indicating the location of source
code.  Closes `issue 948`_.

- The textual summary report could report missing lines with negative line
numbers on PyPy3 7.1 (`issue 943`_).  This is now fixed.

- Windows wheels for Python 3.8 were incorrectly built, but are now fixed.
(`issue 949`_)

- Updated Python 3.9 support to 3.9a4.

- HTML reports couldn't be sorted if localStorage wasn't available. This is now
fixed: sorting works even though the sorting setting isn't retained. (`issue
944`_ and `pull request 945`_). Thanks, Abdeali Kothari.

.. _issue 943: https://github.com/nedbat/coveragepy/issues/943
.. _issue 944: https://github.com/nedbat/coveragepy/issues/944
.. _pull request 945: https://github.com/nedbat/coveragepy/pull/945
.. _issue 948: https://github.com/nedbat/coveragepy/issues/948
.. _issue 949: https://github.com/nedbat/coveragepy/issues/949


.. _changes_503:

5.0.3

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

- A performance improvement in 5.0.2 didn't work for test suites that changed
directory before combining data, causing "Couldn't use data file: no such
table: meta" errors (`issue 916`_).  This is now fixed.

- Coverage could fail to run your program with some form of "ModuleNotFound" or
"ImportError" trying to import from the current directory. This would happen
if coverage had been packaged into a zip file (for example, on Windows), or
was found indirectly (for example, by pyenv-virtualenv).  A number of
different scenarios were described in `issue 862`_ which is now fixed.  Huge
thanks to Agbonze O. Jeremiah for reporting it, and Alexander Waters and
George-Cristian Bîrzan for protracted debugging sessions.

- Added the "premain" debug option.

- Added SQLite compile-time options to the "debug sys" output.

.. _issue 862: https://github.com/nedbat/coveragepy/issues/862
.. _issue 916: https://github.com/nedbat/coveragepy/issues/916


.. _changes_502:

5.0.2

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

- Programs that used multiprocessing and changed directories would fail under
coverage.  This is now fixed (`issue 890`_).  A side effect is that debug
information about the config files read now shows absolute paths to the
files.

- When running programs as modules (``coverage run -m``) with ``--source``,
some measured modules were imported before coverage starts.  This resulted in
unwanted warnings ("Already imported a file that will be measured") and a
reduction in coverage totals (`issue 909`_).  This is now fixed.

- If no data was collected, an exception about "No data to report" could happen
instead of a 0% report being created (`issue 884`_).  This is now fixed.

- The handling of source files with non-encodable file names has changed.
Previously, if a file name could not be encoded as UTF-8, an error occurred,
as described in `issue 891`_.  Now, those files will not be measured, since
their data would not be recordable.

- A new warning ("dynamic-conflict") is issued if two mechanisms are trying to
change the dynamic context.  Closes `issue 901`_.

- ``coverage run --debug=sys`` would fail with an AttributeError. This is now
fixed (`issue 907`_).

.. _issue 884: https://github.com/nedbat/coveragepy/issues/884
.. _issue 890: https://github.com/nedbat/coveragepy/issues/890
.. _issue 891: https://github.com/nedbat/coveragepy/issues/891
.. _issue 901: https://github.com/nedbat/coveragepy/issues/901
.. _issue 907: https://github.com/nedbat/coveragepy/issues/907
.. _issue 909: https://github.com/nedbat/coveragepy/issues/909


.. _changes_501:

5.0.1

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

- If a 4.x data file is the cause of a "file is not a database" error, then use
a more specific error message, "Looks like a coverage 4.x data file, are you
mixing versions of coverage?"  Helps diagnose the problems described in
`issue 886`_.

- Measurement contexts and relative file names didn't work together, as
reported in `issue 899`_ and `issue 900`_.  This is now fixed, thanks to
David Szotten.

- When using ``coverage run --concurrency=multiprocessing``, all data files
should be named with parallel-ready suffixes.  5.0 mistakenly named the main
process' file with no suffix when using ``--append``.  This is now fixed,
closing `issue 880`_.

- Fixed a problem on Windows when the current directory is changed to a
different drive (`issue 895`_).  Thanks, Olivier Grisel.

- Updated Python 3.9 support to 3.9a2.

.. _issue 880: https://github.com/nedbat/coveragepy/issues/880
.. _issue 886: https://github.com/nedbat/coveragepy/issues/886
.. _issue 895: https://github.com/nedbat/coveragepy/issues/895
.. _issue 899: https://github.com/nedbat/coveragepy/issues/899
.. _issue 900: https://github.com/nedbat/coveragepy/issues/900


.. _changes_50:

5.0

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

Nothing new beyond 5.0b2.


.. _changes_50b2:

5.0b2

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

- An experimental ``[run] relative_files`` setting tells coverage to store
relative file names in the data file. This makes it easier to run tests in
one (or many) environments, and then report in another.  It has not had much
real-world testing, so it may change in incompatible ways in the future.

- When constructing a :class:`coverage.Coverage` object, `data_file` can be
specified as None to prevent writing any data file at all.  In previous
versions, an explicit `data_file=None` argument would use the default of
".coverage". Fixes `issue 871`_.

- Python files run with ``-m`` now have ``__spec__`` defined properly.  This
fixes `issue 745`_ (about not being able to run unittest tests that spawn
subprocesses), and `issue 838`_, which described the problem directly.

- The ``[paths]`` configuration section is now ordered. If you specify more
than one list of patterns, the first one that matches will be used.  Fixes
`issue 649`_.

- The :func:`.coverage.numbits.register_sqlite_functions` function now also
registers `numbits_to_nums` for use in SQLite queries.  Thanks, Simon
Willison.

- Python 3.9a1 is supported.

- Coverage.py has a mascot: :ref:`Sleepy Snake <sleepy>`.

.. _issue 649: https://github.com/nedbat/coveragepy/issues/649
.. _issue 745: https://github.com/nedbat/coveragepy/issues/745
.. _issue 838: https://github.com/nedbat/coveragepy/issues/838
.. _issue 871: https://github.com/nedbat/coveragepy/issues/871


.. _changes_50b1:

5.0b1

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

- The HTML and textual reports now have a ``--skip-empty`` option that skips
files with no statements, notably ``__init__.py`` files.  Thanks, Reya B.

- Configuration can now be read from `TOML`_ files.  This requires installing
coverage.py with the ``[toml]`` extra.  The standard "pyproject.toml" file
will be read automatically if no other configuration file is found, with
settings in the ``[tool.coverage.]`` namespace.  Thanks to Frazer McLean for
implementation and persistence.  Finishes `issue 664`_.

- The ``[run] note`` setting has been deprecated. Using it will result in a
warning, and the note will not be written to the data file.  The
corresponding :class:`.CoverageData` methods have been removed.

- The HTML report has been reimplemented (no more table around the source
code). This allowed for a better presentation of the context information,
hopefully resolving `issue 855`_.

- Added sqlite3 module version information to ``coverage debug sys`` output.

- Asking the HTML report to show contexts (``[html] show_contexts=True`` or
``coverage html --show-contexts``) will issue a warning if there were no
contexts measured (`issue 851`_).

.. _TOML: https://github.com/toml-lang/tomlreadme
.. _issue 664: https://github.com/nedbat/coveragepy/issues/664
.. _issue 851: https://github.com/nedbat/coveragepy/issues/851
.. _issue 855: https://github.com/nedbat/coveragepy/issues/855


.. _changes_50a8:

5.0a8

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

- The :class:`.CoverageData` API has changed how queries are limited to
specific contexts.  Now you use :meth:`.CoverageData.set_query_context` to
set a single exact-match string, or :meth:`.CoverageData.set_query_contexts`
to set a list of regular expressions to match contexts.  This changes the
command-line ``--contexts`` option to use regular expressions instead of
filename-style wildcards.


.. _changes_50a7:

5.0a7

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

- Data can now be "reported" in JSON format, for programmatic use, as requested
in `issue 720`_.  The new ``coverage json`` command writes raw and summarized
data to a JSON file.  Thanks, Matt Bachmann.

- Dynamic contexts are now supported in the Python tracer, which is important
for PyPy users.  Closes `issue 846`_.

- The compact line number representation introduced in 5.0a6 is called a
"numbits."  The :mod:`coverage.numbits` module provides functions for working
with them.

- The reporting methods used to permanently apply their arguments to the
configuration of the Coverage object.  Now they no longer do.  The arguments
affect the operation of the method, but do not persist.

- A class named "test_something" no longer confuses the ``test_function``
dynamic context setting.  Fixes `issue 829`_.

- Fixed an unusual tokenizing issue with backslashes in comments.  Fixes
`issue 822`_.

- ``debug=plugin`` didn't properly support configuration or dynamic context
plugins, but now it does, closing `issue 834`_.

.. _issue 720: https://github.com/nedbat/coveragepy/issues/720
.. _issue 822: https://github.com/nedbat/coveragepy/issues/822
.. _issue 834: https://github.com/nedbat/coveragepy/issues/834
.. _issue 829: https://github.com/nedbat/coveragepy/issues/829
.. _issue 846: https://github.com/nedbat/coveragepy/issues/846


.. _changes_50a6:

5.0a6

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

- Reporting on contexts. Big thanks to Stephan Richter and Albertas Agejevas
for the contribution.

- The ``--contexts`` option is available on the ``report`` and ``html``
 commands.  It's a comma-separated list of shell-style wildcards, selecting
 the contexts to report on.  Only contexts matching one of the wildcards
 will be included in the report.

- The ``--show-contexts`` option for the ``html`` command adds context
 information to each covered line.  Hovering over the "ctx" marker at the
 end of the line reveals a list of the contexts that covered the line.

- Database changes:

- Line numbers are now stored in a much more compact way.  For each file and
 context, a single binary string is stored with a bit per line number.  This
 greatly improves memory use, but makes ad-hoc use difficult.

- Dynamic contexts with no data are no longer written to the database.

- SQLite data storage is now faster.  There's no longer a reason to keep the
 JSON data file code, so it has been removed.

- Changes to the :class:`.CoverageData` interface:

- The new :meth:`.CoverageData.dumps` method serializes the data to a string,
 and a corresponding :meth:`.CoverageData.loads` method reconstitutes this
 data.  The format of the data string is subject to change at any time, and
 so should only be used between two installations of the same version of
 coverage.py.

- The :meth:`CoverageData constructor<.CoverageData.__init__>` has a new
 argument, `no_disk` (default: False).  Setting it to True prevents writing
 any data to the disk.  This is useful for transient data objects.

- Added the classmethod :meth:`.Coverage.current` to get the latest started
Coverage instance.

- Multiprocessing support in Python 3.8 was broken, but is now fixed.  Closes
`issue 828`_.

- Error handling during reporting has changed slightly.  All reporting methods
now behave the same.  The ``--ignore-errors`` option keeps errors from
stopping the reporting, but files that couldn't parse as Python will always
be reported as warnings.  As with other warnings, you can suppress them with
the ``[run] disable_warnings`` configuration setting.

- Coverage.py no longer fails if the user program deletes its current
directory. Fixes `issue 806`_.  Thanks, Dan Hemberger.

- The scrollbar markers in the HTML report now accurately show the highlighted
lines, regardless of what categories of line are highlighted.

- The hack to accommodate ShiningPanda_ looking for an obsolete internal data
file has been removed, since ShiningPanda 0.22 fixed it four years ago.

- The deprecated `Reporter.file_reporters` property has been removed.

.. _ShiningPanda: https://wiki.jenkins.io/display/JENKINS/ShiningPanda+Plugin
.. _issue 806: https://github.com/nedbat/coveragepy/pull/806
.. _issue 828: https://github.com/nedbat/coveragepy/issues/828


.. _changes_50a5:

5.0a5

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

- Drop support for Python 3.4

- Dynamic contexts can now be set two new ways, both thanks to Justas
Sadzevičius.

- A plugin can implement a ``dynamic_context`` method to check frames for
 whether a new context should be started.  See
 :ref:`dynamic_context_plugins` for more details.

- Another tool (such as a test runner) can use the new
 :meth:`.Coverage.switch_context` method to explicitly change the context.

- The ``dynamic_context = test_function`` setting now works with Python 2
old-style classes, though it only reports the method name, not the class it
was defined on.  Closes `issue 797`_.

- ``fail_under`` values more than 100 are reported as errors.  Thanks to Mike
Fiedler for closing `issue 746`_.

- The "missing" values in the text output are now sorted by line number, so
that missing branches are reported near the other lines they affect. The
values used to show all missing lines, and then all missing branches.

- Access to the SQLite database used for data storage is now thread-safe.
Thanks, Stephan Richter. This closes `issue 702`_.

- Combining data stored in SQLite is now about twice as fast, fixing `issue
761`_.  Thanks, Stephan Richter.

- The ``filename`` attribute on :class:`.CoverageData` objects has been made
private.  You can use the ``data_filename`` method to get the actual file
name being used to store data, and the ``base_filename`` method to get the
original filename before parallelizing suffixes were added.  This is part of
fixing `issue 708`_.

- Line numbers in the HTML report now align properly with source lines, even
when Chrome's minimum font size is set, fixing `issue 748`_.  Thanks Wen Ye.

.. _issue 702: https://github.com/nedbat/coveragepy/issues/702
.. _issue 708: https://github.com/nedbat/coveragepy/issues/708
.. _issue 746: https://github.com/nedbat/coveragepy/issues/746
.. _issue 748: https://github.com/nedbat/coveragepy/issues/748
.. _issue 761: https://github.com/nedbat/coveragepy/issues/761
.. _issue 797: https://github.com/nedbat/coveragepy/issues/797


.. _changes_50a4:

5.0a4

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

- You can specify the command line to run your program with the ``[run]
command_line`` configuration setting, as requested in `issue 695`_.

- Coverage will create directories as needed for the data file if they don't
exist, closing `issue 721`_.

- The ``coverage run`` command has always adjusted the first entry in sys.path,
to properly emulate how Python runs your program.  Now this adjustment is
skipped if sys.path[0] is already different than Python's default.  This
fixes `issue 715`_.

- Improvements to context support:

- The "no such table: meta" error is fixed.: `issue 716`_.

- Combining data files is now much faster.

- Python 3.8 (as of today!) passes all tests.

.. _issue 695: https://github.com/nedbat/coveragepy/issues/695
.. _issue 715: https://github.com/nedbat/coveragepy/issues/715
.. _issue 716: https://github.com/nedbat/coveragepy/issues/716
.. _issue 721: https://github.com/nedbat/coveragepy/issues/721


.. _changes_50a3:

5.0a3

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

- Context support: static contexts let you specify a label for a coverage run,
which is recorded in the data, and retained when you combine files.  See
:ref:`contexts` for more information.

- Dynamic contexts: specifying ``[run] dynamic_context = test_function`` in the
config file will record the test function name as a dynamic context during
execution.  This is the core of "Who Tests What" (`issue 170`_).  Things to
note:

- There is no reporting support yet.  Use SQLite to query the .coverage file
 for information.  Ideas are welcome about how reporting could be extended
 to use this data.

- There's a noticeable slow-down before any test is run.

- Data files will now be roughly N times larger, where N is the number of
 tests you have.  Combining data files is therefore also N times slower.

- No other values for ``dynamic_context`` are recognized yet.  Let me know
 what else would be useful.  I'd like to use a pytest plugin to get better
 information directly from pytest, for example.

.. _issue 170: https://github.com/nedbat/coveragepy/issues/170

- Environment variable substitution in configuration files now supports two
syntaxes for controlling the behavior of undefined variables: if ``VARNAME``
is not defined, ``${VARNAME?}`` will raise an error, and ``${VARNAME-default
value}`` will use "default value".

- Partial support for Python 3.8, which has not yet released an alpha. Fixes
`issue 707`_ and `issue 714`_.

.. _issue 707: https://github.com/nedbat/coveragepy/issues/707
.. _issue 714: https://github.com/nedbat/coveragepy/issues/714


.. _changes_50a2:

5.0a2

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

- Coverage's data storage has changed.  In version 4.x, .coverage files were
basically JSON.  Now, they are SQLite databases.  This means the data file
can be created earlier than it used to.  A large amount of code was
refactored to support this change.

- Because the data file is created differently than previous releases, you
 may need ``parallel=true`` where you didn't before.

- The old data format is still available (for now) by setting the environment
 variable COVERAGE_STORAGE=json. Please tell me if you think you need to
 keep the JSON format.

- The database schema is guaranteed to change in the future, to support new
 features.  I'm looking for opinions about making the schema part of the
 public API to coverage.py or not.

- Development moved from `Bitbucket`_ to `GitHub`_.

- HTML files no longer have trailing and extra whitespace.

- The sort order in the HTML report is stored in local storage rather than
cookies, closing `issue 611`_.  Thanks, Federico Bond.

- pickle2json, for converting v3 data files to v4 data files, has been removed.

.. _Bitbucket: https://bitbucket.org/ned/coveragepy
.. _GitHub: https://github.com/nedbat/coveragepy

.. _issue 611: https://github.com/nedbat/coveragepy/issues/611


.. _changes_50a1:

5.0a1

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

- Coverage.py no longer supports Python 2.6 or 3.3.

- The location of the configuration file can now be specified with a
``COVERAGE_RCFILE`` environment variable, as requested in `issue 650`_.

- Namespace packages are supported on Python 3.7, where they used to cause
TypeErrors about path being None. Fixes `issue 700`_.

- A new warning (``already-imported``) is issued if measurable files have
already been imported before coverage.py started measurement.  See
:ref:`cmd_warnings` for more information.

- Running coverage many times for small runs in a single process should be
faster, closing `issue 625`_.  Thanks, David MacIver.

- Large HTML report pages load faster.  Thanks, Pankaj Pandey.

.. _issue 625: https://bitbucket.org/ned/coveragepy/issues/625/lstat-dominates-in-the-case-of-small
.. _issue 650: https://bitbucket.org/ned/coveragepy/issues/650/allow-setting-configuration-file-location
.. _issue 700: https://github.com/nedbat/coveragepy/issues/700


.. _changes_454:

4.5.4

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

- Multiprocessing support in Python 3.8 was broken, but is now fixed.  Closes
`issue 828`_.

.. _issue 828: https://github.com/nedbat/coveragepy/issues/828


.. _changes_453:

4.5.3

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

- Only packaging metadata changes.


.. _changes_452:

4.5.2

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

- Namespace packages are supported on Python 3.7, where they used to cause
TypeErrors about path being None. Fixes `issue 700`_.

- Python 3.8 (as of today!) passes all tests.  Fixes `issue 707`_ and
`issue 714`_.

- Development moved from `Bitbucket`_ to `GitHub`_.

.. _issue 700: https://github.com/nedbat/coveragepy/issues/700
.. _issue 707: https://github.com/nedbat/coveragepy/issues/707
.. _issue 714: https://github.com/nedbat/coveragepy/issues/714

.. _Bitbucket: https://bitbucket.org/ned/coveragepy
.. _GitHub: https://github.com/nedbat/coveragepy


.. _changes_451:
Links
  • PyPI: https://pypi.org/project/coverage
  • Changelog: https://pyup.io/changelogs/coverage/
  • Repo: https://github.com/nedbat/coveragepy

Update dash from 0.22.0 to 1.13.4.

Changelog

1.13.4

Fixed
- [1310](https://github.com/plotly/dash/pull/1310) Fix a regression since 1.13.0 preventing more than one loading state from being shown at a time.

1.13.2

Fixed
- [1305](https://github.com/plotly/dash/issues/1305)
 - Fix regression that causes crash when `FLASK_ENV` is modified during app execution
 - Fix regression that caused tests using `_wait_for_callbacks` to fail

1.13.0

Added
- [1289](https://github.com/plotly/dash/pull/1289) Supports `DASH_PROXY` env var to tell `app.run_server` to report the correct URL to view your app, when it's being proxied. Throws an error if the proxy is incompatible with the host and port you've given the server.
- [1240](https://github.com/plotly/dash/pull/1240) Adds `callback_context` to clientside callbacks (e.g. `dash_clientside.callback_context.triggered`). Supports `triggered`, `inputs`, `inputs_list`, `states`, and `states_list`, all of which closely resemble their serverside cousins.

Changed
- [1237](https://github.com/plotly/dash/pull/1237) Closes [920](https://github.com/plotly/dash/issues/920): Converts hot reload fetch failures into a server status indicator showing whether the latest fetch succeeded or failed. Callback fetch failures still appe

pyup-bot avatar Jun 29 '20 16:06 pyup-bot