Skip to content

Scheduled weekly dependency update for week 05#587

Closed
pyup-bot wants to merge 12 commits intomasterfrom
pyup-scheduled-update-2025-02-03
Closed

Scheduled weekly dependency update for week 05#587
pyup-bot wants to merge 12 commits intomasterfrom
pyup-scheduled-update-2025-02-03

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Feb 3, 2025

Update sphinx from 7.3.7 to 8.1.3.

Changelog

8.1.3

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

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

* 13013: Restore support for :func:`!cut_lines` with no object type.
Patch by Adam Turner.

8.1.2

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

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

* 13012: Expose :exc:`sphinx.errors.ExtensionError` in ``sphinx.util``
for backwards compatibility.
This will be removed in Sphinx 9, as exposing the exception
in ``sphinx.util`` was never intentional.
:exc:`!ExtensionError` has been part of ``sphinx.errors`` since Sphinx 0.9.
Patch by Adam Turner.

8.1.1

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

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

* 13006: Use the preferred https://www.cve.org/ URL for
the :rst:role:`:cve: <cve>` role.
Patch by Hugo van Kemenade.
* 13007: LaTeX: Improve resiliency when the required
``fontawesome`` or ``fontawesome5`` packages are not installed.
Patch by Jean-François B.

8.1.0

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

Dependencies
------------

* 12756: Add lower-bounds to the ``sphinxcontrib-*`` dependencies.
Patch by Adam Turner.
* 12833: Update the LaTeX ``parskip`` package from 2001 to 2018.
Patch by Jean-François B.

Incompatible changes
--------------------

* 12763: Remove unused internal class ``sphinx.util.Tee``.
Patch by Adam Turner.
* 12822: LaTeX: for Unicode engines, the :ref:`fvset` default is changed to
``'\\fvset{fontsize=auto}'`` from ``'\\fvset{fontsize=\\small}'``.
Code-blocks are unchanged as FreeMono is now loaded with ``Scale=0.9``.
An adjustment to existing projects is needed only if they used a custom
:ref:`fontpkg` configuration and did not set :ref:`fvset`.
Patch by Jean-François B.
* 12875: Disable smartquotes for languages: ``zh_CN`` and ``zh_TW`` by default.
Patch by A. Rafey Khan.

Deprecated
----------

* 12762: Deprecate ``sphinx.util.import_object``.
Use :py:func:`importlib.import_module` instead.
Patch by Adam Turner.
* 12766: Deprecate ``sphinx.util.FilenameUniqDict``
and ``sphinx.util.DownloadFiles``.
Patch by Adam Turner.

Features added
--------------

* 11328: Mention evaluation of templated content during production of static
output files.
Patch by James Addison.
* 12704: LaTeX: make :dudir:`contents <table-of-contents>`, :dudir:`topic`,
and :dudir:`sidebar` directives separately customizable for PDF output.
Patch by Jean-François B. and Bénédikt Tran.
* 12474: Support type-dependent search result highlighting via CSS.
Patch by Tim Hoffmann.
* 12652: LaTeX: Add :confval:`math_numsep` support to latex builder.
Patch by Thomas Fanning and Jean-François B.
* 12743: No longer exit on the first warning when
:option:`--fail-on-warning <sphinx-build --fail-on-warning>` is used.
Instead, exit with a non-zero status if any warnings were generated
during the build.
Patch by Adam Turner.
* 12743: Add :option:`sphinx-build --exception-on-warning`,
to raise an exception when warnings are emitted during the build.
Patch by Adam Turner and Jeremy Maitin-Shepard.
* 12907: Add :confval:`html_last_updated_use_utc` to allow using
universal time (GMT/UTC) instead of local time for the date-time
supplied to :confval:`html_last_updated_fmt`.
Patch by Adam Turner.
* 12910: Copyright entries now support the ``'%Y'`` placeholder
to substitute the current year.
This is helpful for reducing the reliance on Python modules
such as :py:mod:`time` or :py:mod:`datetime` in :file:`conf.py`.
See :ref:`the docs <config-copyright>` for further detail.
Patch by Adam Turner.
* 11781: Add roles for referencing CVEs (:rst:role:`:cve: <cve>`)
and CWEs (:rst:role:`:cwe: <cwe>`).
Patch by Hugo van Kemenade.
* 11809: Improve the formatting for RFC section anchors.
Patch by Jakub Stasiak and Adam Turner.
* 12852: Support a :attr:`.Builder.supported_linkcode` attribute
for builders to enable use of :mod:`sphinx.ext.linkcode`-generated
references.
Patch by James Knight.
* 12949: Print configuration options that differ from the pickled environment.
This can be helpful in diagnosing the cause of a full rebuild.
Patch by Adam Turner.

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

* 12514: intersphinx: fix the meaning of a negative value for
:confval:`intersphinx_cache_limit`.
Patch by Shengyu Zhang.
* 12722: LaTeX: avoid TeX reporting ``Overfull \hbox`` from too long
strings in a codeline when the problem has actually been solved thanks
to :ref:`latexsphinxsetupforcewraps`.
Patch by Jean-François B.
* 12730: The ``UnreferencedFootnotesDetector`` transform has been improved
to more consistently detect unreferenced footnotes.
Note, the priority of the transform has been changed from 200 to 622,
so that it now runs after the docutils ``Footnotes`` resolution transform.
Patch by Chris Sewell.
* 12778: LaTeX: let :ref:`'sphinxsetup' <latexsphinxsetup>`
``div.topic_box-shadow`` key if used with only one dimension set both
x-offset and y-offset as per documentation.
Patch by Jean-François B.
* 12587: Do not warn when potential ambiguity detected during Intersphinx
resolution occurs due to duplicate targets that differ case-insensitively.
Patch by James Addison.
* 12639: Fix singular and plural search results text.
Patch by Hugo van Kemenade.
* 12645: Correctly support custom gettext output templates.
Patch by Jeremy Bowman.
* 12717: LaTeX: let :option:`-q <sphinx-build -q>` (quiet) option for
:program:`sphinx-build -M latexpdf` or :program:`make latexpdf` (``O=-q``)
get passed to :program:`latexmk`.  Let :option:`-Q <sphinx-build -Q>`
(silent) apply as well to the PDF build phase.
Patch by Jean-François B.
* 12744: LaTeX: Classes injected by a custom interpreted text role now give
rise to nested ``\DUrole``'s, rather than a single one with comma separated
classes.
Patch by Jean-François B.
* 12831: LaTeX: avoid large voids sometimes occurring at page bottoms.
Patch by Jean-François B.
* 11970, 12551: singlehtml builder: make target URIs to be same-document
references in the sense of :rfc:`RFC 3986, §4.4 <3986section-4.4>`,
e.g., ``index.htmlfoo`` becomes ``foo``.
(note: continuation of a partial fix added in Sphinx 7.3.0)
Patch by James Addison (with reference to prior work by Eric Norige).
* 12735: Fix :pep:`695` generic classes LaTeX output formatting.
Patch by Jean-François B. and Bénédikt Tran.
* 12782: intersphinx: fix double forward slashes when generating the inventory
file URL (user-defined base URL of an intersphinx project are left untouched
even if they end with double forward slashes).
Patch by Bénédikt Tran.
* 12796: Enable parallel reading if requested,
even if there are fewer than 6 documents.
Patch by Matthias Geier.
* 12844: Restore support for ``:noindex:`` for the :rst:dir:`js:module`
and :rst:dir:`py:module` directives.
Patch by Stephen Finucane.
* 12916: Restore support for custom templates named with the legacy ``_t``
suffix during ``apidoc`` RST rendering (regression in 7.4.0).
Patch by James Addison.
* 12451: Only substitute copyright notice years with values from
``SOURCE_DATE_EPOCH`` for entries that match the current system clock year,
and disallow substitution of future years.
Patch by James Addison and Adam Turner.
* 12905: intersphinx: fix flipped use of :confval:`intersphinx_cache_limit`,
which always kept the cache for positive values, and always refreshed it for
negative ones.
Patch by Nico Madysa.
* 12888: Add a warning when document is included in multiple toctrees
and ensure deterministic resolution of global toctree in parallel builds
by choosing the lexicographically greatest parent document.
Patch by A. Rafey Khan
* 12995: Significantly improve performance when building the search index
for Chinese languages.
Patch by Adam Turner.
* 12767: :py:meth:`.Builder.write` is typed as ``final``, meaning that the
:event:`write-started` event may be relied upon by extensions.
A new :py:meth:`.Builder.write_documents` method has been added to
control how documents are written.
This is intended for builders that do not output a file for each document.
Patch by Adam Turner.


