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

Scheduled monthly dependency update for July #146

Merged
merged 8 commits into from
Jul 5, 2019

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Jul 1, 2019

Update astropy from 3.1.2 to 3.2.1.

Changelog

3.2.1

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

Bug fixes
---------

astropy.config
^^^^^^^^^^^^^^

astropy.constants
^^^^^^^^^^^^^^^^^

astropy.convolution
^^^^^^^^^^^^^^^^^^^

astropy.coordinates
^^^^^^^^^^^^^^^^^^^

astropy.cosmology
^^^^^^^^^^^^^^^^^

astropy.extern
^^^^^^^^^^^^^^

astropy.io.ascii
^^^^^^^^^^^^^^^^

astropy.io.misc
^^^^^^^^^^^^^^^

astropy.io.fits
^^^^^^^^^^^^^^^

- Avoid reporting a warning with ``BinTableHDU.from_columns`` with keywords that
are not provided by the user.  [8838]

astropy.io.registry
^^^^^^^^^^^^^^^^^^^

astropy.io.votable
^^^^^^^^^^^^^^^^^^

astropy.modeling
^^^^^^^^^^^^^^^^

astropy.nddata
^^^^^^^^^^^^^^

astropy.samp
^^^^^^^^^^^^

astropy.stats
^^^^^^^^^^^^^

astropy.table
^^^^^^^^^^^^^

- Fix a problem where mask was dropped when creating a ``MaskedColumn``
from a list of ``MaskedArray`` objects. [8826]

astropy.tests
^^^^^^^^^^^^^

astropy.time
^^^^^^^^^^^^

astropy.timeseries
^^^^^^^^^^^^^^^^^^

astropy.uncertainty
^^^^^^^^^^^^^^^^^^^

astropy.units
^^^^^^^^^^^^^

- Fixed a bug that prevented ``EarthLocation`` from being initialized with
numpy >=1.17. [8849]

astropy.utils
^^^^^^^^^^^^^

astropy.visualization
^^^^^^^^^^^^^^^^^^^^^

astropy.wcs
^^^^^^^^^^^


Other Changes and Additions
---------------------------

3.2

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

New Features
------------

astropy.constants
^^^^^^^^^^^^^^^^^

- Add CODATA 2018 constants but not make them default because the
redefinition of SI units that will follow has not been implemented
yet. [8595]

astropy.coordinates
^^^^^^^^^^^^^^^^^^^

- New ``BarycentricMeanEcliptic``, ``HeliocentricTrueEcliptic`` and
``GeocentricTrueEcliptic`` frames.
The ecliptic frames are no longer considered experimental. [8394]

- The default time scale for epochs like 'J2000' or 'B1975' is now "tt",
which is the correct one for 'J2000' and avoids leap-second warnings
for epochs in the far future or past. [8600]

astropy.extern
^^^^^^^^^^^^^^

- Bundled ``six`` now emits ``AstropyDeprecationWarning``. It will be removed
in 4.0. [8323]

astropy.io.ascii
^^^^^^^^^^^^^^^^

- IPAC tables now output data types of ``float`` instead of ``double``, or
``int`` instead of ``long``, based on the column ``dtype.itemsize``. [8216]

- Update handling of MaskedColumn columns when using the 'data_mask' serialization
method.  This can make writing ECSV significantly faster if the data do not
actually have any masked values. [8447]

- Fixed a bug that caused newlines to be incorrect when writing out ASCII tables
on Windows (they were ``\r\r\n`` instead of ``\r\n``). [8659]

astropy.io.misc
^^^^^^^^^^^^^^^

- Implement serialization of ``TimeDelta`` in ASDF. [8285]

- Implement serialization of ``EarthLocation`` in ASDF. [8286]

- Implement serialization of ``SkyCoord`` in ASDF. [8284]

- Support serialization of Astropy tables with mixin columns in ASDF. [8337]

- No warnings when reading HDF5 files with only one table and no ``path=``
argument [8483]

- The HDF5 writer will now create a default table instead of raising an
exception when ``path=`` is not specified and when writing to empty/new HDF5
files. [8553]

astropy.io.fits
^^^^^^^^^^^^^^^

- Optimize parsing of cards within the ``Header`` class. [8428]

- Optimize the parsing of headers to get the structural keywords that are
needed to find extensions. Thanks to this, getting a random HDU from a file
with many extensions is much faster than before, in particular when the
extension headers contain many keywords. [8502]

