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

Closed
wants to merge 28 commits into from

Conversation

pyup-bot
Copy link
Collaborator

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

Update astropy from 5.1.1 to 5.3.

Changelog

5.3

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

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

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

- Add optional parameter ``refresh_cache`` to ``EarthLocation.of_site()`` and
``EarthLocation.get_site_names()`` to force the download of the latest site
registry. [13993]

- Added ``atol`` argument to function ``is_O3`` and ``is_rotation`` in matrix utilities. [14371]

- A new class ``astropy.coordinates.StokesCoord`` has been added to represent world coordinates describing polarization state.
This change introduces a breaking change to the return value of ``astropy.wcs.WCS.pixel_to_world`` where before a ``u.Quantity`` object would be returned containing numerical values representing a Stokes profile now a ``StokesCoord`` object is returned. The previous numerical values can be accessed with ``StokesCoord.value``. [14482]

- Add an optional parameter ``location`` to ``EarthLocation.get_itrs()``
to allow the generation of topocentric ITRS coordinates with respect
to a specific location. [14628]

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

- Two new cosmologies have been added, ``FlatwpwaCDM`` and ``Flatw0wzCDM``, which are the
flat variants of ``wpwaCDM`` and ``w0wzCDM``, respectively. [12353]

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

- Add ability to read and write an RST (reStructuredText) ASCII table that
includes additional header rows specifying any or all of the column dtype, unit,
format, and description. This is available via the new ``header_rows`` keyword
argument. [14182]

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

- Added support for >3D data in CompImageHDU [14252]

- Added a ``CompImageHDU.section`` property which can be used to
efficiently access subsets of the data, similarly to ``ImageHDU.section``.
When using this, only the tiles required to cover the section are
read from disk and decompressed. [14353]

- Added support for ``'NOCOMPRESS'`` for the ``compression_type`` option in ``CompImageHDU``. [14408]

- Added new properties ``compression_type`` and ``tile_shape`` on
``CompImageHDU``, giving the name of the compression algorithm
and the shape of the tiles in the tiled compression respectively. [14428]

- Do not call ``gc.collect()`` when closing a ``CompImageHDU`` object as it has a
large performance penalty. [14576]

- VLA tables can now be written with the unified I/O interface.
When object types are present or the VLA contains different types a `TypeError`
is thrown. [14578]

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

- Add support for writing/reading fixed-size and variable-length array columns to the parquet formatter. [14237]

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

- Added a method ``get_infos_by_name`` to make it easier to implement
DALI-compliant protocols [14212]

- Updating the built-in UCD list to upstream 1.5 (which requires a minor
update to the parser) [14554]

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

- Enable check for poorly conditioned fits in ``LinearLSQFitter`` for polynomial
models with fixed inputs. [14037]

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

- ``astropy.nddata.NDDataArray`` now has collapsing methods like ``sum``,
``mean``, ``min``, and ``max`` which operate along any axes, and better
support for ``astropy.utils.Masked`` objects. [14175]

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

- ``vonmisesmle`` has now functioning "weights" and "axis" parameters that work equivalently
to the rest of the functions in the ``circstats`` module (``circmean``, ``rayleightest``, etc.) [14533]

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

- ``Table`` and ``QTable`` can now use the ``|`` and ``|=`` operators for
dictionary-style merge and update. [14187]

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

- Add a ``leap_second_strict`` argument to the ``Time.to_datetime()`` method. This
controls the behavior when converting a time within a leap second to the ``datetime``
format and can take the values ``raise`` (the default), ``warn``, or ``silent``. [14606]

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

- Adds the ``astropy.timeseries.LombScargleMultiband`` class, which is an
extension of the ``astropy.timeseries.LombScargle`` class. It enables the
generation of periodograms for datasets with measurements taken in more than
one photometric band. [14016]

- Add ``unit_parse_strict`` parameter to the Kepler reader to control the warnings
emitted when reading files. [14294]

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

- Add support for degrees Celsius for FITS. Parsing "Celsius" and "deg C" is now
supported and astropy will output "Celsius" into FITS.

Note that "deg C" is only provided for compatibility with existing FITS files,
as it does not conform to the normal unit standard, where this should be read
as "degree * Coulomb". Indeed, compound units like "deg C kg-1" will still be
parsed as "Coulomb degree per kilogram". [14042]

- Enabled the ``equal_nan`` keyword argument for ``np.array_equal()`` when the
arguments are ``astropy.units.Quantity`` instances. [14135]

- Allow "console" and "unicode" formats for conversion to string of
function units. [14407]

- Add a "fraction" options to all the unit ``format`` classes, which determine
whether, if a unit has bases raised to a negative power, a string
representation should just show the negative powers (``fraction=False``) or
use a fraction, and, in the latter case, whether to use a single-line
representation using a solidus (``fraction='inline'`` or ``fraction=True``)
or, if the format supports it, a multi-line presentation with the numerator
and denominator separated by a horizontal line (``fraction='multiline'``). [14449]

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

- The ``mean`` method on ``NDDataArray`` now avoids a division by zero
warning when taking the mean of a fully-masked slice (and still
returns ``np.nan``). [14341]

- Ensure we can read the newer ``IERS_B`` files produced by the International
Earth Rotation and Reference Systems Service, and point
``astropy.utils.iers.IERS_B_URL`` to the new location. [14382]


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

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

- ``get_moon()`` is deprecated and may be removed in a future version of
``astropy``. Calling ``get_moon(...)`` should be replaced with
``get_body("moon", ...)``. [14354]

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

- Deprecate the auto-fixing of tile sizes for HCOMPRESS_1 tiled
image compression when the tile size could be changed by +1
to make it acceptable. [14410]

- The ``tile_size=`` argument to ``CompImageHDU`` has been deprecated
as it was confusing that it was required to be in the opposite
order to the data shape (it was in header rather than Numpy order).
Instead, users should make use of the ``tile_shape=`` argument which
is in Numpy shape order. [14428]

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

- Deprecate the ``humlicek2`` method for `~astropy.modeling.functional_models.Voigt1D` in favor
of using the ``wofz`` method using the `scipy.special.wofz` implementation of the
Fadeeva function whenever `scipy` is installed. [14013]

- Deprecated ``astropy.modeling.utils.comb()`` function in favor of ``comb()``
from ``math`` standard library. [14038]

- Propagate measurement uncertainties via the ``weights`` keyword argument into the
parameter covariances. [14519]

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

- The conversion of ``astropy.units.Quantity`` to ``bool``
that was deprecated since astropy 3.0 now raises a ``ValueError``.
This affects statements like ``if quantity``.
Use explicit comparisons like ``if quantity.value != 0``
or ``if quantity is not None`` instead. [14124]

- Operations on ``Quantity`` in tables are sped up by only copying ``info`` when
it makes sense (i.e., when the object can still logically be thought of as the
same, such as in unit changes or slicing). ``info`` is no longer copied if a
``Quantity`` is part of an operation. [14253]

