Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

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

Update sphinx from 7.3.7 to 8.3.0.

Changelog

8.3.0

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

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

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

Deprecated
----------

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

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

Testing
-------
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.1.0.

Changelog

3.1.0

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

What's Changed
* Support Sphinx 8.2.0 - drop 3.10 support because Sphinx does by b-kamphorst in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/525

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

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

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

Changelog

75.8.2

=======

Bugfixes
--------

- Fixed ``pkg_resources.require(...)`` to also consider standardised
``dist-info`` directories. (4856)

75.8.1

=======

Bugfixes
--------

- Fix wheel file naming to follow binary distribution specification -- by :user:`di` (4766)
- Fixed crash generating error message printed when building wheels for the
free-threaded build using the limited API. -- by :user:`ngoldbaum` (4809)
- Fix documentation for recent CFLAGS distutils change. -- by :user:`thesamesam` (4836)

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

Changelog

8.3.3

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

Bug fixes
---------

- `12446 <https://github.com/pytest-dev/pytest/issues/12446>`_: Avoid calling ``property`` (and other instance descriptors) during fixture discovery -- by :user:`asottile`


- `12659 <https://github.com/pytest-dev/pytest/issues/12659>`_: Fixed the issue of not displaying assertion failure differences when using the parameter ``--import-mode=importlib`` in pytest>=8.1.


- `12667 <https://github.com/pytest-dev/pytest/issues/12667>`_: Fixed a regression where type change in `ExceptionInfo.errisinstance` caused `mypy` to fail.


- `12744 <https://github.com/pytest-dev/pytest/issues/12744>`_: Fixed typing compatibility with Python 3.9 or less -- replaced `typing.Self` with `typing_extensions.Self` -- by :user:`Avasam`


- `12745 <https://github.com/pytest-dev/pytest/issues/12745>`_: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.


- `6682 <https://github.com/pytest-dev/pytest/issues/6682>`_: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in ``assert condition, msg``).


- `9422 <https://github.com/pytest-dev/pytest/issues/9422>`_: Fix bug where disabling the terminal plugin via ``-p no:terminal`` would cause crashes related to missing the ``verbose`` option.

-- by :user:`GTowers1`



Improved documentation
----------------------

- `12663 <https://github.com/pytest-dev/pytest/issues/12663>`_: Clarify that the `pytest_deselected` hook should be called from `pytest_collection_modifyitems` hook implementations when items are deselected.


- `12678 <https://github.com/pytest-dev/pytest/issues/12678>`_: Remove erroneous quotes from `tmp_path_retention_policy` example in docs.



Miscellaneous internal changes
------------------------------

- `12769 <https://github.com/pytest-dev/pytest/issues/12769>`_: Fix typos discovered by codespell and add codespell to pre-commit hooks.

8.3.2

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

Bug fixes
---------

- `12652 <https://github.com/pytest-dev/pytest/issues/12652>`_: Resolve regression `conda` environments where no longer being automatically detected.

-- by :user:`RonnyPfannschmidt`

8.3.1

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

The 8.3.0 release failed to include the change notes and docs for the release. This patch release remedies this. There are no other changes.

8.3.0

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

New features
------------

- `12231 <https://github.com/pytest-dev/pytest/issues/12231>`_: Added `--xfail-tb` flag, which turns on traceback output for XFAIL results.

* If the `--xfail-tb` flag is not given, tracebacks for XFAIL results are NOT shown.
* The style of traceback for XFAIL is set with `--tb`, and can be `auto|long|short|line|native|no`.
* Note: Even if you have `--xfail-tb` set, you won't see them if `--tb=no`.

Some history:

With pytest 8.0, `-rx` or `-ra` would not only turn on summary reports for xfail, but also report the tracebacks for xfail results. This caused issues with some projects that utilize xfail, but don't want to see all of the xfail tracebacks.