-  Change behavior of FITS undefined value in ``Header`` such that ``None``
is used in Python to represent FITS undefined when using dict interface.
``Undefined`` can also be assigned and is translated to ``None``.
Previously setting a header card value to ``None`` resulted in an
empty string field rather than a FITS undefined value. [8572]

- Allow ``Header.fromstring`` and ``Card.fromstring`` to accept ``bytes``.
[8707]

astropy.io.registry
^^^^^^^^^^^^^^^^^^^

- Implement ``Table`` reader and writer for ``ASDF``. [8261]

- Implement ``Table`` reader and writer methods to wrap ``pandas`` I/O methods
for CSV, Fixed width format, HTML, and JSON. [8381]

- Add ``help()`` and ``list_formats()`` methods to unified I/O ``read`` and
``write`` methods. For example ``Table.read.help()`` gives help on available
``Table`` read formats and ``Table.read.help('fits')`` gives detailed
help on the arguments for reading FITS table file. [8255]

astropy.table
^^^^^^^^^^^^^

- Initializing a table with ``Table(rows=...)``, if the first item is an ``OrderedDict``,
now uses the column order of the first row. [8587]

- Added new pprint_all() and pformat_all() methods to Table. These two new
methods print the entire table by default. [8577]

- Removed restriction of initializing a Table from a dict with copy=False. [8541]

- Improved speed of table row access by a factor of about 2-3.  Improved speed
of Table len() by a factor of around 3-10 (depending on the number of columns).
[8494]

- Improved the Table - pandas ``DataFrame`` interface (``to_pandas()`` and
``from_pandas()``).  Mixin columns like ``Time`` and ``Quantity`` can now be
converted to pandas by flattening the columns as necessary to plain
columns.  ``Time`` and ``TimeDelta`` columns get converted to
corresponding pandas date or time delta types.  The ``DataFrame``
index is now handled in the conversion methods. [8247]

- Added ``rename_columns`` method to rename multiple columns in one call.
[5159, 8070]

- Improved Table performance by reducing unnecessary calls to copy and deepcopy,
especially as related to the table and column ``meta`` attributes.  Changed the
behavior when slicing a table (either in rows or with a list of column names)
so now the sliced output gets a light (key-only) copy of ``meta`` instead of a
deepcopy.  Changed the ``Table.meta`` class-level descriptor so that assigning
directly to ``meta``, e.g. ``tbl.meta = new_meta`` no longer does a deepcopy
and instead just directly assigns the ``new_meta`` object reference.  Changed
Table initialization so that input ``meta`` is copied only if ``copy=True``.
[8404]

- Improved Table slicing performance with internal implementation changes
related to column attribute access and certain input validation. [8493]

- Added ``reverse`` argument to the ``sort`` and ``argsort`` methods to allow
sorting in reverse order. [8528]

- Improved ``Table.sort()`` performance by removing ``self[keys]`` from code
which is creating deep copies of ``meta`` attribute and adding a new keyword
``names`` in ``get_index()`` to get index by using a list or tuple containing
names of columns. [8570]

- Expose ``represent_mixins_as_columns`` as a public function in the
``astropy.table`` subpackage.  This previously-private function in the
``table.serialize`` module is used to represent mixin columns in a Table as
one or more plain Column objects. [7729]

astropy.timeseries
^^^^^^^^^^^^^^^^^^

- Added a new astropy.timeseries sub-package to represent and manipulate
sampled and binned time series. [8540]

- The ``BoxLeastSquares`` and ``LombScargle`` classes have been moved to
``astropy.timeseries.periodograms`` from ``astropy.stats``. [8591]

- Added the ability to provide absolute ``Time`` objects to the
``BoxLeastSquares`` and ``LombScargle`` periodogram classes. [8599]

- Added model inspection methods (``model_parameters()``, ``design_matrix()``,
and ``offset()``) to ``astropy.timeseries.LombScargle`` class [8397].

astropy.units
^^^^^^^^^^^^^

- ``Quantity`` overrides of ``ndarray`` methods such as ``sum``, ``min``,
``max``, which are implemented via reductions, have been removed since they
are dealt with in ``Quantity.__array_ufunc__``. This should not affect
subclasses, but they may consider doing similarly. [8316]  Note that this
does not include methods that use more complicated python code such as
``mean``, ``std`` and ``var``. [8370]