Testing
-------

* 12141: Migrate from the deprecated ``karma`` JavaScript test framework to
the actively-maintained ``jasmine`` framework.  Test coverage is unaffected.
Patch by James Addison.
Links

Update furo from 2024.5.6 to 2024.8.6.

Changelog

2024.08.06

- ✨ Add support for Sphinx 8
- ✨ Add smoother transitions between breakpoints
- Increase specificity of table-wrapper selector
- Avoid page breaks inside paragraphs

2024.07.18

- Improve how icons are handled and aligned.
- Improve scroll event handler.
- Hide the copybutton by default.
- Fix `source_view_link` configuration handling.
- Fix close tag on pencil icon.
Links

Update sphinx-autobuild from 2024.4.16 to 2024.10.3.

Changelog

2024.10.03

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

* Improve error handling for failures in pre-build commands.

2024.10.02

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

* Show the changed paths that triggered the rebuild.

2024.09.19

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

* Fix path filtering on Windows by normalising path separators.
* Filter various directories by default (``.git``, ``venv``, etc).
* Serve the correct directory when using make mode (``-M``).

2024.09.18

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

* Run Sphinx through the Python entry point rather than the binary on PATH.

2024.09.17

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

* Relax checks for paths that aren't required to exist.

2024.09.03

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

* Fix support for Python 3.9.
* Fix running ``sphinx-autobuild`` via entry point scripts.
* Run ``sphinx-build`` in a subprocess to mitigate autdoc issues.
* Support the ``-M`` 'make mode' option for ``sphinx-build``.
Links

Update sphinx-click from 5.0.1 to 6.0.0.

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

Links

Update sphinx-autodoc-typehints from 2.3.0 to 3.0.1.

Changelog

3.0.1

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed
* Fix roles for `types` module by flying-sheep in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/516
* Update Ruff to 0.9.1 by flying-sheep in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/517


**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/3.0.0...3.0.1

3.0.0

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed
* 🐛 Replace docutils private API use w/ public by webknjaz in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/507
* Drop support for nptyping by gaborbernat in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/514

New Contributors
* webknjaz made their first contribution in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/507

**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/2.5.0...3.0.0

2.5.0

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed
* Fix the type checker by gaborbernat in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/493
* Apply typehints_formatter to signature by Priyansh121096 in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/494

New Contributors
* Priyansh121096 made their first contribution in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/494

**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/2.4.4...2.5.0

2.4.4

<!-- Release notes generated using configuration in .github/release.yml at main -->



**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/2.4.3...2.4.4

2.4.3

<!-- Release notes generated using configuration in .github/release.yml at main -->



**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/2.4.2...2.4.3

2.4.2

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed
* Improve the CI by gaborbernat in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/485


**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/2.4.1...2.4.2

2.4.1

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed
* Fix placement of return type when there is a doctest by hoodmane in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/482


**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/2.4.0...2.4.1

2.4.0

<!-- Release notes generated using configuration in .github/release.yml at main -->

- Drop 3.9 support
- Add 3.13 support
- Bump dependencies

**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/2.3.0...2.4.0
Links

Update setuptools from 70.0.0 to 75.8.0.

Changelog

75.8.0

=======

Features
--------

- Implemented ``Dynamic`` field for core metadata (as introduced in PEP 643).
The existing implementation is currently experimental and the exact approach
may change in future releases. (4698)

75.7.0

=======

Features
--------

- Synced with pypa/distutilsc97a3db2f including better support for free threaded Python on Windows (pypa/distutils310), improved typing support, and linter accommodations. (4478)
- Synced with pypa/distutilsff11eed0c including bugfix for duplicate CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (4669). (4790)

75.6.0

=======

Features
--------

- Preserve original ``PKG-INFO`` into ``METADATA`` when creating wheel
(instead of calling ``wheel.metadata.pkginfo_to_metadata``).
This helps to be more compliant with the flow specified in PEP 517. (4701)
- Changed the ``WindowsSdkVersion``, ``FrameworkVersion32`` and ``FrameworkVersion64`` properties of ``setuptools.msvc.PlatformInfo`` to return an empty `tuple` instead of `None` as a fallthrough case --  by :user:`Avasam` (4754)

75.5.0

=======

Features
--------

- Removed support for ``SETUPTOOLS_DANGEROUSLY_SKIP_PYPROJECT_VALIDATION``, as it
is deemed prone to errors. (4746)

75.4.0

=======

Features
--------

- Added support for the environment variable
``SETUPTOOLS_DANGEROUSLY_SKIP_PYPROJECT_VALIDATION=true``, allowing users to bypass
the validation of ``pyproject.toml``.
This option should be used only as a last resort when resolving dependency
issues, as it may lead to improper functioning.
Users who enable this setting are responsible for ensuring that ``pyproject.toml``
complies with setuptools requirements. (4611)