This change detaches xfail tracebacks from `-rx`, and now we turn on xfail tracebacks with `--xfail-tb`. With this, the default `-rx`/ `-ra` behavior is identical to pre-8.0 with respect to xfail tracebacks. While this is a behavior change, it brings default behavior back to pre-8.0.0 behavior, which ultimately was considered the better course of action.

-- by :user:`okken`


- `12281 <https://github.com/pytest-dev/pytest/issues/12281>`_: Added support for keyword matching in marker expressions.

Now tests can be selected by marker keyword arguments.
Supported values are :class:`int`, (unescaped) :class:`str`, :class:`bool` & :data:`None`.

See :ref:`marker examples <marker_keyword_expression_example>` for more information.

-- by :user:`lovetheguitar`


- `12567 <https://github.com/pytest-dev/pytest/issues/12567>`_: Added ``--no-fold-skipped`` command line option.

If this option is set, then skipped tests in short summary are no longer grouped
by reason but all tests are printed individually with their nodeid in the same
way as other statuses.

-- by :user:`pbrezina`



Improvements in existing functionality
--------------------------------------

- `12469 <https://github.com/pytest-dev/pytest/issues/12469>`_: The console output now uses the "third-party plugins" terminology,
replacing the previously established but confusing and outdated
reference to :std:doc:`setuptools <setuptools:index>`
-- by :user:`webknjaz`.


- `12544 <https://github.com/pytest-dev/pytest/issues/12544>`_, `#12545 <https://github.com/pytest-dev/pytest/issues/12545>`_: Python virtual environment detection was improved by
checking for a :file:`pyvenv.cfg` file, ensuring reliable detection on
various platforms -- by :user:`zachsnickers`.


- `2871 <https://github.com/pytest-dev/pytest/issues/2871>`_: Do not truncate arguments to functions in output when running with `-vvv`.


- `389 <https://github.com/pytest-dev/pytest/issues/389>`_: The readability of assertion introspection of bound methods has been enhanced
-- by :user:`farbodahm`, :user:`webknjaz`, :user:`obestwalter`, :user:`flub`
and :user:`glyphack`.

Earlier, it was like:

.. code-block:: console

   =================================== FAILURES ===================================
   _____________________________________ test _____________________________________

       def test():
   >       assert Help().fun() == 2
   E       assert 1 == 2
   E        +  where 1 = <bound method Help.fun of <example.Help instance at 0x256a830>>()
   E        +    where <bound method Help.fun of <example.Help instance at 0x256a830>> = <example.Help instance at 0x256a830>.fun
   E        +      where <example.Help instance at 0x256a830> = Help()

   example.py:7: AssertionError
   =========================== 1 failed in 0.03 seconds ===========================


And now it's like:

.. code-block:: console

   =================================== FAILURES ===================================
   _____________________________________ test _____________________________________

       def test():
   >       assert Help().fun() == 2
   E       assert 1 == 2
   E        +  where 1 = fun()
   E        +    where fun = <test_local.Help object at 0x1074be230>.fun
   E        +      where <test_local.Help object at 0x1074be230> = Help()

   test_local.py:13: AssertionError
   =========================== 1 failed in 0.03 seconds ===========================


- `7662 <https://github.com/pytest-dev/pytest/issues/7662>`_: Added timezone information to the testsuite timestamp in the JUnit XML report.



Bug fixes
---------

- `11706 <https://github.com/pytest-dev/pytest/issues/11706>`_: Fixed reporting of teardown errors in higher-scoped fixtures when using `--maxfail` or `--stepwise`.

Originally added in pytest 8.0.0, but reverted in 8.0.2 due to a regression in pytest-xdist.
This regression was fixed in pytest-xdist 3.6.1.


- `11797 <https://github.com/pytest-dev/pytest/issues/11797>`_: :func:`pytest.approx` now correctly handles :class:`Sequence <collections.abc.Sequence>`-like objects.