astropy.visualization
^^^^^^^^^^^^^^^^^^^^^
- Added ``CompositeStretch``, which inherits from ``CompositeTransform`` and
also ``BaseStretch`` so that it can be used with ``ImageNormalize``. [8564]

- Added a ``log_a`` argument to the ``simple_norm`` method. Similar to the
exposing of the ``asinh_a`` argument for ``AsinhStretch``, the new
``log_a`` argument is now exposed for ``LogStretch``. [8436]

astropy.wcs
^^^^^^^^^^^

- WCSLIB was updated to v 6.2.
This adds support for time-related WCS keywords (WCS Paper VII).
FITS headers containing ``Time`` axis are parsed and the axis is included in
the WCS object. [8592]

- The ``OBSGEO`` attribute as expanded to 6 members - ``XYZLBH``. [8592]

- Added a new class ``SlicedLowLevelWCS`` in ``astropy.wcs.wcsapi`` that can be
used to slice any WCS that conforms to the ``BaseLowLevelWCS`` API. [8546]

- Updated implementation of ``WCS.__getitem__`` and ``WCS.slice`` to now return
a ``SlicedLowLevelWCS`` rather than raising an error when reducing the
dimensionality of the WCS. [8546]


API Changes
-----------

astropy.coordinates
^^^^^^^^^^^^^^^^^^^

- ``QuantityAttribute`` no longer has a default value for ``default``.  The
previous value of None was misleading as it always was an error. [8450]

- The default J2000 has been changed to use be January 1, 2000 12:00 TT instead
of UTC.  This is more in line with convention. [8594]

astropy.io.ascii
^^^^^^^^^^^^^^^^

- IPAC tables now output data types of ``float`` instead of ``double``, or
``int`` instead of ``long``, based on the column ``dtype.itemsize``. [8216]

astropy.io.misc
^^^^^^^^^^^^^^^

- Unit equivalencies can now be serialized to ASDF. [8252]

astropy.modeling
^^^^^^^^^^^^^^^^

- Composition of model classes is deprecated and will be removed in 4.0.
Composition of model instances remain unaffected. [8234, 8408]

astropy.stats
^^^^^^^^^^^^^

- The ``BoxLeastSquares`` and ``LombScargle`` classes have been moved to the
``astropy.timeseries.periodograms`` module and will now emit a deprecation
warning when imported from ``astropy.stats``. [8591]

astropy.table
^^^^^^^^^^^^^

- Converting an empty table to an array using ``as_array`` method now returns
an empty array instead of ``None``. [8647]

- Changed the behavior when slicing a table (either in rows or with a list of column
names) so now the sliced output gets a light (key-only) copy of ``meta`` instead of
a deepcopy.  Changed the ``Table.meta`` class-level descriptor so that assigning
directly to ``meta``, e.g. ``tbl.meta = new_meta`` no longer does a deepcopy
and instead just directly assigns the ``new_meta`` object reference. Changed
Table initialization so that input ``meta`` is copied only if ``copy=True``.
[8404]

- Added a keyword ``names`` in ``Table.as_array()``.  If provided this specifies
a list of column names to include for the returned structured array. [8532]

astropy.tests
^^^^^^^^^^^^^

- Removed ``pytest_plugins`` as they are completely broken for ``pytest>=4``.
[7786]

- Removed the ``astropy.tests.plugins.config`` plugin and removed the
``--astropy-config-dir`` and ``--astropy-cache-dir`` options from
testing. Please use caching functionality that is natively in ``pytest``.
[7787, 8489]

astropy.time
^^^^^^^^^^^^

- The default time scale for epochs like 'J2000' or 'B1975' is now "tt",
which is the correct one for 'J2000' and avoids leap-second warnings
for epochs in the far future or past. [8600]

astropy.units
^^^^^^^^^^^^^

- Unit equivalencies can now be introspected. [8252]

astropy.wcs
^^^^^^^^^^^

- The ``world_to_pixel``, ``world_to_array_index*``, ``pixel_to_world*`` and
``array_index_to_world*`` methods now all consistently return scalars, arrays,
or objects not wrapped in a one-element tuple/list when only one scalar,
array, or object (as was previously already the case for ``WCS.pixel_to_world``
and ``WCS.array_index_to_world``). [8663]

astropy.utils
^^^^^^^^^^^^^

- It is now possible to control the number of cores used by ``ProgressBar.map``
by passing a positive integer as the ``multiprocess`` keyword argument. Use
``True`` to use all cores. [8083]


