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 #94

Merged
merged 12 commits into from
Jul 14, 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 matplotlib from 3.0.3 to 3.1.0.

Changelog
Links

Update numpy from 1.16.2 to 1.16.4.

Changelog

1.16.4

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

The NumPy 1.16.4 release fixes bugs reported against the 1.16.3 release, and
also backports several enhancements from master that seem appropriate for a
release series that is the last to support Python 2.7. The wheels on PyPI are
linked with OpenBLAS v0.3.7-dev, which should fix issues on Skylake series
cpus.

Downstream developers building this release should use Cython >= 0.29.2 and,
if using OpenBLAS, OpenBLAS > v0.3.7. The supported Python versions are 2.7 and
3.5-3.7.


New deprecations
================
Writeable flag of C-API wrapped arrays
--------------------------------------
When an array is created from the C-API to wrap a pointer to data, the only
indication we have of the read-write nature of the data is the ``writeable``
flag set during creation. It is dangerous to force the flag to writeable.  In
the future it will not be possible to switch the writeable flag to ``True``
from python.  This deprecation should not affect many users since arrays
created in such a manner are very rare in practice and only available through
the NumPy C-API.


Compatibility notes
===================

Potential changes to the random stream
--------------------------------------
Due to bugs in the application of log to random floating point numbers,
the stream may change when sampling from ``np.random.beta``, ``np.random.binomial``,
``np.random.laplace``, ``np.random.logistic``, ``np.random.logseries`` or
``np.random.multinomial`` if a 0 is generated in the underlying MT19937 random stream.
There is a 1 in :math:`10^{53}` chance of this occurring, and so the probability that
the stream changes for any given seed is extremely small. If a 0 is encountered in the
underlying generator, then the incorrect value produced (either ``np.inf``
or ``np.nan``) is now dropped.


Changes
=======