- `12204 <https://github.com/pytest-dev/pytest/issues/12204>`_, `#12264 <https://github.com/pytest-dev/pytest/issues/12264>`_: Fixed a regression in pytest 8.0 where tracebacks get longer and longer when multiple
tests fail due to a shared higher-scope fixture which raised -- by :user:`bluetech`.

Also fixed a similar regression in pytest 5.4 for collectors which raise during setup.

The fix necessitated internal changes which may affect some plugins:

* ``FixtureDef.cached_result[2]`` is now a tuple ``(exc, tb)``
 instead of ``exc``.
* ``SetupState.stack`` failures are now a tuple ``(exc, tb)``
 instead of ``exc``.


- `12275 <https://github.com/pytest-dev/pytest/issues/12275>`_: Fixed collection error upon encountering an :mod:`abstract <abc>` class, including abstract `unittest.TestCase` subclasses.


- `12328 <https://github.com/pytest-dev/pytest/issues/12328>`_: Fixed a regression in pytest 8.0.0 where package-scoped parameterized items were not correctly reordered to minimize setups/teardowns in some cases.


- `12424 <https://github.com/pytest-dev/pytest/issues/12424>`_: Fixed crash with `assert testcase is not None` assertion failure when re-running unittest tests using plugins like pytest-rerunfailures. Regressed in 8.2.2.


- `12472 <https://github.com/pytest-dev/pytest/issues/12472>`_: Fixed a crash when returning category ``"error"`` or ``"failed"`` with a custom test status from :hook:`pytest_report_teststatus` hook -- :user:`pbrezina`.


- `12505 <https://github.com/pytest-dev/pytest/issues/12505>`_: Improved handling of invalid regex patterns in :func:`pytest.raises(match=r'...') <pytest.raises>` by providing a clear error message.


- `12580 <https://github.com/pytest-dev/pytest/issues/12580>`_: Fixed a crash when using the cache class on Windows and the cache directory was created concurrently.


- `6962 <https://github.com/pytest-dev/pytest/issues/6962>`_: Parametrization parameters are now compared using `==` instead of `is` (`is` is still used as a fallback if the parameter does not support `==`).
This fixes use of parameters such as lists, which have a different `id` but compare equal, causing fixtures to be re-computed instead of being cached.


- `7166 <https://github.com/pytest-dev/pytest/issues/7166>`_: Fixed progress percentages (the ``[ 87%]`` at the edge of the screen) sometimes not aligning correctly when running with pytest-xdist ``-n``.



Improved documentation
----------------------

- `12153 <https://github.com/pytest-dev/pytest/issues/12153>`_: Documented using :envvar:`PYTEST_VERSION` to detect if code is running from within a pytest run.


- `12469 <https://github.com/pytest-dev/pytest/issues/12469>`_: The external plugin mentions in the documentation now avoid mentioning
:std:doc:`setuptools entry-points <setuptools:index>` as the concept is
much more generic nowadays. Instead, the terminology of "external",
"installed", or "third-party" plugins (or packages) replaces that.

-- by :user:`webknjaz`


- `12577 <https://github.com/pytest-dev/pytest/issues/12577>`_: `CI` and `BUILD_NUMBER` environment variables role is described in
the reference doc. They now also appear when doing `pytest -h`
-- by :user:`MarcBresson`.



Contributor-facing changes
--------------------------

- `12467 <https://github.com/pytest-dev/pytest/issues/12467>`_: Migrated all internal type-annotations to the python3.10+ style by using the `annotations` future import.

-- by :user:`RonnyPfannschmidt`


- `11771 <https://github.com/pytest-dev/pytest/issues/11771>`_, `#12557 <https://github.com/pytest-dev/pytest/issues/12557>`_: The PyPy runtime version has been updated to 3.9 from 3.8 that introduced
a flaky bug at the garbage collector which was not expected to fix there
as the 3.8 is EoL.

-- by :user:`x612skm`


