Skip to content

Scheduled weekly dependency update for week 03#582

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

Scheduled weekly dependency update for week 03#582
pyup-bot wants to merge 12 commits intomasterfrom
pyup-scheduled-update-2025-01-20

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

Changelog

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

Changelog

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 `val.md` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18645
* Update issue templates with better instructions by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18346
* Dockerfile FROM pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18650
* Add warning for `task=classify` with `mode=track` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18621
* Warn and set `task=detect` and `mode=track` for `task=track` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18620
* Add `mobile-sam` auto-annotation to segmentation datasets docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18654
* `ultralytics 8.3.60` Fix CoreML Segment inference by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18649


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

8.3.59

🌟 Summary
The latest release, `v8.3.59`, introduces the ability to load any `torchvision` model as a backbone, along with several quality-of-life updates, including enhanced Docker support, dataset path refinements, and usability improvements in documentation and tools. 🚀

---

📊 Key Changes
- 🔥 **Custom TorchVision Backbone Support**: Allows integration of any `torchvision` model (e.g., EfficientNet, MobileNet, ResNet) as YOLO backbones! Includes options for pretrained weights and layer customization.
- 🖼️ **Expanded Segmentation Mask Support**: Added compatibility for `.jpg` masks alongside existing `.png` support.
- 🐛 **Validation Enhancements for INT8 Calibration**: New checks ensure calibration datasets meet batch size requirements, providing more robust error handling.
- 🛠️ **Improved Docker Environment**: Simplified JupyterLab installations and introduced retry mechanisms for Docker image pushes.
- 🔧 **Updated Dataset Paths**: Refined YAML dataset path structures for better organization and reduced misconfigurations.
- ⚙️ **Enhanced Multi-Processing Documentation**: Help added for common Windows-related training errors (e.g., `RuntimeError`) with clear solutions.
- 📊 **New Benchmarks**: Extended NVIDIA DeepStream and Coral TPU performance benchmarks for development on Jetson devices and Raspberry Pi (including Pi 5).

---

🎯 Purpose & Impact
- **Flexibility & Power with TorchVision Backbones**:
- Users can now integrate models like ConvNext and MobileNet directly into YOLO pipelines.
- Pretrained weights accelerate training for both object detection and classification tasks. 🔄
- **Streamlined Segmentation Workflows**:
- Compatibility with `.jpg` masks eliminates a frequent need for manual file conversions, saving time. 🕒
- **INT8 Improvements**:
- The validation on calibration size prevents breakdowns in compression workflows, ensuring higher-quality deployment setups.
- **Smoother Docker & DevOps**:
- Better Docker resilience and JupyterLab setup reduce installation friction for developers. 🐳
- **Training Guidance on Windows**:
- Clear troubleshooting advice mitigates pitfalls for users launching scripts in Windows environments for seamless training experiences.
- **Enhanced Benchmark Documentation**:
- Developers can now better choose the hardware and YOLO model precision (e.g., FP32, FP16, or INT8) for NVIDIA Jetson or Edge TPU use cases. 📈

---

This release offers powerful new capabilities for model customization and smoother workflows, making it a significant upgrade for developers working with YOLO and associated tools. 🎉

What's Changed
* Add instructions to enable W&B logging by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18546
* Add warning about Windows multi-processing error when launching training by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18547
* Ultralytics Refactor https://ultralytics.com/actions by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18555
* Use uv for Dockerfile-jupyter by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18567
* Add retries to Docker pushes by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18565
* Update Benchmarks for NVIDIA DeepStream running on NVIDIA Jetson by lakshanthad in https://github.com/ultralytics/ultralytics/pull/18603
* Add benchmarks for Pi 4B/5 by Skillnoob in https://github.com/ultralytics/ultralytics/pull/18580
* Update `package-seg.yaml` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18594
* Verify dataset >= batch size on INT8 export calibration by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18611
* Fix incorrect docstring for bbox_iou function by visionNoob in https://github.com/ultralytics/ultralytics/pull/18579
* Include .jpg in mask converter by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18576
* `ultralytics 8.3.59` Add ability to load any `torchvision` model as module by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18564

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

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.58...v8.3.59

8.3.58

🌟 Summary  
The `v8.3.58` release introduces an update to the YOLO model benchmarking utility for TensorRT, documentation enhancements, and new features to improve usability and performance for developers and users. 🚀🛠️

---

📊 Key Changes  
- **TensorRT Model Benchmarking Improvement**:  
- Updated benchmarking to use `uint8` (integer) input data instead of `float32` (decimals) for classification tasks, reflecting real-world input formats.  
- **Documentation Enhancements**:  
- Embedded instructional videos in object counting and model exporting guides for clarity. 🎥  
- Updated integration documentation for YOLO11, replacing mentions of YOLOv8.  
- **New Training Argument**:  
- Added `multi_scale` training option in documentation for dynamic image sizes during training. 🌈  
- **Docker Optimization**:  
- Added a `.dockerignore` file to exclude unnecessary files, improving build efficiency and security.  

---

🎯 Purpose & Impact  
- **Purpose**:  
- Optimize benchmarking processes and align input data with typical formats for more accurate performance evaluations during TensorRT model testing.  
- Enhance usability through better instructional resources and accurate documentation for new model versions.  
- Introduce dynamic training options to improve model adaptability for various image sizes.  
- Improve Docker image builds by reducing clutter and improving security. 🔒  

- **Impact**:  
- TensorRT users will benefit from faster and more realistic benchmarks for classification tasks. 🏎️  
- Documentation updates simplify learning and onboarding for both new and advanced users. 📘  
- Developers now have the option to train models across multiple resolutions, potentially enhancing inference accuracy.  
- Docker environments become leaner and more secure, supporting cleaner deployments. 🐋  