- The ``Quantity.nansum`` method has been deprecated. It was always weird that it
was present, since ``ndarray`` does not have a similar method, and the other
``nan*`` functions such as ``nanmean`` did not have a corresponding method.
Use ``np.nansum(quantity)`` instead. [14267]

- The unused ``units.format.Unscaled`` format class has been deprecated. [14417]

- The order in which unit bases are displayed has been changed to match the
order bases are stored in internally, which is by descending power to which
the base is raised, and alphabetical after. This helps avoid monstrosities
like ``beam^-1 Jy`` for ``format='fits'``.

Note that this may affect doctests that use quantities with complicated units. [14439]

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

- For ``Masked`` instances, the ``where`` argument for any ufunc can now
also be masked (with any masked elements masked in the output as well).
This is not very useful in itself, but avoids problems in conditional
functions (like ``np.add(ma, 1, where=ma>10)``). [14590]

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

- The pixel attribute of ``astropy.visualization.wcsaxes.frame.Spine`` is deprecated
and will be removed in a future astropy version.
Because it is (in general) not possible to correctly calculate pixel
coordinates before Matplotlib is drawing a figure, instead set the world or data
coordinates of the ``Spine`` using the appropriate setters. [13989]

- Passing a bare number as the ``coord_wrap`` argument to ``CoordinateHelper.set_coord_type`` is deprecated.
Pass a ``Quantity`` with units equivalent to angular degrees instead.

The ``.coord_wrap`` attribute of ``CoordinateHelper`` is now a ``Quantity`` instead of a bare number. [14050]


Bug Fixes
---------

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

- ``Angle.to_string()`` was changed to ensure it matches the behaviour of
``Quantity.to_string()`` in having a space between the value and the unit
for display with non-degree and hourangle units (i.e., the case in which
units are displayed by their name; the sexagesimal case for degrees or
hourangle that uses symbols is not changed). [14379]

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

- Fix an issue in the ``io.ascii`` QDP format reader to allow lower-case commands in the
table data file. Previously it required all upper case in order to parse QDP files. [14365]

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

- Compressing/decompressing a floating point dataset containing NaN values will
no longer read in the whole tile as NaNs.

Fixed segmentation faults that occurred when compressing/decompressing data
with the PLIO_1 algorithm. [14252]

- ``Card`` now uses the default Python representation for floating point
values. [14508]

- ``ImageHDU`` now properly rejects Numpy scalars, avoiding data corruption. [14528]

- Fix issues with double quotes in CONTINUE cards. [14598]

- Fixes an issue where FITS_rec was incorrectly raising a ValueError exception when the heapsize was greater than 2**31
when the Column type was 'Q' instead of 'P'. [14810]

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

- Columns with big-endian byte ordering (such as those read in from a FITS table) can now be serialized with Parquet. [14373]

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

- Bugfix for using ``getter/setter`` in properties to adjust the internal (computational)
value of a property vs its external proxy value when the values involve units. [14512]

- Fix issue with ``filter_non_finite`` option when fitting with ``weights`` via passing
the ``weights`` through the non-finite-filter alongside the input data. [14695]

- Fixed an issue with Parameter where a getter could be input without a
setter (or vice versa). [14708]

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

- Using quantities with units of time for ``Time`` format 'decimalyear' will now
raise an error instead of converting the quantity to days and then
interpreting the value as years. An error is raised instead of attempting to
interpret the unit as years, since the interpretation is ambiguous: in
'decimaltime' years are equal to 365 or 366 days, while for regular time units
the year is defined as 365.25 days. [14566]

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

- Ensure that ``Distribution`` can be compared with ``==`` and ``!=``
with regular arrays or scalars, and that inplace operations like
``dist[dist<0] *= -1`` work. [14421]

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

- Modified ``astropy.units.Quantity.__array_ufunc__()`` to return ``NotImplemented`` instead of raising a ``ValueError`` if the inputs are incompatible. [13977]

- Modified the behavior of ``numpy.array_equal()`` and ``numpy.array_equiv()`` to
return ``False`` instead of raising an error if their arguments are
``astropy.units.Quantity`` instances with incompatible units. [14163]

- Spaces have been regularized for the ``unicode`` and ``console`` output
formats: no extraneous spaces in front of the unit, and always a space
between a possible scale factor and the unit. [14413]

- Prefixed degrees and arcmin are now typeset without using the symbol in
``latex`` and ``unicode`` formats (i.e., ``mdeg`` instead of ``m°``),
as was already the case for arcsec. [14419]

- Ensure the unit is kept in ``np.median`` even if the result is a scalar ``nan``
(the unit was lost for numpy < 1.22). [14635]

- Ensure that ``Quantity`` with structured dtype can be set using non-structured
``Quantity`` (if units match), and that structured dtype names are inferred
correctly in the creation of ``StructuredUnit``, thus avoiding mismatches
when setting units. [14680]

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

- When using astropy in environments with sparse file systems (e.g., where the temporary directory and astropy data directory resides in different volumes), ``os.rename`` may fail with ``OSError: [Errno 18] Invalid cross-device link``.
This may affect some clean-up operations executed by the ``data`` module, causing them to fail.
This patch is to catch ``OSError`` with ``errno == EXDEV`` (i.e., Errno 18) when performing these operations and try to use ``shutil.move`` instead to relocate the data. [13730]

- Ensure masks are propagated correctly for ``outer`` methods of ufuncs also if
one of the inputs is not actually masked. [14624]

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

- The location of a ``astropy.visualization.wcsaxes.frame.Spine`` in a plot is now
correctly calculated when the DPI of a figure changes between a WCSAxes being
created and the figure being drawn. [13989]

- ``CoordinateHelper.set_ticks()`` now accepts ``number=0``. Previously it errored. [14160]

- ``WCSAxes.plot_coord`` and ``plot_scatter`` now work correctly for APE 14 compliant WCSes where the units are not always converted to degrees. [14251]

- Fixed a bug where coordinate overlays did not automatically determine the
longitude wrap angle or the appropriate units. [14326]

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

- Fix bugs with high-level WCS API on ``wcs.WCS`` object when using ``-TAB``
coordinates. [13571]

- Fixed a bug in how WCS handles ``PVi_ja`` header coefficients when ``CTYPE``
has ``-SIP`` suffix and in how code detects TPV distortions. [14295]


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

- The minimum supported version of Python is now 3.9, changing from 3.8. [14286]

- The minimum supported version of Numpy is now 1.21. [14349]

- The minimum supported version of matplotlib is now 3.3. [14286, 14321]

- ``astropy`` no longer publishes wheels for i686 architecture. [14517]

- Added a pre-commit configuration for codespell. [13985]

- Removed a large fraction of the bundled CFITSIO code and internally refactored
FITS compression-related code, which has resulted in a speedup when compiling
astropy from source (40% faster in some cases). [14252]

- The CFITSIO library is no longer bundled in full with astropy and
the option to build against an external installation of CFITSIO
has now been removed, so the ASTROPY_USE_SYSTEM_CFITSIO environment
variable will be ignored during building. [14311]

- Updated CDS URL for Sesame look-up as the old URL is deprecated. [14681]