- `12493 <https://github.com/pytest-dev/pytest/issues/12493>`_: The change log draft preview integration has been refactored to use a
third party extension ``sphinxcontib-towncrier``. The previous in-repo
script was putting the change log preview file at
:file:`doc/en/_changelog_towncrier_draft.rst`. Said file is no longer
ignored in Git and might show up among untracked files in the
development environments of the contributors. To address that, the
contributors can run the following command that will clean it up:

.. code-block:: console

  $ git clean -x -i -- doc/en/_changelog_towncrier_draft.rst

-- by :user:`webknjaz`


- `12498 <https://github.com/pytest-dev/pytest/issues/12498>`_: All the undocumented ``tox`` environments now have descriptions.
They can be listed in one's development environment by invoking
``tox -av`` in a terminal.

-- by :user:`webknjaz`


- `12501 <https://github.com/pytest-dev/pytest/issues/12501>`_: The changelog configuration has been updated to introduce more accurate
audience-tailored categories. Previously, there was a ``trivial``
change log fragment type with an unclear and broad meaning. It was
removed and we now have ``contrib``, ``misc`` and ``packaging`` in
place of it.

The new change note types target the readers who are downstream
packagers and project contributors. Additionally, the miscellaneous
section is kept for unspecified updates that do not fit anywhere else.

-- by :user:`webknjaz`


- `12502 <https://github.com/pytest-dev/pytest/issues/12502>`_: The UX of the GitHub automation making pull requests to update the
plugin list has been updated. Previously, the maintainers had to close
the automatically created pull requests and re-open them to trigger the
CI runs. From now on, they only need to click the `Ready for review`
button instead.

-- by :user:`webknjaz`


- `12522 <https://github.com/pytest-dev/pytest/issues/12522>`_: The ``:pull:`` RST role has been replaced with a shorter
``:pr:`` due to starting to use the implementation from
the third-party :pypi:`sphinx-issues` Sphinx extension
-- by :user:`webknjaz`.


- `12531 <https://github.com/pytest-dev/pytest/issues/12531>`_: The coverage reporting configuration has been updated to exclude
pytest's own tests marked as expected to fail from the coverage
report. This has an effect of reducing the influence of flaky
tests on the resulting number.

-- by :user:`webknjaz`


- `12533 <https://github.com/pytest-dev/pytest/issues/12533>`_: The ``extlinks`` Sphinx extension is no longer enabled. The ``:bpo:``
role it used to declare has been removed with that. BPO itself has
migrated to GitHub some years ago and it is possible to link the
respective issues by using their GitHub issue numbers and the
``:issue:`` role that the ``sphinx-issues`` extension implements.

-- by :user:`webknjaz`


- `12562 <https://github.com/pytest-dev/pytest/issues/12562>`_: Possible typos in using the ``:user:`` RST role is now being linted
through the pre-commit tool integration -- by :user:`webknjaz`.

8.2.2

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

Bug Fixes
---------

- `12355 <https://github.com/pytest-dev/pytest/issues/12355>`_: Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters.


- `12367 <https://github.com/pytest-dev/pytest/issues/12367>`_: Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown.


- `12381 <https://github.com/pytest-dev/pytest/issues/12381>`_: Fix possible "Directory not empty" crashes arising from concurrent cache dir (``.pytest_cache``) creation. Regressed in pytest 8.2.0.



Improved Documentation
----------------------

- `12290 <https://github.com/pytest-dev/pytest/issues/12290>`_: Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme.


- `12356 <https://github.com/pytest-dev/pytest/issues/12356>`_: Added a subsection to the documentation for debugging flaky tests to mention
lack of thread safety in pytest as a possible source of flakiness.


- `12363 <https://github.com/pytest-dev/pytest/issues/12363>`_: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
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.3.2.

Changelog

3.2.1

Fixed

-   Issue with GCS on Windows.

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

Changelog

8.3.82

