Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented May 8, 2025

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
anywidget ==0.9.18==0.9.21 age confidence project.optional-dependencies patch
anywidget ==0.9.18==0.9.21 age confidence patch
asttokens ==3.0.0==3.0.1 age confidence patch
black (changelog) ==25.1.0==25.12.0 age confidence minor
certifi ==2025.4.26==2025.11.12 age confidence minor
charset-normalizer (changelog) ==3.4.2==3.4.4 age confidence patch
click (changelog) ==8.1.8==8.3.1 age confidence minor
comm ==0.2.2==0.2.3 age confidence patch
docutils (changelog) ==0.21.2==0.22.4 age confidence minor
executing ==2.2.0==2.2.1 age confidence patch
idna (changelog) ==3.10==3.11 age confidence minor
iniconfig ==2.1.0==2.3.0 age confidence minor
ipython ==9.2.0==9.9.0 age confidence minor
ipywidgets ==8.1.7==8.1.8 age confidence patch
isort (changelog) ==6.0.1==6.1.0 age confidence minor
jupyterlab-widgets ==3.0.15==3.0.16 age confidence patch
markupsafe (changelog) ==3.0.2==3.0.3 age confidence patch
matplotlib-inline ==0.1.7==0.2.1 age confidence minor
numpy (changelog) ==2.2.5==2.4.1 age confidence minor
orjson (changelog) ==3.10.18==3.11.5 age confidence minor
parso ==0.8.4==0.8.5 age confidence patch
platformdirs (changelog) ==4.3.7==4.5.1 age confidence minor
pluggy ==1.5.0==1.6.0 age confidence minor
prompt-toolkit ==3.0.51==3.0.52 age confidence patch
psygnal ==0.13.0==0.15.1 age confidence minor
pygments (changelog) ==2.19.1==2.19.2 age confidence patch
pytest (changelog) ==8.3.5==8.4.2 age confidence minor
python 3.113.14 age confidence uses-with minor
python 3.133.14 age confidence uses-with minor
sphinx-autodoc-typehints (changelog) ==3.2.0==3.6.2 age confidence project.optional-dependencies minor
sphinx-autodoc-typehints (changelog) ==3.2.0==3.6.2 age confidence minor
typing-extensions (changelog) ==4.13.2==4.15.0 age confidence minor
wcwidth ==0.2.13==0.2.14 age confidence patch
widgetsnbextension ==4.0.14==4.0.15 age confidence patch

Release Notes

manzt/anywidget (anywidget)

v0.9.21

Compare Source

Patch Changes
  • Use rsbuild inline sourcemaps for JupyterLab extension (#​909)

    JupyterLab was refusing to load external source map files because they were
    being served with the wrong MIME type ('application/octet-stream' instead of
    the expected source map MIME type). This caused the extension to fail loading
    in version 0.9.20.

    Switching to inline source maps embeds the source map directly in the
    JavaScript bundle, avoiding the MIME type issue while still providing source
    map support for debugging.

v0.9.20

Compare Source

Patch Changes
  • Override repr to avoid expensive trait serialization #​906 (#​906)

    Previously, AnyWidget inherited ipywidgets.Widget.__repr__ which serialized all trait values. This is costly because the repr might not even be shown to users, yet it forces a full serialization of potentially large data. AnyWidget now overrides __repr__ to use object.__repr__(self), which produces a simple <module.ClassName object at 0x...> format.

    To restore the previous behavior showing all trait values, users can define:

    class MyWidget(anywidget.AnyWidget):
        def __repr__(self):
            return traitlets.HasTraits.__repr__(self)

v0.9.19

Compare Source

Patch Changes
  • Exclude docs/ and paper/ from sdist/wheel (#​902)
gristlabs/asttokens (asttokens)

v3.0.1

Compare Source

psf/black (black)

v25.12.0

Compare Source

Highlights
  • Black no longer supports running with Python 3.9 (#​4842)
Stable style
  • Fix bug where comments preceding # fmt: off/# fmt: on blocks were incorrectly
    removed, particularly affecting Jupytext's # %% [markdown] comments (#​4845)
  • Fix crash when multiple # fmt: skip comments are used in a multi-part if-clause, on
    string literals, or on dictionary entries with long lines (#​4872)
  • Fix possible crash when fmt: directives aren't on the top level (#​4856)
Preview style
  • Fix fmt: skip skipping the line after instead of the line it's on (#​4855)
  • Remove unnecessary parentheses from the left-hand side of assignments while preserving
    magic trailing commas and intentional multiline formatting (#​4865)
  • Fix fix_fmt_skip_in_one_liners crashing on with statements (#​4853)
  • Fix fix_fmt_skip_in_one_liners crashing on annotated parameters (#​4854)
  • Fix new lines being added after imports with # fmt: skip on them (#​4894)
Packaging
  • Releases now include arm64 Windows binaries and wheels (#​4814)
Integrations
  • Add output-file input to GitHub Action psf/black to write formatter output to a
    file for artifact capture and log cleanliness (#​4824)

v25.11.0

Compare Source

Highlights
  • Enable base 3.14 support (#​4804)
  • Add support for the new Python 3.14 t-string syntax introduced by PEP 750 (#​4805)
Stable style
  • Fix bug where comments between # fmt: off and # fmt: on were reformatted (#​4811)
  • Comments containing fmt directives now preserve their exact formatting instead of
    being normalized (#​4811)
Preview style
  • Move multiline_string_handling from --unstable to --preview (#​4760)
  • Fix bug where module docstrings would be treated as normal strings if preceded by
    comments (#​4764)
  • Fix bug where python 3.12 generics syntax split line happens weirdly (#​4777)
  • Standardize type comments to form # type: <value> (#​4645)
  • Fix fix_fmt_skip_in_one_liners preview feature to respect # fmt: skip for compound
    statements with semicolon-separated bodies (#​4800)
Configuration
  • Add no_cache option to control caching behavior. (#​4803)
Packaging
  • Releases now include arm64 Linux binaries (#​4773)
Output
  • Write unchanged content to stdout when excluding formatting from stdin using pipes
    (#​4610)
Blackd
  • Implemented BlackDClient. This simple python client allows to easily send formatting
    requests to blackd (#​4774)
Integrations
  • Enable 3.14 base CI (#​4804)
  • Enhance GitHub Action psf/black to support the required-version major-version-only
    "stability" format when using pyproject.toml (#​4770)
  • Improve error message for vim plugin users. It now handles independently vim version
  • Vim: Warn on unsupported Vim and Python versions independently (#​4772)
  • Vim: Print the import paths when importing black fails (#​4675)
  • Vim: Fix handling of virtualenvs that have a different Python version (#​4675)

v25.9.0

Compare Source

Highlights
  • Remove support for pre-python 3.7 await/async as soft keywords/variable names
    (#​4676)
Stable style
  • Fix crash while formatting a long del statement containing tuples (#​4628)
  • Fix crash while formatting expressions using the walrus operator in complex with
    statements (#​4630)
  • Handle # fmt: skip followed by a comment at the end of file (#​4635)
  • Fix crash when a tuple appears in the as clause of a with statement (#​4634)
  • Fix crash when tuple is used as a context manager inside a with statement (#​4646)
  • Fix crash when formatting a \ followed by a \r followed by a comment (#​4663)
  • Fix crash on a \\r\n (#​4673)
  • Fix crash on await ... (where ... is a literal Ellipsis) (#​4676)
  • Fix crash on parenthesized expression inside a type parameter bound (#​4684)
  • Fix crash when using line ranges excluding indented single line decorated items
    (#​4670)
Preview style
  • Fix a bug where one-liner functions/conditionals marked with # fmt: skip would still
    be formatted (#​4552)
  • Improve multiline_string_handling with ternaries and dictionaries (#​4657)
  • Fix a bug where string_processing would not split f-strings directly after
    expressions (#​4680)
  • Wrap the in clause of comprehensions across lines if necessary (#​4699)
  • Remove parentheses around multiple exception types in except and except* without
    as. (#​4720)
  • Add \r style newlines to the potential newlines to normalize file newlines both from
    and to (#​4710)
Parser
  • Rewrite tokenizer to improve performance and compliance (#​4536)
  • Fix bug where certain unusual expressions (e.g., lambdas) were not accepted in type
    parameter bounds and defaults. (#​4602)
Performance
  • Avoid using an extra process when running with only one worker (#​4734)
Integrations
  • Fix the version check in the vim file to reject Python 3.8 (#​4567)
  • Enhance GitHub Action psf/black to read Black version from an additional section in
    pyproject.toml: [project.dependency-groups] (#​4606)
  • Build gallery docker image with python3-slim and reduce image size (#​4686)
Documentation
  • Add FAQ entry for windows emoji not displaying (#​4714)
certifi/python-certifi (certifi)

v2025.11.12

Compare Source

v2025.10.5

Compare Source

v2025.8.3

Compare Source

v2025.7.14

Compare Source

v2025.7.9

Compare Source

v2025.6.15

Compare Source

jawah/charset_normalizer (charset-normalizer)

v3.4.4

Compare Source

Changed
  • Bound setuptools to a specific constraint setuptools>=68,<=81.
  • Raised upper bound of mypyc for the optional pre-built extension to v1.18.2
Removed
  • setuptools-scm as a build dependency.
Misc
  • Enforced hashes in dev-requirements.txt and created ci-requirements.txt for security purposes.
  • Additional pre-built wheels for riscv64, s390x, and armv7l architectures.
  • Restore multiple.intoto.jsonl in GitHub releases in addition to individual attestation file per wheel.

v3.4.3

Compare Source

Changed
  • mypy(c) is no longer a required dependency at build time if CHARSET_NORMALIZER_USE_MYPYC isn't set to 1. (#​595) (#​583)
  • automatically lower confidence on small bytes samples that are not Unicode in detect output legacy function. (#​391)
Added
  • Custom build backend to overcome inability to mark mypy as an optional dependency in the build phase.
  • Support for Python 3.14
Fixed
  • sdist archive contained useless directories.
  • automatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (#​633)
Misc
  • SBOM are automatically published to the relevant GitHub release to comply with regulatory changes.
    Each published wheel comes with its SBOM. We choose CycloneDX as the format.
  • Prebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.
pallets/click (click)

v8.3.1

Compare Source

Released 2025-11-15

  • Don't discard pager arguments by correctly using subprocess.Popen. :issue:3039
    :pr:3055
  • Replace Sentinel.UNSET default values by None as they're passed through
    the Context.invoke() method. :issue:3066 :issue:3065 :pr:3068
  • Fix conversion of Sentinel.UNSET happening too early, which caused incorrect
    behavior for multiple parameters using the same name. :issue:3071 :pr:3079
  • Hide Sentinel.UNSET values as None when looking up for other parameters
    through the context inside parameter callbacks. :issue:3136 :pr:3137
  • Fix rendering when prompt and confirm parameter prompt_suffix is
    empty. :issue:3019 :pr:3021
  • When Sentinel.UNSET is found during parsing, it will skip calls to
    type_cast_value. :issue:3069 :pr:3090

v8.3.0

Compare Source

Released 2025-09-17

  • Improved flag option handling: Reworked the relationship between flag_value
    and default parameters for better consistency:

    • The default parameter value is now preserved as-is and passed directly
      to CLI functions (no more unexpected transformations)
    • Exception: flag options with default=True maintain backward compatibility
      by defaulting to their flag_value
    • The default parameter can now be any type (bool, None, etc.)
    • Fixes inconsistencies reported in: :issue:1992 :issue:2514 :issue:2610
      :issue:3024 :pr:3030
  • Allow default to be set on Argument for nargs = -1. :issue:2164
    :pr:3030

  • Show correct auto complete value for nargs option in combination with flag
    option :issue:2813

  • Fix handling of quoted and escaped parameters in Fish autocompletion. :issue:2995 :pr:3013

  • Lazily import shutil. :pr:3023

  • Properly forward exception information to resources registered with
    click.core.Context.with_resource(). :issue:2447 :pr:3058

  • Fix regression related to EOF handling in CliRunner. :issue:2939 :pr:2940

v8.2.2

Compare Source

Released 2025-07-31

  • Fix reconciliation of default, flag_value and type parameters for
    flag options, as well as parsing and normalization of environment variables.
    :issue:2952 :pr:2956
  • Fix typing issue in BadParameter and MissingParameter exceptions for the
    parameter param_hint that did not allow for a sequence of string where the
    underlying function _join_param_hints allows for it. :issue:2777 :pr:2990
  • Use the value of Enum choices to render their default value in help
    screen. Refs :issue:2911 :pr:3004
  • Fix completion for the Z shell (zsh) for completion items containing
    colons. :issue:2703 :pr:2846
  • Don't include envvar in error hint when not configured. :issue:2971 :pr:2972
  • Fix a rare race in click.testing.StreamMixer's finalization that manifested
    as a ValueError on close in a multi-threaded test session.
    :issue:2993 :pr:2991

v8.2.1

Compare Source

Released 2025-05-20

  • Fix flag value handling for flag options with a provided type. :issue:2894
    :issue:2897 :pr:2930
  • Fix shell completion for nested groups. :issue:2906 :pr:2907
  • Flush sys.stderr at the end of CliRunner.invoke. :issue:2682
  • Fix EOF handling for stdin input in CliRunner. :issue:2787

v8.2.0

Compare Source

Released 2025-05-10

  • Drop support for Python 3.7, 3.8, and 3.9. :pr:2588 :pr:2893

  • Use modern packaging metadata with pyproject.toml instead of setup.cfg.
    :pr:2438

  • Use flit_core instead of setuptools as build backend. :pr:2543

  • Deprecate the __version__ attribute. Use feature detection, or
    importlib.metadata.version("click"), instead. :issue:2598

  • BaseCommand is deprecated. Command is the base class for all
    commands. :issue:2589

  • MultiCommand is deprecated. Group is the base class for all group
    commands. :issue:2590

  • The current parser and related classes and methods, are deprecated.
    :issue:2205

    • OptionParser and the parser module, which is a modified copy of
      optparse in the standard library.
    • Context.protected_args is unneeded. Context.args contains any
      remaining arguments while parsing.
    • Parameter.add_to_parser (on both Argument and Option) is
      unneeded. Parsing works directly without building a separate parser.
    • split_arg_string is moved from parser to shell_completion.
  • Enable deferred evaluation of annotations with
    from __future__ import annotations. :pr:2270

  • When generating a command's name from a decorated function's name, the
    suffixes _command, _cmd, _group, and _grp are removed.
    :issue:2322

  • Show the types.ParamType.name for types.Choice options within
    --help message if show_choices=False is specified.
    :issue:2356

  • Do not display default values in prompts when Option.show_default is
    False. :pr:2509

  • Add get_help_extra method on Option to fetch the generated extra
    items used in get_help_record to render help text. :issue:2516
    :pr:2517

  • Keep stdout and stderr streams independent in CliRunner. Always
    collect stderr output and never raise an exception. Add a new
    output stream to simulate what the user sees in its terminal. Removes
    the mix_stderr parameter in CliRunner. :issue:2522 :pr:2523

  • Option.show_envvar now also shows environment variable in error messages.
    :issue:2695 :pr:2696

  • Context.close will be called on exit. This results in all
    Context.call_on_close callbacks and context managers added via
    Context.with_resource to be closed on exit as well. :pr:2680

  • Add ProgressBar(hidden: bool) to allow hiding the progressbar. :issue:2609

  • A UserWarning will be shown when multiple parameters attempt to use the
    same name. :issue:2396

  • When using Option.envvar with Option.flag_value, the flag_value
    will always be used instead of the value of the environment variable.
    :issue:2746 :pr:2788

  • Add Choice.get_invalid_choice_message method for customizing the
    invalid choice message. :issue:2621 :pr:2622

  • If help is shown because no_args_is_help is enabled (defaults to True
    for groups, False for commands), the exit code is 2 instead of 0.
    :issue:1489 :pr:1489

  • Contexts created during shell completion are closed properly, fixing
    a ResourceWarning when using click.File. :issue:2644 :pr:2800
    :pr:2767

  • click.edit(filename) now supports passing an iterable of filenames in
    case the editor supports editing multiple files at once. Its return type
    is now also typed: AnyStr if text is passed, otherwise None.
    :issue:2067 :pr:2068

  • Specialized typing of progressbar(length=...) as ProgressBar[int].
    :pr:2630

  • Improve echo_via_pager behaviour in face of errors.
    :issue:2674

    • Terminate the pager in case a generator passed to echo_via_pager
      raises an exception.
    • Ensure to always close the pipe to the pager process and wait for it
      to terminate.
    • echo_via_pager will not ignore KeyboardInterrupt anymore. This
      allows the user to search for future output of the generator when
      using less and then aborting the program using ctrl-c.
  • deprecated: bool | str can now be used on options and arguments. This
    previously was only available for Command. The message can now also be
    customised by using a str instead of a bool. :issue:2263 :pr:2271

    • Command.deprecated formatting in --help changed from
      (Deprecated) help to help (DEPRECATED).
    • Parameters cannot be required nor prompted or an error is raised.
    • A warning will be printed when something deprecated is used.
  • Add a catch_exceptions parameter to CliRunner. If
    catch_exceptions is not passed to CliRunner.invoke, the value
    from CliRunner is used. :issue:2817 :pr:2818

  • Option.flag_value will no longer have a default value set based on
    Option.default if Option.is_flag is False. This results in
    Option.default not needing to implement __bool__. :pr:2829

  • Incorrect click.edit typing has been corrected. :pr:2804

  • Choice is now generic and supports any iterable value.
    This allows you to use enums and other non-str values. :pr:2796
    :issue:605

  • Fix setup of help option's defaults when using a custom class on its
    decorator. Removes HelpOption. :issue:2832 :pr:2840

ipython/comm (comm)

v0.2.3

Compare Source

(Full Changelog)

Merged PRs
Contributors to this release

(GitHub contributors page for this release)

@​Carreau | @​davidbrochart

alexmojaki/executing (executing)

v2.2.1

Compare Source

kjd/idna (idna)

v3.11

Compare Source

pytest-dev/iniconfig (iniconfig)

v2.3.0

Compare Source

=====

  • add IniConfig.parse() classmethod with strip_inline_comments parameter (fixes #​55)
    • by default (strip_inline_comments=True), inline comments are properly stripped from values
    • set strip_inline_comments=False to preserve old behavior if needed
  • IniConfig() constructor maintains backward compatibility (does not strip inline comments)
  • users should migrate to IniConfig.parse() for correct comment handling
  • add strip_section_whitespace parameter to IniConfig.parse() (regarding #​4)
    • opt-in parameter to strip Unicode whitespace from section names
    • when True, strips Unicode whitespace (U+00A0, U+2000, U+3000, etc.) from section names
    • when False (default), preserves existing behavior for backward compatibility
  • clarify Unicode whitespace handling (regarding #​4)
    • since iniconfig 2.0.0 (Python 3 only), all strings are Unicode by default
    • Python 3's str.strip() has handled Unicode whitespace since Python 3.0 (2008)
    • iniconfig automatically benefits from this in all supported versions (Python >= 3.10)
    • key names and values have Unicode whitespace properly stripped using Python's built-in methods

v2.2.0

Compare Source

=====

  • drop Python 3.8 and 3.9 support (now requires Python >= 3.10)
  • add Python 3.14 classifier
  • migrate from hatchling to setuptools 77 with setuptools_scm
  • adopt PEP 639 license specifiers and PEP 740 build attestations
  • migrate from black + pyupgrade to ruff
  • migrate CI to uv and unified test workflow
  • automate GitHub releases and PyPI publishing via Trusted Publishing
  • include tests in sdist
  • modernize code for Python 3.10+ (remove future annotations, TYPE_CHECKING guards)
  • rename _ParsedLine to ParsedLine
ipython/ipython (ipython)

v9.9.0

Compare Source

v9.8.0

Compare Source

v9.7.0

Compare Source

v9.6.0

Compare Source

v9.5.0

Compare Source

v9.4.0

Compare Source

v9.3.0

Compare Source

PyCQA/isort (isort)

v6.1.0

Compare Source

pallets/markupsafe (markupsafe)

v3.0.3

Released 2025-09-27

  • __version__ raises DeprecationWarning instead of UserWarning.
    :issue:487
  • Adopt multi-phase initialisation (:pep:489) for the C extension.
    :issue:494
  • Build Windows ARM64 wheels. :issue:485
  • Build Python 3.14 wheels. :issue:503
  • Build riscv64 wheels. :issue:505
ipython/matplotlib-inline (matplotlib-inline)

v0.2.1

Compare Source

numpy/numpy (numpy)

v2.4.1: 2.4.1 (Jan 10, 2026)

Compare Source

NumPy 2.4.1 Release Notes

The NumPy 2.4.1 is a patch release that fixes bugs discoved after the
2.4.0 release. In particular, the typo SeedlessSequence is preserved to
enable wheels using the random Cython API and built against NumPy < 2.4.0
to run without errors.

This release supports Python versions 3.11-3.14

Contributors

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

  • Alexander Shadchin
  • Bill Tompkins +
  • Charles Harris
  • Joren Hammudoglu
  • Marten van Kerkwijk
  • Nathan Goldbaum
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Sebastian Berg

Pull requests merged

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

  • #​30490: MAINT: Prepare 2.4.x for further development
  • #​30503: DOC: numpy.select: fix default parameter docstring...
  • #​30504: REV: Revert part of #​30164 (#​30500)
  • #​30506: TYP: numpy.select: allow passing array-like default...
  • #​30507: MNT: use if constexpr for compile-time branch selection
  • #​30513: BUG: Fix leak in flat assignment iterator
  • #​30516: BUG: fix heap overflow in fixed-width string multiply (#​30511)
  • #​30523: BUG: Ensure summed weights returned by np.average always are...
  • #​30527: TYP: Fix return type of histogram2d
  • #​30594: MAINT: avoid passing ints to random functions that take double...
  • #​30595: BLD: Avoiding conflict with pygit2 for static build
  • #​30596: MAINT: Fix msvccompiler missing error on FreeBSD
  • #​30608: BLD: update vendored Meson to 1.9.2
  • #​30620: ENH: use more fine-grained critical sections in array coercion...
  • #​30623: BUG: Undo result type change of quantile/percentile but keep...

v2.4.0: 2.4.0 (Dec 20, 2025)

Compare Source

NumPy 2.4.0 Release Notes

The NumPy 2.4.0 release continues the work to improve free threaded Python
support, user dtypes implementation, and annotations. There are many expired
deprecations and bug fixes as well.

This release supports Python versions 3.11-3.14

Highlights

Apart from annotations and same_value kwarg, the 2.4 highlights are mostly
of interest to downstream developers. They should help in implementing new user
dtypes.

  • Many annotation improvements. In particular, runtime signature introspection.
  • New casting kwarg 'same_value' for casting by value.
  • New PyUFunc_AddLoopsFromSpec function that can be used to add user sort
    loops using the ArrayMethod API.
  • New __numpy_dtype__ protocol.
Deprecations
Setting the strides attribute is deprecated

Setting the strides attribute is now deprecated since mutating
an array is unsafe if an array is shared, especially by multiple
threads. As an alternative, you can create a new view (no copy) via:

  • np.lib.stride_tricks.strided_window_view if applicable,
  • np.lib.stride_tricks.as_strided for the general case,
  • or the np.ndarray constructor (buffer is the original array) for a
    light-weight version.

(gh-28925)

Positional out argument to np.maximum, np.minimum is deprecated

Passing the output array out positionally to numpy.maximum and
numpy.minimum is deprecated. For example, np.maximum(a, b, c) will emit
a deprecation warning, since c is treated as the output buffer rather than
a third input.

Always pass the output with the keyword form, e.g. np.maximum(a, b, out=c).
This makes intent clear and simplifies type annotations.

(gh-29052)

align= must be passed as boolean to np.dtype()

When creating a new dtype a VisibleDeprecationWarning will be given if
align= is not a boolean. This is mainly to prevent accidentally passing a
subarray align flag where it has no effect, such as np.dtype("f8", 3)
instead of np.dtype(("f8", 3)). We strongly suggest to always pass
align= as a keyword argument.

(gh-29301)

Assertion and warning control utilities are deprecated

np.testing.assert_warns and np.testing.suppress_warnings are
deprecated. Use warnings.catch_warnings, warnings.filterwarnings,
pytest.warns, or pytest.filterwarnings instead.

(gh-29550)

np.fix is pending deprecation

The numpy.fix function will be deprecated in a future release. It is
recommended to use numpy.trunc instead, as it provides the same
functionality of truncating decimal values to their integer parts. Static type
checkers might already report a warning for the use of numpy.fix.

(gh-30168)

in-place modification of ndarray.shape is pending deprecation

Setting the ndarray.shape attribute directly will be deprecated in a future
release. Instead of modifying the shape in place, it is recommended to use the
numpy.reshape function. Static type checkers might already report a
warning for assignments to ndarray.shape.

(gh-30282)

Deprecation of numpy.lib.user_array.container

The numpy.lib.user_array.container class is deprecated and will be removed
in a future version.

(gh-30284)

Expired deprecations
Removed deprecated MachAr runtime discovery mechanism.

(gh-29836)

Raise TypeError on attempt to convert array with ndim > 0 to scalar

Conversion of an array with ndim > 0 to a scalar was deprecated in NumPy
1.25. Now, attempting to do so raises TypeError. Ensure you extract a
single element from your array before performing this operation.

(gh-29841)

Removed numpy.linalg.linalg and numpy.fft.helper

The following were deprecated in NumPy 2.0 and have been moved to private
modules:

  • numpy.linalg.linalg
    Use numpy.linalg instead.
  • numpy.fft.helper
    Use numpy.fft instead.

(gh-29909)

Removed interpolation parameter from quantile and percentile functions

The interpolation parameter was deprecated in NumPy 1.22.0 and has been
removed from the following functions:

  • numpy.percentile
  • numpy.nanpercentile
  • numpy.quantile
  • numpy.nanquantile

Use the method parameter instead.

(gh-29973)

Removed numpy.in1d

numpy.in1d has been deprecated since NumPy 2.0 and is now removed in favor of numpy.isin.

(gh-29978)

Removed numpy.ndindex.ndincr()

The ndindex.ndincr() method has been deprecated since NumPy 1.20 and is now
removed; use next(ndindex) instead.

(gh-29980)

Removed fix_imports parameter from numpy.save

The fix_imports parameter was deprecated in NumPy 2.1.0 and is now removed.
This flag has been ignored since NumPy 1.17 and was only needed to support
loading files in Python 2 that were written in Python 3.

(gh-29984)

Removal of four undocumented ndarray.ctypes methods

Four undocumented methods of the ndarray.ctypes object have been removed:

  • _ctypes.get_data() (use _ctypes.data instead)
  • _ctypes.get_shape() (use _ctypes.shape instead)
  • _ctypes.get_strides() (use _ctypes.strides instead)
  • _ctypes.get_as_parameter() (use _ctypes._as_parameter_ instead)

These methods have been deprecated since NumPy 1.21.

(gh-29986)

Removed newshape parameter from numpy.reshape

The newshape parameter was deprecated in NumPy 2.1.0 and has been
removed from numpy.reshape. Pass it positionally or use shape=
on newer NumPy versions.

(gh-29994)

Removal of deprecated functions and arguments

The following long-deprecated APIs have been removed:

  • numpy.trapz --- deprecated since NumPy 2.0 (2023-08-18). Use numpy.trapezoid or
    scipy.integrate functions instead.
  • disp function --- deprecated from 2.0 release and no longer functional. Use
    your own printing function instead.
  • bias and ddof arguments in numpy.corrcoef --- these had no effect
    since NumPy 1.10.

(gh-29997)

Removed delimitor parameter from numpy.ma.mrecords.fromtextfile()

The delimitor parameter was deprecated in NumPy 1.22.0 and has been
removed from numpy.ma.mrecords.fromtextfile(). Use delimiter instead.

(gh-30021)

numpy.array2string and numpy.sum deprecations finalized

The following long-deprecated APIs have been removed or converted to errors:

  • The style parameter has been removed from numpy.array2string.
    This argument had no effect since Numpy 1.14.0. Any arguments following
    it, such as formatter have now been made keyword-only.
  • Calling np.sum(generator) directly on a generator object now raises a
    TypeError. This behavior was deprecated in NumPy 1.15.0. Use
    np.sum(np.fromiter(generator)) or the python sum builtin instead.

(gh-30068)

Compatibility notes
  • NumPy's C extension modules have begun to use multi-phase initialisation, as
    defined by PEP 489. As part of this, a new explicit check has been added that
    each such module is only imported once per Python process. This comes with
    the side-effect that deleting numpy from sys.modules and re-importing
    it will now fail with an ImportError. This has always been unsafe, with
    unexpected side-effects, though did not previously raise an error.

    (gh-29030)

  • numpy.round now always returns a copy. Previously, it returned a view
    for integer inputs for decimals >= 0 and a copy in all other cases.
    This change brings round in line with ceil, floor and trunc.

    (gh-29137)

  • Type-checkers will no longer accept calls to numpy.arange with
    start as a keyword argument. This was done for compatibility with
    the Array API standard. At runtime it is still possible to use
    numpy.arange with start as a keyword argument.

    (gh-30147)

  • The Macro NPY_ALIGNMENT_REQUIRED has been removed The macro was defined in
    the npy_cpu.h file, so might be regarded as semi public. As it turns out,
    with modern compilers and hardware it is almost always the case that
    alignment is required, so numpy no longer uses the macro. It is unlikely
    anyone uses it, but you might want to compile with the -Wundef flag or
    equivalent to be sure.

    (gh-29094)

C API changes
The NPY_SORTKIND enum has been enhanced with new variables

This is of interest if you are using PyArray_Sort or PyArray_ArgSort.
We have changed the semantics of the old names in the NPY_SORTKIND enum and
added new ones. The changes are backward compatible, and no recompilation is
needed. The new names of interest are:

  • NPY_SORT_DEFAULT -- default sort (same value as NPY_QUICKSORT)
  • NPY_SORT_STABLE -- the sort must be stable (same value as NPY_MERGESORT)
  • NPY_SORT_DESCENDING -- the sort must be descending

The semantic change is that NPY_HEAPSORT is mapped to NPY_QUICKSORT when used.
Note that NPY_SORT_DESCENDING is not yet implemented.

(gh-29642)

New NPY_DT_get_constant slot for DType constant retrieval

A new slot NPY_DT_get_constant has been added to the DType API, allowing
dtype implementations to provide constant values such as machine limits and
special values. The slot function has the signature:

int get_constant(PyArray_Descr *descr, int constant_id, void *ptr)

It returns 1 on success, 0 if the constant is not available, or -1 on error.
The function is always called with the GIL held and may write to unaligned memory.

Integer constants (marked with the 1 << 16 bit) return npy_intp values,
while floating-point constants return values of the dtype's native type.

Implementing this can be used by user DTypes to provide numpy.finfo values.

(gh-29836)

A new PyUFunc_AddLoopsFromSpecs convenience function has been added to the C API.

This function allows adding multiple ufunc loops from their specs in one call
using a NULL-terminated array of PyUFunc_LoopSlot structs. It allows
registering sorting and argsorting loops using the new ArrayMethod API.

(gh-29900)

New Features

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@coveralls
Copy link

coveralls commented May 8, 2025

Pull Request Test Coverage Report for Build 16527042364

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 85.43%

Totals Coverage Status
Change from base Build 14883398476: 0.0%
Covered Lines: 129
Relevant Lines: 151

💛 - Coveralls

@renovate renovate bot changed the title chore(deps): update dependency platformdirs to v4.3.8 chore(deps): update all non-major dependencies May 10, 2025
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 0957198 to 71800c5 Compare May 17, 2025 23:00
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 71800c5 to fe83857 Compare May 21, 2025 01:58
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 53d717b to 25aa9fe Compare June 2, 2025 18:49
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from deca614 to 419b680 Compare June 9, 2025 17:25
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from 6ae2378 to b32c3da Compare June 21, 2025 16:32
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 791b7da to ca01aee Compare July 4, 2025 16:56
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from e287b00 to 25b02ed Compare July 15, 2025 16:45
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 33d24b5 to e2d3e31 Compare July 29, 2025 20:27
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from b6c8999 to 6e696fb Compare August 3, 2025 04:46
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from c2516ea to 994c9ab Compare August 10, 2025 14:07
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from c1f4f05 to e3e0357 Compare October 19, 2025 02:42
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from c8b75bd to 87012f4 Compare October 24, 2025 16:44
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 68d6c23 to edf7c3f Compare November 6, 2025 03:34
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 8 times, most recently from 3c0ec95 to c781951 Compare November 17, 2025 00:28
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from 8ce83d0 to 96b8c60 Compare December 9, 2025 06:03
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from c39e961 to 1b086bf Compare December 20, 2025 18:00
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from 08dff36 to 6fff644 Compare January 5, 2026 14:41
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 6fff644 to 94112bd Compare January 10, 2026 08:50
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