This release is an essential step forward for developers seeking both practical performance boosts and improved clarity in documentation! 💡

What's Changed
* Add https://youtu.be/K69DUpSBNdA to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18507
* Update `yolov8` to `yolo11` in `tensorrt.md` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18513
* Add `multi_scale` training argument to docs by Y-T-G in https://github.com/ultralytics/ultralytics/pull/18531
* Create .dockerignore by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18534
* `ultralytics 8.3.58` Use `uint8` type for TensorRT Profile by Laughing-q in https://github.com/ultralytics/ultralytics/pull/18327


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.57...v8.3.58

8.3.57

🌟 Summary  
The v8.3.57 release includes improved hardware and platform detection in Docker containers, new image annotation visualization utilities, stricter argument validation for export functions, and enhanced documentation.

---

📊 Key Changes  
- 🔧 **Hardware Detection Fix for Docker**: Extended platform detection capabilities by supporting `is_jetson()` and `is_raspberrypi()` inside Docker environments without requiring risky privileged mode.  
- 🖼️ **Annotation Visualization Function**: Introduced `visualize_image_annotations` for previewing YOLO bounding boxes and labels over images pre-training.  
- 🚀 **Export Enhancements**: Improved validation for model export arguments, refined metadata generation, and updated TensorFlow compatibility with `onnx2tf`.  
- 🗂️ **Documentation Tweaks**:
- Embedded **video tutorials** directly into guides to simplify learning.  
- Enhanced dataset explorer and SKU-110k dataset documentation for better clarity.  
- Adjusted page navigation in solution docs for easier access.  

---

🎯 Purpose & Impact  
- 🔍 **Enable Safe GPU Deployments**: The new device detection enhances NVIDIA Jetson and Raspberry Pi compatibility when working in Docker, without compromising security.  
- 🎨 **Dataset Quality Checks**: Users can now visually verify and correct dataset annotations before model training, reducing training inaccuracies caused by bad labels.  
- ⚙️ **Smooth Export Workflow**: Stricter checks and dependency updates ensure users face fewer issues when exporting models across formats and environments.  
- 🎥 **Improved Usability**: Embedded tutorials directly in the docs empower both new and experienced users with visual, hands-on learning resources.  
- 🗃️ **Streamlined Navigation**: Re-organized documentation improves discoverability of solutions and resources.  

This release not only focuses on hardware compatibility improvements but also empowers users with tools to refine projects and workflows efficiently while offering an enhanced user experience! 🚀✨

What's Changed
* Add https://youtu.be/bjkt5OE_ANA and https://youtu.be/SyyCUvxw9BM to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18478
* Update page order for Ultralytics Solutions docs. by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18479
* Fix explorer.md python codeblocks by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18471
* PyCharm Code and Docs Inspect fixes v1  by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18461
* Add `visualize_image_annotations` function by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/18430
* Add export args to model metadata by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/18472
* `ultralytics 8.3.57` Support `is_jetson()` and `is_raspberrypi()` in Docker images by lakshanthad in https://github.com/ultralytics/ultralytics/pull/18449


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.56...v8.3.57

8.3.56

🌟 Summary
The v8.3.56 release introduces GPU support for PaddlePaddle inference and export, along with several key bug fixes, usability enhancements, and documentation updates. 🚀

---

📊 Key Changes
1. **PaddlePaddle GPU Inference**:
- Added GPU support for PaddlePaddle inference by dynamically checking CUDA availability.
- Improved compatibility in PaddlePaddle dataloader handling.

2. **UTF-8 Bug Fix**:
- Resolved encoding issues in `convert_coco` when dealing with non-UTF-8 annotation files.

3. **Dataset Annotation Optimizations**:
- Improved performance and speed for large annotations in the GroundingDataset class.

4. **Export Enhancements**:
- **OpenVINO INT8 Export Fix**: Resolved an OpenVINO export error by resetting `clip_model` during export.
- **IMX Export Clarification**: Limited IMX export support exclusively to YOLOv8n models.
- **ONNX2TF Compatibility**: Updated compatibility with `onnx2tf` library (v1.26.3), fixing memory and bloated file issues.

5. **Documentation Improvements**:
- Deprecated Jupyter documentation in favor of a markdown-based structure (e.g., `explorer.md`).
- Simplified NVIDIA Jetson setup steps by adding streamlined installation commands for PyTorch and Torchvision.
- Added new guides for thread-safe inference and ROS integration for robotics applications.

6. **Minor Model Updates**:
- Clarified YOLOv6 configuration by emphasizing YAML-based model definitions instead of weight files.

---

🎯 Purpose & Impact
- **Improved Compatibility**: Seamless PaddlePaddle operations on GPU ensure better flexibility for diverse hardware setups. 🖥️⚡
- **Faster Annotations**: Accelerated handling of large datasets benefits advanced AI workflows. 🕒✨
- **Enhanced Export Reliability**: Fixes to export pipelines (OpenVINO, IMX, ONNX2TF) ensure robust and error-free deployment. 📦✅
- **Accessible Learning Resources**: Documentation enrichments support a smoother onboarding of new users and integrations in fields like robotics. 📚🤖
- **Streamlined Use

@dagshub
Copy link

dagshub bot commented Jan 20, 2025

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #585

@pyup-bot pyup-bot closed this Jan 27, 2025
@guysmoilov guysmoilov deleted the pyup-scheduled-update-2025-01-20 branch January 27, 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