Bug Fixes
---------

astropy.coordinates
^^^^^^^^^^^^^^^^^^^

- ``BarycentricTrueEcliptic``, ``HeliocentricTrueEcliptic`` and
``GeocentricTrueEcliptic`` now use the correct transformation
(including nutation), whereas the new ``*MeanEcliptic`` classes
use the nutation-free transformation. [8394]

- Representations with ``float32`` coordinates can now be transformed,
although the output will always be ``float64``. [8759]

- Fixed bug that prevented using differentials with HCRS<->ICRS
transformations. [8794]

astropy.io.ascii
^^^^^^^^^^^^^^^^

- Fixed a bug where an exception was raised when writing a table which includes
mixin columns (e.g. a Quantity column) and the output format was specified
using the ``formats`` keyword. [8681]

astropy.io.misc
^^^^^^^^^^^^^^^

- Fixed bug in ASDF tag that inadvertently introduced dependency on ``pytest``.
[8456]

astropy.modeling
^^^^^^^^^^^^^^^^

- Fixed slowness for certain compound models consisting of large numbers
of multi-input models [8338, 8349]

- Fixed bugs in fitting of compound models with units. [8369]

astropy.nddata
^^^^^^^^^^^^^^

- Fixed bug in reading multi-extension FITS files written by earlier versions
of ``CCDData``. [8534]

- Fixed two errors in the way ``CCDData`` handles FITS files with WCS in the
header. Some of the WCS keywords that should have been removed from the
header were not, potentially leading to FITS files with inconsistent
WCS. [8602]

astropy.table
^^^^^^^^^^^^^

- Fixed a bug when initializing from an empty list: ``Table([])`` no longer
results in a crash. [8647]

- Fixed a bug when initializing from an existing ``Table``.  In this case the
input ``meta`` argument was being ignored.  Now the input ``meta``, if
supplied, will be used as the ``meta`` for the new ``Table``. [8404]

- Fix the conversion of bytes values to Python ``str`` with ``Table.tolist``.
[8739]

astropy.time
^^^^^^^^^^^^

- Fixed a number of issues to ensure a consistent output type resulting from
multiplication or division involving a ``TimeDelta`` instance. The output is
now always a ``TimeDelta`` if the result is a time unit (like u.s or u.d),
otherwise it will be a ``Quantity``. [8356]

- Multiplication between two ``TimeDelta`` instances is now possible, resulting
in a ``Quantity`` with units of time squared (division already correctly
resulted in a dimensionless ``Quantity``). [8356]

- Like for comparisons, addition, and subtraction of ``Time`` instances with
with non-time instances, multiplication and division of ``TimeDelta``
instances with incompatible other instances no longer immediately raise an
``UnitsError`` or ``TypeError`` (depending on the other instance), but
rather go through the regular Python mechanism of ``TimeDelta`` returning
``NotImplemented`` (which will lead to a regular ``TypeError`` unless the
other instance can handle ``TimeDelta``). [8356]

- Corrected small rounding errors that could cause the ``jd2`` values in
``Time`` to fall outside the range of -0.5 to 0.5. [8763]

astropy.units
^^^^^^^^^^^^^

- Added a ``Quantity.to_string`` method to add flexibility to the string formatting
of quantities. It produces unadorned or LaTeX strings, and accepts two different
sets of delimiters in the latter case: ``inline`` and ``display``. [8313]

- Ensure classes that mimic quantities by having a ``unit`` attribute and/or
``to`` and ``to_value`` methods can be properly used to initialize ``Quantity``
or set ``Quantity`` instance items. [8535]

- Add support for ``<<`` to create logarithmic units. [8290]

- Add support for the ``clip`` ufunc, which in numpy 1.17 is used to implement
``np.clip``.  As part of that, remove the ``Quantity.clip`` method under
numpy 1.17. [8747]

- Fix parsing of numerical powers in FITS-compatible units. [8251]

astropy.wcs
^^^^^^^^^^^

- Added a ``PyUnitListProxy_richcmp`` method in ``UnitListProxy`` class to enable
``WCS.wcs.cunit`` equality testing. It helps to check whether the two instances of
``WCS.wcs.cunit`` are equal or not by comparing the data members of
``UnitListProxy`` class [8480]

- Fixed ``SlicedLowLevelWCS`` when ``array_shape`` is ``None``. [8649]