.. attention::
  This environment variable was removed in a later version of ``setuptools``.

- Require Python 3.9 or later. (4718)
- Remove dependency on ``importlib_resources``
and the vendored copy of the library.
Instead, ``setuptools`` consistently rely on stdlib's ``importlib.resources``
(available on Python 3.9+). (4718)
- Setuptools' ``bdist_wheel`` implementation no longer produces wheels with
the ``m`` SOABI flag (pymalloc-related).
This flag was removed on Python 3.8+ (see :obj:`sys.abiflags`). (4718)
- Updated vendored packaging version to 24.2. (4740)


Bugfixes
--------

- Merge with pypa/distutils251797602, including fix for dirutil.mkpath handling in pypa/distutils304.

75.3.0

=======

Features
--------

- Allowed using `dict` as an ordered type in ``setuptools.dist.check_requirements`` -- by :user:`Avasam` (4575)


Bugfixes
--------

- Ensured methods in ``setuptools.modified`` preferably raise a consistent
``distutils.errors.DistutilsError`` type
(except in the deprecated use case of ``SETUPTOOLS_USE_DISTUTILS=stdlib``)
-- by :user:`Avasam` (4567)
- Fix the ABI tag when building a wheel using the debug build of Python 3.13 on Windows. Previously, the ABI tag was missing the ``"d"`` flag. (4674)
- Fix clashes for ``optional-dependencies`` in ``pyproject.toml`` and
``extra_requires`` in ``setup.cfg/setup.py``.
As per PEP 621, ``optional-dependencies`` have to be honoured and dynamic
behaviour is not allowed. (4696)


Misc
----

- 4560

75.2.0

=======

Features
--------

- Made errors when parsing ``Distribution`` data more explicit about the expected type (``tuple[str, ...] | list[str]``) -- by :user:`Avasam` (4578)


Bugfixes
--------

- Fix a `TypeError` when a ``Distribution``'s old included attribute was a `tuple` -- by :user:`Avasam` (4578)
- Add workaround for ``bdist_wheel --dist-info-dir`` errors
when customisation does not inherit from setuptools. (4684)

75.1.1

=======

Bugfixes
--------

- Re-use pre-existing ``.dist-info`` dir when creating wheels via the build backend APIs (PEP 517) and the ``metadata_directory`` argument is passed -- by :user:`pelson`. (1825)
- Changed ``egg_info`` command to avoid adding an empty ``.egg-info`` directory
while iterating over entry-points.
This avoids triggering integration problems with ``importlib.metadata``/``importlib_metadata``
(reference: pypa/pyproject-hooks206). (4680)

75.1.0

=======

Features
--------

- Deprecated ``bdist_wheel.universal`` configuration. (4617)


Bugfixes
--------

- Removed reference to upload_docs module in entry points. (4650)

75.0.0

=======

Features
--------

- Declare also the dependencies used by distutils (adds jaraco.collections).


Deprecations and Removals
-------------------------

- Removed upload_docs command. (2971)
- Merge with pypa/distutils7283751. Removed the register and upload commands and the config module that backs them (pypa/distutils294). Removed the borland compiler. Replaced vendored dependencies with natural dependencies. Cygwin C compiler now gets compilers from sysconfig (pypa/distutils296). (4649)

74.1.3

=======

Bugfixes
--------

- Fix cross-platform compilation using ``distutils._msvccompiler.MSVCCompiler`` -- by :user:`saschanaz` and :user:`Avasam` (4648)

74.1.2

=======

Bugfixes
--------

- Fixed TypeError in sdist filelist processing by adding support for pathlib Paths for the build_base. (4615)
- Removed degraded and deprecated ``test_integration`` (easy_install) from the test suite. (4632)

74.1.1

=======

Bugfixes
--------

- Fixed TypeError in ``msvc.EnvironmentInfo.return_env`` when no runtime redistributables are installed. (1902)

74.1.0

=======

Features
--------

- Added support for defining ``ext-modules`` via ``pyproject.toml``
(**EXPERIMENTAL**, may change in future releases). (4568)


Bugfixes
--------

- Merge with pypa/distutils3dcdf8567, removing the duplicate vendored copy of packaging. (4622)
- Restored ``setuptools.msvc.Environmentinfo`` as it is used externally. (4625)

74.0.0

=======

Features
--------

- Changed the type of error raised by ``setuptools.command.easy_install.CommandSpec.from_param`` on unsupported argument from `AttributeError` to `TypeError` -- by :user:`Avasam` (4548)
- Added detection of ARM64 variant of MSVC -- by :user:`saschanaz` (4553)
- Made ``setuptools.package_index.Credential`` a `typing.NamedTuple` -- by :user:`Avasam` (4585)
- Reraise error from ``setuptools.command.easy_install.auto_chmod`` instead of nonsensical ``TypeError: 'Exception' object is not subscriptable`` -- by :user:`Avasam` (4593)
- Fully typed all collection attributes in ``pkg_resources`` -- by :user:`Avasam` (4598)
- Automatically exclude ``.tox|.nox|.venv`` directories from ``sdist``. (4603)


Deprecations and Removals
-------------------------

- Removed the monkeypatching of distutils._msvccompiler. Now all compiler logic is consolidated in distutils. (4600)
- Synced with pypa/distutils58fe058e4, including consolidating Visual Studio 2017 support (4600, pypa/distutils289), removal of deprecated legacy MSVC compiler modules (pypa/distutils287), suppressing of errors when the home directory is missing (pypa/distutils278), removal of wininst binaries (pypa/distutils282). (4606)


Misc
----

- 4592

73.0.1

=======

Bugfixes
--------

- Remove `abc.ABCMeta` metaclass from abstract classes. `pypa/setuptools4503 <https://github.com/pypa/setuptools/pull/4503>`_ had an unintended consequence of causing potential ``TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases`` -- by :user:`Avasam` (#4579)

73.0.0

=======

Features
--------

- Mark abstract base classes and methods with `abc.ABC` and `abc.abstractmethod` -- by :user:`Avasam` (4503)
- Changed the order of type checks in ``setuptools.command.easy_install.CommandSpec.from_param`` to support any `collections.abc.Iterable` of `str` param -- by :user:`Avasam` (4505)


Bugfixes
--------

- Prevent an error in ``bdist_wheel`` if ``compression`` is set to a `str` (even if valid) after finalizing options but before running the command. -- by :user:`Avasam` (4383)
- Raises an exception when ``py_limited_api`` is used in a build with
``Py_GIL_DISABLED``. This is currently not supported (python/cpython111506). (4420)
- Synced with pypa/distutils30b7331 including fix for modified check on empty sources (pypa/distutils284).


Deprecations and Removals
-------------------------

- ``setuptools`` is replacing the usages of :pypi:`ordered_set` with simple
instances of ``dict[Hashable, None]``. This is done to remove the extra
dependency and it is possible because since Python 3.7, ``dict`` maintain
insertion order. (4574)


Misc
----

- 4534, 4546, 4554, 4559, 4565

72.2.0

=======

Features
--------

- Merged with pypa/distutilsb7ee725f3 including: Support for Pathlike objects in data files and extensions (pypa/distutils272, pypa/distutils237), native support for C++ compilers (pypa/distuils228) and removed unused get_msvcr() (pypa/distutils274). (4538)

72.1.0

=======

Features
--------

- Restore the tests command and deprecate access to the module. (4519) (4520)

72.0.0

=======

Deprecations and Removals
-------------------------

- The test command has been removed. Users relying on 'setup.py test' will need to migrate to another test runner or pin setuptools before this version. (931)

71.1.0

=======

Features
--------

- Added return types to typed public functions -- by :user:`Avasam`

Marked `pkg_resources` as ``py.typed`` -- by :user:`Avasam` (4409)


Misc
----

- 4492

71.0.4

=======

Bugfixes
--------

- Removed lingering unused code around Distribution._patched_dist. (4489)

71.0.3

=======

Bugfixes
--------

- Reset the backports module when enabling vendored packages. (4476)

71.0.2

=======

Bugfixes
--------

- Include all vendored files in the sdist. (4480)

71.0.1

=======

Bugfixes
--------

- Restored package data that went missing in 71.0. This change also incidentally causes tests to be installed once again. (4475)

71.0.0

=======

Deprecations and Removals
-------------------------

- Now setuptools declares its own dependencies in the ``core`` extra. Dependencies are still vendored for bootstrapping purposes, but setuptools will prefer installed dependencies if present. The ``core`` extra is used for informational purposes and should *not* be declared in package metadata (e.g. ``build-requires``). Downstream packagers can de-vendor by simply removing the ``setuptools/_vendor`` directory. Since Setuptools now prefers installed dependencies, those installing to an environment with old, incompatible dependencies will not work. In that case, either uninstall the incompatible dependencies or upgrade them to satisfy those declared in ``core``. (2825)

70.3.0

=======

Features
--------

- Support for loading distutils from the standard library is now deprecated, including use of SETUPTOOLS_USE_DISTUTILS=stdlib and importing distutils before importing setuptools. (4137)


Bugfixes
--------

- Bugfix for building Cython extension on Windows (pypa/distutils268).

70.2.0

=======

Features
--------

- Updated distutils including significant changes to support Cygwin and mingw compilers. (4444)


Bugfixes
--------

- Fix distribution name normalisation (:pep:`625`) for valid versions that are
not canonical (e.g. ``1.0-2``). (4434)

70.1.1

=======

Misc
----

- 4429

70.1.0

=======

Features
--------

- Adopted the ``bdist_wheel`` command from the ``wheel`` project -- by :user:`agronholm` (1386)
- Improve error message when ``pkg_resources.ZipProvider`` tries to extract resources with a missing Egg -- by :user:`Avasam`

Added variables and parameter type annotations to ``pkg_resources`` to be nearly on par with typeshed.\* -- by :user:`Avasam`
\* Excluding ``TypeVar`` and ``overload``. Return types are currently inferred. (4246)
- Migrated Setuptools' own config to pyproject.toml (4310)


Bugfixes
--------

- Prevent a ``TypeError: 'NoneType' object is not callable`` when ``shutil_rmtree`` is called without an ``onexc`` parameter on Python<=3.11 -- by :user:`Avasam` (4382)
- Replace use of mktemp with can_symlink from the stdlib test suite. (4403)
- Improvement for ``attr:`` directives in configuration to handle
more edge cases related to complex ``package_dir``. (4405)
- Fix accidental implicit string concatenation. (4411)


Misc
----

- 4365, 4422
Links

Update pytest from 8.2.1 to 8.3.4.

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

Links

Update respx from 0.21.1 to 0.22.0.

Changelog

0.22.0

Fixed

- Support HTTPX 0.28.0, thanks ndhansen (278)

Removed

- Drop support for Python 3.7, to align with HTTPX 0.25.0 (280)

CI

- Update CI test to not fail fast and cancel workflows, thanks flaeppe (269)
- Add dependabot to check GitHub actions packages, thanks flaeppe (268)
- Add Python 3.13 to test suite, thanks jairhenrique (283)
Links

Update pytest-env from 1.1.3 to 1.1.5.

Changelog

1.1.5

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed
* Improve the CI by gaborbernat in https://github.com/pytest-dev/pytest-env/pull/101


**Full Changelog**: https://github.com/pytest-dev/pytest-env/compare/1.1.4...1.1.5

1.1.4

<!-- Release notes generated using configuration in .github/release.yml at main -->



**Full Changelog**: https://github.com/pytest-dev/pytest-env/compare/1.1.3...1.1.4
Links

Update fiftyone from 0.23.8 to 1.3.0.

Changelog

1.3.0

Please see our official Voxel51 [Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-1-3-0) for details!

1.2.0

Please see our official Voxel51 [Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-1-2-0) for details!

1.1.0

Please see the official Voxel51 [Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-1-1-0) for details!

1.0.2

Please see the official [Voxel51 Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-1-0-2) for details!

1.0.1

Please see the official [Voxel51 Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-1-0-1) for details!

1.0.0

Please see the official Voxel51 [Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-1-0-0)

0.25.2

Please see the official Voxel51 [Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-0-25-2)

0.25.1

Please see the official Voxel51 [Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-0-25-1)

0.25.0

Please see the official Voxel51 [Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-0-25-0)

0.24.1

Please see the official [Voxel51 Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-0-24-1) for details.

0.24.0

Please see the official [Voxel51 Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-0-24-0) for details.
Links

Update datasets from 2.19.1 to 3.2.0.

Changelog

3.2.0

Added

-   [API] `tfds.ImageFolder` and `tfds.TranslateFolder` to easily create custom
 datasets with your custom data.
-   [API] `tfds.ReadConfig(input_context=)` to shard dataset, for better
 multi-worker compatibility (1426).
-   [API] The default `data_dir` can be controlled by the `TFDS_DATA_DIR`
 environment variable.
-   [API] Better usability when developing datasets outside TFDS: downloads are
 always cached, checksums are optional.
-   Scripts to help deployment/documentation (Generate catalog documentation,
 export all metadata files, ...).
-   [Documentation] Catalog display images
 ([example](https://www.tensorflow.org/datasets/catalog/sun397#sun397standard-part2-120k)).
-   [Documentation] Catalog shows which dataset have been recently added and are
 only available in `tfds-nightly`
 <span class="material-icons">nights_stay</span>.
-   [API] `tfds.show_statistics(ds_info)` to display
 [FACETS OVERVIEW](https://pair-code.github.io/facets/). Note: This require
 the dataset to have been generated with the statistics.

Deprecated

-   `tfds.features.text` encoding API. Please use
 [tensorflow_text](https://www.tensorflow.org/tutorials/tensorflow_text/intro)
 instead.

Removed

-   `tfds.load('image_label_folder')` in favor of the more user-friendly
 `tfds.ImageFolder`.

Fixed

-   Fix deterministic example order on Windows when path was used as key (this
 only impacts a few datasets). Now example order should be the same on all
 platforms.
-   Misc performances improvements for both generation and reading (e.g. use
 `__slot__`, fix parallelisation bug in `tf.data.TFRecordReader`, ...).
-   Misc fixes (typo, types annotations, better error messages, fixing dead
 links, better windows compatibility, ...).

3.1.0

Added

-   [API] `tfds.builder_cls(name)` to access a DatasetBuilder class by name
-   [API] `info.split['train'].filenames` for access to the tf-record files.
-   [API] `tfds.core.add_data_dir` to register an additional data dir.
-   [Testing] Support for custom decoders in `tfds.testing.mock_data`.
-   [Documentation] Shows which datasets are only present in `tfds-nightly`.
-   [Documentation] Display images for supported datasets.

Changed

-   Rename `tfds.core.NamedSplit`, `tfds.core.SplitBase` -> `tfds.Split`. Now
 `tfds.Split.TRAIN`,... are instance of `tfds.Split`.
-   Rename `interleave_parallel_reads` -> `interleave_cycle_length` for
 `tfds.ReadConfig`.
-   Invert ds, ds_info argument orders for `tfds.show_examples`.

Deprecated

-   `tfds.features.text` encoding API. Please use `tensorflow_text` instead.

Removed

-   `num_shards` argument from `tfds.core.SplitGenerator`. This argument was
 ignored as shards are automatically computed.
-   Most `ds.with_options` which where applied by TFDS. Now use `tf.data`
 default.

Fixed

-   Better error messages.
-   Windows compatibility.

3.0.0

Added

-   `DownloadManager` is now pickable (can be used inside Beam pipelines).
-   `tfds.features.Audio`:
 -   Support float as returned value.
 -   Expose sample_rate through `info.features['audio'].sample_rate`.
 -   Support for encoding audio features from file objects.
-   More datasets.

Changed

-   New `image_classification` section. Some datasets have been move there from
 `images`.
-   `DownloadConfig` does not append the dataset name anymore (manual data
 should be in `<manual_dir>/` instead of `<manual_dir>/<dataset_name>/`).
-   Tests now check that all `dl_manager.download` urls has registered
 checksums. To opt-out, add `SKIP_CHECKSUMS = True` to your
 `DatasetBuilderTestCase`.
-   `tfds.load` now always returns `tf.compat.v2.Dataset`. If you're using still
 using `tf.compat.v1`:
 -   Use `tf.compat.v1.data.make_one_shot_iterator(ds)` rather than
     `ds.make_one_shot_iterator()`.
 -   Use `isinstance(ds, tf.compat.v2.Dataset)` instead of `isinstance(ds,
     tf.data.Dataset)`.

Deprecated

-   The `tfds.features.text` encoding API is deprecated. Please use
 [tensorflow_text](https://www.tensorflow.org/tutorials/tensorflow_text/intro)
 instead.
-   `num_shards` argument of `tfds.core.SplitGenerator` is currently ignored and
 will be removed in the next version.

Removed

-   Legacy mode `tfds.experiment.S3` has been removed
-   `in_memory` argument has been removed from `as_dataset`/`tfds.load` (small
 datasets are now auto-cached).
-   `tfds.Split.ALL`.

Fixed

-   Various bugs, better error messages, documentation improvements.
Links

Update ultralytics from 8.3.47 to 8.3.70.

Changelog

8.3.70

🌟 Summary  
The **v8.3.70** release brings feature enhancements with improved export functionalities, updated compatibility for PyTorch, and usability enhancements in benchmarking and documentation. 🚀  

---

📊 Key Changes  
- **Sony IMX500 Export Update**: Added support for the `data` argument, enabling dataset configuration during export for better control over quantization in formats like OpenVINO, TensorRT, and TF Lite. 📁  
- **Torch 2.6 Compatibility**: Updated Torch-Torchvision mappings to ensure seamless functionality with the latest PyTorch update. 🔧  
- **Format-Specific Benchmarking**: Introduced benchmarking support for individual formats (e.g., ONNX) to allow targeted performance evaluations. 📊  
- **NVIDIA DLA Support**: Implemented support for running models on specific NVIDIA DLA cores—a key feature for specialized hardware optimization. 🖥️  
- **Improved `numpy` Stability**: Pinned `numpy` version to prevent compatibility issues with OpenVINO and TFLite during CI tests. ✅  
- **Documentation Enhancements**: Added tutorial videos and refined sections for clarity, aiding users and contributors. 📚  

---

🎯 Purpose & Impact  

- **Improved Export Workflows**:  
- **Purpose**: The `data` argument helps users customize exports with specific dataset configurations, simplifying quantization and compatibility for edge and on-premise deployment.  
- **Impact**: Makes exports more robust and adaptable to diverse workflows, ensuring higher-quality models with optimized performance.  

- **Torch Compatibility**:  
- **Purpose**: Keep the framework current with the latest PyTorch improvements.  
- **Impact**: Allows users to leverage PyTorch 2.6's advancements without compatibility hiccups, maintaining a seamless experience.  

- **More Granular Benchmarking**:  
- **Purpose**: Enable granular analysis of models' efficiency in specific formats like ONNX or TensorFlow Lite.  
- **Impact**: Helps developers fine-tune models for scenarios where particular formats are essential for deployment.  

- **DLA Optimization**:  
- **Purpose**: Ensure efficient inference on NVIDIA's specialized hardware.  
- **Impact**: Reduces computational overhead and maximizes performance for users running models on NVIDIA DLA platforms.  

- **CI Stability with `numpy`**:  
- **Purpose**: Prevent runtime or testing errors due to incompatible `numpy` versions.  
- **Impact**: Ensures reliable and predictable performance for developers and CI pipelines.  

- **Accessible Documentation**:  
- **Purpose**: Make it easier for new contributors and users to onboard through visual and detailed guides.  
- **Impact**: Encourages community growth and simplifies the learning curve for both model and framework regulars.  

---

🎉 This release is packed with features to empower smoother workflows, improve hardware compatibility, and promote user-friendly innovation! 🌟

What's Changed
* Update torchvision compatibility table for `torch 2.6` by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18935
* Add https://youtu.be/yMR7BgwHQ3g to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18936
* Add support for single `export` format `benchmark` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18740
* Remove YOLOv10 benchmarks from CI by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18937
* mkdocs-ultralytics-plugin>=0.1.16 by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18942
* Pin `numpy<=2.1.1` to resolve failing --slow CI by lakshanthad in https://github.com/ultralytics/ultralytics/pull/18943
* Add DLA specific core usage by AbelHaro in https://github.com/ultralytics/ultralytics/pull/18930
* Minor Docs edits by LexBarou in https://github.com/ultralytics/ultralytics/pull/18940
* Eliminate `numpy<2.0.0` pin for OpenVINO on macOS by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18945
* `ultralytics 8.3.70` add `data` argument to Sony IMX500 export by lakshanthad in https://github.com/ultralytics/ultralytics/pull/18852

New Contributors
* LexBarou made their first contribution in https://github.com/ultralytics/ultralytics/pull/18940
* AbelHaro made their first contribution in https://github.com/ultralytics/ultralytics/pull/18930

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.69...v8.3.70

8.3.69

🌟 Summary
The Ultralytics `v8.3.69` release introduces enhanced integration for data export, including a new `to_sql()` method for saving model results directly into an SQL database. This version also continues refining the documentation, stability, and benchmarking experience to provide a smoother user workflow. 🚀

---

📊 Key Changes
- **New SQL Export Capability:** Users can now use the `to_sql()` method to store YOLO model inference results directly in an SQL database for organization and analysis. 🗄️
- **Generalized Export Options:** Expanded export methods for results, adding `to_df`, `to_csv`, `to_xml`, and `to_json` for improved compatibility with different formats. 
- **Improved Documentation:**
- Added dynamic performance visualization charts to model documentation for more engaging and intuitive comparisons. 📈
- Simplified and clarified YOLOv3 documentation tables for better readability. 📚
- **Benchmark Enhancements:**
- Strengthened validation for input sizes, ensuring square images are required for benchmarking. 🖼️
- Modified logging to lessen verbosity and improve user-friendliness during prediction and validation tasks. 💡
- **Fixes and Stability:**
- Corrected edge cases in `AutoBatch` with better `RT-DETR` compatibility. ✅
- Implemented model deep copy for profiling tasks to ensure unmodified behavior during GFLOP measurements. 🔒
- **CI Pipeline Adjustments:**
- Temporarily disabled Windows CI and Raspberry Pi CI workflows for maintenance, ensuring smoother ongoing operations. 🛠️

---

🎯 Purpose & Impact
- **Purpose:**
- The `to_sql()` function provides seamless integration with relational databases, making it easier to organize, query, and analyze results within existing workflows.
- Enhanced export flexibility supports various use cases and workflows, from technical development to high-level reporting.
- Improvements in benchmarking and documentation provide clarity for researchers and developers determining model performance and deployment strategies.
- **Impact:**
- **For Developers:** Effortlessly manage results with SQL integration, while enjoying a more streamlined benchmarking process.
- **For Researchers:** Leverage clearer documentation and performance visualizations for easier evaluation of model trade-offs.
- **For General Users:** Reduced complexity and improved tools make interacting with the platform more intuitive and accessible. 🌟

This release continues to strengthen both backend functionality and user experience, paving the way for effective use of YOLO and supporting tools across diverse projects! 🎉

What's Changed
* Fix YOLOv3 table by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18902
* Add Docs models JS charts by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18905
* Simplify build_docs.py by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18910
* Fix `AutoBatch` when working with RT-DETR models by Laughing-q in https://github.com/ultralytics/ultralytics/pull/18912
* Add `PP-YOLOE+` params and flops data by Laughing-q in https://github.com/ultralytics/ultralytics/pull/18911
* Temporarily disable Raspberry Pi CI due to maintenance by lakshanthad in https://github.com/ultralytics/ultralytics/pull/18923
* Fix Docs edit button links by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18932
* Add imgsz check and improve logs for benchmarks by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18917
* `ultralytics 8.3.69` New Results `to_sql()` method for SQL format by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18921


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.68...v8.3.69

8.3.68

🌟 Summary  
This release (`v8.3.68`) delivers meticulous updates enhancing benchmarking workflows, export processes, documentation clarity, and model comparison tools for improved usability and precision. 🚀✨

---

📊 Key Changes  
- **Benchmarking Model Path Fix**: Corrected model path handling in benchmarking to prioritize `pt_path`, fallback to `ckpt_path`, and then `model_name` for file identification. Improved log clarity.  
- **EfficientDet Integration**: Added EfficientDet (d0-d3) benchmarking stats for performance evaluation with other models.  
- **Enhanced Visualization**: Streamlined chart rendering for benchmarks, including refined dataset logic and active model configurations via page settings.  
- **Export Adjustments**: Fixed issues with ONNX dynamic export, OpenVINO int8, and TFLite at edge cases (`imgsz=32`). Improved handling of classification models and adjusted NMS logic.  
- **Documentation Updates**: Improved AzureML Python version recommendations and introduced a fallback mechanism for file minification during documentation builds.  

---

🎯 Purpose & Impact  
- 📋 **Clarity & Consistency**: Benchmarking logs now show clearer and more intuitive references to simplify debugging and analysis.  
- 🚀 **Improved Model Evaluation**: Adding EfficientDet and chart enhancements helps users make better decisions when comparing models.  
- ⚙️ **Robust Edge Case Handling**: Fixes to TFLite, ONNX, and OpenVINO exports safeguard against errors, particularly with smaller image sizes or specific benchmarks.  
- 🧪 **Improved Testing & Usability**: Adjustments in export configuration reduce runtime errors during testing.  
- 📝 **Developer-Friendly Documentation**: Clarified setup instructions in AzureML and optimized minification improve user experience, especially for new developers.  

This release focuses on **greater flexibility, reliability, and usability** for users managing benchmarking, exporting, and evaluating models! 🌟

What's Changed
* Simplify chart legend by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18878
* Add EfficientDet to model comparisons by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18884
* Add Javascript active models argument by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18886
* Minify fallback on docs build by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18887
* Fix benchmark.js by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18890
* Fix export test matrices to exclude `nms` from Classify models by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18880
* Fix Python Version Recommendation in AzureML Quickstart by Lucashygi in https://github.com/ultralytics/ultralytics/pull/18889
* Fix TFLite error and OpenVINO int8 error at imgsz=32 by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18898
* `ultralytics 8.3.68` Benchmarking model path fix by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18894

New Contributors
* Lucashygi made their first contribution in https://github.com/ultralytics/ultralytics/pull/18889

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.67...v8.3.68

8.3.67

📊 Key Changes
- **Added NMS support** during export for multiple formats: ONNX, TensorRT, TFLite, TFJS, SavedModel, OpenVINO, and TorchScript 🧩.
- Enabled export-specific NMS for `detect`, `segment`, `pose`, and `obb` tasks with enhanced options like `nms=True`.
- Expanded NMS-related functionality in models and exporters, including support for more complex configurations like agnostic or rotated NMS.
- Streamlined model APIs to support embedded NMS using an updated `NMSModel` wrapper.

🎯 Purpose & Impact
- **Purpose**:
- Simplifies deployment pipelines by embedding NMS directly into exported models, removing the need for custom post-processing 🔗.
- Enhances usability across deployment platforms (e.g., TensorFlow, ONNX, OpenVINO) by integrating NMS into the export pipeline.
- **Impact**:
- Significantly improves portability and ease of deployment for real-time applications 🎯.
- Makes YOLO models more accessible for hardware-accelerated environments like TensorRT and Edge TPU 🚀.
- Reduces errors and complexity in downstream pipelines by unifying pre/post-processing across tasks.

Overall, this update empowers developers to deploy YOLO models with integrated NMS across a wide variety of frameworks and platforms, making the process **faster**, **more robust**, and **less error-prone**. 🌟

What's Changed
* Update HUB Shared Inference API limits by sergiuwaxmann in https://github.com/ultralytics/ultralytics/pull/18850
* Add `YOLO_TQDM_RICH` environment variable by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18854
* `ultralytics 8.3.67` NMS Export for Detect, Segment, Pose and OBB YOLO models by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18484


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.66...v8.3.67

8.3.66

🌟 Summary
The **v8.3.66** release introduces support for Rockchip RKNN export, enhances hardware compatibility, refines documentation, and fixes several bugs, marking a significant step for developers working on edge AI and cross-platform deployments. 

---

📊 Key Changes
- ✨ **Rockchip RKNN Support**: Added the ability to export YOLO models to the RKNN format for deployment on Rockchip devices. Includes support for key parameters such as `imgsz`, `batch`, and `name`.
- 📄 **Integration Documentation**:
- **Rockchip RKNN**: Expanded instructions, performance benchmarks, and FAQs for smoother deployment.
- **Seeed Studio reCamera**: Introduced documentation for using YOLO models with the reCamera for edge AI, including ONNX and cvimodel exports.
- 🚀 **Optimizations and Fixes**:
- Streamlined RKNN export code for better clarity and reliability.
- Fixed ONNX model path issue to resolve export naming conflicts.
- Enhanced debugging during ONNXRuntime CUDA initialization.
- Improved label class validation logic to prevent dataset misconfigurations.
- Updated Albumentations' `ImageCompression` augmentation range for higher realism.
- 📦 **Testing Enhancements**:
- Added CI support for **Ubuntu ARM64** builds, enhancing platform compatibility for ARM-based environments.
- 🔧 **Code Improvements**: 
- Introduced a custom `TQDM` class for consistent progress bar functionality.
- Refactored unused arguments in modules like `TorchVision` and `Index`.
- Adjusted optimizer logic during training for better performance in DDP setups.

---

🎯 Purpose & Impact
- **🚀 Expanded Hardware Reach**: Rockchip RKNN and Seeed Studio reCamera integration allow effortless deployment on specialized hardware, facilitating edge AI applications like real-time object detection and energy-efficient designs.
- **🔗 Enhanced Usability**: Rich documentation, benchmarks, and FAQs guide developers through complex setups, broadening accessibility for newcomers.
- **✅ More Robust Exports**: RKNN and ONNX updates improve compatibility and prevent export errors, reducing troubleshooting time for developers. 
- **⚡ Performance Gains**: Augmentation and label validation improve model robustness and reduce errors during training and deployment across datasets and hardware.
- **🛠 Streamlined Development**: Refactors simplify code maintenance while maintaining compatibility, fostering a cleaner codebase.

What's Changed
* Update thumbnail for Rockchip RKNN integration page by lakshanthad in https://github.com/ultralytics/ultralytics/pull/18787
* Cleanup TorchVision related functions by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18790
* Fix IMX onnx model path by Laughing-q in https://github.com/ultralytics/ultralytics/pull/18813
* New Seeedstudio reCamera Docs page by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18801
* Add https://youtu.be/8gePl_Zcs5c to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18824
* Fix missing IMX500 export decorator by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18823
* Fix spelling by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18827
* Fix dataset category indexes check by Laughing-q in https://github.com/ultralytics/ultralytics/pull/18840
* Ubuntu ARM GitHub CI runners by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18762
*  Fix automatic optimizer LR with DDP training by Laughing-q in https://github.com/ultralytics/ultralytics/pull/18842
* Update inference.cpp [bug in case of cudaEnable = false] by pmermigkas in https://github.com/ultralytics/ultralytics/pull/18831
* RKNN export clean up by Laughing-q in https://github.com/ultralytics/ultralytics/pull/18841
* Move `task=classify` with `mode=track` warning to tracker `on_predict_start` by Laughing-q in https://github.com/ultralytics/ultralytics/pull/18837
* Use TQDM class by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18846
* Fix Albumentations ImageCompression `quality_range` arg by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18847
* `ultralytics 8.3.66` add Rockchip RKNN export in `tutorial.ipynb` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18848

New Contributors
* pmermigkas made their first contribution in https://github.com/ultralytics/ultralytics/pull/18831

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.65...v8.3.66

8.3.65

📊 Key Changes
- **Rockchip RKNN Integration**:
- Added RKNN export for YOLO models optimized for Rockchip hardware (e.g., RK3588, RK3566).
- Simplified deployment with enhanced documentation and tools for RKNN models.
- Supported hardware inference via `rknn-toolkit2` with assisted device compatibility checks.

- **Stability and Performance Improvements**:
- Enhanced data loader robustness by handling worker termination safely under edge cases. ✅
- Updated CI workflows to support macOS 15, ensuring compatibility with the latest macOS environments.

- **Compatibility Fixes**:
- Dynamic handling of `numpy` dependencies for NVIDIA Jetson devices to improve TensorRT functionality, reducing rigid constraints for all other users. 🌍

- **Refactoring**:
- Replaced mutable Python `set` with immutable `frozenset` across codebase to improve performance, ensure thread safety, and prevent unintended data modifications. 🚀

- **Documentation Cleanup and Maintenance**:
- Updated regex for consistent link conversion in documentation (plaintext to HTML), simplifying maintenance and improving reliability. ✍️

🎯 Purpose & Impact
- **Purpose**:
- Simplify AI deployment for edge devices, particularly Rockchip-based hardware, using RKNN format.
- Improve the user experience by addressing edge-case errors in data loaders and ensuring compatibility with macOS and NVIDIA-specific scenarios.
- Modernize internal code structure for faster performance and better reliability.

- **Impact**:
- 🧠 **RKNN Support**: Developers now have a streamlined process to export and deploy YOLO models on Rockchip's NPU-enabled devices, unlocking high-performance AI functionality for embedded systems.
- ✅ **Enhanced Stability**: Reduced chances of crashes by safely handling resource cleanup issues (e.g., in data loaders).
- 📈 **Optimized Performance**: Better immutability within system configurations creates a stable baseline for developers working in multi-threaded environments.
- 📚 **Improved Documentation**: Cleaner formatting and precise integrations make it easier for users to implement new features and understand their capabilities.

This release empowers developers with new deployment options while improving the robustness and maintainability of the toolset. 🚀

What's Changed
* Catch and ignore exception in dataloader cleanup by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18772
* Pin `numpy` 1.23.5 for JetPack 4 on NVIDIA Jetson Nano by lakshanthad in https://github.com/ultralytics/ultralytics/pull/18783
* Use frozenset() by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18785
* Adopt `macos-15` GitHub CI runners by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18763
* Update convert_plaintext_links_to_html by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18786
* `ultralytics 8.3.65` Rockchip RKNN Integration for Ultralytics YOLO models by IvorZhu331 in https://github.com/ultralytics/ultralytics/pull/16308


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.64...v8.3.65

8.3.64

---

📊 Key Changes
- **Integration of `torchvision.ops` Layers in Model YAMLs** 🛠️  
- Users can now leverage PyTorch's `torchvision.ops` utility classes directly in YAML model definitions, enhancing architecture customization (e.g., `ops.Permute` for tensor reshaping).
- Made the `truncate` option configurable in YAML-defined models.

- **Improved Hyperparameter Tuning Usability** 🎛️  
- Added the ability to set the tuning directory using the `name` parameter, making it easier to resume tuning runs.  
- Introduced better configuration handling during model tuning processes.

- **Enhanced Cloud Environment Detection** 🌐  
- Added a new `is_runpod()` function to detect if code is running in a RunPod environment, optimizing cloud-based workflows.  
- Documentation updated to reflect these improvements for cloud users.

- **YOLOv3 Documentation Streamlined** 📘  
- Consolidated YOLOv3 variants (`YOLOv3u`, `YOLOv3-Tinyu`, `YOLOv3u-SPPu`) and updated examples to use unified naming conventions.
- Clarified the anchor-free head design inherited from YOLOv8, making guidance more intuitive for users.

- **Minor Fixes and Updates** ✅  
- Addressed Docker-related issues, including clearer comments about GPU usage.  
- Fixed documentation link redirects for consistent user navigation.  
- Updated the "Model Monitoring" guide with an embedded instructional video on data drift detection.

---

🎯 Purpose & Impact
- **Flexibility in Model Design** 🎨  
The new `torchvision.ops` integration allows for greater customization in defining models, simplifying workflows such as tensor manipulation for frameworks like Swin Transformer.

- **Streamlined Tuning Experience** 🔄  
Improved directory handling ensures cleaner setups and makes resuming training or tuning easier, saving developers time and effort.

- **Enhanced Cloud and Deployment Support** ☁️  
With better RunPod integration, users benefit from environment-specific optimizations, ensuring smoother and more efficient cloud-based operations.

- **Improved YOLOv3 Accessibility** 🧑‍🏫  
Updated documentation and examples help reduce confusion around YOLOv3 variants, ensuring users can quickly understand and use the updated models effectively.

- **Refined User Experience** 💡  
Documentation fixes, embedded video guides, and Docker comment updates ensure users have accurate and beginner-friendly information at their fingertips.

This release focuses on usability, extensibility, and clarity, making it easier for both new and advanced users to work with Ultralytics tools! 🚀✨

What's Changed
* Fix sudo Docker build by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/18736
* Fix sudo 2 by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18738
* Fixed wrong GPU comment in docker-quickstart by Fruchtzwerg94 in https://github.com/ultralytics/ultralytics/pull/18746
* Moved IMX under Deployment section by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/18742
* Fix YOLOv3 pre-trained weights and examples by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18757
* Add https://youtu.be/zCupPHqSLTI to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18743
* Fix link redirects by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18756
* New `is_runpod()` function by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18761
* Allow tuning directory to be set using `name` by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18760
* `ultralytics 8.3.64` new `torchvision.ops` access in model YAMLs by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18680

New Contributors
* Fruchtzwerg94 made their first contribution in https://github.com/ultralytics/ultralytics/pull/18746

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.63...v8.3.64

8.3.63

🌟 Summary  
The `v8.3.63` release focuses on robustness improvements, developer convenience, and enhanced edge-case handling through better `sudo` command detection, optimized imports, and model training consistency in distributed environments.

📊 Key Changes  
- **Sudo Detection Utility**: Added `is_sudo_available()` function to streamline installation in export processes (e.g., Edge TPU, IMX500).  
- **Optimized Imports**: Simplified `thop` and other imports to improve loading efficiency for developers.  
- **Distributed Training Fix**: Corrected learning rate inconsistencies between single-GPU and DDP training by reapplying model attributes.  
- **Documentation Enhancements**: Improved link and file consistency (e.g., underscores to hyphens in filenames), and clarified version references for testing.  
- **Dataloader Cleanup**: Prevented errors during worker shutdown for cases without initialized workers.  

🎯 Purpose & Impact  

- **Improved Stability**:  
- 🛠️ Systems without `sudo` now handle export dependencies more smoothly, reducing user setup issues.  
- 🚀 DDP training now avoids unintended fallback values, ensuring consistent performance across all setups.  

- **Enhanced Developer Experience**:  
- ⚡ Faster module loading due to scoped imports and redundant checks removal.  
- 📚 Clearer and more accessible documentation aids both developers and end-users in understanding workflows.  

- **Error Prevention**:  
- ✅ Edge-case safeguards for dataloaders avoid crashes during cleanup tasks.  

This update reflects thoughtful optimizations for stability, usability, and performance while addressing minor bugs and maintaining interoperability. 🚀

What's Changed
* Update `8.3.82` with `8.2.82` in `sam-2.md` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18712
* Simplify `thop` imports by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18717
* Fix automatic optimizer LR with DDP training by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18641
* Update HUB alt text by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18719
* Fix dataloader cleanup error with no workers by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18732
* `ultralytics 8.3.63` IMX500 sudo install fix by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/18714


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.62...v8.3.63

8.3.62

---

📊 Key Changes  
- **Fix for Non-Deterministic Transforms**: Resolved randomness issues in data augmentation with `albumentations>=1.4.21` by adding support for setting a random seed. 🔧  
- **Workflow

@dagshub
Copy link

dagshub bot commented Feb 3, 2025

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #592

@pyup-bot pyup-bot closed this Feb 10, 2025
@guysmoilov guysmoilov deleted the pyup-scheduled-update-2025-02-03 branch February 10, 2025 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant