Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

Update anyio from 4.6.2.post1 to 4.9.0.

Changelog

4.9.0

- Added async support for temporary file handling
(`344 <https://github.com/agronholm/anyio/issues/873>`_; PR by 11kkw)
- Added 4 new fixtures for the AnyIO ``pytest`` plugin:

* ``free_tcp_port_factory``: session scoped fixture returning a callable that
 generates unused TCP port numbers
* ``free_udp_port_factory``: session scoped fixture returning a callable that
 generates unused UDP port numbers
* ``free_tcp_port``: function scoped fixture that invokes the
 ``free_tcp_port_factory`` fixture to generate a free TCP port number
* ``free_udp_port``: function scoped fixture that invokes the
 ``free_udp_port_factory`` fixture to generate a free UDP port number
- Added ``stdin`` argument to ``anyio.run_process()`` akin to what
``anyio.open_process()``, ``asyncio.create_subprocess_…()``, ``trio.run_process()``,
and ``subprocess.run()`` already accept (PR by jmehnle)
- Added the ``info`` property to ``anyio.Path`` on Python 3.14
- Changed ``anyio.getaddrinfo()`` to ignore (invalid) IPv6 name resolution results when
IPv6 support is disabled in Python
- Changed ``EndOfStream`` raised from ``MemoryObjectReceiveStream.receive()`` to leave
out the ``AttributeError`` from the exception chain which was merely an implementation
detail and caused some confusion
- Fixed traceback formatting growing quadratically with level of ``TaskGroup``
nesting on asyncio due to exception chaining when raising ``ExceptionGroups``
in ``TaskGroup.__aexit__``
(`863 <https://github.com/agronholm/anyio/issues/863>`_; PR by tapetersen)
- Fixed ``anyio.Path.iterdir()`` making a blocking call in Python 3.13
(`873 <https://github.com/agronholm/anyio/issues/873>`_; PR by cbornet and
agronholm)
- Fixed ``connect_tcp()`` producing cyclic references in tracebacks when raising
exceptions (`809 <https://github.com/agronholm/anyio/pull/809>`_; PR by graingert)
- Fixed ``anyio.to_thread.run_sync()`` needlessly holding on to references of the
context, function, arguments and others until the next work item on asyncio
(PR by Wankupi)

4.8.0

- Added **experimental** support for running functions in subinterpreters on Python
3.13 and later
- Added support for the ``copy()``, ``copy_into()``, ``move()`` and ``move_into()``
methods in ``anyio.Path``, available in Python 3.14
- Changed ``TaskGroup`` on asyncio to always spawn tasks non-eagerly, even if using a
task factory created via ``asyncio.create_eager_task_factory()``, to preserve expected
Trio-like task scheduling semantics (PR by agronholm and graingert)
- Configure ``SO_RCVBUF``, ``SO_SNDBUF`` and ``TCP_NODELAY`` on the selector
thread waker socket pair (this should improve the performance of ``wait_readable()``)
and ``wait_writable()`` when using the ``ProactorEventLoop``
(`836 <https://github.com/agronholm/anyio/pull/836>`_; PR by graingert)
- Fixed ``AssertionError`` when using ``nest-asyncio``
(`840 <https://github.com/agronholm/anyio/issues/840>`_)
- Fixed return type annotation of various context managers' ``__exit__`` method
(`847 <https://github.com/agronholm/anyio/issues/847>`_; PR by Enegg)

4.7.0

- Updated ``TaskGroup`` to work with asyncio's eager task factories
(`764 <https://github.com/agronholm/anyio/issues/764>`_)
- Added the ``wait_readable()`` and ``wait_writable()`` functions which will accept
an object with a ``.fileno()`` method or an integer handle, and deprecated
their now obsolete versions (``wait_socket_readable()`` and
``wait_socket_writable()``) (PR by davidbrochart)
- Changed ``EventAdapter`` (an ``Event`` with no bound async backend) to allow ``set()``
to work even before an async backend is bound to it
(`819 <https://github.com/agronholm/anyio/issues/819>`_)
- Added support for ``wait_readable()`` and ``wait_writable()`` on ``ProactorEventLoop``
(used on asyncio + Windows by default)
- Fixed a misleading ``ValueError`` in the context of DNS failures
(`815 <https://github.com/agronholm/anyio/issues/815>`_; PR by graingert)
- Fixed the return type annotations of ``readinto()`` and ``readinto1()`` methods in the
``anyio.AsyncFile`` class
(`825 <https://github.com/agronholm/anyio/issues/825>`_)
- Fixed ``TaskInfo.has_pending_cancellation()`` on asyncio returning false positives in
cleanup code on Python >= 3.11
(`832 <https://github.com/agronholm/anyio/issues/832>`_; PR by gschaffner)
- Fixed cancelled cancel scopes on asyncio calling ``asyncio.Task.uncancel`` when
propagating a ``CancelledError`` on exit to a cancelled parent scope
(`790 <https://github.com/agronholm/anyio/pull/790>`_; PR by gschaffner)
Links

Update astroid from 3.3.5 to 3.3.9.

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

Links

Update astropy from 6.1.6 to 7.0.1.

Changelog

7.0.1

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

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

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

- The use of the keyword ``use_local_files`` for the js viewer in
``astropy.table.Table.show_in_browser`` is now deprecated. Starting in Astropy
7.1 this keyword will be ignored and use of it will issue a warning. The
default behavior will be to use the remote versions of jQuery and DataTables
from a CDN. [17480]

Bug Fixes
---------

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

- With ``astropy`` v7.0.0 the cache directory cannot be customized with the
``XDG_CACHE_HOME`` environment variable.
Instead, ``XDG_CONFIG_HOME`` erroneously controls both configuration and cache
directories.
The correct pre-v7.0.0 behaviour has been restored, but it is possible that
``astropy`` v7.0.0 has written cache files to surprising locations.
Concerned users can use the ``get_cache_dir_path()`` function to check where
the cache files are written.

The bug in question does not affect systems where the ``XDG_CACHE_HOME`` and
``XDG_CONFIG_HOME`` environment variables are unset. [17514]

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

- Fixed a numerical-precision bug with the calculation of the ``theta``
component when converting from ``CylindricalRepresentation`` to
``PhysicsSphericalRepresentation`` for vectors very close to the Z axis (within
milliarcseconds). [17693]

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

- Fixed parsing ASCII table with data that starts with a tilda. [17565]

- Find and read ASCII tables even if there is white space before
``\begin{tabular}``, ``\tablehead``, and similar markers. [17624]

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

- Fix memory leak in BinTableHDU.copy() [16143]

- Fix overflow error with Numpy 2 and VLA columns using P format. [17328]

- Fix ``ImageHDU.scale`` with float. [17458]

- Fixed ``Table.write(..., format="fits", overwrite=True)`` when filename is
provided as ``pathlib.Path``. [17552]

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

- Updated XML writer for ``VOTableFile`` element to include or drop
``coordinate_systems`` regardless of version. [17356]

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