📊 Key Changes  
- **ONNX FP16 Export Fix**: Introduced a workaround (`arange_patch`) for exporting ONNX models with both `dynamic` and `half` options, avoiding incompatibilities in the PyTorch `torch.arange` function.  
- **Preprocessing Accuracy Boost**: Improved image handling (aspect ratio, resizing, and padding) for ONNXRuntime examples to ensure more precise object detection.  
- **Broader MNN Test Coverage**: Enabled MNN export testing on Raspberry Pi to ensure compatibility.  
- **Dataset Configuration Streamlining**: Refined `open-images-v7.yaml` to centralize dataset directory management for clarity and maintainability.  

🎯 Purpose & Impact  
- **ONNX Export Enhancements**:  
- **Purpose**: Solve PyTorch incompatibility issues during ONNX model export with FP16 precision in dynamic mode.  
- **Impact**: Developers can now seamlessly export high-performance ONNX models while avoiding device-specific restrictions, improving workflows on GPUs.  

- **Accurate Preprocessing**:  
- **Purpose**: Fix preprocessing bugs in ONNXRuntime inference to ensure image resizing, aspect ratio, and padding align with expected outputs.  
- **Impact**: Results in more consistent and reliable object detection performance between PyTorch and ONNX models.  

- **Compatibility Extension**:  
- **Purpose**: Enable MNN export tests on Raspberry Pi to ensure cross-platform functionality.  
- **Impact**: Broader hardware compatibility for MNN format users, improving reliability on low-cost systems like Raspberry Pi.  

- **Dataset Management Improvements**:  
- **Purpose**: Streamline configuration for the Open Images V7 dataset.  
- **Impact**: Easier and more consistent dataset setup, particularly useful for developers managing large datasets.  

This update improves model export workflows, ensures consistent inference results across platforms, and expands compatibility for developers using diverse environments. 🌐

What's Changed
* Enable `mnn` in Raspberry Pi Tests by lakshanthad in https://github.com/ultralytics/ultralytics/pull/19483
* Fix ONNX Example letterboxing by quangdungluong in https://github.com/ultralytics/ultralytics/pull/19486
* Fix dataset_dir error with `open-images-v7.yaml` by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19475
* `ultralytics 8.3.82` ONNX `dynamic` and `half` export by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19464

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

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.81...v8.3.82

8.3.81

🌟 Summary  
The **Ultralytics v8.3.81** release resolves a critical memory management issue in model validation while introducing key updates to documentation, testing workflows, and system reporting for enhanced usability and efficiency. 🚀✨  

---

📊 Key Changes  
- 🧹 **Memory Leak Fix in Validation Modules**:  
Resolved circular references in metrics (`on_plot`) across validators (`DetectionValidator`, `PoseValidator`, etc.) to avoid CPU memory leaks during repeated evaluations.  
- 📚 **Documentation Enhancements**:  
Added examples for annotators in the library, and fixed/corrected metadata instructions for Triton guides and links in SAM 2 documentation.  
- 🐧 **Raspberry Pi CI Improvements**:  
Re-enabled Raspberry Pi CI workflow with improved benchmarks and added cleanup for self-hosted CI runners.  
- 🔍 **Installation Diagnostics Update**:  
Added project root installation path in the system environment summary for easier debugging.  
- 📊 **Better Table Sorting in Docs**:  
Improved table sorting functionality for file sizes, numbers, and dot-separated values.  

---

🎯 Purpose & Impact  
- **Memory Management Improvement**:  
Eliminates residual memory accumulation when evaluating models repeatedly in scripts, preventing CPU overloading and Out-Of-Memory (OOM) errors. This fix improves the efficiency and reliability of long-running evaluation pipelines. 🧠🔥  
- **User-Friendly Documentation**:  
New usage examples and enhanced instructions make it easier for developers to understand and implement key features. Correcting SAM 2 links ensures access to the right research resources. 📚💡  
- **Expanded Testing Coverage**:  
Re-enabling Raspberry Pi CI and adding benchmarks enhances testing on diverse hardware, ensuring broader reliability across platforms. Improved CI cleanup reduces risks of resource conflicts. 🌐🔧  
- **Debugging Simplification**:  
Including installation paths in diagnostics facilitates resolving Python environment-related issues for developers. 🔍🛠️  
- **Enhanced Sorting for Visual Data**:  
Improved table sorting in docs boosts usability, especially when navigating large datasets or results with complex numbering or file size values. 📈✨  

