Skip to content

Scheduled weekly dependency update for week 04#585

Closed
pyup-bot wants to merge 12 commits intomasterfrom
pyup-scheduled-update-2025-01-27
Closed

Scheduled weekly dependency update for week 04#585
pyup-bot wants to merge 12 commits intomasterfrom
pyup-scheduled-update-2025-01-27

Conversation

@pyup-bot
Copy link
Collaborator

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

Changelog

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 and Documentation Enhancements**:
- Renamed GitHub workflow files for consistency (`.yaml` → `.yml`). 📂  
- Updated project licensing headers for clarity across all source files and configurations. 📝  
- Refreshed metadata to display the current year (2025) in documentation. 📅  
- **Bug Fixes**: Addressed sporadic dataloader freezes during consecutive training sessions. 🛠️  
- **Code Clean-Up**: Streamlined hyperparameter mutation logic by reducing unnecessary data access. ✨

---

🎯 Purpose & Impact  
- **Consistent Training Results**: Deterministic transformations allow reproducible results in model training, improving debugging and performance evaluation. 📈  
- **Improved Usability**: Updated workflows and file organization ensure better developer experience and easier maintenance for contributors. 🧑‍💻  
- **Enhanced Stability**: Fixes to the dataloader and optimization pipeline enhance reliability for users running training sessions repeatedly. 🚦  
- **Professional Branding**: Revised licensing headers and metadata maintain a polished and up-to-date project representation. 🌐  

⚙️ Whether you're a developer improving AI systems or a researcher fine-tuning models, this release ensures smoother, more predictable processes while adhering to modern software conventions. 🎉

What's Changed
* Consistent workflow file suffix *.yml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18668
* `ci.yml` and `docker.yml` rename by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18671
* Fix MNN example missing BGR to RGB conversion by jules-ai in https://github.com/ultralytics/ultralytics/pull/18689
* Remove unused dict values in `items()` with `values()` by Kayzwer in https://github.com/ultralytics/ultralytics/pull/18651
* Update 2024 to 2025 by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18695
* Standardize license headers in Python files by pderrenger in https://github.com/ultralytics/ultralytics/pull/18696
* Fix random dataloader freezes by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18697
* Improve headers and comments in TOML/YAML files by pderrenger in https://github.com/ultralytics/ultralytics/pull/18698
* `ultralytics 8.3.62` Fix non-deterministic transforms with `albumentations>=1.4.21` by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18701

New Contributors
* jules-ai made their first contribution in https://github.com/ultralytics/ultralytics/pull/18689

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

8.3.61

🌟 Summary  
The `v8.3.61` release restores compatibility with Python 3.8, refines several utility components, and makes user-facing improvements for better prediction workflows. It smooths the usability, performance, and flexibility of the Ultralytics ecosystem. 🚀💡  

---

📊 Key Changes  
- **Python 3.8 Compatibility Restored**: Ensures older Python versions, including 3.8, are now supported by replacing operations incompatible with earlier versions. 🐍✅  
- Replaced `|` operator for dictionary merging with the Python 3.8-compatible `**` method.  
- **Prediction API Simplification**: The `Predictor` and `SAM2Predictor` classes now output results in a consolidated object (`result`), replacing the previous multi-output format (`masks, scores, boxes`).  
- Example updates reflect this newer, simpler API. 🧰  
- **CI Workflow Improvements**: Adjusted triggers and settings in GitHub Actions workflows for smoother testing and CI processes.  
- **Minor Bug Fixes**: Addressed issues in utility functions, prediction methods, and loss calculations to improve overall reliability and prevent unexpected errors. 🛠️  
- **Version Bumped to 8.3.61**: Reflects these refinements in the package version.  

---