- Fix fitting of compound models when inputs has more than one dimension, and
specifically fix fitting of compound models with Polynomial2D components
[17618]

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

- Ensure that representations and differentials, like SkyCoord, can be used in
table join operations, by making use of the fact that they can now be masked. [17381]

- Fix a crash in ``Table.show_in_browser`` due to an internal type inconsistency. [17513]

- Fix incorrect description of the ``unique`` parameter in ``Table.add_index``'s
docstring. Add missing Raises section. [17677]

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

- Ensure that ``Unit.to`` allows as ``value`` argument all array types that
follow the array API standard and define ``__array_namespace__``. Furthermore,
for backwards compatibility, generally pass through arguments that define a
``.dtype``, independent of whether that is a numpy data type. [17469]

- The zebi (Zi, 2^70) and yobi (Yi, 2^80) binary prefixes are now supported. [17692]

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

- Fix ``CoordinateHelper.ticklabels``. The getter was incorrectly returning
the helper's ticks rather than the labels. [17444]

- The following private classes from ``astropy.visualization.lupton_rgb``, that
were dropped without deprecation in astropy 7.0.0, were re-introduced following
a report that they were used downstream. The following classes are now
considered public:

- ``Mapping``
- ``AsinhMapping``
- ``LinearMapping``
- ``AsinhZScaleMapping`` [17531]

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

- Update bundled js library datatables to version 2.1.8, which is current at the time of this PR. [17480]

7.0.0

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


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

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

- Added ``get_config_dir_path`` (and ``get_cache_dir_path``) which is equivalent
to ``get_config_dir`` (respectively ``get_cache_dir``) except that it returns a
``pathlib.Path`` object instead of ``str``. [17118]

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

- ``BaseCoordinateFrame`` instances such as ``ICRS``, ``SkyOffsetFrame``, etc.,
can now be stored directly in tables (previously, they were stored as
``object`` type columns). Furthermore, storage in tables is now also possible
for frames that have no data (but which have attributes with the correct shape
to fit in the table). [16831]

- ``BaseCoordinateFrame`` now has a ``to_table()`` method, which converts the
frame to a ``QTable``, analogously to the ``SkyCoord.to_table()`` method. [17009]

- ``SkyCoord``, coordinate frames, and representations have all have gained the
ability to deal with ``Masked`` data. In general, the procedure is similar to
that of ``Time``, except that different representation components do not share
the mask, to enable holding, e.g., a catalogue of objects in which only some
have associated distances. [17016]

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

- Add support for ``pathlib.Path`` objects in
``astropy.io.ascii.core.BaseInputter.get_lines``. [16930]

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

- Expanded ``FITSDiff`` output for ``PrimaryHDU`` and ``ImageHDU`` to include the
maximum relative and absolute differences in the data. [17097]

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

- The HDF5 writer, ``write_table_hdf5()``, now accepts ``os.PathLike`` objects
as ``output``. [16955]

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

- Support reading and writing of VOTable version 1.5, including the new
``refposition`` attribute of ``COOSYS``. [16856]

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

- Added ``Model.has_tied``, ``Model.has_fixed``, and ``Model.has_bounds`` attributes to make
it easy to check whether models have various kinds of constraints set without having to
inspect ``Model.tied``, ``Model.fixed``, and ``Model.bounds`` in detail. [16677]

- Added a new ``parallel_fit_dask`` function that can be used to fit models to
many sections (e.g. spectra, image slices) on an N-dimensional array in
parallel. [16696]

- Added a ``Lorentz2D`` model. [16800]

- Added ``inplace=False/True`` keyword argument to the ``__call__`` method of most fitters,
to optionally allow the original model passed to the fitter to be modified with the fitted
values of the parameters, rather than return a copy. This can improve performance if users
don't need to keep hold of the initial parameter values. [17033]

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

- Added a ``SigmaClippedStats`` convenience class for computing sigma-clipped
statistics. [17221]

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

- Changed a number of dict-like containers in ``io.ascii`` from ``OrderedDict`` to
``dict``. The ``dict`` class maintains key order since Python 3.8 so ``OrderedDict`` is
no longer needed. The changes are largely internal and should not affect users in any
way. See also the API change log entry for this PR. [16250]

- Add a ``keep_order`` argument to the ``astropy.table.join`` function which specifies to
maintain the original order of the key table in the joined output. This applies for
inner, left, and right joins. The default is ``False`` in which case the output is
ordered by the join keys, consistent with prior behavior. [16361]

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

- Add a ``formatter`` argument to the ``to_string`` method of the ``Quantity``
class. Enables custom number formatting with a callable formatter or
format_spec, especially useful for consistent notation. [16087]

- Add the unit foe (or Bethe, equivalent to 1e51 erg), which is often used to
express the energy emitted by a supernova explosion. [16441]

- Add ``magnetic_flux_field`` equivalency to convert magnetic field between
magnetic field strength (H) and magnetic flux density (B). [16516]

- Added SI-units ``sievert``, ``gray``, ``katal``, and ``hectare`` in ``astropy.units.si``. [16729]

- When parsing invalid unit strings with ``u.Unit(..., parse_strict="warn")`` or
``u.Unit(..., parse_strict="silent")``, a normal unit may be returned if the
problem is not too serious.
If parsing the string fails completely then an ``UnrecognizedUnit`` instance is
returned, just as before. [16892]

- Added a ``np.arange`` dispatch for ``Quantity`` (requires one to use
``like=<some_quantity>``). [17059]

- Added support for calling numpy array constructors (``np.empty``, ``np.ones``,
``np.zeros`` and ``np.full``) with ``like=Quantity(...)`` . [17120]

- Added support for calling numpy array constructors (``np.array``,
``np.asarray``, ``np.asanyarray``, ``np.ascontiguousarray`` and
``np.asfortranarray``) with ``like=Quantity(...)`` . [17125]

- Added support for calling numpy array constructors (``np.frombuffer``,
``np.fromfile``, ``np.fromiter``, ``np.fromstring`` and ``np.fromfunction``)
with ``like=Quantity(...))`` . [17128]

- Added support for calling numpy array constructors (``np.require``,
``np.identity``, ``np.eye``, ``np.tri``, ``np.genfromtxt`` and ``np.loadtxt``)
with ``like=Quantity(...))`` . [17130]

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

- Added the ``astropy.system_info`` function to help document runtime systems in
bug reports. [16335]

- Add support for specifying files as ``pathlib.Path`` objects in ``IERS_A.read``
and ``IERS_B.read``. [16931]

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

- Add ``make_rgb()``, a convenience
function for creating RGB images with independent scaling on each filter.
Refactors ``make_lupton_rgb()`` to work with instances of subclasses of
``BaseStretch``, including the new Lupton-specific classes
``LuptonAsinhStretch`` and ``LuptonAsinhZscaleStretch``. [15081]

- Add support for custom coordinate frames for ``WCSAxes`` through a context
manager ``astropy.visualization.wcsaxes.custom_ucd_coord_meta_mapping``. [16347]

- Added ``get_ticks_position``, ``get_ticklabel_position``, and
``get_axislabel_position`` methods on ``CoordinateHelper`` in WCSAxes. [16686]

- Added the ability to disable the automatic simplification of WCSAxes tick labels
by specifying ``simplify=False`` to ``set_ticklabel()`` for a coordinate axis. [16938]

- Added the ability to specify that WCSAxes tick labels always include the sign
(namely for positive values) by starting the format string with a ``+``
character. [16985]

- Allow ``astropy.visualization.units.quantity_support`` to be used as a
decorator in addition to the already supported use as a context manager. [17006]

- Added the ability to specify a callable function in ``CoordinateHelper.set_major_formatter`` [17020]

- Added a ``SimpleNorm`` class to create a matplotlib normalization object. [17217]

- WCSAxes will now select which axis to draw which tick labels and axis labels on based on the number of drawn tick labels, rather than picking them in the order they are listed in the WCS. This means that axes may be swapped in comparison with previous versions of Astropy by default. [17243]


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

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

- For non-scalar frames without data, ``len(frame)`` will now return the first
element of its ``shape``, just like for frames with data (or arrays more
generally).  For scalar frames, a ``TypeError`` will be raised.  Both these
instead of raising a ``ValueError`` stating the frame has no data. [16833]

- The deprecated ``coordinates.get_moon()`` function has been removed. Use
``coordinates.get_body("moon")`` instead. [17046]

- The deprecated ``BaseCoordinateFrame.get_frame_attr_names()`` is removed.
Use ``get_frame_attr_defaults()`` instead. [17252]

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

- Passing redshift arguments as keywords is deprecated in many methods. [16597]

- Deprecated ``cosmology.utils`` module has been removed. Any public API may
be imported directly from the ``cosmology`` module instead. [16730]

- Setting ``Ob0 = None`` in FLRW cosmologies has been deprecated in favor of ``Ob0 =
0.0``. Conceptually this is a change in that baryons are now always a component of the
cosmology. Practically, the only change (besides that ``Ob0`` is never ``None``) is that
methods relying on ``Ob0`` always work, rather than sometimes raising an exception,
instead by default taking the contribution of the baryons to be negligible. [16847]

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

- Remove all deprecated arguments from functions within ``astropy.io.ascii``.

``read()``:
- ``Reader`` is removed. Instead supply the equivalent ``format`` argument.
- Use ``inputter_cls`` instead of ``Inputter``.
- Use ``outputter_cls`` instead of ``Outputter``.

``get_reader()``:
- Use ``reader_cls`` instead of ``Reader``.
- Use ``inputter_cls`` instead of ``Inputter``.
- Use ``outputter_cls`` instead of ``Outputter``.

``write()``:
- ``Writer`` is removed. Instead supply the equivalent ``format`` argument.

``get_writer()``:
- Use ``writer_cls`` instead of ``Writer``. [15758]

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

- The ``CompImageHDU`` class has been refactored to inherit from ``ImageHDU``
instead of ``BinTableHDU``. This change should be for the most part preserve the
API, but any calls to ``isinstance(hdu, BinTableHDU)`` will now return ``False``
if ``hdu`` is a ``CompImageHDU`` whereas before it would have returned ``True``.
In addition, the ``uint`` keyword argument to ``CompImageHDU`` now defaults to
``True`` for consistency with ``ImageHDU``. [15474]

- Remove many unintended exports from ``astropy.io.fits.hdu.compressed``.
The low-level functions ``compress_image_data`` and ``decompress_image_data_section``
are now only available at the qualified names
``astropy.io.fits.hdu.compressed._tiled_compression.compress_image_data``
and ``astropy.io.fits.hdu.compressed._tiled_compression.decompress_image_data_section``.
The rest of the removed exports are external modules or properly exported
elsewhere in astropy. May break imports in rare cases that relied
on these exports. [15781]

- The ``CompImageHeader`` class is now deprecated, and headers on ``CompImageHDU``
instances are now plain ``Header`` instances. If a reserved keyword is set on
``CompImageHDU.header``, a warning will now be emitted at the point where the
file is written rather than at the point where the keyword is set. [17100]

- - Remove code that was deprecated in previous versions: ``_ExtensionHDU`` and
 ``_NonstandardExtHDU``, ``(Bin)Table.update``, ``tile_size`` argument for
 ``CompImageHDU``. Also specifying an invalid ``tile_shape`` now raises an
 error. [17155]

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

- New format ``"parquet.votable"`` is added to read and write a parquet file
with a votable metadata included. [16375]

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

- ``Table.read(..., format='votable')``, ``votable.parse`` and
``votable.parse_single_table`` now respect the ``columns`` argument and will only output
selected columns. Previously, unselected columns would just be masked (and unallocated).
``astropy.io.votable.tree.TableElement.create_arrays`` also gained a ``colnumbers``
keyword argument to allow column selection. [15959]

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

- Subclasses of ``_NonLinearLSQFitter``, so any subclasses of the public ``LevMarLSQFitter``, ``TRFLSQFitter``, ``LMLSQFitter`` or ``DogBoxLSQFitter``, should now accept an additional ``fit_param_indices`` kwarg in the function signature of their ``objective_function`` methods.
Nothing is needed to be done with this kwarg, and it might not be set, but it can optionally be passed through to ``fitter_to_model_params_array`` for a performance improvement.
We also recommended accepting all kwargs (with ``**kwargs``) in this method so that future additional kwargs do not cause breakage. [16673]

- Exception message for when broadcast shapes mismatch has changed.
Previously, it used complicated regex to maintain backward compatibility.
To ease maintenance, this regex has been removed and now directly
passes exception from ``numpy.broadcast_shapes`` function. [16770]

- Using the ``LMLSQFitter`` fitter with models that have bounds is now deprecated,
as support for bounds was very basic. Instead, non-linear fitters with more
sophisticated support for bounds should be used instead. [16994]

- The optional ``use_min_max_bounds`` keyword argument in ``TRFLSQFitter`` and
``DogBoxLSQFitter`` has now been deprecated and should not be used. These
fitters handle bounds correctly by default and this keyword argument was only
provided to opt-in to a more basic form of bounds handling. [16995]

- The deprecated ``comb()`` function has been removed.
Use ``math.comb()`` from the Python standard library instead. [17248]

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

- Integer inputs to ``sigma_clip`` and ``SigmaClip`` are not converted to
``np.float32`` instead of ``float`` if necessary. [17116]

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

- Change the default type for the ``meta`` attribute in ``Table`` and ``Column`` (and
subclasses) from ``OrderedDict`` to ``dict``. Since Python 3.8 the ``dict`` class is
ordered by default, so there is no need to use ``OrderedDict``.

In addition the ECSV table writer in ``astropy.io.ascii`` was updated to consistently
write the ``meta`` attribute as an ordered map using the  ``!!omap`` tag. This
convention conforms to the ECSV specification and is supported by existing ECSV readers.
Previously the ``meta`` attribute could be written as an ordinary YAML map, which is not
guaranteed to preserve the order of the keys. [16250]

- An exception is now raised when trying to add a multi-dimensional column as an
index via ``Table.add_index``. [16360]

- Aggregating table groups for ``MaskedColumn`` no longer converts
fully masked groups to ``NaN``, but instead returns a masked element. [16498]

- Always use ``MaskedQuantity`` in ``QTable`` to represent masked ``Quantity``
data or when the ``QTable`` is created with ``masked=True``.  Previously the
default was to use a normal ``Quantity`` with a ``mask`` attribute of type
``FalseArray`` as a stub to allow a minimal level of compatibility for certain
operations. This update brings more consistent behavior and fixes functions
like reading of table data from a list of dict that includes quantities with
missing entries, and aggregation of ``MaskedQuantity`` in table groups. [16500]

- Setting an empty table to a scalar no longer raises an exception, but
creates an empty column. This is to support cases where the number of
elements in a table is not known in advance, and could be zero. [17102]

- ``show_in_notebook`` method for Astropy tables has been un-deprecated and the API has
been updated to accept a ``backend`` keyword and require only keyword arguments. The new
default ``backend="ipydatagrid"`` relies on an optional dependency, ``ipydatagrid``. The
previous default table viewer (prior to v7.0) is still available as
``backend="classic"``, but it has been deprecated since v6.1 and will be removed in a future release. [17165]

- The default behavior of ``Table.pformat`` was changed to include all rows and columns
instead of truncating the outputs to fit the current terminal.  The new default
keyword arguments ``max_width=-1`` and ``max_lines=-1`` now match those in
``Table.pformat_all``. Since the ``Table.pformat_all`` method is now redundant, it is
pending deprecation. Similarly, the default behavior of ``Column.pformat`` was changed
to include all rows instead of truncating the outputs to fit the current terminal. [17184]

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

- ``Time.ptp`` now properly emits a deprecation warning independently of NumPy's
version. This method was previously deprecated in astropy 6.1, but the warning
was not visible for users that had NumPy 1.x installed. Because of this, the
warning message was updated to state that ``Time.ptp`` is deprecated since
version 7.0 instead. [17212]

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

- The deprecated ``Quantity.nansum()`` method has been removed.  Use
``np.nansum`` instead. [15642]

- The ``factor`` parameter of the ``spectral_density`` equivalency, the use of
which has been discouraged in the documentation since version 0.3, is now
deprecated.
Use the ``wav`` parameter as a ``Quantity``, not as a bare unit. [16343]

- The ``format.Fits`` formatter class has been renamed to ``format.FITS`` and the
old name is deprecated.
Specifying the FITS format for converting ``Quantity`` and ``UnitBase``
instances to and from strings is not affected by this change. [16455]

- Conversion from one unit to another using ``old_unit.to(new_unit, value)`` no longer
converts  ``value`` automatically to a numpy array, but passes through array duck types
such as ``dask`` arrays, with equivalencies properly accounted for. [16613]

- The ``format_exponential_notation()`` method of the ``Base`` unit formatter has
changed.
Any unit formatters that inherit directly from ``Base`` but have not
implemented their own ``format_exponential_notation()`` and wish to retain
previous behavior should implement it as:

.. code-block:: python

   def format_exponential_notation(cls, val, format_spec):
       return format(val, format_spec)

Any formatters that inherit directly from ``Base`` and call
``super().format_exponential_notation(val, format_spec)`` should instead call
``format(val, format_spec)``
The specific unit formatters in ``astropy.units`` and custom formatters that
inherit from any of them are not affected. [16676]

- The deprecated ``units.format.Unscaled`` has been removed. Use ``units.format.Generic``
instead. [16707]

- Added a __round__() dunder method to ``Quantity``
in order to support the built-in round() function. [16784]

- For ``Masked`` initialization in which a mask is passed in, ensure that that
mask is combined with any mask present on the input. [16875]

- The ``get_format_name()`` method of ``NamedUnit`` and its subclasses is
deprecated.
The ``to_string()`` method can be used instead. [16958]

- The ``UnitBase.in_units()`` method is deprecated.
The ``to()`` method can be used as a drop-in replacement. [17121]

- Unit conversions to a given system with ``unit.to_system()``,
``unit.si``, and ``unit.cgs``, will now prefer the simplest unit if it
is in the given system, rather than prioritizing more complicated
units if those had a base unit component.  E.g., ``u.Pa.si`` will now
simply return ``Unit("Pa")`` rather than ``Unit("N / m2")``.  However,
the case where a unit can be simply described in base units remains
unchanged: ``u.Gal.cgs`` will still give ``Unit("cm / s2")``. [17122]

- The ``CDS``, ``OGIP`` and ``VOUnit`` unit formatters are now subclasses of the
``FITS`` unit formatter. [17178]

- The ``eV`` and ``rydberg`` units were moved to ``astropy.units.misc`` (from
``astropy.units.si`` and ``astropy.units.astrophys``, respectively).
Practically, this means that ``Unit.to_system(u.si)`` no longer includes
``eV`` as a SI-compatible unit. [17246]

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

- ``IERS_Auto.open()`` now always returns a table of type ``IERS_Auto`` that
contains the combination of IERS-A and IERS-B data, even if automatic
updating of the IERS-A file is disabled or if downloading the new file fails.
Previously, under those conditions, it would return a table of a different type
(``IERS_B``) with only IERS-B data. [16187]

- ``astropy.utils.check_broadcast`` is now deprecated in favor of
``numpy.broadcast_shapes`` [16346]

- Added a new keyword ``pending_warning_type`` to ``deprecated`` decorator so downstream developers could customize the type of warning for pending deprecation state. [16463]

- The ``introspection.resolve_name()`` function is deprecated.
It is better to use the standard library ``importlib`` instead. [16479]

- ``format_exception()`` is deprecated because it provides little benefit, if
any, over normal Python tracebacks. [16807]

- The ``utils.masked`` module has gained a mixin class, ``MaskableShapedLikeNDArray``,
as well as two utility functions, ``get_data_and_mask`` and ``combine_masks``,
that can help make a container classes carry masked data. Within astropy, these
are now used in the implementation of masks for ``Time``. [16844]

- The deprecated ``compat.override__dir__()`` utility has been removed. [17190]

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

- Removed deprecated ``exp`` attribute in the ``LogStretch``,
``InvertedLogStretch``, ``PowerDistStretch``, and
``InvertedPowerDistStretch`` stretch classes, and the ``power``
attribute in the ``PowerStretch``. Instead, use the ``a`` attribute,
which matches the input keyword. [15751]

- Removes the unintended NumPy export previously at ``astropy.visualization.np``. [15781]

- Accessing or setting the following attributes on ``CoordinateHelper`` has been deprecated:

* ``ticks``
* ``ticklabels``
* ``axislabels``

Setting the following attributes on ``CoordinateHelper`` directly has been deprecated:

* ``parent_axes``
* ``parent_map``
* ``transform``
* ``coord_index``
* ``coord_unit``
* ``coord_type`` (use ``set_coord_type`` instead)
* ``coord_wrap`` (use ``set_coord_type`` instead)
* ``frame``
* ``default_label``

Accessing or setting the following attributes on ``CoordinateHelper`` has been
removed (without deprecation, as these were clearly internal variables):

* ``grid_lines_kwargs``
* ``grid_lines``
* ``lblinfo``
* ``lbl_world``
* ``minor_frequency`` (there were already public methods to set/get this) [16685]

- The deprecated ``nsamples`` parameter of ``ZScaleInterval`` is removed. [17186]

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

- Errors may now occur if a ``BaseLowLevelWCS`` class defines
``world_axis_object_components`` which returns values that are not scalars or
plain Numpy arrays as per APE 14. [16287]

- ``WCS.pixel_to_world_values``, ``WCS.world_to_pixel_values``,
``WCS.pixel_to_world`` and ``WCS.world_to_pixel`` now correctly return NaN values for
pixel positions that are outside of ``pixel_bounds``. [16328]


Bug Fixes
---------

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

- Fix the broken behavior of reading an ASCII table and filling values using column names.
This PR addresses the issue and improves the functionality. [15774]

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

- Fix a number of bugs in ``CompImageHDU``:

* Fix the ability to pickle ``CompImageHDU`` objects
* Ensure that compression settings are not lost if initializing ``CompImageHDU``
 without data but with compression settings and setting the data later
* Make sure that keywords are properly updated when setting the header of a
 ``CompImageHDU`` to an existing image header.
* Fix the ability to use ``CompImageHDU.section`` on instances that have not yet
 been written to disk
* Fix the image checksum/datasum in ``CompImageHDU.header`` to be those for the
 image HDU instead of for the underlying binary table. [15474]

- Fix a spurious exception when reading integer compressed images with blanks. [17099]

- Fix creating ``CompImageHDU`` from header with BSCALE/BZERO: keywords are now
ignored, as done in ``ImageHDU``. [17237]

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

- Making the "votable.parquet" format available as a reader format to ensure
consistency with the writer formats, even though the format it recognised
automatically by "votable". [16488]

- Explicitly set ``usedforsecurity=False`` when using ``hashlib.md5``. Without this, ``hashlib.md5`` will be blocked in FIPS mode.
FIPS (Federal Information Processing Standards) is a set of standards created by NIST (National Institute of Standards and Technology) for US government agencies regarding computer security and interoperability.
This affects validation results ingestion. [17156]

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

- Fixed the output representation of models with parameters that have
units of ``dimensionless_unscaled``. [16829]

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

- Fixed accuracy of sigma clipping for large ``float32`` arrays when
``bottleneck`` is installed. Performance may be impacted for computations
involving arrays with dtype other than ``float64``. This change has no impact
for environments that do not have ``bottleneck`` installed. [17204]

- Fix an issue in sigma-clipping where the use of ``np.copy()`` was causing
the input data mask to be discarded in cases where ``grow`` was set. [17402]

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

- Fix a bug where column names would be lost when instantiating ``Table`` from a list of ``Row`` objects. [15735]

- Aggregating table groups for ``MaskedColumn`` now ensures that fully-masked
groups result in masked elements rather than ``NaN``. [16498]

- Ensure that tables holding coordinates or representations can also be stacked
if they have zero length. This fix also ensures that the ``insert`` method
works correctly with a zero-length table holding a coordinate object. [17380]

- Fixed table aggregate with empty columns when float is present. [17385]

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

- Allow SI-prefixes for radioactivity units ``becquerel`` and ``curie`` in ``astropy.units.si``, conforming to BIPM's guidelines for SI units. [16529]

- The OGIP unit parser no longer accepts strings where a component unit is
followed by a parenthesized unit without a separator in between, such as
``'m(s)'`` or ``'m(s)**2'``.
Such strings are not allowed by the OGIP standard. [16749]

- A few edge cases that could result in a power of a unit to be a numerical value
from ``numpy``, instead of the intended Python ``int``, ``float`` or
``fractions.Fraction`` instance, have been fixed. [16779]

- The OGIP unit parser now detects negative powers that are not enclosed in
parenthesis.
For example, ``u.Unit("s**-1", format="ogip")`` now raises an error because the
OGIP standard expects the string to be written as ``"s**(-1)"`` instead, but it
is still possible to parse the unit with
``u.Unit("s**-1", format="ogip", parse_strict="warn")`` or
``parse_strict="silent"``. [16788]

- ``UnitScaleError`` can now be imported from the ``astropy.units`` namespace. [16861]

- Parsing custom units with ``u.Unit()`` using the ``"vounit"`` format now obeys
the ``parse_strict`` parameter, unless the custom units are made explicit with
quotation marks.
For example, ``u.Unit("custom_unit", format="vounit")`` now raises an error,
but ``u.Unit("custom_unit", format="vounit", parse_strict="silent")`` or
``u.Unit("'custom_unit'", format="vounit")`` do not. [17232]

- It is now possible to use ``Unit`` to create dimensionless units with a scale
factor that is a complex number or a ``fractions.Fraction`` instance.
It was already possible to create such units directly with ``CompositeUnit``. [17355]

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

- Fixed the unintended behavior where the IERS-A file bundled in ``astropy-iers-data`` would be ignored if automatic updating of the IERS-A file were disabled or if downloading the new file failed. [16187]

- Ensure ``MaskedQuantity`` can be initialized with a list of masked
quantities (as long as their shapes match), just like regular
``Quantity`` and ``ndarray``. [16503]

- For ``Masked`` instances, ``np.put``, ``np.putmask``, ``np.place`` and
``np.copyto`` can now handle putting/copying not just ``np.ma.masked`` but
also ``np.ma.nomask``; for both cases, only the mask of the relevant entries
will be set. [17014]

- Explicitly set ``usedforsecurity=False`` when using ``hashlib.md5``. Without this, ``hashlib.md5`` will be blocked in FIPS mode.
FIPS (Federal Information Processing Standards) is a set of standards created by NIST (National Institute of Standards and Technology) for US government agencies regarding computer security and interoperability.
This affects download caching. [17156]

- Fixed a bug where an old IERS-A table with stale predictive values could trigger
the download of a new IERS-A table even if automatic downloading was disabled. [17387]

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

- Avoid a ``RuntimeWarning`` in ``WCS.world_to_array_index`` by converting
NaN inputs to int. [17236]


Performance Improvements
------------------------

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

- The performance of guessing the table format when reading large files with
``astropy.io.ascii`` has been improved. Now the process uses at most
10000 lines of the file to check if it matches the format. This behavior can
be configured using the ``astropy.io.ascii.conf.guess_limit_lines``
configuration item, including disabling the limit entirely. [16840]

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

- Optimize checksum computation. [17209]

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

- Improved the performance of 1D models, models with scalar parameters, and models
without units, when evaluating them with scalar or small arrays of inputs. For
models that satisfy all of the conditions above, the improvement can be on the
order of 30-40% in execution time. [16670]

- Performance of most non-linear fitters has been significantly improved by reducing the overhead in evaluating models inside the objective function. [16673]

- Improved the performance of ``parallel_fit_dask`` by avoiding unnecessary copies of the
model inside the fitter. [17033]

- ``CompoundModel`` now implements numerical derivatives of parameters when using the +, -, * or / operators. This improves the speed of fitting these models because numerical derivatives of the parameters are not calculated. [17034]

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

- The performance of biweight_location, biweight_scale,
biweight_midvariance, and median_absolute_deviation has been improved by
using the bottleneck nan* functions when available. This requires the
bottleneck optional dependency to be installed. [16967]

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

- The ``units.quantity_input`` decorator has been optimized, especially in the case that no equivalencies are provided to the decorator, and the speed-up is very noticeable when wrapping short functions. [16742]

- Parsing composite units with the OGIP formatter is now up to 25% faster. [16761]

- Parsing units with scale factors is now up to 50% faster. [16813]

- Parsing strings representing non-composite units with ``Unit`` is now up to 25%
faster. [17004]

- Converting composite units to strings with the ``"cds"``, ``"fits"``,
``"ogip"`` and ``"vounit"`` formatters is now at least twice as fast. [17043]

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

- Removed redundant transformations when WCSAxes determines the coordinate ranges
for ticks/gridlines, which speeds up typical plot generation by ~10%, and by
much more if ``astropy.visualization.wcsaxes.conf.coordinate_range_samples`` is
set to a large value [16366]


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

- Updated minimum supported Python version to 3.11. As a result, minimum
requirements were updated to compatible versions.
Astropy now requires
- ``numpy>=1.23.2``
- ``PyYAML>=6.0.0``
- ``packaging>=22.0.0`` [16903]

- The minimum supported version of Pandas is now v2.0.
This is in line with https://scientific-python.org/specs/spec-0000/. [#16308]

- Update minimal recommendation for matplotlib from version 3.3.4 to 3.6.0 [16557]

- The Contributor documentation has been significantly improved. It now includes a
Quickstart Guide with concise instructions on setting up a development environment and
making a pull request. In addition, the developer documentation was reorganized and
simplified where possible to improve readability and accessibility. [16561]

6.1.7

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

Bug Fixes
---------

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

- Fix an issue in sigma-clipping where the use of ``np.copy()`` was causing
the input data mask to be discarded in cases where ``grow`` was set. [17402]
Links

Update attrs from 24.2.0 to 25.3.0.

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

Links

Update autopep8 from 2.3.1 to 2.3.2.

Changelog

2.3.2

What's Changed
* Update README.rst: Typo fix by mrichtarsky in https://github.com/hhatto/autopep8/pull/768
* Bump codecov/codecov-action from 4 to 5 by dependabot in https://github.com/hhatto/autopep8/pull/773
* support Python 3.13 and drop 3.8 by hhatto in https://github.com/hhatto/autopep8/pull/777
* Fix E721 type comparison pattern handling by hhatto in https://github.com/hhatto/autopep8/pull/776

New Contributors
* mrichtarsky made their first contribution in https://github.com/hhatto/autopep8/pull/768

**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.3.1...v2.3.2
Links

Update Babel from 2.16.0 to 2.17.0.

Changelog

2.17.0

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

Happy 2025! This release is being made from FOSDEM 2025, in Brussels, Belgium.

Thank you to all contributors, new and old,
and here's to another great year of internationalization and localization!

Features
~~~~~~~~

* CLDR: Babel now uses CLDR 46, by tomasr8 in :gh:`1145`
* Dates: Allow specifying an explicit format in parse_date/parse_time by tomasr8 in :gh:`1131`
* Dates: More alternate characters are now supported by `format_skeleton`. By tomasr8 in :gh:`1122`
* Dates: Support short and narrow formats for format_timedelta when using `add_direction`, by akx in :gh:`1163`
* Messages: .po files now enclose white spaces in filenames like GNU gettext does. By Dunedan in :gh:`1105`, and tomasr8 in :gh:`1120`
* Messages: Initial support for `Message.python_brace_format`, by tomasr8 in :gh:`1169`
* Numbers: LC_MONETARY is now preferred when formatting currencies, by akx in :gh:`1173`

Bugfixes
~~~~~~~~

* Dates: Make seconds optional in `parse_time` time formats by tomasr8 in :gh:`1141`
* Dates: Replace `str.index` with `str.find` by tomasr8 in :gh:`1130`
* Dates: Strip extra leading slashes in `/etc/localtime` by akx in :gh:`1165`
* Dates: Week numbering and formatting of dates with week numbers was repaired by jun66j5 in :gh:`1179`
* General: Improve handling for `locale=None` by akx in :gh:`1164`
* General: Remove redundant assignment in `Catalog.__setitem__` by tomasr8 in :gh:`1167`
* Messages: Fix extracted lineno with nested calls, by dylankiss in :gh:`1126`
* Messages: Fix of list index out of range when translations is empty, by gabe-sherman in :gh:`1135`
* Messages: Fix the way obsolete messages are stored by tomasr8 in :gh:`1132`
* Messages: Simplify `read_mo` logic regarding `catalog.charset` by tomasr8 in :gh:`1148`
* Messages: Use the first matching method & options, rather than first matching method & last options, by jpmckinney in :gh:`1121`

Deprecation and compatibility
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Dates: Fix deprecation warnings for `datetime.utcnow()` by tomasr8 in :gh:`1119`
* Docs: Adjust docs/conf.py to add compatibility with sphinx 8 by hrnciar in :gh:`1155`
* General: Import `Literal` from the typing module by tomasr8 in :gh:`1175`
* General: Replace `OrderedDict` with just `dict` by tomasr8 in :gh:`1149`
* Messages: Mark `wraptext` deprecated; use `TextWrapper` directly in `write_po` by akx in :gh:`1140`

Infrastructure
~~~~~~~~~~~~~~

* Add tzdata as dev dependency and sync with tox.ini by wandrew004 in :gh:`1159`
* Duplicate test code was deleted by mattdiaz007 in :gh:`1138`
* Increase test coverage of the `python_format` checker by tomasr8 in :gh:`1176`
* Small cleanups by akx in :gh:`1160`, :gh:`1166`, :gh:`1170` and :gh:`1172`
* Update CI to use python 3.13 and Ubuntu 24.04 by tomasr8 in :gh:`1153`
Links

Update bcrypt from 4.2.0 to 4.3.0.

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

Links

Update beautifulsoup4 from 4.12.3 to 4.13.3.

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

Links

Update bitarray from 3.0.0 to 3.2.0.

Changelog

3.2.0

-------------------
* add `util.xor_indices()`, 229
* add Hamming code example

3.1.1

-------------------
* updated `pythoncapi_compat.h` for pypy3.11 support, see 227
* use `__builtin_parityll()` when available in `util.parity()`
* add `parity_64()` to header
* simplify some tests
* add LFSR example

3.1.0

-------------------
* allow mask assignment to bitarrays, see 225
* add missing masked operations to pyi-file
* refactor `resize()` and avoid overallocation when downsizing buffer
* update `build_wheels.yml`
* fix some typos
* minor simplifications
* rename `growth/` example to `resize/` and add tests for `resize()`
* update gene example
* add comments
Links

Update black from 24.10.0 to 25.1.0.

Changelog

25.1.0

Highlights

This release introduces the new 2025 stable style (4558), stabilizing
the following changes:

- Normalize casing of Unicode escape characters in strings to lowercase (2916)
- Fix inconsistencies in whether certain strings are detected as docstrings (4095)
- Consistently add trailing commas to typed function parameters (4164)
- Remove redundant parentheses in if guards for case blocks (4214)
- Add parentheses to if clauses in case blocks when the line is too long (4269)
- Whitespace before ` fmt: skip` comments is no longer normalized (4146)
- Fix line length computation for certain expressions that involve the power operator (4154)
- Check if there is a newline before the terminating quotes of a docstring (4185)
- Fix type annotation spacing between `*` and more complex type variable tuple (4440)

The following changes were not in any previous release:

- Remove parentheses around sole list items (4312)
- Generic function definitions are now formatted more elegantly: parameters are
split over multiple lines first instead of type parameter definitions (4553)

Stable style

- Fix formatting cells in IPython notebooks with magic methods and starting or trailing
empty lines (4484)
- Fix crash when formatting `with` statements containing tuple generators/unpacking
(4538)

Preview style

- Fix/remove string merging changing f-string quotes on f-strings with internal quotes
(4498)
- Collapse multiple empty lines after an import into one (4489)
- Prevent `string_processing` and `wrap_long_dict_values_in_parens` from removing
parentheses around long dictionary values (4377)
- Move `wrap_long_dict_values_in_parens` from the unstable to preview style (4561)

Packaging

- Store license identifier inside the `License-Expression` metadata field, see
[PEP 639](https://peps.python.org/pep-0639/). (#4479)

Performance

- Speed up the `is_fstring_start` function in Black's tokenizer (4541)

Integrations

- If using stdin with `--stdin-filename` set to a force excluded path, stdin won't be
formatted. (4539)
Links

Update bokeh from 3.6.1 to 3.7.0.

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

Links

Update CacheControl from 0.14.1 to 0.14.2.

Changelog

0.14.2

* Eliminate a race condition when overwriting cache entries.
* Fix a `requests` object leak when doing caching on a streamed response
Links

Update cachetools from 5.5.0 to 5.5.2.

Changelog

5.5.2

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

- Reduce number of ``cached`` lock/unlock operations.

- Improve documentation.

- Update CI environment.

5.5.1

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

- Add documentation regarding caching of exceptions.

- Officially support Python 3.13.

- Update CI environment.
Links

Update certifi from 2024.8.30 to 2025.1.31.

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

Links

Update charset-normalizer from 3.4.0 to 3.4.1.

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

Links

Update click from 8.1.7 to 8.1.8.

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

Links

Update cloudpickle from 3.1.0 to 3.1.1.

Changelog

3.1.1

=====

- Various fixes to support for Python 3.14 ([PR 545](
https://github.com/cloudpipe/cloudpickle/pull/545)).
Links

Update comtypes from 1.4.8 to 1.4.10.

Changelog

1.4.10

--------------
* Replace ``GetModuleFileNameA`` with ``GetModuleFileNameW`` to prevent a ``TypeError``. By junkmd.
* Refactor ``server.register``. By junkmd.
* ``PythonClass`` and ``PythonPath`` are no longer registered in the registry for a frozen server. By junkmd.
* Use ``WinDLL``/``OleDLL`` instead of ``windll``/``oledll``. By moi15moi.
* In ``tools.tlbparser``, replace ``windll.oleaut32.QueryPathOfRegTypeLib`` with ``typeinfo.QueryPathOfRegTypeLib``. By moi15moi.
* Adjust ``QueryPathOfRegTypeLib`` docstring. By moi15moi.
* Reserve blank lines in the generated modules. By junkmd.
* Refactor ``tools`` subpackage. By junkmd.
* Add ``ActiveObjTest`` to ``test_comserver``. By junkmd.
* Replace deprecated install command in CI pipelines. By moi15moi.
* Remove unused parameters in ``_shutdown``. By moi15moi.
* Delete ``preview.bat``. By moi15moi.
* Remove unnecessary ``ruff`` lint rules from ``pyproject.toml``. By moi15moi.
* Refactor some code from ``client/__init__.py`` into modules. By junkmd.
* Remove workarounds for Windows CE in ``find_memleak``. By junkmd.
* Format import blocks and add ``extend-select = ["I"]`` to ``[tool.ruff.lint]``. By junkmd.

1.4.9

--------------
* Separate patch processing within ``_com_interface_meta`` into a module. By junkmd.
* Replace ``Literal`` and ``Protocol`` with runtime-referable symbols. By junkmd.
* Refactor from ``%`` string formatting to f-strings in many modules. By newwingbird.
* Refactor from ``%`` string formatting to f-strings in ``_post_coinit.unknwn``. By junkmd.
* Remove the script entry point in ``comtypes.shelllink``. By cosmastech.
* Move the modules that define IDL stuff and ``instancemethod``. By junkmd.
* Allow the definition of the ``_midlSAFEARRAY(HRESULT)`` type. By davidschranz.
* Split ``server/w_getopt.py`` into production code and test code. By junkmd.
* Add docstrings to the module defining the ``GUID`` symbol. By junkmd.
* Fix broken unregistration of 64bit type libraries. By forderud.
* Replace alias definitions with ``ctypes.wintypes`` imports. By fmtabler.
* Revive ``pywin32`` related tests. By junkmd.
* Revive comserver related tests. By junkmd.
* Separate the part that creates entries from ``server.register.Registrar`` and refactor it. By junkmd.
* Add ``Test_Registrar_...``. By junkmd.
* Many typing improvements. By junkmd.
* Separate ``vtbl`` creation within ``_comobject`` into a module. By junkmd.
* Migrate the documentation from PythonHosted to ReadTheDocs. By junkmd.
Links

Update cryptography from 43.0.3 to 44.0.2.

Changelog

44.0.2

~~~~~~~~~~~~~~~~~~~

* We now build wheels for PyPy 3.11.

.. _v44-0-1:

44.0.1

~~~~~~~~~~~~~~~~~~~

* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.4.1.
* We now build ``armv7l`` ``manylinux`` wheels and publish them to PyPI.
* We now build ``manylinux_2_34`` wheels and publish them to PyPI.

.. _v44-0-0:

44.0.0

~~~~~~~~~~~~~~~~~~~

* **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL < 3.9.
* Deprecated Python 3.7 support. Python 3.7 is no longer supported by the
Python core team. Support for Python 3.7 will be removed in a future
``cryptography`` release.
* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.4.0.
* macOS wheels are now built against the macOS 10.13 SDK. Users on older
versions of macOS should upgrade, or they will need to build
``cryptography`` themselves.
* Enforce the :rfc:`5280` requirement that extended key usage extensions must
not be empty.
* Added support for timestamp extraction to the
:class:`~cryptography.fernet.MultiFernet` class.
* Relax the Authority Key Identifier requirements on root CA certificates
during X.509 verification to allow fields permitted by :rfc:`5280` but
forbidden by the CA/Browser BRs.
* Added support for :class:`~cryptography.hazmat.primitives.kdf.argon2.Argon2id`
when using OpenSSL 3.2.0+.
* Added support for the :class:`~cryptography.x509.Admissions` certificate extension.
* Added basic support for PKCS7 decryption (including S/MIME 3.2) via
:func:`~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_der`,
:func:`~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_pem`, and
:func:`~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_smime`.

.. _v43-0-3:
Links

Update Cython from 3.0.11 to 3.0.12.

Changelog

3.0.12

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

Bugs fixed
----------

* Release 3.0.11 introduced some incorrect ``noexcept`` warnings.
(Github issue :issue:`6335`)

* Conditional assignments to variables using the walrus operator could crash.
(Github issue :issue:`6094`)

* Dict assignments to struct members with reserved C names could generate invalid C code.

* Fused ctuples with the same entry types but different sizes could fail to compile.
(Github issue :issue:`6328`)

* In Py3, `pyximport` was not searching `sys.path` when looking for importable source files.
(Github issue :issue:`5615`)

* Using `& 0` on integers produced with `int.from_bytes()` could read invalid memory on Python 3.10.
(Github issue :issue:`6480`)

* Modules could fail to compile in PyPy 3.11 due to missing CPython specific header files.
Patch by Matti Picus.  (Github issue :issue:`6482`)

* Minor fix in C++ ``partial_sum()`` declaration.
Links

Update cytoolz from 1.0.0 to 1.0.1.

Changelog

1.0.1

- Add support for Python 3.13 by eriknw in 216
Links

Update dask from 2024.11.2 to 2025.3.0.

Changelog

2025.3.0

Changes

- Fix dataset info cache assignment fjetter (11840)
- Expr setattr fjetter (11836)
- Follow up to expression tokenization caching fjetter (11837)
- Consolidate getattr for expr classes fjetter (11835)
- Reduce pickle size of ReadParquet expression fjetter (11797)
- arange loses precision on ~2\*\*63 crusaderky (11801)
- Remove numbagg from upstream build phofl (11821)
- Dispatch to numbagg for nanmedian and nanquantile phofl (11817)
- Make missing meta warning more ergonomic phofl (11814)
- Remove name doc from from\_pandas phofl (11812)
- Implement an Array Scalar phofl (11810)
- Added ``to\_orc`` to DataFrame API TomAugspurger (11807)
- Implement reverse indexing for DataFrames phofl (11803)
- Add lazy `to_pandas_dispatch` registration for cudf rjzamora (11799)
- Fix missing imports in array-expr fjetter (11796)
- Cache tokens on expressions and restore after pickle roundtrip fjetter (11791)
- Use random dashboard ports for LocalCluster in distributed tests fjetter (11795)
- Implement slicing for array-expr phofl (11783)
- Never use an asynchronous Client when calling top level compute function fjetter (11790)
- Refactor import tests fjetter (11794)
- Migrate base.unpack\_collections to Task class fjetter (11793)
- Ensure map\_blocks generates unique tokens fjetter (11792)
- Speed up normalize\_pickle by 50 percent fjetter (11788)
- Fix divisions calculation with duplicates phofl (11787)
- Fix assign align for duplicated divisions phofl (11786)
- Ensure concat optimize project does not raise fjetter (11784)
- Add array-expr from\_array phofl (11772)
- Keep chunksizes consistent in ``apply\_gufunc`` phofl (11683)
- Test `dask.dataframe.__all__` flying-sheep (11782)
- Add \_\_all\_\_ to `dask.bag` flying-sheep (11781)
- add test for `dask.array.__all__` flying-sheep (11780)
- Bump JamesIves/github-pages-deploy-action from 4.7.2 to 4.7.3 [dependabot[bot]](https://github.com/apps/dependabot) (#11777)
- Export dask.array members flying-sheep (11779)
- Fix sorted\_divisions\_locations with duplicates TomAugspurger (11773)
- Small typo in best-practices.rst SCORE1387 (11775)
- Allow unknown chunks in blockwise adjust\_chunks lgray (11769)
- Fix crash in `asarray(..., like=...)` vs. scipy.sparse objects crusaderky (11755)
- Remove flaky optional dependency TomAugspurger (11771)
- Add support for scipy sparray flying-sheep (11750)
- Added `flaky` to tests extra TomAugspurger (11770)
- Ensure divisions are plain scalars TomAugspurger (11767)
- Remove divisions code duplication fjetter (11764)
- Ensure divisions not diverging from npartitions in Merge fjetter (11762)
- skip test\_visualize\_int\_overflow on windows fjetter (11761)
- Reduce pickle size for tasks fjetter (11687)
- Implement unify\_chunks and Rechunk phofl (11692)
- Fix expression getitem to avoid alignment phofl (11760)
- `arange(..., like=x)` embeds the graph of x crusaderky (11754)
- Simplify assert\_divisions fjetter (11745)
- Fix Projection logic for Series objects phofl (11747)
- Remove bytes as keys fjetter (11757)
- Ensure `map_partitions` returns Series object if function returns scalar fjetter (11756)
- Don't upload env twice phofl (11748)  

See the [Changelog](https://docs.dask.org/en/stable/changelog.html) for more information.

2025.2.0

Changes

- Add big array example jrbourbeau (11744)
- Fix exploding chunksizes in pad for constant padding phofl (11743)
- Move optimize method to base class fjetter (11742)
- Add changelog entry for fixed deadlock hendrikmakait (11741)
- Fix graph creation in dask-expr to\_delayed phofl (11739)
- Remove culling from delayed optimisation phofl (11737)
- Compute meta for from\_map on the cluster phofl (11738)
- Bugs in `__setitem__` with dask bool mask crusaderky (11728)
- Implement infrastructure, random, blockwise and Elemwise  phofl (11689)
- array/asarray with both like= and dtype= crusaderky (11733)
- Fix annotations warnings test phofl (11734)
- Catch warnings when writing to remote storage with to\_parquet phofl (11731)
- Remove LocalCluster from tests phofl (11729)
- Fix partition pruning when using from\_array phofl (11725)
- Fix concatentation with mixed dtype columns phofl (11727)
- `arange`: fix extreme values crusaderky (11707)
- Graph corruption on scalar getitem-

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #237

@pyup-bot pyup-bot closed this Mar 31, 2025
@thomas545 thomas545 deleted the pyup-scheduled-update-2025-03-24 branch March 31, 2025 20:35
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.

2 participants