Overall, this update strengthens performance, stability, and developer experience, while prioritizing clarity and usability for the broader community. 🎉

What's Changed
* Update Raspberry Pi 5 CIs with 16GB model by lakshanthad in https://github.com/ultralytics/ultralytics/pull/19306
* New: add `SAM` and `SAM-2` notebook in docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19461
* Add installation path to `yolo checks` output by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19463
* Clarify metadata instructions in Triton docs by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19457
* Fix Docs table number sorting by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19455
* Add examples for `plotting` reference by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19439
* Update SAM 2 research paper links by joshua-dean in https://github.com/ultralytics/ultralytics/pull/19465
* Clean up Raspberry Pi CI runners by lakshanthad in https://github.com/ultralytics/ultralytics/pull/19478
* `ultralytics 8.3.81` Fix Metrics `on_plot` circular references by RemiPT in https://github.com/ultralytics/ultralytics/pull/19318

New Contributors
* joshua-dean made their first contribution in https://github.com/ultralytics/ultralytics/pull/19465
* RemiPT made their first contribution in https://github.com/ultralytics/ultralytics/pull/19318

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.80...v8.3.81

8.3.80

---

📊 Key Changes (bullet points highlighting any major changes)
- 🔄 **Model Export Enhancements**: Fixed YOLO-NAS export by integrating default configs (`DEFAULT_CFG_DICT`) into model attributes for higher flexibility.
- 🧠 **RBOX Regularization**: Refined bounding box angle calculations for consistency in the OpenCV definition.
- 📋 **Documentation Upgrades**: Introduced sortable tables for performance data to improve clarity and usability across pages.
- 🔧 **Framework Compatibility**: Constrained OpenVINO dependency to version `>=2024.0.0,<2025.0.0` and updated outdated function calls for compatibility.
- 🐳 **Docker Workflow Fix**: Removed deprecated `numpy` dependency to resolve CI errors and streamlined build conditions.

---

🎯 Purpose & Impact (bullet points explaining any benefits and potential impact to users)
- 🌟 **Improved Export Reliability**: The configuration merging for YOLO-NAS ensures a more robust process, minimizing errors during model deployment and export.
- 🧮 **Better Prediction Accuracy**: Regularizing rboxes improves detections by addressing angle inconsistencies in bounding boxes.
- 🖱️ **Enhanced User Experience**: Sortable tables in documentation allow users to interactively organize performance metrics, making comparisons easier.
- ✅ **Smoother OpenVINO Exports**: Version constraints and function updates enhance stability and prepare the platform for future releases without breaking changes.
- 🔄 **Cleaner CI Pipelines**: Removing deprecated dependencies ensures more reliable builds, benefitting developers contributing to the codebase.

This update underscores Ultralytics' focus on improving usability, compatibility, and export-related functionalities for smoother workflows and precise model performance. 🚀

What's Changed
* Optimize Sony IMX500 doc by lakshanthad in https://github.com/ultralytics/ultralytics/pull/19421
* Constrain OpenVINO versions to `>=2024.0.0,<2025.0.0` by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/19122
* New Docs sortable tables by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19376
* Fixing tflite export CI error by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/19422
* Fix rbox regularization by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19429
* `ultralytics 8.3.80` Fix YOLO-NAS export by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19426


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.79...v8.3.80

8.3.79

🌟 Summary  
The **v8.3.79** release of the Ultralytics YOLO framework introduces crucial bug fixes, enhancements to performance, and documentation updates. The primary focus is on correcting HSV augmentation mechanics and refining various code components for better reliability and usability. 🛠️✨

---