🎯 Purpose & Impact  
- **Broader Python Compatibility**: Expands usability for projects running Python 3.8, accommodating users on older infrastructure without losing core functionality. 🌎  
- **Simplified Model Predictions**: A single-output format for `Predictor` and `SAM2Predictor` reduces user friction, improves code readability, and simplifies integration into pipelines. Especially helpful for new users! 🧩🚀  
- **Improved Reliability**: Minor bug fixes enhance stability, ensuring smoother performance across diverse use cases.  
- **CI Stability & Testing Precision**: Improvements to workflow configurations ensure better support for continuous integration and testing scenarios.  

---

Note for Users 🤓:  
If you’ve been using the `Predictor` or `SAM2Predictor` classes, make sure to update your scripts with the new `result` structure (e.g., use `result.masks`, `result.boxes`, etc.) instead of relying on separate outputs. This alignment will make your workflows cleaner and future-proof! 😊

What's Changed
* Fix broken examples in SAM Predictor docstrings by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18665
* `ultralytics 8.3.61` Restore Python 3.8 compatibility by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18666


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.60...v8.3.61

8.3.60

🌟 Summary  
This update primarily fixes CoreML segmentation output handling, improves documentation, and enhances the usability of model features for developers and end users. 🔄✨

---

📊 Key Changes  
- **CoreML Segmentation Fix**: Improved logic for processing segmentation model outputs in `autobackend.py` (fixed reverse order issue for specific use cases).  
- **Docker Update**: Dockerfile upgraded to PyTorch `2.5.1` (with CUDA 12.4 and cuDNN 9), enabling improved compatibility and performance for Docker-based workflows. 🐳⚡  
- **Colab Integrations**: Added Colab badges to various documentation pages for easy, hands-on experimentation with datasets and tutorials. 📚🔗  
- **Enhanced Auto-Annotation Documentation**: Updated guides for segmentation auto-annotation, adding clarity around supported models and parameter configurations. 🖼️✅  
- **Bug Reporting Improvements**: Adjusted GitHub issue templates to request full traceback info for better debugging efficiency. 🛠️🔍  
- **Standardized String Formatting**: Converted strings to consistently use double-quoted f-strings for better code clarity and maintainability. 🖊️  

---

🎯 Purpose & Impact  

- **CoreML Update**:
- 🛠 **Purpose**: Fix and streamline CoreML model support, specifically for segmentation outputs.  
- 🌟 **Impact**: Smoother deployment for Apple-device-specific workflows with reduced risk of errors in segmentation processing.  

- **Docker Upgrade**:
- 🚀 **Purpose**: Ensure containerized environments stay up-to-date and performant with compatibility fixes.  
- 🌟 **Impact**: Faster inference and training workflows with enhanced reliability.  

- **Colab Additions**:
- 🛠 **Purpose**: Enable effortless model experimentation with interactive tools directly from the documentation.  
- 🌟 **Impact**: Lowers the entry barrier for new users while improving developer productivity.  

- **Auto-Annotation Improvements**:
- 🎯 **Purpose**: Clarify how to use segmentation models like SAM and MobileSAM for large datasets.  
- 🌟 **Impact**: Saves time in dataset labeling by simplifying setup and enabling quick-start options.  

- **Standardized String Formatting**: 
- 🖊️ **Purpose**: Improve code readability and ease of maintenance for developers.  
- 🛡 **Impact**: Cleaner, more professional code with improved developer experience.  

- **Bug Reporting Guidelines**:  
- 🚨 **Purpose**: Collect more detailed user environment data to speed up issue resolution.  
- 🌍 **Impact**: Quicker turnaround in fixing bugs due to detailed diagnostic info.  

No breaking changes in this release, ensuring smooth upgrades across workflows! 🛡💡

What's Changed
* Apply Ruff 0.9.0 by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18622
* Add new Colab Notebooks badges to Docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18575
* Apply `ruff==0.9.0` formatting by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18624
* Update `v

@dagshub
Copy link

dagshub bot commented Jan 27, 2025

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Feb 3, 2025

Closing this in favor of #587

@pyup-bot pyup-bot closed this Feb 3, 2025
@guysmoilov guysmoilov deleted the pyup-scheduled-update-2025-01-27 branch February 3, 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