- Do not attempt to delete repeated distortion keywords multiple times when
loading distortions with ``_read_distortion_kw`` and
``_read_det2im_kw``. [8777]

- Added ``None`` to be displayed as a ``world_axis_physical_types`` in
the ``WCS`` repr, as ``None`` values are now supported in ``APE14``. [8811]


Other Changes and Additions
---------------------------

- Update bundled expat to 2.2.6. [8343]

- Added instructions for uploading releases to Zenodo. [8395]

- The bug fixes to the behaviour of ``TimeDelta`` for multiplcation and
division, which ensure that the output is now always a ``TimeDelta`` if the
result is a time unit (like u.s or u.d) and otherwise a ``Quantity``, imply
that sometimes the output type will be different than it was before. [8356]

- For types unrecognized by ``TimeDelta``, multiplication and division now
will consistently return a ``TypeError`` if the other instance cannot handle
``TimeDelta`` (rather than ``UnitsError`` or ``TypeError`` depending on
presumed abilities of the other instance). [8356]

- Multiplication between two ``TimeDelta`` instances will no longer result in
an ``OperandTypeError``, but rather result in a ``Quantity`` with units of
time squared (division already correctly resulted in a dimensionless
``Quantity``). [8356]

- Made running the tests insensitive to local user configuration when running
the tests in parallel mode or directly with pytest. [8727]

- Added a narrative style guide to the documentation for contributor reference.
[8588]

- Ensure we call numpy equality functions in a way that reduces the number
of ``DeprecationWarning``. [8755]

Installation
^^^^^^^^^^^^

- We now require setuptools 30.3.0 or later to install the core astropy
package. [8240]

- We now define groups of dependencies that can be installed with pip, e.g.
``pip install astropy[all]`` (to install all optional dependencies). [8198]
Links

Update hypothesis from 4.24.0 to 4.24.6.

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

Links

Update multiprocess from 0.70.7 to 0.70.8.

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

Links

Update mypy from 0.701 to 0.711.

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

Links

Update pre-commit from 1.16.1 to 1.17.0.

Changelog

1.17.0

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

Features
- Produce better output on `^C`
 - 1030 PR by asottile.
- Warn on unknown keys at the top level and repo level
 - 1028 PR by yoavcaspi.
 - 1048 PR by asottile.

Fixes
- Fix handling of `^C` in wrapper script in python 3.x
 - 1027 PR by asottile.
- Fix `rmtree` for non-writable directories
 - 1042 issue by detailyang.
 - 1043 PR by asottile.
- Pass `--color` option to `git diff` in `--show-diff-on-failure`
 - 1007 issue by chadrik.
 - 1051 PR by mandarvaze.

Misc.
- Fix test when `pre-commit` is installed globally
 - 1032 issue by yoavcaspi.
 - 1045 PR by asottile.
Links

Update pytest from 4.5.0 to 5.0.0.

Changelog

5.0.0

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

Important
---------

This release is a Python3.5+ only release.

For more details, see our `Python 2.7 and 3.4 support plan <https://docs.pytest.org/en/latest/py27-py34-deprecation.html>`__.

Removals
--------

- `1149 <https://github.com/pytest-dev/pytest/issues/1149>`_: Pytest no longer accepts prefixes of command-line arguments, for example
typing ``pytest --doctest-mod`` inplace of ``--doctest-modules``.
This was previously allowed where the ``ArgumentParser`` thought it was unambiguous,
but this could be incorrect due to delayed parsing of options for plugins.
See for example issues `1149 <https://github.com/pytest-dev/pytest/issues/1149>`__,
`3413 <https://github.com/pytest-dev/pytest/issues/3413>`__, and
`4009 <https://github.com/pytest-dev/pytest/issues/4009>`__.


- `5402 <https://github.com/pytest-dev/pytest/issues/5402>`_: **PytestDeprecationWarning are now errors by default.**

Following our plan to remove deprecated features with as little disruption as
possible, all warnings of type ``PytestDeprecationWarning`` now generate errors
instead of warning messages.

**The affected features will be effectively removed in pytest 5.1**, so please consult the
`Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__
section in the docs for directions on how to update existing code.

In the pytest ``5.0.X`` series, it is possible to change the errors back into warnings as a stop
gap measure by adding this to your ``pytest.ini`` file:

.. code-block:: ini

   [pytest]
   filterwarnings =
       ignore::pytest.PytestDeprecationWarning

But this will stop working when pytest ``5.1`` is released.

**If you have concerns** about the removal of a specific feature, please add a
comment to `5402 <https://github.com/pytest-dev/pytest/issues/5402>`__.


- `5412 <https://github.com/pytest-dev/pytest/issues/5412>`_: ``ExceptionInfo`` objects (returned by ``pytest.raises``) now have the same ``str`` representation as ``repr``, which
avoids some confusion when users use ``print(e)`` to inspect the object.



Deprecations
------------

- `4488 <https://github.com/pytest-dev/pytest/issues/4488>`_: The removal of the ``--result-log`` option and module has been postponed to (tentatively) pytest 6.0 as
the team has not yet got around to implement a good alternative for it.


- `466 <https://github.com/pytest-dev/pytest/issues/466>`_: The ``funcargnames`` attribute has been an alias for ``fixturenames`` since
pytest 2.3, and is now deprecated in code too.



Features
--------

- `3457 <https://github.com/pytest-dev/pytest/issues/3457>`_: New `pytest_assertion_pass <https://docs.pytest.org/en/latest/reference.html_pytest.hookspec.pytest_assertion_pass>`__
hook, called with context information when an assertion *passes*.

This hook is still **experimental** so use it with caution.


- `5440 <https://github.com/pytest-dev/pytest/issues/5440>`_: The `faulthandler <https://docs.python.org/3/library/faulthandler.html>`__ standard library
module is now enabled by default to help users diagnose crashes in C modules.

This functionality was provided by integrating the external
`pytest-faulthandler <https://github.com/pytest-dev/pytest-faulthandler>`__ plugin into the core,
so users should remove that plugin from their requirements if used.

For more information see the docs: https://docs.pytest.org/en/latest/usage.htmlfault-handler


- `5452 <https://github.com/pytest-dev/pytest/issues/5452>`_: When warnings are configured as errors, pytest warnings now appear as originating from ``pytest.`` instead of the internal ``_pytest.warning_types.`` module.


- `5125 <https://github.com/pytest-dev/pytest/issues/5125>`_: ``Session.exitcode`` values are now coded in ``pytest.ExitCode``, an ``IntEnum``. This makes the exit code available for consumer code and are more explicit other than just documentation. User defined exit codes are still valid, but should be used with caution.

The team doesn't expect this change to break test suites or plugins in general, except in esoteric/specific scenarios.

**pytest-xdist** users should upgrade to ``1.29.0`` or later, as ``pytest-xdist`` required a compatibility fix because of this change.



Bug Fixes
---------

- `1403 <https://github.com/pytest-dev/pytest/issues/1403>`_: Switch from ``imp`` to ``importlib``.


- `1671 <https://github.com/pytest-dev/pytest/issues/1671>`_: The name of the ``.pyc`` files cached by the assertion writer now includes the pytest version
to avoid stale caches.


- `2761 <https://github.com/pytest-dev/pytest/issues/2761>`_: Honor PEP 235 on case-insensitive file systems.


- `5078 <https://github.com/pytest-dev/pytest/issues/5078>`_: Test module is no longer double-imported when using ``--pyargs``.


- `5260 <https://github.com/pytest-dev/pytest/issues/5260>`_: Improved comparison of byte strings.

When comparing bytes, the assertion message used to show the byte numeric value when showing the differences::

       def test():
   >       assert b'spam' == b'eggs'
   E       AssertionError: assert b'spam' == b'eggs'
   E         At index 0 diff: 115 != 101
   E         Use -v to get the full diff

It now shows the actual ascii representation instead, which is often more useful::

       def test():
   >       assert b'spam' == b'eggs'
   E       AssertionError: assert b'spam' == b'eggs'
   E         At index 0 diff: b's' != b'e'
   E         Use -v to get the full diff


- `5335 <https://github.com/pytest-dev/pytest/issues/5335>`_: Colorize level names when the level in the logging format is formatted using
'%(levelname).Xs' (truncated fixed width alignment), where X is an integer.


- `5354 <https://github.com/pytest-dev/pytest/issues/5354>`_: Fix ``pytest.mark.parametrize`` when the argvalues is an iterator.


- `5370 <https://github.com/pytest-dev/pytest/issues/5370>`_: Revert unrolling of ``all()`` to fix ``NameError`` on nested comprehensions.


- `5371 <https://github.com/pytest-dev/pytest/issues/5371>`_: Revert unrolling of ``all()`` to fix incorrect handling of generators with ``if``.


- `5372 <https://github.com/pytest-dev/pytest/issues/5372>`_: Revert unrolling of ``all()`` to fix incorrect assertion when using ``all()`` in an expression.


- `5383 <https://github.com/pytest-dev/pytest/issues/5383>`_: ``-q`` has again an impact on the style of the collected items
(``--collect-only``) when ``--log-cli-level`` is used.


- `5389 <https://github.com/pytest-dev/pytest/issues/5389>`_: Fix regressions of `5063 <https://github.com/pytest-dev/pytest/pull/5063>`__ for ``importlib_metadata.PathDistribution`` which have their ``files`` attribute being ``None``.


- `5390 <https://github.com/pytest-dev/pytest/issues/5390>`_: Fix regression where the ``obj`` attribute of ``TestCase`` items was no longer bound to methods.


- `5404 <https://github.com/pytest-dev/pytest/issues/5404>`_: Emit a warning when attempting to unwrap a broken object raises an exception,
for easier debugging (`5080 <https://github.com/pytest-dev/pytest/issues/5080>`__).


- `5432 <https://github.com/pytest-dev/pytest/issues/5432>`_: Prevent "already imported" warnings from assertion rewriter when invoking pytest in-process multiple times.


- `5433 <https://github.com/pytest-dev/pytest/issues/5433>`_: Fix assertion rewriting in packages (``__init__.py``).


- `5444 <https://github.com/pytest-dev/pytest/issues/5444>`_: Fix ``--stepwise`` mode when the first file passed on the command-line fails to collect.


- `5482 <https://github.com/pytest-dev/pytest/issues/5482>`_: Fix bug introduced in 4.6.0 causing collection errors when passing
more than 2 positional arguments to ``pytest.mark.parametrize``.


- `5505 <https://github.com/pytest-dev/pytest/issues/5505>`_: Fix crash when discovery fails while using ``-p no:terminal``.



Improved Documentation
----------------------

- `5315 <https://github.com/pytest-dev/pytest/issues/5315>`_: Expand docs on mocking classes and dictionaries with ``monkeypatch``.


- `5416 <https://github.com/pytest-dev/pytest/issues/5416>`_: Fix PytestUnknownMarkWarning in run/skip example.

4.6.4

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

Bug Fixes
---------

- `5404 <https://github.com/pytest-dev/pytest/issues/5404>`_: Emit a warning when attempting to unwrap a broken object raises an exception,
for easier debugging (`5080 <https://github.com/pytest-dev/pytest/issues/5080>`__).


- `5444 <https://github.com/pytest-dev/pytest/issues/5444>`_: Fix ``--stepwise`` mode when the first file passed on the command-line fails to collect.


- `5482 <https://github.com/pytest-dev/pytest/issues/5482>`_: Fix bug introduced in 4.6.0 causing collection errors when passing
more than 2 positional arguments to ``pytest.mark.parametrize``.


- `5505 <https://github.com/pytest-dev/pytest/issues/5505>`_: Fix crash when discovery fails while using ``-p no:terminal``.

4.6.3

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

Bug Fixes
---------

- `5383 <https://github.com/pytest-dev/pytest/issues/5383>`_: ``-q`` has again an impact on the style of the collected items
(``--collect-only``) when ``--log-cli-level`` is used.


- `5389 <https://github.com/pytest-dev/pytest/issues/5389>`_: Fix regressions of `5063 <https://github.com/pytest-dev/pytest/pull/5063>`__ for ``importlib_metadata.PathDistribution`` which have their ``files`` attribute being ``None``.


- `5390 <https://github.com/pytest-dev/pytest/issues/5390>`_: Fix regression where the ``obj`` attribute of ``TestCase`` items was no longer bound to methods.

4.6.2

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

Bug Fixes
---------

- `5370 <https://github.com/pytest-dev/pytest/issues/5370>`_: Revert unrolling of ``all()`` to fix ``NameError`` on nested comprehensions.


- `5371 <https://github.com/pytest-dev/pytest/issues/5371>`_: Revert unrolling of ``all()`` to fix incorrect handling of generators with ``if``.


- `5372 <https://github.com/pytest-dev/pytest/issues/5372>`_: Revert unrolling of ``all()`` to fix incorrect assertion when using ``all()`` in an expression.

4.6.1

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

Bug Fixes
---------

- `5354 <https://github.com/pytest-dev/pytest/issues/5354>`_: Fix ``pytest.mark.parametrize`` when the argvalues is an iterator.


- `5358 <https://github.com/pytest-dev/pytest/issues/5358>`_: Fix assertion rewriting of ``all()`` calls to deal with non-generators.

4.6.0

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

Important
---------

The ``4.6.X`` series will be the last series to support **Python 2 and Python 3.4**.

For more details, see our `Python 2.7 and 3.4 support plan <https://docs.pytest.org/en/latest/py27-py34-deprecation.html>`__.


Features
--------

- `4559 <https://github.com/pytest-dev/pytest/issues/4559>`_: Added the ``junit_log_passing_tests`` ini value which can be used to enable or disable logging of passing test output in the Junit XML file.


- `4956 <https://github.com/pytest-dev/pytest/issues/4956>`_: pytester's ``testdir.spawn`` uses ``tmpdir`` as HOME/USERPROFILE directory.


- `5062 <https://github.com/pytest-dev/pytest/issues/5062>`_: Unroll calls to ``all`` to full for-loops with assertion rewriting for better failure messages, especially when using Generator Expressions.


- `5063 <https://github.com/pytest-dev/pytest/issues/5063>`_: Switch from ``pkg_resources`` to ``importlib-metadata`` for entrypoint detection for improved performance and import time.


- `5091 <https://github.com/pytest-dev/pytest/issues/5091>`_: The output for ini options in ``--help`` has been improved.


- `5269 <https://github.com/pytest-dev/pytest/issues/5269>`_: ``pytest.importorskip`` includes the ``ImportError`` now in the default ``reason``.


- `5311 <https://github.com/pytest-dev/pytest/issues/5311>`_: Captured logs that are output for each failing test are formatted using the
ColoredLevelFormatter.


- `5312 <https://github.com/pytest-dev/pytest/issues/5312>`_: Improved formatting of multiline log messages in Python 3.



Bug Fixes
---------

- `2064 <https://github.com/pytest-dev/pytest/issues/2064>`_: The debugging plugin imports the wrapped ``Pdb`` class (``--pdbcls``) on-demand now.


- `4908 <https://github.com/pytest-dev/pytest/issues/4908>`_: The ``pytest_enter_pdb`` hook gets called with post-mortem (``--pdb``).


- `5036 <https://github.com/pytest-dev/pytest/issues/5036>`_: Fix issue where fixtures dependent on other parametrized fixtures would be erroneously parametrized.


- `5256 <https://github.com/pytest-dev/pytest/issues/5256>`_: Handle internal error due to a lone surrogate unicode character not being representable in Jython.


- `5257 <https://github.com/pytest-dev/pytest/issues/5257>`_: Ensure that ``sys.stdout.mode`` does not include ``'b'`` as it is a text stream.


- `5278 <https://github.com/pytest-dev/pytest/issues/5278>`_: Pytest's internal python plugin can be disabled using ``-p no:python`` again.


- `5286 <https://github.com/pytest-dev/pytest/issues/5286>`_: Fix issue with ``disable_test_id_escaping_and_forfeit_all_rights_to_community_support`` option not working when using a list of test IDs in parametrized tests.


- `5330 <https://github.com/pytest-dev/pytest/issues/5330>`_: Show the test module being collected when emitting ``PytestCollectionWarning`` messages for
test classes with ``__init__`` and ``__new__`` methods to make it easier to pin down the problem.


- `5333 <https://github.com/pytest-dev/pytest/issues/5333>`_: Fix regression in 4.5.0 with ``--lf`` not re-running all tests with known failures from non-selected tests.



Improved Documentation
----------------------

- `5250 <https://github.com/pytest-dev/pytest/issues/5250>`_: Expand docs on use of ``setenv`` and ``delenv`` with ``monkeypatch``.
Links

Update pyyaml from 5.1 to 5.1.1.

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

Links

Update tqdm from 4.32.1 to 4.32.2.

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

Links

@coveralls
Copy link

Coverage Status

Coverage remained the same at 92.045% when pulling d918c0e on pyup/scheduled-update-2019-07-01 into cf00e30 on develop.

@jason-neal jason-neal merged commit 6fd7671 into develop Jul 5, 2019
@jason-neal jason-neal deleted the pyup/scheduled-update-2019-07-01 branch July 5, 2019 09:34
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.

None yet

3 participants