5.2.2

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

Bug Fixes
---------

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

- CDS and MRT tables with units that contain with multiple divisions, such as
``km/s/Mpc`` now parse correctly as being equal to ``km/(s.Mpc)``. [14369]

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

- Fix ``FITSDiff`` when table contains a VLA column with the Q type. [14539]

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

- Fix a bug when creating a ``QTable`` when a ``Quantity`` input column is present and the
``units`` argument modifies the unit of that column. This now works as expected where
previously this caused an exception. [14357]

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

- CDS units with multiple divisions, such as ``km/s/Mpc`` now parse
correctly as being equal to ``km/(s.Mpc)``. [14369]

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

- Fixed a bug that caused subclasses of BaseHighLevelWCS and HighLevelWCSMixin to
not work correctly under certain conditions if they did not have ``world_n_dim``
and ``pixel_n_dim`` defined on them. [14495]

5.2.1

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

Bug Fixes
---------

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

- Fix to ITRS frame ``earth_location`` attribute to give the correct result for
a topocentric frame. [14180]

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

- Bounds are no longer passed to the scipy minimizer for methods Brent and
Golden. The scipy minimizer never used the bounds but silently accepted them.
In scipy v1.11.0.dev0+ an error is raised, so we now pass None as the bounds
to the minimizer. Users should not be affected by this change. [14232]

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

- Tables with multidimensional variable length array can now be properly read
and written. [13417]

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

- Modified the behavior of ``numpy.histogram()``,
``numpy.histogram_bin_edges()``, ``numpy.histogram2d()``, and
``numpy.histogramdd()`` so that the ``range`` argument must a compatible
instance of ``astropy.units.Quantity`` if the other arguments are instances of
``astropy.units.Quantity``. [14213]

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

- Improved the performance of drawing WCSAxes grids by skipping some unnecessary
computations. [14164]

- Fixed WCSAxes sometimes triggering a NumPy RuntimeWarning when determining the
coordinate range of the axes. [14211]

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

- Fix compatibility with Numpy 1.24. [14193]

5.2

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

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

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

- Adds new topocentric ITRS frame and direct transforms to and from the observed
frames ``AltAz`` and ``HADec`` with the ability to add or remove refraction
corrections as required. Since these frames are all within the ITRS, there are
no corrections applied other than refraction in the transforms. This makes the
topocentric ITRS frame and these transforms convenient for observers of near
Earth objects where stellar aberration should be omitted. [13398]

- Allow comparing ``SkyCoord`` to frames with data. [13477]

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

- Cosmology instance can be parsed from or converted to a HTML table using
the new HTML methods in Cosmology's ``to/from_format`` I/O. [13075]

- A new comparison function has been added -- ``cosmology_equal()`` -- that
mirrors its ``numpy`` counterpart but allows for the arguments to be converted
to a ``Cosmology`` and to compare flat cosmologies with their non-flat
equivalents. [13104]

- Cosmology equivalence for flat FLRW cosmologies has been generalized to apply
to all cosmologies using the FlatCosmology mixin. [13261]

- The cosmological redshift unit now has a physical type of ``"redshift"``. [13561]

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

- Add ability to read and write a fixed width ASCII table that includes additional
header rows specifying any or all of the column dtype, unit, format, and
description. This is available in the ``fixed_width`` and
``fixed_width_two_line`` formats via the new ``header_rows`` keyword argument. [13734]

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

- Added support to the ``io.fits`` API for reading and writing file paths of the
form ``~/file.fits`` or ``~<username>/file.fits``, referring to the home
directory of the current user or the specified user, respectively. [13131]

- Added support for opening remote and cloud-hosted FITS files using the
``fsspec`` package, which has been added as an optional dependency. [13238]

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

- Added support in ``io.votable`` for reading and writing file paths of the form
``~/file.xml`` or ``~<username>/file.xml``, referring to the home directory of
the current user or the specified user, respectively. [13149]

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

- Add option to non-linear fitters which enables automatic
exclusion of non-finite values from the fit data. [13259]

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

- Modified ``Cutout2D`` to allow objects of type ``astropy.io.fits.Section``
to be passed to the ``data`` parameter. [13238]

- Add a PSF image representation to ``astropy.nddata.NDData`` and ``astropy.nddata.CCDData``. [13743]

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

- An Astropy table can now be converted to a scalar NumPy object array. For NumPy
>= 1.20, a list of Astropy tables can be converted to an NumPy object array of
tables. [13469]

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

- Added the ``astropy.time.Time.mean()`` method which also enables the ``numpy.mean()`` function to be used on instances of ``astropy.time.Time``. [13508]

- Improve the performance of getting the string representation of a large ``Time``
or ``TimeDelta`` object. This is done via a new ``to_string()`` method that does
the time string format conversion only for the outputted values. Previously the
entire array was formatted in advance. [13555]

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

- It is now possible to use unit format names as string format specifiers for a
``Quantity``, e.g. ``f'{1e12*u.m/u.s:latex_inline}'`` now produces the string
``'$1 \\times 10^{12} \\; \\mathrm{m\\,s^{-1}}$'``. [13050]

- Ensure that the ``argmin`` and ``argmax`` methods of ``Quantity`` support the
``keepdims`` argument when numpy does (numpy version 1.22 and later). [13329]

- ``numpy.lib.recfunctions.merge_arrays()`` is registered with numpy overload for
``Quantity``. [13669]

- Added SI prefixes for quecto ("q", :math:`10^{-30}`), ronto ("r",
:math:`10^{-27}`), ronna ("R", :math:`10^{27}`), and quetta ("Q",
:math:`10^{30}`). [14046]

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

- Added the ``use_fsspec``, ``fsspec_kwargs``, and ``close_files`` arguments
to ``utils.data.get_readable_fileobj``. [13238]

- Ensure that the ``argmin`` and ``argmax`` methods of ``Masked`` instances
support the ``keepdims`` argument when numpy does (numpy version 1.22 and
later). [13329]

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

- Add helper functions for WCSAxes instances to draw the instrument beam and a physical scale. [12102]

- Add a ``scatter_coord`` method to the ``wcsaxes`` functionality based on the
existing ``plot_coord`` method but that calls ``matplotlib.pyplot.scatter``. [13562]

- Added a ``sinh`` stretch option to ``simple_norm``. [13746]

- It is now possible to define "tickable" gridlines for the purpose of placing ticks or tick labels in the interior of WCSAxes plots. [13829]


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

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

- Removed deprecated ``MexicanHat1DKernel`` and ``MexicanHat2DKernel``
classes. Please use ``RickerWavelet1DKernel`` and
``RickerWavelet2DKernel`` instead. [13300]

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

- Multiplying a ``LogQuantity`` like ``Magnitude`` with dimensionless physical
units by an array will no longer downcast to ``Quantity``. [12579]

- Quantity normally upcasts integer dtypes to floats, unless the dtype is
specifically provided.
Before this happened when ``dtype=None``; now the default has been changed to
``dtype=numpy.inexact`` and ``dtype=None`` has the same meaning as in `numpy`. [12941]