📊 Key Changes  
- **HSV Augmentation Fix**: Resolved incorrect hue, saturation, and value shifts during data augmentation, ensuring consistent color transformations. 🎨  
- **YOLO12 Benchmark Refinement**: Fixed performance metrics for YOLO12 models in documentation, updating speed and mAP comparisons ensuring accurate representations. 📈  
- **Docker Streamlining**: Removed redundant `tensorrt-cu12` dependency and added environment checks for better CI validation and Docker compatibility. 🐳  
- **Comet Integration Fix**: Corrected class mapping index misalignment in Comet logging to avoid errors and misinterpretations in visualized data. 📋  
- **Single-Class Model Consistency**: Enforced single-class model output alignment by adjusting `nc` and `names` parameters during training. 🚀  
- **Documentation Updates**: Improved accuracy in multiple areas, embedding a YouTube interactive guide for YOLO12, and updating outdated citation links for research credibility. 📚  
- **General Code Cleanup**: Enhanced readability by adhering to PEP8 conventions (`snake_case`), simplifying code for maintainability. 🖋️  

---

🎯 Purpose & Impact  
- **Improved Data Augmentation**: Provides users with accurate HSV augmentations, leading to better model robustness and performance during training.  
- **Benchmark Accuracy**: Ensures users receive correct performance metrics allowing better model selection and easier comparison across versions.  
- **Enhanced Docker Usability**: Smoother image builds and reduced dependency issues result in a simplified development experience. Perfect for CI pipelines!  
- **Better Logging**: Developers benefit from accurate class mappings in Comet analytics, avoiding confusion when examining predictions.  
- **Single-Class Models Alignment**: Offers consistency in model behavior, improving usability for tasks like binary classification.  
- **Improved Documentation**: Users gain easier access to tutorials, accurate technical references, and a better learning experience overall.  
- **Cleaner Codebase**: Enhances long-term maintainability and aligns code with modern Python standards, beneficial for both contributors and end-users.

This release makes strides in improving accuracy, user experience, and usability for developers and researchers alike. 🚀🌟

What's Changed
* Fix YOLO12 cfg links by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19332
* Fix `mkdocs_github_authors.yaml` author LexBarou by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19334
* Fix keypoints data display in `pose.md` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19337
* Fix YOLO12 performance table by Laughing-q in https://github.com/ultralytics/ultralytics/pull/19333
* Fix benchmark.js by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19351
* Fix TensorRT export issue by removing redundant package by lakshanthad in https://github.com/ultralytics/ultralytics/pull/19343
* Add https://youtu.be/SMSJvjUG1ko to `yolo12.md` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19358
* Update model_data.py authors by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19365
* Assign variable `dt` before reference in exception block by sjhpark in https://github.com/ultralytics/ultralytics/pull/19349
* Use `chart.jslatest` by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19372
* YOLOv3 paper URL update by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19378
* Add `imx` export tip by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19404
* Det models with `nc=1` when `single_cls=True` by kevinconka in https://github.com/ultralytics/ultralytics/pull/19381
* Fixed Comet integration to use class map aligned index when trying to get class name by yaricom in https://github.com/ultralytics/ultralytics/pull/19408
* Simplify `auto_annotate` function by Burhan-Q in https://github.com/ultralytics/ultralytics/pull/19400
* Updates `imgToAnns` variable to `snake_case` by Burhan-Q in https://github.com/ultralytics/ultralytics/pull/19402
* Fix `Grad strides do not match bucket view strides` warning for YOLO12 DDP training by Laughing-q in https://github.com/ultralytics/ultralytics/pull/19395
* Updates `scaleFill` argument to `snake_case` by Burhan-Q in https://github.com/ultralytics/ultralytics/pull/19401
* Check environment in docker.yml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19418
* Disable Dockerfile tests temporarily by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19420
* Fix incorrect metrics when nothing is detected by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19362
* `ultralytics 8.3.79` Fix shift in HSV augmentation by picsalex in https://github.com/ultralytics/ultralytics/pull/19311

New Contributors
* picsalex made their first contribution in https://github.com/ultralytics/ultralytics/pull/19311
* kevinconka made their first contribution in https://github.com/ultralytics/ultralytics/pull/19381
* sjhpark made their first contribution in https://github.com/ultralytics/ultralytics/pull/19349

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.78...v8.3.79

8.3.78

🌟 Summary  
This release, `v8.3.78`, brings an exciting new model to the family: **YOLO12** 🚀, featuring an attention-centric design for superior accuracy and efficiency across a variety of computer vision tasks.

---

📊 Key Changes  
- **Introduction of YOLO12 Models**:
- **New Architecture**: Incorporates attention mechanisms like **Area Attention**, **R-ELAN**, and **FlashAttention** for optimized performance.
- **Comprehensive Task Support**:
 - Object detection, segmentation, pose estimation, classification, and oriented bounding box (OBB) detection.
- **Benchmark Improvements**:
 - Demonstrates higher mAP (mean Average Precision) and efficiency compared to YOLO10/YOLO11 and competitors like RT-DETR.

- **Model-Specific Enhancements**:
- Introduced multiple YOLO12 variants (`n`, `s`, `m`, `l`, `x`) catering to different computing environments such as cloud systems and edge devices.
- Added new task-focused configurations for image classification, pose estimation, and segmentation.

- **Documentation Updates**:
- YOLO12 now included in detailed model documentation with performance metrics and usage examples.
- Extensive references, including benchmarks for comparison with leading global detection models.

- **Code Simplifications and Bug Fixes**:
- **ONNX Run-Time Fixes**: Improved device handling and tensor reshaping for ONNX users.
- **TFLite Export Cleanup**: Removed redundant parameters for simpler TensorFlow Lite export logic.
- **Code Refinement**: Enhanced readability and maintainability across inference and export pipelines.

---

🎯 Purpose & Impact  
- **Purpose**:
- YOLO12 brings a **paradigm shift** in accuracy and efficiency by adopting attention mechanisms tailored for real-time object detection.
- Streamlines codebase for easier maintenance and integration in diverse projects.

- **Impact**:
- Developers gain access to cutting-edge **state-of-the-art models** excelling in versatility, speed, and precision.
- Tasks like multi-object detection, segmentation, and pose estimation become more accessible for smaller devices (e.g., edge devices).
- Improved user experience with **easier model selection**, robust export support, and refined prediction outputs.

🔮 This update is not only a leap forward in technological advancement but also a commitment to making **intelligent vision accessible to all**.

What's Changed
* Remove unused parameters from `export_tflite` by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19319
* Fix ONNX RuntimeError with dynamic WorldModel by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19322
* Add YOLO12 model info by Laughing-q in https://github.com/ultralytics/ultralytics/pull/19328
* Add https://youtu.be/BPYkGt3odNk to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19331
* Refactor with simplifications by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/19329
* update `model_data.py` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19330
* `ultralytics 8.3.78` new YOLO12 models by Laughing-q in https://github.com/ultralytics/ultralytics/pull/19325


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.77...v8.3.78

8.3.77

🌟 Summary  
The YOLOv8 v8.3.77 release introduces a significant performance optimization for ONNX Runtime segmentation models, as well as essential compatibility enhancements and minor fixes. 🚀

---

📊 Key Changes  
- **🚀 YOLOv8-Segment Optimization (ONNX Runtime)**  
- Post-processing was drastically improved for both GPU (91.7% faster) and CPU (58.9% faster), resulting in a total inference speedup of up to 32.4%.  

- **🔧 Optional `thop` Dependency Support**  
- Made the `thop` library optional by handling its absence gracefully to avoid errors in environments lacking it.  

- **📂 ONNX Export Improvements**  
- Streamlined ONNX dynamic model export logic by revising type handling

@dagshub
Copy link

dagshub bot commented Mar 3, 2025

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #602

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants