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 November #70

Closed
wants to merge 30 commits into from

Conversation

pyup-bot
Copy link
Collaborator

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

Update astropy from 5.1.1 to 5.3.4.

Changelog

5.3.3

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

Bug Fixes
---------

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

- ``TransformGraph.to_dot_graph()`` now throws an exception for invalid ``savelayout``.

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

- The exponent of ``w0wzCDM`` functions in ``inv_efunc`` has been corrected to 3, from -3. [15224]

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

- Astropy modeling can filter non-finite data values using the ``filter_non_finite``
keyword argument in a fitter call. Now when ``filter_non_finite`` is True,
non-finite *weights* will also be filtered to prevent crashes in ``LevMarLSQFitter``. [15215]

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

- Fixed ``astropy.units.Quantity``'s implementation of ``numpy.nanmedian()``,
where for Numpy >= 1.25 an exception was raised for some array shapes and axis
combinations. [15228]


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

- v5.3.x will not support NumPy 2.0 or later. [15234]

5.3.2

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

Bug Fixes
---------

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

- Fixed import when called with Python ``-OO`` flag. [15037]

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

- Fix for collapse operations on ``NDData`` without masks or units. [15082]

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

- Modified the implementation of ``np.power()`` for instances of ``Quantity`` to
allow any array as the second operand if all its elements have the same value. [15101]

5.3.1

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

Bug Fixes
---------

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

- The exponent in ``wowzCDM.de_density_scale`` has been corrected to 3, from -3. [14991]

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

- Fix crash when a PrimaryHDU has a GROUPS keyword with a non-boolean value (i.e.
not a random-groups HDU). [14998]

- Fixed a bug that caused ``Cutout2D`` to not work correctly with ``CompImageHDU.section`` [14999]

- Fixed a bug that caused compressed images with TFORM missing the optional '1' prefix to not be readable. [15001]

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

- All models can be pickled now. [14902]

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

- Restore bitmask propagation behavior in ``NDData.mask``, plus a fix
for arithmetic between masked and unmasked ``NDData`` objects. [14995]

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

- Fix a bug where table indexes were not using a stable sort order. This was causing the
order of rows within groups to not match the original table order when an indexed table
was grouped. [14907]

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

- In VOunits, "pix", "au", "a", and "ct" are removed from the list of deprecated units. [14885]

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 cffi from 1.15.1 to 1.16.0.

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

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.2.

Changelog

1.3.2

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

- Fix a regression in ``joblib.Parallel`` introduced in 1.3.0 where
explicitly setting ``n_jobs=None`` was not interpreted as "unset".
https://github.com/joblib/joblib/pull/1475

- Fix a regression in ``joblib.Parallel`` introduced in 1.3.0 where
``joblib.Parallel`` logging methods exposed from inheritance to
``joblib.Logger`` didn't work because of missing logger
initialization.
https://github.com/joblib/joblib/pull/1494

- Various maintenance updates to the doc, the ci and the test.
https://github.com/joblib/joblib/pull/1480,
https://github.com/joblib/joblib/pull/1481,
https://github.com/joblib/joblib/pull/1476,
https://github.com/joblib/joblib/pull/1492

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.19.2.

Changelog

4.19.2

=======

* Fix the error message for additional items when used with heterogeneous arrays.
* Don't leak the ``additionalItems`` keyword into JSON Schema draft 2020-12, where it was replaced by ``items``.

4.19.1

=======

* Single label hostnames are now properly considered valid according to the ``hostname`` format.
This is the behavior specified by the relevant RFC (1123).
IDN hostname behavior was already correct.

4.19.0

=======

* Importing the ``Validator`` protocol directly from the package root is deprecated.
Import it from ``jsonschema.protocols.Validator`` instead.
* Automatic retrieval of remote references (which is still deprecated) now properly succeeds even if the retrieved resource does not declare which version of JSON Schema it uses.
Such resources are assumed to be 2020-12 schemas.
This more closely matches the pre-referencing library behavior.

4.18.6

=======

* Set a ``jsonschema`` specific user agent when automatically retrieving remote references (which is deprecated).

4.18.5

=======

* Declare support for Py3.12

4.18.4

=======

* Improve the hashability of wrapped referencing exceptions when they contain hashable data.

4.18.3

=======

* Properly preserve ``applicable_validators`` in extended validators.
Specifically, validators extending early drafts where siblings of ``$ref`` were ignored will properly ignore siblings in the extended validator.

4.18.2

=======

* Fix an additional regression with the deprecated ``jsonschema.RefResolver`` and pointer resolution.

4.18.1

=======

* Fix a regression with ``jsonschema.RefResolver`` based resolution when used in combination with a custom validation dialect (via ``jsonschema.validators.create``).

4.18.0

=======

This release majorly rehauls the way in which JSON Schema reference resolution is configured.
It does so in a way that *should* be backwards compatible, preserving old behavior whilst emitting deprecation warnings.

* ``jsonschema.RefResolver`` is now deprecated in favor of the new `referencing library <https://github.com/python-jsonschema/referencing/>`_.
``referencing`` will begin in beta, but already is more compliant than the existing ``$ref`` support.
This change is a culmination of a meaningful chunk of work to make ``$ref`` resolution more flexible and more correct.
Backwards compatibility *should* be preserved for existing code which uses ``RefResolver``, though doing so is again now deprecated, and all such use cases should be doable using the new APIs.
Please file issues on the ``referencing`` tracker if there is functionality missing from it, or here on the ``jsonschema`` issue tracker if you have issues with existing code not functioning the same, or with figuring out how to change it to use ``referencing``.
In particular, this referencing change includes a change concerning *automatic* retrieval of remote references (retrieving ``http://foo/bar`` automatically within a schema).
This behavior has always been a potential security risk and counter to the recommendations of the JSON Schema specifications; it has survived this long essentially only for backwards compatibility reasons, and now explicitly produces warnings.
The ``referencing`` library itself will *not* automatically retrieve references if you interact directly with it, so the deprecated behavior is only triggered if you fully rely on the default ``$ref`` resolution behavior and also include remote references in your schema, which will still be retrieved during the deprecation period (after which they will become an error).
* Support for Python 3.7 has been dropped, as it is nearing end-of-life.
This should not be a "visible" change in the sense that ``requires-python`` has been updated, so users using 3.7 should still receive ``v4.17.3`` when installing the library.
* On draft 2019-09, ``unevaluatedItems`` now properly does *not* consider items to be evaluated by an ``additionalItems`` schema if ``items`` is missing from the schema, as the specification says in this case that ``additionalItems`` must be completely ignored.
* Fix the ``date`` format checker on Python 3.11 (when format assertion behavior is enabled), where it was too liberal (1076).
* Speed up validation of ``unevaluatedProperties`` (1075).

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

* ``jsonschema.RefResolver`` -- see above for details on the replacement
* ``jsonschema.RefResolutionError`` -- see above for details on the replacement
* relying on automatic resolution of remote references -- see above for details on the replacement
* importing ``jsonschema.ErrorTree`` -- instead import it via ``jsonschema.exceptions.ErrorTree``
* importing ``jsonschema.FormatError`` -- instead import it via ``jsonschema.exceptions.FormatError``

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.8.1.

Changelog

3.8.1

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


This release contains several bug fixes and adjustments:


- Bump setuptools required version because of setuptools_scm v8
- Update ``find_nearest_contour`` and revert contour deprecations
- ``allsegs`` and ``allkinds`` return individual segments
- Restore default behavior of hexbin mincnt with C provided
- Try/except import of Axes3D
- Ensure valid path mangling for ContourLabeler
- BLD: Remove development dependencies from sdists
- FIX 2-tuple of colors in to_rgba_array
- Fix issue with non-string labels and legend
- Fix issue with locale comma when not using math text
- Various type hinting improvements
- Various documentation improvements
- Improvements to the MacOS backend

3.7.3

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

This release contains several bug-fixes and adjustments:

* Add Python 3.12 wheels
* Update the license for the bundled colorbrewer colormap data
* Fix Cairo backend when using cairocffi
* Fix axes_grid1 inset axes with `bbox_inches=tight`
* Fix bugs in `Path3DCollection` / `Poly3DCollection` constructors
* Fix setting array labelcolor on Tick
* Improve compatibility with latest NumPy
* Stop warning when calling `tight_layout` multiple times

3.7.2

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

This release contains several bug-fixes and adjustments:

* Avoid modifying input masks in `pcolor`/`pcolormesh`
* Fix 3D set_aspect error cases
* Fix IPython's `%pylab` mode detection
* Fix `Figure.get_constrained_layout_pads()`
* Fix `Legend.set_draggable()` with `update="bbox"`
* Fix `TransformedBbox.{,full_}contains`
* Fix clipping of `bar_label` text
* Fix colorbar size when saving with explicit `bbox_inches`
* Fix errors when an input is entirely NaN
* Fix leaks of exception tracebacks and `LayoutGrid` objects
* Fix non-interpolated imshow in PDF export
* Fix palettized image optimization in PDF export
* Fix pgf tests with TeXLive 2022
* Fix removal of `Axes` that contain widgets that are grabbing the mouse
* Fix removal of draggable artists
* Fix subslice optimization for long, fully nan lines
* Fix tight layout if Figure has an existing layout manager
* Fix window extent of AnnotationBbox before first draw
* Fix wspace and hspace in subfigures
* Improve Qt compatibility
* Improve compatibility with Python 3.12
* Prevent under the hood downcasting of values in `xcorr`
* Remove some NumPy function overrides from `pylab`
* Remove warning with symlog scales on mouseover

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.26.1.

Changelog

1.26.1

discovered after the 1.26.0 release. In addition, it adds new
functionality for detecting BLAS and LAPACK when building from source.
Highlights are:

-   Improved detection of BLAS and LAPACK libraries for meson builds
-   Pickle compatibility with the upcoming NumPy 2.0.

The 1.26.release series is the last planned minor release series before
NumPy 2.0. The Python versions supported by this release are 3.9-3.12.

Build system changes

Improved BLAS/LAPACK detection and control

Auto-detection for a number of BLAS and LAPACK is now implemented for
Meson. By default, the build system will try to detect MKL, Accelerate
(on macOS \>=13.3), OpenBLAS, FlexiBLAS, BLIS and reference BLAS/LAPACK.
Support for MKL was significantly improved, and support for FlexiBLAS
was added.

New command-line flags are available to further control the selection of
the BLAS and LAPACK libraries to build against.

To select a specific library, use the config-settings interface via
`pip` or `pypa/build`. E.g., to select `libblas`/`liblapack`, use:

 $ pip install numpy -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack
 $  OR
 $ python -m build . -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack

This works not only for the libraries named above, but for any library
that Meson is able to detect with the given name through `pkg-config` or
CMake.

Besides `-Dblas` and `-Dlapack`, a number of other new flags are
available to control BLAS/LAPACK selection and behavior:

-   `-Dblas-order` and `-Dlapack-order`: a list of library names to
 search for in order, overriding the default search order.
-   `-Duse-ilp64`: if set to `true`, use ILP64 (64-bit integer) BLAS and
 LAPACK. Note that with this release, ILP64 support has been extended
 to include MKL and FlexiBLAS. OpenBLAS and Accelerate were supported
 in previous releases.
-   `-Dallow-noblas`: if set to `true`, allow NumPy to build with its
 internal (very slow) fallback routines instead of linking against an
 external BLAS/LAPACK library. *The default for this flag may be
 changed to \`\`true\`\` in a future 1.26.x release, however for
 1.26.1 we\'d prefer to keep it as \`\`false\`\` because if failures
 to detect an installed library are happening, we\'d like a bug
 report for that, so we can quickly assess whether the new
 auto-detection machinery needs further improvements.*
-   `-Dmkl-threading`: to select the threading layer for MKL. There are
 four options: `seq`, `iomp`, `gomp` and `tbb`. The default is
 `auto`, which selects from those four as appropriate given the
 version of MKL selected.
-   `-Dblas-symbol-suffix`: manually select the symbol suffix to use for
 the library - should only be needed for linking against libraries
 built in a non-standard way.

New features

`numpy._core` submodule stubs

`numpy._core` submodule stubs were added to provide compatibility with
pickled arrays created using NumPy 2.0 when running Numpy 1.26.

Contributors

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

-   Andrew Nelson
-   Anton Prosekin +
-   Charles Harris
-   Chongyun Lee +
-   Ivan A. Melnikov +
-   Jake Lishman +
-   Mahder Gebremedhin +
-   Mateusz Sokół
-   Matti Picus
-   Munira Alduraibi +
-   Ralf Gommers
-   Rohit Goswami
-   Sayed Adel

Pull requests merged

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

-   [24742](https://github.com/numpy/numpy/pull/24742): MAINT: Update cibuildwheel version
-   [24748](https://github.com/numpy/numpy/pull/24748): MAINT: fix version string in wheels built with setup.py
-   [24771](https://github.com/numpy/numpy/pull/24771): BLD, BUG: Fix build failure for host flags e.g. `-march=native`\...
-   [24773](https://github.com/numpy/numpy/pull/24773): DOC: Updated the f2py docs to remove a note on -fimplicit-none
-   [24776](https://github.com/numpy/numpy/pull/24776): BUG: Fix SIMD f32 trunc test on s390x when baseline is none
-   [24785](https://github.com/numpy/numpy/pull/24785): BLD: add libquadmath to licences and other tweaks (#24753)
-   [24786](https://github.com/numpy/numpy/pull/24786): MAINT: Activate `use-compute-credits` for Cirrus.
-   [24803](https://github.com/numpy/numpy/pull/24803): BLD: updated vendored-meson/meson for mips64 fix
-   [24804](https://github.com/numpy/numpy/pull/24804): MAINT: fix licence path win
-   [24813](https://github.com/numpy/numpy/pull/24813): BUG: Fix order of Windows OS detection macros.
-   [24831](https://github.com/numpy/numpy/pull/24831): BUG, SIMD: use scalar cmul on bad Apple clang x86_64 (#24828)
-   [24840](https://github.com/numpy/numpy/pull/24840): BUG: Fix DATA statements for f2py
-   [24870](https://github.com/numpy/numpy/pull/24870): API: Add `NumpyUnpickler` for backporting
-   [24872](https://github.com/numpy/numpy/pull/24872): MAINT: Xfail test failing on PyPy.
-   [24879](https://github.com/numpy/numpy/pull/24879): BLD: fix math func feature checks, fix FreeBSD build, add CI\...
-   [24899](https://github.com/numpy/numpy/pull/24899): ENH: meson: implement BLAS/LAPACK auto-detection and many CI\...
-   [24902](https://github.com/numpy/numpy/pull/24902): DOC: add a 1.26.1 release notes section for BLAS/LAPACK build\...
-   [24906](https://github.com/numpy/numpy/pull/24906): MAINT: Backport `numpy._core` stubs. Remove `NumpyUnpickler`
-   [24911](https://github.com/numpy/numpy/pull/24911): MAINT: Bump pypa/cibuildwheel from 2.16.1 to 2.16.2
-   [24912](https://github.com/numpy/numpy/pull/24912): BUG: loongarch doesn\'t use REAL(10)

Checksums

MD5

 bda38de1a047dd9fdddae16c0d9fb358  numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl
 196d2e39047da64ab28e177760c95461  numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl
 9d25010a7bf50e624d2fed742790afbd  numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 9b22fa3d030807f0708007d9c0659f65  numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 eea626b8b930acb4b32302a9e95714f5  numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
 3c40ef068f50d2ac2913c5b9fa1233fa  numpy-1.26.1-cp310-cp310-win32.whl
 315c251d2f284af25761a37ce6dd4d10  numpy-1.26.1-cp310-cp310-win_amd64.whl
 ebdd5046937df50e9f54a6d38c5775dd  numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl
 682f9beebe8547f205d6cdc8ff96a984  numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl
 e86da9b6040ea88b3835c4d8f8578658  numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 ebcb6cf7f64454215e29d8a89829c8e1  numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 a8c89e13dc9a63712104e2fb06fb63a6  numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl
 339795930404988dbc664ff4cc72b399  numpy-1.26.1-cp311-cp311-win32.whl
 4ef5e1bdd7726c19615843f5ac72e618  numpy-1.26.1-cp311-cp311-win_amd64.whl
 3aad6bc72db50e9cc88aa5813e8f35bd  numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl
 fd62f65ae7798dbda9a3f7af7aa5c8db  numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl
 104d939e080f1baf0a56aed1de0e79e3  numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 c44b56c96097f910bbec1420abcf3db5  numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 1dce230368ae5fc47dd0fe8de8ff771d  numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl
 d93338e7d60e1d294ca326450e99806b  numpy-1.26.1-cp312-cp312-win32.whl
 a1832f46521335c1ee4c56dbf12e600b  numpy-1.26.1-cp312-cp312-win_amd64.whl
 946fbb0b6caca9258985495532d3f9ab  numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl
 78c2ab13d395d67d90bcd6583a6f61a8  numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl
 0a9d80d8b646abf4ffe51fff3e075d10  numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 0229ba8145d4f58500873b540a55d60e  numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 9179fc57c03260374c86e18867c24463  numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
 246a3103fdbe5d891d7a8aee28875a26  numpy-1.26.1-cp39-cp39-win32.whl
 4589dcb7f754fade6ea3946416bee638  numpy-1.26.1-cp39-cp39-win_amd64.whl
 3af340d5487a6c045f00fe5eb889957c  numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
 28aece4f1ceb92ec463aa353d4a91c8b  numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 bbd0461a1e31017b05509e9971b3478e  numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl
 2d770f4c281d405b690c4bcb3dbe99e2  numpy-1.26.1.tar.gz

SHA256

 82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af  numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl
 cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575  numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl
 d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244  numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67  numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2  numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
 d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297  numpy-1.26.1-cp310-cp310-win32.whl
 d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab  numpy-1.26.1-cp310-cp310-win_amd64.whl
 cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a  numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl
 1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9  numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl
 d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3  numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974  numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c  numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl
 b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b  numpy-1.26.1-cp311-cp311-win32.whl
 3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53  numpy-1.26.1-cp311-cp311-win_amd64.whl
 1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f  numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl
 afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24  numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl
 a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e  numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124  numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c  numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl
 af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66  numpy-1.26.1-cp312-cp312-win32.whl
 9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7  numpy-1.26.1-cp312-cp312-win_amd64.whl
 bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e  numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl
 e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617  numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl
 9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e  numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908  numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5  numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
 d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104  numpy-1.26.1-cp39-cp39-win32.whl
 59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2  numpy-1.26.1-cp39-cp39-win_amd64.whl
 06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668  numpy-1.26.1-pp39-pypy39

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Dec 1, 2023

Closing this in favor of #71

@pyup-bot pyup-bot closed this Dec 1, 2023
@AWehrhahn AWehrhahn deleted the pyup-scheduled-update-2023-11-01 branch December 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.

1 participant