`numpy.lib.recfunctions.structured_to_unstructured` does not squeeze single-field views
---------------------------------------------------------------------------------------
Previously ``structured_to_unstructured(arr[['a']])`` would produce a squeezed
result inconsistent with ``structured_to_unstructured(arr[['a', b']])``. This
was accidental. The old behavior can be retained with
``structured_to_unstructured(arr[['a']]).squeeze(axis=-1)`` or far more simply,
``arr['a']``.


Contributors
============

A total of 10 people contributed to this release.  People with a "+" by their
names contributed a patch for the first time.

* Charles Harris
* Eric Wieser
* Dennis Zollo +
* Hunter Damron +
* Jingbei Li +
* Kevin Sheppard
* Matti Picus
* Nicola Soranzo +
* Sebastian Berg
* Tyler Reddy


Pull requests merged
====================

A total of 16 pull requests were merged for this release.

* `13392 <https://github.com/numpy/numpy/pull/13392>`__: BUG: Some PyPy versions lack PyStructSequence_InitType2.
* `13394 <https://github.com/numpy/numpy/pull/13394>`__: MAINT, DEP: Fix deprecated ``assertEquals()``
* `13396 <https://github.com/numpy/numpy/pull/13396>`__: BUG: Fix structured_to_unstructured on single-field types (backport)
* `13549 <https://github.com/numpy/numpy/pull/13549>`__: BLD: Make CI pass again with pytest 4.5
* `13552 <https://github.com/numpy/numpy/pull/13552>`__: TST: Register markers in conftest.py.
* `13559 <https://github.com/numpy/numpy/pull/13559>`__: BUG: Removes ValueError for empty kwargs in arraymultiter_new
* `13560 <https://github.com/numpy/numpy/pull/13560>`__: BUG: Add TypeError to accepted exceptions in crackfortran.
* `13561 <https://github.com/numpy/numpy/pull/13561>`__: BUG: Handle subarrays in descr_to_dtype
* `13562 <https://github.com/numpy/numpy/pull/13562>`__: BUG: Protect generators from log(0.0)
* `13563 <https://github.com/numpy/numpy/pull/13563>`__: BUG: Always return views from structured_to_unstructured when...
* `13564 <https://github.com/numpy/numpy/pull/13564>`__: BUG: Catch stderr when checking compiler version
* `13565 <https://github.com/numpy/numpy/pull/13565>`__: BUG: longdouble(int) does not work
* `13587 <https://github.com/numpy/numpy/pull/13587>`__: BUG: distutils/system_info.py fix missing subprocess import (13523)
* `13620 <https://github.com/numpy/numpy/pull/13620>`__: BUG,DEP: Fix writeable flag setting for arrays without base
* `13641 <https://github.com/numpy/numpy/pull/13641>`__: MAINT: Prepare for the 1.16.4 release.
* `13644 <https://github.com/numpy/numpy/pull/13644>`__: BUG: special case object arrays when printing rel-, abs-error


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

1.16.3

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

The NumPy 1.16.3 release fixes bugs reported against the 1.16.2 release, and
also backports several enhancements from master that seem appropriate for a
release series that is the last to support Python 2.7. The wheels on PyPI are
linked with OpenBLAS v0.3.4+,  which should fix the known threading issues
found in previous OpenBLAS versions.

Downstream developers building this release should use Cython >= 0.29.2 and,
if using OpenBLAS, OpenBLAS > v0.3.4.

The most noticeable change in this release is that unpickling object arrays
when loading ``*.npy`` or ``*.npz`` files now requires an explicit opt-in.
This backwards incompatible change was made in response to
`CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>`_.


Compatibility notes
===================

Unpickling while loading requires explicit opt-in
-------------------------------------------------
The functions ``np.load``, and ``np.lib.format.read_array`` take an
`allow_pickle` keyword which now defaults to ``False`` in response to
`CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>`_.


Improvements
============

Covariance in `random.mvnormal` cast to double
----------------------------------------------
This should make the tolerance used when checking the singular values of the
covariance matrix more meaningful.


Changes
=======

``__array_interface__`` offset now works as documented
------------------------------------------------------
The interface may use an ``offset`` value that was previously mistakenly
ignored.



==========================
Links

Update scipy from 1.2.1 to 1.3.0.

Changelog

1.3.0

many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been some API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with ``python -Wd`` and check for ``DeprecationWarning`` s).
Our development attention will now shift to bug-fix releases on the
1.3.x branch, and on adding new features on the master branch.

This release requires Python 3.5+ and NumPy 1.13.3 or greater.

For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.

Highlights of this release
--------------------------

- Three new ``stats`` functions, a rewrite of ``pearsonr``, and an exact
computation of the Kolmogorov-Smirnov two-sample test
- A new Cython API for bounded scalar-function root-finders in `scipy.optimize`
- Substantial ``CSR`` and ``CSC`` sparse matrix indexing performance
improvements
- Added support for interpolation of rotations with continuous angular
rate and acceleration in ``RotationSpline``


New features
============

`scipy.interpolate` improvements
--------------------------------

A new class ``CubicHermiteSpline`` is introduced. It is a piecewise-cubic 
interpolator which matches observed values and first derivatives. Existing 
cubic interpolators ``CubicSpline``, ``PchipInterpolator`` and 
``Akima1DInterpolator`` were made subclasses of ``CubicHermiteSpline``.

`scipy.io` improvements
-----------------------

For the Attribute-Relation File Format (ARFF) `scipy.io.arff.loadarff` 
now supports relational attributes.

`scipy.io.mmread` can now parse Matrix Market format files with empty lines.

`scipy.linalg` improvements
---------------------------

Added wrappers for ``?syconv`` routines, which convert a symmetric matrix 
given by a triangular matrix factorization into two matrices and vice versa.

`scipy.linalg.clarkson_woodruff_transform` now uses an algorithm that leverages
sparsity. This may provide a 60-90 percent speedup for dense input matrices.
Truly sparse input matrices should also benefit from the improved sketch
algorithm, which now correctly runs in ``O(nnz(A))`` time.

Added new functions to calculate symmetric Fiedler matrices and
Fiedler companion matrices, named `scipy.linalg.fiedler` and 
`scipy.linalg.fiedler_companion`, respectively. These may be used
for root finding.

`scipy.ndimage` improvements
----------------------------

Gaussian filter performances may improve by an order of magnitude in
some cases, thanks to removal of a dependence on ``np.polynomial``. This
may impact `scipy.ndimage.gaussian_filter` for example.

`scipy.optimize` improvements
-----------------------------

The `scipy.optimize.brute` minimizer obtained a new keyword ``workers``, which
can be used to parallelize computation.

A Cython API for bounded scalar-function root-finders in `scipy.optimize`
is available in a new module `scipy.optimize.cython_optimize` via ``cimport``.
This API may be used with ``nogil`` and ``prange`` to loop 
over an array of function arguments to solve for an array of roots more 
quickly than with pure Python.

``'interior-point'`` is now the default method for ``linprog``, and 
``'interior-point'`` now uses SuiteSparse for sparse problems when the 
required scikits  (scikit-umfpack and scikit-sparse) are available. 
On benchmark problems (gh-10026), execution time reductions by factors of 2-3 
were typical. Also, a new ``method='revised simplex'`` has been added. 
It is not as fast or robust as ``method='interior-point'``, but it is a faster,
more robust, and equally accurate substitute for the legacy 
``method='simplex'``.

``differential_evolution`` can now use a ``Bounds`` class to specify the
bounds for the optimizing argument of a function.

`scipy.optimize.dual_annealing` performance improvements related to
vectorisation of some internal code.

`scipy.signal` improvements
---------------------------

Two additional methods of discretization are now supported by 
`scipy.signal.cont2discrete`: ``impulse`` and ``foh``.

`scipy.signal.firls` now uses faster solvers

`scipy.signal.detrend` now has a lower physical memory footprint in some
cases, which may be leveraged using the new ``overwrite_data`` keyword argument

`scipy.signal.firwin` ``pass_zero`` argument now accepts new string arguments
that allow specification of the desired filter type: ``'bandpass'``,
``'lowpass'``, ``'highpass'``, and ``'bandstop'``

`scipy.signal.sosfilt` may have improved performance due to lower retention
of the global interpreter lock (GIL) in algorithm

`scipy.sparse` improvements
---------------------------

A new keyword was added to ``csgraph.dijsktra`` that 
allows users to query the shortest path to ANY of the passed in indices,
as opposed to the shortest path to EVERY passed index.

`scipy.sparse.linalg.lsmr` performance has been improved by roughly 10 percent
on large problems

Improved performance and reduced physical memory footprint of the algorithm
used by `scipy.sparse.linalg.lobpcg`

``CSR`` and ``CSC`` sparse matrix fancy indexing performance has been
improved substantially

`scipy.spatial` improvements
----------------------------

`scipy.spatial.ConvexHull` now has a ``good`` attribute that can be used 
alongsize the ``QGn`` Qhull options to determine which external facets of a 
convex hull are visible from an external query point.

`scipy.spatial.cKDTree.query_ball_point` has been modernized to use some newer 
Cython features, including GIL handling and exception translation. An issue 
with ``return_sorted=True`` and scalar queries was fixed, and a new mode named 
``return_length`` was added. ``return_length`` only computes the length of the 
returned indices list instead of allocating the array every time.

`scipy.spatial.transform.RotationSpline` has been added to enable interpolation
of rotations with continuous angular rates and acceleration

`scipy.stats` improvements
--------------------------

Added a new function to compute the Epps-Singleton test statistic,
`scipy.stats.epps_singleton_2samp`, which can be applied to continuous and
discrete distributions.

New functions `scipy.stats.median_absolute_deviation` and `scipy.stats.gstd`
(geometric standard deviation) were added. The `scipy.stats.combine_pvalues` 
method now supports ``pearson``,  ``tippett`` and ``mudholkar_george`` pvalue 
combination methods.

The `scipy.stats.ortho_group` and `scipy.stats.special_ortho_group` 
``rvs(dim)`` functions' algorithms were updated from a ``O(dim^4)`` 
implementation to a ``O(dim^3)`` which gives large speed improvements 
for ``dim>100``.

A rewrite of `scipy.stats.pearsonr` to use a more robust algorithm,
provide meaningful exceptions and warnings on potentially pathological input,
and fix at least five separate reported issues in the original implementation.

Improved the precision of ``hypergeom.logcdf`` and ``hypergeom.logsf``.

Added exact computation for Kolmogorov-Smirnov (KS) two-sample test, replacing
the previously approximate computation for the two-sided test `stats.ks_2samp`.
Also added a one-sided, two-sample KS test, and a keyword ``alternative`` to 
`stats.ks_2samp`.

Backwards incompatible changes
==============================

`scipy.interpolate` changes
---------------------------

Functions from ``scipy.interpolate`` (``spleval``, ``spline``, ``splmake``,
and ``spltopp``) and functions from ``scipy.misc`` (``bytescale``,
``fromimage``, ``imfilter``, ``imread``, ``imresize``, ``imrotate``,
``imsave``, ``imshow``, ``toimage``) have been removed. The former set has 
been deprecated since v0.19.0 and the latter has been deprecated since v1.0.0.
Similarly, aliases from ``scipy.misc`` (``comb``, ``factorial``,
``factorial2``, ``factorialk``, ``logsumexp``, ``pade``, ``info``, ``source``,
``who``) which have been deprecated since v1.0.0 are removed. 
`SciPy documentation for
Links

Update hypothesis from 4.14.2 to 4.24.6.

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

Links

Update pre-commit from 1.15.0 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.

1.16.1

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

Fixes
- Don't `UnicodeDecodeError` on unexpected non-UTF8 output in python health
check on windows.
 - 1021 issue by nicoddemus.
 - 1022 PR by asottile.

1.16.0

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

Features
- Add support for `prepare-commit-msg` hook
 - 1004 PR by marcjay.

Fixes
- Fix repeated legacy `pre-commit install` on windows
 - 1010 issue by AbhimanyuHK.
 - 1011 PR by asottile.
- Whitespace fixup
 - 1014 PR by mxr.
- Fix CI check for working pcre support
 - 1015 PR by Myrheimb.

Misc.
- Switch CI from travis / appveyor to azure pipelines
 - 1012 PR by asottile.

1.15.2

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

Fixes
- Fix cloning non-branch tag while in the fallback slow-clone strategy.
 - 997 issue by jpinner.
 - 998 PR by asottile.

1.15.1

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

Fixes
- Fix command length calculation on posix when `SC_ARG_MAX` is not defined.
 - 691 issue by ushuz.
 - 987 PR by asottile.
Links

Update pytest from 4.4.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``.

4.5.0

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

Features
--------

- `4826 <https://github.com/pytest-dev/pytest/issues/4826>`_: A warning is now emitted when unknown marks are used as a decorator.
This is often due to a typo, which can lead to silently broken tests.


- `4907 <https://github.com/pytest-dev/pytest/issues/4907>`_: Show XFail reason as part of JUnitXML message field.


- `5013 <https://github.com/pytest-dev/pytest/issues/5013>`_: Messages from crash reports are displayed within test summaries now, truncated to the terminal width.


- `5023 <https://github.com/pytest-dev/pytest/issues/5023>`_: New flag ``--strict-markers`` that triggers an error when unknown markers (e.g. those not registered using the `markers option`_ in the configuration file) are used in the test suite.

The existing ``--strict`` option has the same behavior currently, but can be augmented in the future for additional checks.

.. _`markers option`: https://docs.pytest.org/en/latest/reference.htmlconfval-markers


- `5026 <https://github.com/pytest-dev/pytest/issues/5026>`_: Assertion failure messages for sequences and dicts contain the number of different items now.


- `5034 <https://github.com/pytest-dev/pytest/issues/5034>`_: Improve reporting with ``--lf`` and ``--ff`` (run-last-failure).


- `5035 <https://github.com/pytest-dev/pytest/issues/5035>`_: The ``--cache-show`` option/action accepts an optional glob to show only matching cache entries.


- `5059 <https://github.com/pytest-dev/pytest/issues/5059>`_: Standard input (stdin) can be given to pytester's ``Testdir.run()`` and ``Testdir.popen()``.


- `5068 <https://github.com/pytest-dev/pytest/issues/5068>`_: The ``-r`` option learnt about ``A`` to display all reports (including passed ones) in the short test summary.


- `5108 <https://github.com/pytest-dev/pytest/issues/5108>`_: The short test summary is displayed after passes with output (``-rP``).


- `5172 <https://github.com/pytest-dev/pytest/issues/5172>`_: The ``--last-failed`` (``--lf``) option got smarter and will now skip entire files if all tests
of that test file have passed in previous runs, greatly speeding up collection.


- `5177 <https://github.com/pytest-dev/pytest/issues/5177>`_: Introduce new specific warning ``PytestWarning`` subclasses to make it easier to filter warnings based on the class, rather than on the message. The new subclasses are:


* ``PytestAssertRewriteWarning``

* ``PytestCacheWarning``

* ``PytestCollectionWarning``

* ``PytestConfigWarning``

* ``PytestUnhandledCoroutineWarning``

* ``PytestUnknownMarkWarning``


- `5202 <https://github.com/pytest-dev/pytest/issues/5202>`_: New ``record_testsuite_property`` session-scoped fixture allows users to log ``<property>`` tags at the ``testsuite``
level with the ``junitxml`` plugin.

The generated XML is compatible with the latest xunit standard, contrary to
the properties recorded by ``record_property`` and ``record_xml_attribute``.


- `5214 <https://github.com/pytest-dev/pytest/issues/5214>`_: The default logging format has been changed to improve readability. Here is an
example of a previous logging message::

   test_log_cli_enabled_disabled.py    3 CRITICAL critical message logged by test

This has now become::

   CRITICAL root:test_log_cli_enabled_disabled.py:3 critical message logged by test

The formatting can be changed through the `log_format <https://docs.pytest.org/en/latest/reference.htmlconfval-log_format>`__ configuration option.


- `5220 <https://github.com/pytest-dev/pytest/issues/5220>`_: ``--fixtures`` now also shows fixture scope for scopes other than ``"function"``.



Bug Fixes
---------

- `5113 <https://github.com/pytest-dev/pytest/issues/5113>`_: Deselected items from plugins using ``pytest_collect_modifyitems`` as a hookwrapper are correctly reported now.


- `5144 <https://github.com/pytest-dev/pytest/issues/5144>`_: With usage errors ``exitstatus`` is set to ``EXIT_USAGEERROR`` in the ``pytest_sessionfinish`` hook now as expected.


- `5235 <https://github.com/pytest-dev/pytest/issues/5235>`_: ``outcome.exit`` is not used with ``EOF`` in the pdb wrapper anymore, but only with ``quit``.



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

- `4935 <https://github.com/pytest-dev/pytest/issues/4935>`_: Expand docs on registering marks and the effect of ``--strict``.



Trivial/Internal Changes
------------------------

- `4942 <https://github.com/pytest-dev/pytest/issues/4942>`_: ``logging.raiseExceptions`` is not set to ``False`` anymore.


- `5013 <https://github.com/pytest-dev/pytest/issues/5013>`_: pytest now depends on `wcwidth <https://pypi.org/project/wcwidth>`__ to properly track unicode character sizes for more precise terminal output.


- `5059 <https://github.com/pytest-dev/pytest/issues/5059>`_: pytester's ``Testdir.popen()`` uses ``stdout`` and ``stderr`` via keyword arguments with defaults now (``subprocess.PIPE``).


- `5069 <https://github.com/pytest-dev/pytest/issues/5069>`_: The code for the short test summary in the terminal was moved to the terminal plugin.


- `5082 <https://github.com/pytest-dev/pytest/issues/5082>`_: Improved validation of kwargs for various methods in the pytester plugin.


- `5202 <https://github.com/pytest-dev/pytest/issues/5202>`_: ``record_property`` now emits a ``PytestWarning`` when used with ``junit_family=xunit2``: the fixture generates
``property`` tags as children of ``testcase``, which is not permitted according to the most
`recent schema <https://github.com/jenkinsci/xunit-plugin/blob/master/
src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd>`__.


- `5239 <https://github.com/pytest-dev/pytest/issues/5239>`_: Pin ``pluggy`` to ``< 1.0`` so we don't update to ``1.0`` automatically when
it gets released: there are planned breaking changes, and we want to ensure
pytest properly supports ``pluggy 1.0``.

4.4.2

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

Bug Fixes
---------

- `5089 <https://github.com/pytest-dev/pytest/issues/5089>`_: Fix crash caused by error in ``__repr__`` function with both ``showlocals`` and verbose output enabled.


- `5139 <https://github.com/pytest-dev/pytest/issues/5139>`_: Eliminate core dependency on 'terminal' plugin.


- `5229 <https://github.com/pytest-dev/pytest/issues/5229>`_: Require ``pluggy>=0.11.0`` which reverts a dependency to ``importlib-metadata`` added in ``0.10.0``.
The ``importlib-metadata`` package cannot be imported when installed as an egg and causes issues when relying on ``setup.py`` to install test dependencies.



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

- `5171 <https://github.com/pytest-dev/pytest/issues/5171>`_: Doc: ``pytest_ignore_collect``, ``pytest_collect_directory``, ``pytest_collect_file`` and ``pytest_pycollect_makemodule`` hooks's 'path' parameter documented type is now ``py.path.local``


- `5188 <https://github.com/pytest-dev/pytest/issues/5188>`_: Improve help for ``--runxfail`` flag.



Trivial/Internal Changes
------------------------

- `5182 <https://github.com/pytest-dev/pytest/issues/5182>`_: Removed internal and unused ``_pytest.deprecated.MARK_INFO_ATTRIBUTE``.

4.4.1

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

Bug Fixes
---------

- `5031 <https://github.com/pytest-dev/pytest/issues/5031>`_: Environment variables are properly restored when using pytester's ``testdir`` fixture.


- `5039 <https://github.com/pytest-dev/pytest/issues/5039>`_: Fix regression with ``--pdbcls``, which stopped working with local modules in 4.0.0.


- `5092 <https://github.com/pytest-dev/pytest/issues/5092>`_: Produce a warning when unknown keywords are passed to ``pytest.param(...)``.


- `5098 <https://github.com/pytest-dev/pytest/issues/5098>`_: Invalidate import caches with ``monkeypatch.syspath_prepend``, which is required with namespace packages being used.
Links

Update pytest-cov from 2.6.1 to 2.7.1.

Changelog

2.7.1

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

* Fixed source distribution manifest so that garbage ain't included in the tarball.

2.7.0

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

* Fixed ``AttributeError: 'NoneType' object has no attribute 'configure_node'`` error when ``--no-cov`` is used.
Contributed by Alexander Shadchin in `263 <https://github.com/pytest-dev/pytest-cov/pull/263>`_.
* Various testing and CI improvements. Contributed by Daniel Hahler in
`255 <https://github.com/pytest-dev/pytest-cov/pull/255>`_,
`266 <https://github.com/pytest-dev/pytest-cov/pull/266>`_,
`272 <https://github.com/pytest-dev/pytest-cov/pull/272>`_,
`271 <https://github.com/pytest-dev/pytest-cov/pull/271>`_ and
`269 <https://github.com/pytest-dev/pytest-cov/pull/269>`_.
* Improved documentation regarding subprocess and multiprocessing.
Contributed in `265 <https://github.com/pytest-dev/pytest-cov/pull/265>`_.
* Improved ``pytest_cov.embed.cleanup_on_sigterm`` to be reentrant (signal deliveries while signal handling is
running won't break stuff).
* Added ``pytest_cov.embed.cleanup_on_signal`` for customized cleanup.
* Improved cleanup code and fixed various issues with leftover data files. All contributed in
`265 <https://github.com/pytest-dev/pytest-cov/pull/265>`_ or
`262 <https://github.com/pytest-dev/pytest-cov/pull/262>`_.
* Improved examples. Now there are two examples for the common project layouts, complete with working coverage
configuration. The examples have CI testing. Contributed in
`267 <https://github.com/pytest-dev/pytest-cov/pull/267>`_.
* Improved help text for CLI options.
Links

Update python-coveralls from 2.9.1 to 2.9.2.

Changelog
Links

@coveralls
Copy link

coveralls commented Jul 1, 2019

Coverage Status

Coverage remained the same at 95.331% when pulling 7ce87f3 on pyup/scheduled-update-2019-07-01 into 8cedf48 on develop.

@jason-neal jason-neal merged commit 126be02 into develop Jul 14, 2019
@jason-neal jason-neal deleted the pyup/scheduled-update-2019-07-01 branch July 14, 2019 10:40
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