- In "in-place unit changes" of the form ``quantity <<= new_unit``, the result
will now share memory with the original only if the conversion could be done
through a simple multiplication with a scale factor. Hence, memory will not be
shared if the quantity has integer dtype or is structured, or when the
conversion is through an equivalency. [13638]

- When ``Quantity`` is constructed from a structured array and ``unit`` is
``None``, the default unit is now structured like the input data. [13676]

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

- ``astropy.utils.misc.suppress`` has been removed, use ``contextlib.suppress``
instead. ``astropy.utils.namedtuple_asdict`` has been removed, instead use
method ``._asdict`` on a ``namedtuple``. ``override__dir__`` has been deprecated
and will be removed in a future version, see the docstring for the better
alternative. [13636]

- ``astropy.utils.misc.possible_filename`` has been removed. [13661]

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

- Rename number-of-samples keyword ``nsamples`` in ``ZScaleInterval`` to align
with the ``n_samples`` keyword used in all other ``Interval`` classes in
this module. [13810]


Bug Fixes
---------

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

- Fixed convolution Kernels to ensure the that returned kernels
are normalized to sum to one (e.g., ``Gaussian1DKernel``,
``Gaussian2DKernel``). Also fixed the Kernel ``truncation`` calculation. [13299]

- Fix import error with setuptools v65.6.0 by replacing
``numpy.ctypeslib.load_library`` with Cython to load the C convolution
extension. [14035]

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

- ``BaseCoordinateFrame.get_frame_attr_names()`` had a misleading name,
because it actually provided a ``dict`` of attribute names and
their default values. It is now deprecated and replaced by ``BaseCoordinateFrame.get_frame_attr_defaults()``.
The fastest way to obtain the attribute names is ``BaseFrame.frame_attributes.keys()``. [13484]

- Fixed bug that caused ``earth_orientation.nutation_matrix()`` to error instead of returning output. [13572]

- Ensure that ``angle.to_string()`` continues to work after pickling,
and that units passed on to ``to_string()`` or the ``Angle``
initializer can be composite units (like ``u.hour**1``), which might
result from preceding calculations. [13933]

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

- ``report_diff_values()`` have now two new parameters ``rtol`` and ``atol`` to make the
report consistent with ``numpy.allclose`` results.
This fixes ``FITSDiff`` with multi-dimensional columns. [13465]

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

- Fixed two bugs in validator.validator.make_validation_report:
- ProgressBar iterator was not called correctly.
- make_validation_report now handles input string urls correctly. [14102]

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

- Fixed a performance regression in ``timeseries.aggregate_downsample``
introduced in Astropy 5.0 / 11266. [13069]

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

- Unit changes of the form ``quantity <<= new_unit`` will now work also if the
quantity is integer. The result will always be float. This means that the result
will not share memory with the original. [13638]

- Ensure dimensionless quantities can be added inplace to regular ndarray. [13913]

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

- Fixed an incompatibility with latest Python 3.1x versions that kept
``astropy.utils.data.download_file`` from switching to TLS+FTP mode. [14092]

- ``np.quantile`` and ``np.percentile`` can now be used on ``Masked``
arrays and quantities also with ``keepdims=True``. [14113]

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

- Significantly improve performance of ``ManualInterval`` when both limits
are specified manually. [13898]


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

- The deprecated private ``astropy._erfa`` module has been removed. Use
``pyerfa``, which is a dependency of ``astropy`` and can be imported directly
using ``import erfa``. [13317]

- The minimum version required for numpy is now 1.20 and that for scipy 1.5. [13885]

- Updated the bundled CFITSIO library to 4.2.0. [14020]
Links

Update corner from 2.2.1 to 2.2.2.

Changelog

2.2.2

What's Changed
* Fixing infinite loop by dfm in https://github.com/dfm/corner.py/pull/154
* Added a reverse option to overplot_* by NeutralKaon in https://github.com/dfm/corner.py/pull/156
* Working to fix tests on CI by dfm in https://github.com/dfm/corner.py/pull/187
* download notebooks as .ipynb by Solosneros in https://github.com/dfm/corner.py/pull/188
* Add Returns block to main corner() docstring by adrn in https://github.com/dfm/corner.py/pull/190
* Proposed fix for title errorbars/quantiles bug  by jhmatthews in https://github.com/dfm/corner.py/pull/193
* Update corner hist2d to match axis background color by delinea in https://github.com/dfm/corner.py/pull/196
* Switching to using centralized packaging infrastructure by dfm in https://github.com/dfm/corner.py/pull/202
* Trying to silence font issues in docs by dfm in https://github.com/dfm/corner.py/pull/212
* Added option for log scaled axes. by castillohair in https://github.com/dfm/corner.py/pull/174
* Clarify support for using pandas column names as labels by zachjweiner in https://github.com/dfm/corner.py/pull/218
* Updated minimum python version and test outputs by dfm in https://github.com/dfm/corner.py/pull/221
* Fixing handling of range arugment when empty figure is provided by dfm in https://github.com/dfm/corner.py/pull/224
* Fixing outdated release workflow by dfm in https://github.com/dfm/corner.py/pull/227

New Contributors
* NeutralKaon made their first contribution in https://github.com/dfm/corner.py/pull/156
* pre-commit-ci made their first contribution in https://github.com/dfm/corner.py/pull/157
* Solosneros made their first contribution in https://github.com/dfm/corner.py/pull/188
* jhmatthews made their first contribution in https://github.com/dfm/corner.py/pull/193
* delinea made their first contribution in https://github.com/dfm/corner.py/pull/196
* castillohair made their first contribution in https://github.com/dfm/corner.py/pull/174
* zachjweiner made their first contribution in https://github.com/dfm/corner.py/pull/218

**Full Changelog**: https://github.com/dfm/corner.py/compare/v2.2.1...v2.2.2

2.2.2rc1

What's Changed
* Fixed infinite loop by dfm in https://github.com/dfm/corner.py/pull/154
* Fixed tests on CI by dfm in https://github.com/dfm/corner.py/pull/187
* Fixed title errorbars/quantiles bug  by jhmatthews in https://github.com/dfm/corner.py/pull/193
* Added a reverse option to overplot_* by NeutralKaon in https://github.com/dfm/corner.py/pull/156
* Added option to download notebooks as .ipynb by Solosneros in https://github.com/dfm/corner.py/pull/188
* Added `Returns` block to main corner() docstring by adrn in https://github.com/dfm/corner.py/pull/190
* Updated corner hist2d to match axis background color by delinea in https://github.com/dfm/corner.py/pull/196
* Switched to using centralized packaging infrastructure by dfm in https://github.com/dfm/corner.py/pull/202

New Contributors
* NeutralKaon made their first contribution in https://github.com/dfm/corner.py/pull/156
* pre-commit-ci made their first contribution in https://github.com/dfm/corner.py/pull/157
* Solosneros made their first contribution in https://github.com/dfm/corner.py/pull/188
* jhmatthews made their first contribution in https://github.com/dfm/corner.py/pull/193
* delinea made their first contribution in https://github.com/dfm/corner.py/pull/196

**Full Changelog**: https://github.com/dfm/corner.py/compare/v2.2.1...v2.2.2rc1
Links

Update emcee from 3.1.3 to 3.1.4.

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

Links

Update joblib from 1.2.0 to 1.3.1.

Changelog

1.3.1

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

- Fix compatibility with python 3.7 by vendor loky 3.4.1
which is compatible with this version.
https://github.com/joblib/joblib/pull/1472

1.3.0

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

- Ensure native byte order for memmap arrays in ``joblib.load``.
https://github.com/joblib/joblib/issues/1353

- Add ability to change default Parallel backend in tests by setting the
``JOBLIB_TESTS_DEFAULT_PARALLEL_BACKEND`` environment variable.
https://github.com/joblib/joblib/pull/1356

- Fix temporary folder creation in `joblib.Parallel` on Linux subsystems on Windows
which do have `/dev/shm` but don't have the `os.statvfs` function
https://github.com/joblib/joblib/issues/1353

- Drop runtime dependency on ``distutils``. ``distutils`` is going away
in Python 3.12 and is deprecated from Python 3.10 onwards. This import
was kept around to avoid breaking scikit-learn, however it's now been
long enough since scikit-learn deployed a fixed (verion 1.1 was released
in May 2022) that it should be safe to remove this.
https://github.com/joblib/joblib/pull/1361

- A warning is raised when a pickling error occurs during caching operations.
In version 1.5, this warning will be turned into an error. For all other
errors, a new warning has been introduced: ``joblib.memory.CacheWarning``.
https://github.com/joblib/joblib/pull/1359

- Avoid (module, name) collisions when caching nested functions. This fix
changes the module name of nested functions, invalidating caches from
previous versions of Joblib.
https://github.com/joblib/joblib/pull/1374

- Add ``cache_validation_callback`` in :meth:`joblib.Memory.cache`, to allow
custom cache invalidation based on the metadata of the function call.
https://github.com/joblib/joblib/pull/1149

- Add a ``return_as`` parameter for ``Parallel``, that enables consuming
results asynchronously.
https://github.com/joblib/joblib/pull/1393,
https://github.com/joblib/joblib/pull/1458

- Improve the behavior of ``joblib`` for ``n_jobs=1``, with simplified
tracebacks and more efficient running time.
https://github.com/joblib/joblib/pull/1393

- Add the ``parallel_config`` context manager to allow for more fine-grained
control over the backend configuration. It should be used in place of the
``parallel_backend`` context manager. In particular, it has the advantage
of not requiring to set a specific backend in the context manager.
https://github.com/joblib/joblib/pull/1392,
https://github.com/joblib/joblib/pull/1457

- Add ``items_limit`` and ``age_limit`` in :meth:`joblib.Memory.reduce_size`
to make it easy to limit the number of items and remove items that have
not been accessed for a long time in the cache.
https://github.com/joblib/joblib/pull/1200

- Deprecate ``bytes_limit`` in ``Memory`` as this is not automatically enforced,
the limit can be directly passed to :meth:`joblib.Memory.reduce_size` which
needs to be called to actually enforce the limit.
https://github.com/joblib/joblib/pull/1447

- Vendor ``loky`` 3.4.0 which includes various fixes.
https://github.com/joblib/joblib/pull/1422

- Various updates to the documentation and to benchmarking tools.
https://github.com/joblib/joblib/pull/1343,
https://github.com/joblib/joblib/pull/1348,
https://github.com/joblib/joblib/pull/1411,
https://github.com/joblib/joblib/pull/1451,
https://github.com/joblib/joblib/pull/1427,
https://github.com/joblib/joblib/pull/1400

- Move project metadata to ``pyproject.toml``.
https://github.com/joblib/joblib/pull/1382,
https://github.com/joblib/joblib/pull/1433

- Add more tests to improve python ``nogil`` support.
https://github.com/joblib/joblib/pull/1394,
https://github.com/joblib/joblib/pull/1395
Links

Update jsonschema from 4.16.0 to 4.17.3.

Changelog

4.17.3

=======

* Fix instantiating validators with cached refs to boolean schemas
rather than objects (1018).

4.17.2

=======

* Empty strings are not valid relative JSON Pointers (aren't valid under the
RJP format).
* Durations without (trailing) units are not valid durations (aren't
valid under the duration format). This involves changing the dependency
used for validating durations (from ``isoduration`` to ``isodate``).

4.17.1

=======

* The error message when using ``unevaluatedProperties`` with a non-trivial
schema value (i.e. something other than ``false``) has been improved (996).

4.17.0

=======

* The ``check_schema`` method on ``jsonschema.protocols.Validator`` instances
now *enables* format validation by default when run. This can catch some
additional invalid schemas (e.g. containing invalid regular expressions)
where the issue is indeed uncovered by validating against the metaschema
with format validation enabled as an assertion.
* The ``jsonschema`` CLI (along with ``jsonschema.cli`` the module) are now
deprecated. Use ``check-jsonschema`` instead, which can be installed via
``pip install check-jsonschema`` and found
`here <https://github.com/python-jsonschema/check-jsonschema>`_.

4.16.1

=======

* Make ``ErrorTree`` have a more grammatically correct ``repr``.
Links

Update matplotlib from 3.6.1 to 3.7.1.

Changelog

3.7.1

This is the first bugfix release of the 3.7.x series.

This release contains several bug-fixes and adjustments:

* Ensure Qhull license is included in binary wheels
* Fix application of rcParams on Axes labels
* Fix compatibility with Pandas datetime unit converter
* Fix compatibility with latest GTK4
* Fix import of styles with relative path
* Fix Lasso unresponsiveness when clicking and immediately releasing
* Fix pickling of draggable legends
* Fix RangeSlider.set_val when new value is outside existing value
* Fix size of Tk spacers when changing display DPI
* Fix wrapped text in constrained layout
* Improve compatibility with third-party backends
* Improve error if animation save path does not exist

3.6.3

This is the third bugfix release of the 3.6.x series.

This release contains several bug-fixes and adjustments:

* Fix Artist removal from `axes_grid1` Axes classes
* Fix `inset_locator` in subfigures
* Fix `scatter` on masked arrays with units
* Fix colorbar ticks with log norm contours
* Fix deprecation warnings in GTK4 backend
* Fix using relative paths in `HTMLWriter`
* Improve failure message from rcParams string validation for tuple inputs
* Improve performance of QtAgg backends
* No longer modify `pil_kwargs` argument to `imsave` and `savefig`

3.6.2

This is the second bugfix release of the 3.6.x series.

This release contains several bug-fixes and adjustments:

* Avoid mutating dictionaries passed to `subplots`
* Fix `bbox_inches='tight'` on a figure with constrained layout enabled
* Fix auto-scaling of `ax.hist` density with `histtype='step'`
* Fix compatibility with PySide6 6.4
* Fix evaluating colormaps on non-NumPy arrays
* Fix key reporting in pick events
* Fix thread check on PyPy 3.8
* Handle input to `ax.bar` that is all NaN
* Make rubber band more visible on Tk and Wx backends
* Restore (and warn on) seaborn styles in `style.library`
* Restore `get_renderer` function in deprecated `tight_layout`
* nb/webagg: Fix resize handle on WebKit browsers (e.g., Safari)
Links

Update numpy from 1.23.4 to 1.25.0.

Changelog

1.25.0

The NumPy 1.25.0 release continues the ongoing work to improve the
handling and promotion of dtypes, increase the execution speed, and
clarify the documentation. There has also been work to prepare for the
future NumPy 2.0.0 release, resulting in a large number of new and
expired deprecation. Highlights are:

-   Support for MUSL, there are now MUSL wheels.
-   Support the Fujitsu C/C++ compiler.
-   Object arrays are now supported in einsum
-   Support for inplace matrix multiplication (`=`).

We will be releasing a NumPy 1.26 when Python 3.12 comes out. That is
needed because distutils has been dropped by Python 3.12 and we will be
switching to using meson for future builds. The next mainline release
will be NumPy 2.0.0. We plan that the 2.0 series will still support
downstream projects built against earlier versions of NumPy.

The Python versions supported in this release are 3.9-3.11.

Deprecations

-   `np.core.MachAr` is deprecated. It is private API. In names defined
 in `np.core` should generally be considered private.

 ([gh-22638](https://github.com/numpy/numpy/pull/22638))

-   `np.finfo(None)` is deprecated.

 ([gh-23011](https://github.com/numpy/numpy/pull/23011))

-   `np.round_` is deprecated. Use `np.round` instead.

 ([gh-23302](https://github.com/numpy/numpy/pull/23302))

-   `np.product` is deprecated. Use `np.prod` instead.

 ([gh-23314](https://github.com/numpy/numpy/pull/23314))

-   `np.cumproduct` is deprecated. Use `np.cumprod` instead.

 ([gh-23314](https://github.com/numpy/numpy/pull/23314))

-   `np.sometrue` is deprecated. Use `np.any` instead.

 ([gh-23314](https://github.com/numpy/numpy/pull/23314))

-   `np.alltrue` is deprecated. Use `np.all` instead.

 ([gh-23314](https://github.com/numpy/numpy/pull/23314))

-   Only ndim-0 arrays are treated as scalars. NumPy used to treat all
 arrays of size 1 (e.g., `np.array([3.14])`) as scalars. In the
 future, this will be limited to arrays of ndim 0 (e.g.,
 `np.array(3.14)`). The following expressions will report a
 deprecation warning:

  python
 a = np.array([3.14])
 float(a)   better: a[0] to get the numpy.float or a.item()

 b = np.array([[3.14]])
 c = numpy.random.rand(10)
 c[0] = b   better: c[0] = b[0, 0]
 

 ([gh-10615](https://github.com/numpy/numpy/pull/10615))

-   `numpy.find_common_type` is now deprecated and its use
 should be replaced with either `numpy.result_type` or
 `numpy.promote_types`. Most users leave the second
 `scalar_types` argument to `find_common_type` as `[]` in which case
 `np.result_type` and `np.promote_types` are both faster and more
 robust. When not using `scalar_types` the main difference is that
 the replacement intentionally converts non-native byte-order to
 native byte order. Further, `find_common_type` returns `object`
 dtype rather than failing promotion. This leads to differences when
 the inputs are not all numeric. Importantly, this also happens for
 e.g. timedelta/datetime for which NumPy promotion rules are
 currently sometimes surprising.

 When the `scalar_types` argument is not `[]` things are more
 complicated. In most cases, using `np.result_type` and passing the
 Python values `0`, `0.0`, or `0j` has the same result as using
 `int`, `float`, or `complex` in `scalar_types`.

 When `scalar_types` is constructed, `np.result_type` is the correct
 replacement and it may be passed scalar values like
 `np.float32(0.0)`. Passing values other than 0, may lead to
 value-inspecting behavior (which `np.find_common_type` never used
 and NEP 50 may change in the future). The main possible change in
 behavior in this case, is when the array types are signed integers
 and scalar types are unsigned.

 If you are unsure about how to replace a use of `scalar_types` or
 when non-numeric dtypes are likely, please do not hesitate to open a
 NumPy issue to ask for help.

 ([gh-22539](https://github.com/numpy/numpy/pull/22539))

Expired deprecations

-   `np.core.machar` and `np.finfo.machar` have been removed.

 ([gh-22638](https://github.com/numpy/numpy/pull/22638))

-   `+arr` will now raise an error when the dtype is not numeric (and
 positive is undefined).

 ([gh-22998](https://github.com/numpy/numpy/pull/22998))

-   A sequence must now be passed into the stacking family of functions
 (`stack`, `vstack`, `hstack`, `dstack` and `column_stack`).

 ([gh-23019](https://github.com/numpy/numpy/pull/23019))

-   `np.clip` now defaults to same-kind casting. Falling back to unsafe
 casting was deprecated in NumPy 1.17.

 ([gh-23403](https://github.com/numpy/numpy/pull/23403))

-   `np.clip` will now propagate `np.nan` values passed as `min` or
 `max`. Previously, a scalar NaN was usually ignored. This was
 deprecated in NumPy 1.17.

 ([gh-23403](https://github.com/numpy/numpy/pull/23403))

-   The `np.dual` submodule has been removed.

 ([gh-23480](https://github.com/numpy/numpy/pull/23480))

-   NumPy now always ignores sequence behavior for an array-like
 (defining one of the array protocols). (Deprecation started NumPy
 1.20)

 ([gh-23660](https://github.com/numpy/numpy/pull/23660))

-   The niche `FutureWarning` when casting to a subarray dtype in
 `astype` or the array creation functions such as `asarray` is now
 finalized. The behavior is now always the same as if the subarray
 dtype was wrapped into a single field (which was the workaround,
 previously). (FutureWarning since NumPy 1.20)

 ([gh-23666](https://github.com/numpy/numpy/pull/23666))

-   `==` and `!=` warnings have been finalized. The `==` and `!=`
 operators on arrays now always:

 -   raise errors that occur during comparisons such as when the
     arrays have incompatible shapes
     (`np.array([1, 2]) == np.array([1, 2, 3])`).

 -   return an array of all `True` or all `False` when values are
     fundamentally not comparable (e.g. have different dtypes). An
     example is `np.array(["a"]) == np.array([1])`.

     This mimics the Python behavior of returning `False` and `True`
     when comparing incompatible types like `"a" == 1` and
     `"a" != 1`. For a long time these gave `DeprecationWarning` or
     `FutureWarning`.

 ([gh-22707](https://github.com/numpy/numpy/pull/22707))

-   Nose support has been removed. NumPy switched to using pytest in
 2018 and nose has been unmaintained for many years. We have kept
 NumPy\'s nose support to avoid breaking downstream projects who
 might have been using it and not yet switched to pytest or some
 other testing framework. With the arrival of Python 3.12, unpatched
 nose will raise an error. It is time to move on.

 *Decorators removed*:

 -   raises
 -   slow
 -   setastest
 -   skipif
 -   knownfailif
 -   deprecated
 -   parametrize
 -   \_needs_refcount

 These are not to be confused with pytest versions with similar
 names, e.g., pytest.mark.slow, pytest.mark.skipif,
 pytest.mark.parametrize.

 *Functions removed*:

 -   Tester
 -   import_nose
 -   run_module_suite

 ([gh-23041](https://github.com/numpy/numpy/pull/23041))

-   The `numpy.testing.utils` shim has been removed. Importing from the
 `numpy.testing.utils` shim has been deprecated since 2019, the shim
 has now been removed. All imports should be made directly from
 `numpy.testing`.

 ([gh-23060](https://github.com/numpy/numpy/pull/23060))

-   The environment variable to disable dispatching has been removed.
 Support for the `NUMPY_EXPERIMENTAL_ARRAY_FUNCTION` environment
 variable has been removed. This variable disabled dispatching with
 `__array_function__`.

 ([gh-23376](https://github.com/numpy/numpy/pull/23376))

-   Support for `y=` as an alias of `out=` has been removed. The `fix`,
 `isposinf` and `isneginf` functions allowed using `y=` as a
 (deprecated) alias for `out=`. This is no longer supported.

 ([gh-23376](https://github.com/numpy/numpy/pull/23376))

Compatibility notes

-   The `busday_count` method now correctly handles cases where the
 `begindates` is later in time than the `enddates`. Previously, the
 `enddates` was included, even though the documentation states it is
 always excluded.

 ([gh-23229](https://github.com/numpy/numpy/pull/23229))

-   When comparing datetimes and timedelta using `np.equal` or
 `np.not_equal` numpy previously allowed the comparison with
 `casting="unsafe"`. This operation now fails. Forcing the output
 dtype using the `dtype` kwarg can make the operation succeed, but we
 do not recommend it.

 ([gh-22707](https://github.com/numpy/numpy/pull/22707))

-   When loading data from a file handle using `np.load`, if the handle
 is at the end of file, as can happen when reading multiple arrays by
 calling `np.load` repeatedly, numpy previously raised `ValueError`
 if `allow_pickle=False`, and `OSError` if `allow_pickle=True`. Now
 it raises `EOFError` instead, in both cases.

 ([gh-23105](https://github.com/numpy/numpy/pull/23105))

`np.pad` with `mode=wrap` pads with strict multiples of original data

Code based on earlier version of `pad` that uses `mode="wrap"` will
return different results when the padding size is larger than initial
array.

`np.pad` with `mode=wrap` now always fills the space with strict
multiples of original data even if the padding size is larger than the
initial array.

([gh-22575](https://github.com/numpy/numpy/pull/22575))

Cython `long_t` and `ulong_t` removed

`long_t` and `ulong_t` were aliases for `longlong_t` and `ulonglong_t`
and confusing (a remainder from of Python 2). This change may lead to
the errors:

 'long_t' is not a type identifier
 'ulong_t' is not a type identifier

We recommend use of bit-sized types such as `cnp.int64_t` or the use of
`cnp.intp_t` which is 32 bits on 32 bit systems and 64 bits on 64 bit
systems (this is most compatible with indexing). If C `long` is desired,
use plain `long` or `npy_long`. `cnp.int_t` is also `long` (NumPy\'s
default integer). However, `long` is 32 bit on 64 bit windows and we may
wish to adjust this even in NumPy. (Please do not hesitate to contact
NumPy developers if you are curious about this.)

([gh-22637](https://github.com/numpy/numpy/pull/22637))

Changed error message and type for bad `axes` argument to `ufunc`

The error message and type when a wrong `axes` value is passed to
`ufunc(..., axes=[...])` has changed. The message is now more
indicative of the problem, and if the value is mismatched an
`AxisError` will be raised. A `TypeError` will still be raised for
invalidinput types.

([gh-22675](https://github.com/numpy/numpy/pull/22675))

Array-likes that define `__array_ufunc__` can now override ufuncs if used as `where`

If the `where` keyword argument of a `numpy.ufunc`{.interpreted-text
role="class"} is a subclass of `numpy.ndarray`{.interpreted-text
role="class"} or is a duck type that defines
`numpy.class.__array_ufunc__`{.interpreted-text role="func"} it can
override the behavior of the ufunc using the same mechanism as the input
and output arguments. Note that for this to work properly, the
`where.__array_ufunc__` implementation will have to unwrap the `where`
argument to pass it into the default implementation of the `ufunc` or,
for `numpy.ndarray`{.interpreted-text role="class"} subclasses before
using `super().__array_ufunc__`.

([gh-23240](https://github.com/numpy/numpy/pull/23240))

Compiling against the NumPy C API is now backwards compatible by default

NumPy now defaults to exposing a backwards compatible subset of the
C-API. This makes the use of `oldest-supported-numpy` unnecessary.
Libraries can override the default minimal version to be compatible with
using:

 define NPY_TARGET_VERSION NPY_1_22_API_VERSION

before including NumPy or by passing the equivalent `-D` option to the
compiler. The NumPy 1.25 default is `NPY_1_19_API_VERSION`. Because the

1.24.4

discovered after the 1.24.3 release. It is the last planned
release in the 1.24.x cycle. The Python versions supported by
this release are 3.8-3.11.

Contributors

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

-   Bas van Beek
-   Charles Harris
-   Sebastian Berg
-   Hongyang Peng +

Pull requests merged

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

-   [23720](https://github.com/numpy/numpy/pull/23720): MAINT, BLD: Pin rtools to version 4.0 for Windows builds.
-   [23739](https://github.com/numpy/numpy/pull/23739): BUG: fix the method for checking local files for 1.24.x
-   [23760](https://github.com/numpy/numpy/pull/23760): MAINT: Copy rtools installation from install-rtools.
-   [23761](https://github.com/numpy/numpy/pull/23761): BUG: Fix masked array ravel order for A (and somewhat K)
-   [23890](https://github.com/numpy/numpy/pull/23890): TYP,DOC: Annotate and document the `metadata` parameter of\...
-   [23994](https://github.com/numpy/numpy/pull/23994): MAINT: Update rtools installation

Checksums

MD5

 25049e3aee79dde29e7a498d3ad13379  numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl
 579b5c357c918feaef4af03af8afb721  numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl
 c873a14fa4f0210884db9c05e2904286  numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 110a13ac016286059f0658b52b3646c0  numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 fa67218966c0aef4094867cad7703648  numpy-1.24.4-cp310-cp310-win32.whl
 6ee768803d8ebac43ee0a04e628a69f9  numpy-1.24.4-cp310-cp310-win_amd64.whl
 0c918c16b58cb7f6773ea7d76e0bdaff  numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl
 20506ae8003faf097c6b3a8915b4140e  numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl
 902df9d5963e89d88a1939d94207857f  numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 2543611d802c141c8276e4868b4d9619  numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 37b23a4e4e148d61dd3a515ac5dbf7ec  numpy-1.24.4-cp311-cp311-win32.whl
 25e9f6bee2b65ff2a87588e717f15165  numpy-1.24.4-cp311-cp311-win_amd64.whl
 f39a0cc3655a482af7d300bcaff5978e  numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl
 9ed27941388fdb392e8969169f3fc600  numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl
 dee3f0c7482f1dc8bd1cd27b9b028a2c  numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 2cc0967af29df3caef9fb3520f14e071  numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 8572a3a0973fa78355bcb5f737745b47  numpy-1.24.4-cp38-cp38-win32.whl
 771c63f2ef0d31466bbb12362a532265  numpy-1.24.4-cp38-cp38-win_amd64.whl
 5713d9dc3dff287fb72121fe1960c48d  numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl
 4e6718e3b655219a2a733b4fa242ca32  numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl
 31487f9a52ef81f8f88ec7fce8738dad  numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 ea597b30187e55eb16ee31631e66f60d  numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 98adbf30c67154056474001c125f6188  numpy-1.24.4-cp39-cp39-win32.whl
 49c444b0e572ef45f1d92c106a36004e  numpy-1.24.4-cp39-cp39-win_amd64.whl
 cdddfdeac437b0f20b4e366f00b5c42e  numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
 3778338c15628caa3abd61e6f7bd46ec  numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 e16bd49d5295dc1b01ed50d76229fb54  numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl
 3f3995540a17854a29dc79f8eeecd832  numpy-1.24.4.tar.gz

SHA256

 c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64  numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl
 ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1  numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl
 79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4  numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6  numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc  numpy-1.24.4-cp310-cp310-win32.whl
 b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e  numpy-1.24.4-cp310-cp310-win_amd64.whl
 f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810  numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl
 e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254  numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl
 222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7  numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5  numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d  numpy-1.24.4-cp311-cp311-win32.whl
 b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694  numpy-1.24.4-cp311-cp311-win_amd64.whl
 1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61  numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl
 04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f  numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl
 a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e  numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc  numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2  numpy-1.24.4-cp38-cp38-win32.whl
 692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706  numpy-1.24.4-cp38-cp38-win_amd64.whl
 2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400  numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl
 9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f  numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl
 f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9  numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d  numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835  numpy-1.24.4-cp39-cp39-win32.whl
 befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8  numpy-1.24.4-cp39-cp39-win_amd64.whl
 31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef  numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
 95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a  numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2  numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl
 80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463  numpy-1.24.4.tar.gz

1.24.3

discovered after the 1.24.2 release. The Python versions supported by
this release are 3.8-3.11.

Contributors

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

-   Aleksei Nikiforov +
-   Alexander Heger
-   Bas van Beek
-   Bob Eldering
-   Brock Mendel
-   Charles Harris
-   Kyle Sunden
-   Peter Hawkins
-   Rohit Goswami
-   Sebastian Berg
-   Warren Weckesser
-   dependabot\[bot\]

Pull requests merged

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

-   [23206](https://github.com/numpy/numpy/pull/23206): BUG: fix for f2py string scalars (#23194)
-   [23207](https://github.com/numpy/numpy/pull/23207): BUG: datetime64/timedelta64 comparisons return NotImplemented
-   [23208](https://github.com/numpy/numpy/pull/23208): MAINT: Pin matplotlib to version 3.6.3 for refguide checks
-   [23221](https://github.com/numpy/numpy/pull/23221): DOC: Fix matplotlib error in documentation
-   [23226](https://github.com/numpy/numpy/pull/23226): CI: Ensure submodules are initialized in gitpod.
-   [23341](https://github.com/numpy/numpy/pull/23341): TYP: Replace duplicate reduce in ufunc type signature with reduceat.
-   [23342](https://github.com/numpy/numpy/pull/23342): TYP: Remove duplicate CLIP/WRAP/RAISE in `__init__.pyi`.
-   [23343](https://github.com/numpy/numpy/pull/23343): TYP: Mark `d` argument to fftfreq and rfftfreq as optional\...
-   [23344](https://github.com/numpy/numpy/pull/23344): TYP: Add type annotations for comparison operators to MaskedArray.
-   [23345](https://github.com/numpy/numpy/pull/23345): TYP: Remove some stray type-check-only imports of `msort`
-   [23370](https://github.com/numpy/numpy/pull/23370): BUG: Ensure like is only stripped for `like=` dispatched functions
-   [23543](https://github.com/numpy/numpy/pull/23543): BUG: fix loading and storing big arrays on s390x
-   [23544](https://github.com/numpy/numpy/pull/23544): MAINT: Bump larsoner/circleci-artifacts-redirector-action
-   [23634](https://github.com/numpy/numpy/pull/23634): BUG: Ignore invalid and overflow warnings in masked setitem
-   [23635](https://github.com/numpy/numpy/pull/23635): BUG: Fix masked array raveling when `order="A"` or `order="K"`
-   [23636](https://github.com/numpy/numpy/pull/23636): MAINT: Update conftest for newer hypothesis versions
-   [23637](https://github.com/numpy/numpy/pull/23637): BUG: Fix bug in parsing F77 style string arrays.

Checksums

MD5

 93a3ce07e3773842c54d831f18e3eb8d  numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl
 39691ff3d1612438dfcd3266c9765aab  numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl
 a99234799a239e7e9c6fa15c212996df  numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 3673aa638746851dd19d5199e1eb3a91  numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 3c72962360bcd0938a6bddee6cdca766  numpy-1.24.3-cp310-cp310-win32.whl
 a3329efa646012fa4ee06ce5e08eadaf  numpy-1.24.3-cp310-cp310-win_amd64.whl
 5323fb0323d1ec10ee3c35a2fa79cbcd  numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl
 cfa001dcd07cdf6414ced433e88959d4  numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl
 d75bbfb06ed00d04232dce0e865eb42c  numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 fe18b810bcf284572467ce585dbc533b  numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 e97699a4ef96a81e0916bdf15440abe0  numpy-1.24.3-cp311-cp311-win32.whl
 e6de5b7d77dc43ed47f516eb10bbe8b6  numpy-1.24.3-cp311-cp311-win_amd64.whl
 dd04ebf441a8913f4900b56e7a33a75e  numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl
 e47ac5521b0bfc3effb040072d8a7902  numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl
 7b7dae3309e7ca8a8859633a5d337431  numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 8cc87b88163ed84e70c48fd0f5f8f20e  numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 350934bae971d0ebe231a59b640069db  numpy-1.24.3-cp38-cp38-win32.whl
 c4708ef009bb5d427ea94a4fc4a10e12  numpy-1.24.3-cp38-cp38-win_amd64.whl
 44b08a293a4e12d62c27b8f15ba5664e  numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl
 3ae7ac30f86c720e42b2324a0ae1adf5  numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl
 065464a8d918c670c7863d1e72e3e6dd  numpy-1.24.3-

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Sep 1, 2023

Closing this in favor of #68

@pyup-bot pyup-bot closed this Sep 1, 2023
@AWehrhahn AWehrhahn deleted the pyup-scheduled-update-2023-07-01 branch September 1, 2023 15:26
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

1 participant