Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

Update sphinx from 7.3.7 to 8.0.2.

Changelog

8.0.2

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

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

* Fix the ``pygments.Formatter.__class_getitem__`` patch.
Patch by Adam Turner.

8.0.1

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

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

* Patch ``pygments.Formatter.__class_getitem__`` in Pygments 2.17.
Patch by Adam Turner.

8.0.0

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

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

* 12633: Drop Python 3.9 support.

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

.. rst-class:: compact

* Remove deprecated functions from ``sphinx.util``:

* Removed ``sphinx.util.path_stabilize``
 (use ``sphinx.util.osutil.path_stabilize``).
* Removed ``sphinx.util.display_chunk``
 (use ``sphinx.util.display.display_chunk``).
* Removed ``sphinx.util.status_iterator``
 (use ``sphinx.util.display.status_iterator``).
* Removed ``sphinx.util.SkipProgressMessage``
 (use ``sphinx.util.display.SkipProgressMessage``).
* Removed ``sphinx.util.progress_message``
 (use ``sphinx.util.display.progress_message``).
* Removed ``sphinx.util.epoch_to_rfc1123``
 (use ``sphinx.http_date.epoch_to_rfc1123``).
* Removed ``sphinx.util.rfc1123_to_epoch``
 (use ``sphinx.http_date.rfc1123_to_epoch``).
* Removed ``sphinx.util.save_traceback``
 (use ``sphinx.exceptions.save_traceback``).
* Removed ``sphinx.util.format_exception_cut_frames``
 (use ``sphinx.exceptions.format_exception_cut_frames``).
* Removed ``sphinx.util.xmlname_checker``
 (use ``sphinx.builders.epub3._XML_NAME_PATTERN``).

Patch by Adam Turner.
* Removed :py:func:`!sphinx.util.osutil.cd`
(use :py:func:`contextlib.chdir`).
Patch by Adam Turner.
* Removed :py:func:`!sphinx.util.typing.stringify`
(use :py:func:`!sphinx.util.typing.stringify_annotation`).
Patch by Adam Turner.
* 12593: Raise an error for invalid :confval:`html_sidebars` values.
Patch by Adam Turner.
* 12593: Raise an error in :py:func:`!Theme.get_config` for invalid sections.
Patch by Adam Turner.
* 11693: Remove support for old-style :file:`Makefile` and :file:`make.bat`
output in :program:`sphinx-quickstart`.
* 11693: Remove the :option:`!--no-use-make-mode`, :option:`!-M`,
:option:`!--use-make-mode`, and :option:`!-m` options
from :program:`sphinx-quickstart`.
Patch by Adam Turner.
* Removed the tuple interface to :py:class:`!sphinx.ext.autodoc.ObjectMember`.
Patch by Adam Turner.
* 12630: Sphinx 8 makes two changes to the ``linkcheck`` configuration defaults:

* :confval:`linkcheck_allow_unauthorized` is now ``False`` by default.
* :confval:`linkcheck_report_timeouts_as_broken` is now ``False`` by default.

Patch by James Addison.
* 12597: Change the default of :confval:`show_warning_types`
from ``False`` to ``True``.
Patch by Chris Sewell.
* 12083: Remove support for the old (2008--2010) Sphinx 0.5 and Sphinx 0.6
:confval:`intersphinx_mapping` format.
Patch by Bénédikt Tran and Adam Turner.
* 12096: Do not overwrite user-supplied files when copying assets
unless forced with ``force=True``.
Patch by Adam Turner.
* 12646: Remove :py:func:`!sphinx.util.inspect.isNewType`.
Use ``isinstance(obj, typing.NewType)`` instead on Python 3.10 and newer.
Patch by Adam Turner.
* Remove the long-deprecated (since Sphinx 2) alias
to :py:class:`!VersionChange` in
:py:mod:`!sphinx.directives.other`
(Deprecated since Sphinx 2).
Use :py:class:`!sphinx.domains.changeset.VersionChange` directly.
Patch by Adam Turner.

Deprecated
----------

* 12643: Renamed ``sphinx.ext.intersphinx.normalize_intersphinx_mapping``
to ``sphinx.ext.intersphinx.validate_intersphinx_mapping``.
The old name will be removed in Sphinx 10.
Patch by Adam Turner.
* 12650, 12686, 12690: Extend the deprecation for string methods on
:py:class:`~pathlib.Path` objects to Sphinx 9.
Use :py:func:`os.fspath` to convert :py:class:`~pathlib.Path` objects to strings,
or :py:class:`~pathlib.Path`'s methods to work with path objects.
Patch by Adam Turner.

7.4.7

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

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

* 12096: Warn when files are overwritten in the build directory.
Patch by Adam Turner and Bénédikt Tran.
* 12620: Ensure that old-style object description options are respected.
Patch by Adam Turner.
* 12601, 12625: Support callable objects in :py:class:`~typing.Annotated` type
metadata in the Python domain.
Patch by Adam Turner.
* 12601, 12622: Resolve :py:class:`~typing.Annotated` warnings with
``sphinx.ext.autodoc``,
especially when using :mod:`dataclasses` as type metadata.
Patch by Adam Turner.
* 12589, 12626: autosummary: Fix warnings with :rst:role:`!autolink`.
Patch by Adam Turner.

7.4.6

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

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

* 12589, 9743, 12609: autosummary: Do not add the package prefix when
generating autosummary directives for modules within a package.
Patch by Adam Turner.
* 12613: Reduce log severity for ambiguity detection during inventory loading.
Patch by James Addison.

7.4.5

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

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

* 12593, 12600: Revert coercing the type of selected :confval:`html_sidebars`
values to a list.
Log an error message when string values are detected.
Patch by Adam Turner.
* 12594: LaTeX: since 7.4.0, :rst:dir:`seealso` and other "light" admonitions
now break PDF builds if they contain a :dudir:`figure` directive; and also
if they are contained in a table cell (rendered by ``tabulary``).
Patch by Jean-François B.

7.4.4

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

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

* 12585, 12586: Do not warn when an intersphinx inventory contains
case-insensitively ambiguous duplicate items.
Patch by James Addison.

7.4.3

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

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

* 12582: Restore support for list-styled :confval:`source_suffix` values
with extensions that register parsers.
Patch by Adam Turner.

7.4.2

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

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

* 12580, 12583: Resolve failures with the C domain on incremental builds
with Sphinx 7.3.7 and earlier.
Patch by Adam Turner.

7.4.1

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

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

* Fix invalid HTML when a rubric node with invalid ``heading-level`` is used.
Patch by Adam Turner.
* 12579, 12581: Restore support for ``typing.ParamSpec`` in autodoc.
Patch by Adam Turner.

7.4.0

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

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

* 12555: Drop Docutils 0.18.1 and Docutils 0.19 support.
Patch by Adam Turner.
* LaTeX: the ``xcolor`` package is now required (but is for example part of
Ubuntu ``texlive-latex-recommended`` which has always been required).
* LaTeX: the ``fontawesome5`` LaTeX package is needed for the default choices
of icons now used in admonition titles in PDF output; but if unavailable the
PDF build will simply silently omit rendering such icons.  Check the
documentation of the ``iconpackage`` key of :ref:`'sphinxsetup'
<latexsphinxsetup>` for more.

Deprecated
----------

* LaTeX: the ``sphinxlightbox`` environment is not used anymore, all types
of admonitions use (by default) only ``sphinxheavybox``.

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

.. rst-class:: compact

* 11165: Support the `officially recommended`_ ``.jinja`` suffix for template
files.
Patch by James Addison and Adam Turner

.. _officially recommended: https://jinja.palletsprojects.com/en/latest/templates/#template-file-extension
* 12325: Flatten ``Union[Literal[T], Literal[U], ...]`` to ``Literal[T, U, ...]``
when turning annotations into strings.
Patch by Adam Turner.
* 12319: ``sphinx.ext.extlinks``: Add ``extlink-{name}`` CSS class to links.
Patch by Hugo van Kemenade.
* 12387: Improve CLI progress message, when copying assets.
Patch by INADA Nakoi and Bénédikt Tran.
* 12361: Add :attr:`.BuildEnvironment.parser`.
Patch by Chris Sewell.
* 12358: Add :attr:`.Sphinx.fresh_env_used`.
Patch by Chris Sewell.
* 12329: Add detection of ambiguous ``std:label`` and ``std:term`` references during
loading and resolution of Intersphinx targets.
Patch by James Addison.
* 12422: Do not duplicate "navigation" in aria-label of built-in themes.
Patch by Thomas Weißschuh
* 12421: Include project name in ``logo_alt`` of built-in themes.
Patch by Thomas Weißschuh
* 12448: Add :option:`sphinx-apidoc --remove-old` option.
Patch by Chris Sewell.
* 12456: Add :option:`sphinx-autogen --remove-old` option.
Patch by Chris Sewell.
* 12479: Add warning subtype ``toc.no_title``.
Patch by Ondřej Navrátil.
* 12492: Add helper methods for parsing reStructuredText content into nodes from
within a directive.

- :py:meth:`~sphinx.util.docutils.SphinxDirective.parse_content_to_nodes()`
 parses the directive's content and returns a list of Docutils nodes.
- :py:meth:`~sphinx.util.docutils.SphinxDirective.parse_text_to_nodes()`
 parses the provided text and returns a list of Docutils nodes.
- :py:meth:`~sphinx.util.docutils.SphinxDirective.parse_inline()`
 parses the provided text into inline elements and text nodes.

Patch by Adam Turner.
* 12258: Support ``typing_extensions.Unpack``
Patch by Bénédikt Tran and Adam Turner.
* 12524: Add a ``class`` option to the :rst:dir:`toctree` directive.
Patch by Tim Hoffmann.
* 12536: Add the :rst:dir:`confval` directive.
Patch by Adam Turner.
* 12537: :confval:`c_id_attributes`, :confval:`c_paren_attributes`,
:confval:`cpp_id_attributes`, and :confval:`cpp_paren_attributes`
can now be a tuple of strings.
:confval:`c_extra_keywords`, :confval:`gettext_additional_targets`,
:confval:`html_domain_indices`, :confval:`latex_domain_indices`,
and :confval:`texinfo_domain_indices`,
can now be a set of strings.
Patch by Adam Turner.
* 12523: Added configuration option, :confval:`math_numsep`, to define the
separator for math numbering.
Patch by Thomas Fanning
* 11592: Add :confval:`coverage_modules` to the coverage builder
to allow explicitly specifying which modules should be documented.
Patch by Stephen Finucane.
* 7896, 11989: Add a :rst:dir:`py:type` directive for documenting type aliases,
and a :rst:role:`py:type` role for linking to them.
Patch by Ashley Whetter.
* 12549: Add optional ``description`` argument to
:meth:`.Sphinx.add_config_value`.
Patch by Chris Sewell.
* 6792: Prohibit module import cycles in :mod:`sphinx.ext.autosummary`.
Patch by Trevor Bekolay.
* 12508: LaTeX: Revamped styling of all admonitions, with addition of a
title row with icon.
Patch by Jean-François B.
* 11773: Display :py:class:`~typing.Annotated` annotations
with their metadata in the Python domain.
Patch by Adam Turner and David Stansby.
* 12506: Add ``heading-level`` option to :rst:dir:`rubric` directive.
Patch by Chris Sewell.
* 12567: Add the :event:`write-started` event.
Patch by Chris Sewell.

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

* 12314: Properly format ``collections.abc.Callable`` in annotations.
Patch by Adam Turner.
* 12162: Fix a performance regression in the C domain that has
been present since version 3.0.0.
Patch by Donald Hunter.
* 12320: Fix removal of anchors from search summaries (regression in 7.3.0).
Patch by Will Lachance.
* 12251: Fix ``merge_domaindata()`` in ``sphinx.ext.duration``.
Patch by Matthias Geier.
* 12224: Properly detect WebP files.
Patch by Benjamin Cabé.
* 12380: LaTeX: Avoid footnote markers ``Page N`` when ``N`` is already
the current page number.
Patch by Jean-François B.
* 12410: LaTeX: for French and ``'lualatex'`` as :confval:`latex_engine`
use ``babel`` as with ``'xelatex'`` (and not ``polyglossia``).
Patch by Jean-François B.
* 12520: LaTeX: let :rst:dir:`todolist` produce correct hyperlinks in PDF.
Patch by Jean-François B.
* 12416: Ensure that configuration setting aliases are always synchronised
when one value or the other is modified.
Patch by Bénédikt Tran.
* 12220: Fix loading custom template translations for ``en`` locale.
Patch by Nicolas Peugnet.
* 12459: Add valid-type arguments to the ``linkcheck_rate_limit_timeout``
configuration setting.
Patch by James Addison.
* 12331: Resolve data-URI-image-extraction regression from v7.3.0 affecting
builders without native support for data-URIs in their output format.
Patch by James Addison.
* 12494: Fix invalid genindex.html file produced with translated docs
(regression in 7.1.0).
Patch by Nicolas Peugnet.
* 11961: Omit anchor references from document title entries in the search index,
removing duplication of search results.
Patch by James Addison.
* 12425: Use Docutils' SVG processing in the HTML builder
and remove Sphinx's custom logic.
Patch by Tunç Başar Köse.
* 12391: Adjust scoring of matches during HTML search so that document main
titles tend to rank higher than subsection titles. In addition, boost matches
on the name of programming domain objects relative to title/subtitle matches.
Patch by James Addison and Will Lachance.
* 9634: Do not add a fallback language by stripping the country code.
Patch by Alvin Wong.
* 12352: Add domain objects to the table of contents
in the same order as defined in the document.
Previously, each domain used language-specific nesting rules,
which removed control from document authors.
Patch by Jakob Lykke Andersen and Adam Turner.
* 11041: linkcheck: Ignore URLs that respond with non-Unicode content.
Patch by James Addison.
* 12543: Fix :pep:`695` formatting for LaTeX output.
Patch by Bénédikt Tran.

Testing
-------

* karma: refactor HTML search tests to use fixtures generated by Sphinx.
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.9.19.

Changelog

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 setuptools from 70.0.0 to 75.1.0.

Changelog

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

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

Changelog

0.25.2

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

0.25.1

Please see the official Voxle51 [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.0.0.

Changelog

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.2.48 to 8.2.99.

Changelog

8.2.99

🌟 Summary
Ultralytics `v8.2.99` releases significant improvements with a shift from YAML to JSON for settings management, enhancing efficiency and user experience.

📊 Key Changes
- Transformed settings file format from YAML to JSON.
- Updated `SettingsManager` class for improved validation and handling JSON files.
- Introduced `JSONDict` for thread-safe JSON data management.
- Enhanced various documentations and code cleanup for better readability and functionality.
- Improved compatibility for newer Python versions with updated project configurations.

🎯 Purpose & Impact
- **Efficiency Boost**: JSON's simplicity and functionality make it easier for the system to process and manage settings.
- **Enhanced Robustness**: Improved validation methods ensure settings are easily managed and reduce potential user errors.
- **Streamlined User Experience**: Standardizing settings in JSON format helps users in configuring setups intuitively.
- **Performance Enhancement**: Restricting FP16 usage to TensorRT enhances profiling speeds by eliminating unnecessary conversions.
- **Accessibility & Compatibility**: By updating documentation links and Python version support, users gain clearer insights and improved resource access.

What's Changed
* Remove extra `get_cpu_info` return by Laughing-q in https://github.com/ultralytics/ultralytics/pull/16382
* Add https://youtu.be/5XYdm5CYODA to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16392
* Remove `half` when profiling ONNX models by Laughing-q in https://github.com/ultralytics/ultralytics/pull/16405
* Update `simple-utilities.md` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16417
* Update OpenVINO CI for Python 3.12 by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16420
* Update TOML project URLs by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16421
* Update pyproject.toml authors and maintainers fields by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16423
* New `JSONDict` class by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16426
* `ultralytics 8.2.99` faster `JSONDict` settings by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16427


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.98...v8.2.99

8.2.98

🌟 Summary
The `v8.2.98` release of Ultralytics brings a focus on performance optimization, code simplification, and improved user experience through various technical enhancements.

📊 Key Changes
- **Faster `fuse()` Operations**: Removed redundant cloning operations in convolution and deconvolution to enhance processing speed.
- **Dynamic Keypoint Plotting**: Changed the keypoint drawing logic for better visual consistency across different image sizes.
- **Simplified Codebase**: Cleaned up the session code and removed unnecessary dependencies like `pandas` in export handling.
- **Persistent Caching**: Introduced a new thread-safe persistent caching system to store important data efficiently.

🎯 Purpose & Impact
- **Performance Improvements**: The optimized `fuse()` functions and removal of `pandas` from export processes aim to significantly enhance computational speed and reduce latency. 🚀
- **Visual and Functional Flexibility**: Automatic adjustment of keypoint line thickness ensures better graphical outputs for users, especially when dealing with large images. 📊
- **Enhanced Efficiency and Speed**: The persistent caching system minimizes redundant data retrieval, improving overall user experience and data management. 💾
- **Code Maintenance**: Streamlining code, such as removing outdated code segments and simplifying export formats, makes the software more maintainable and easier to upgrade in the future. 🛠️

These updates collectively ensure that the Ultralytics framework remains robust, user-friendly, and efficient for both developers and end users.

What's Changed
* Dynamic pose line thickness by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/16362
* Cleanup session.py by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16352
* Remove pandas from exports table by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16371
* New `PERSISTENT_CACHE` by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16373
* `ultralytics 8.2.98` faster `fuse()` operations by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16375


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.97...v8.2.98

8.2.97

🌟 Summary
The `v8.2.97` update focuses on enhancing the model loading process in the Ultralytics HUB, improving security, and making interactions more user-friendly.

📊 Key Changes
- **Secure Downloads**: Model weights are now downloaded using secure, authenticated URLs.
- **Organized Storage**: Introduced checks to ensure model weights download to the correct directory.
- **New 'Logout' Command**: Added a logout command in the configurations for improved session management.

🎯 Purpose & Impact
- 🛡️ **Enhanced Security**: Utilizing secure URLs protects user data and boosts confidence in downloading model weights safely.
- 📂 **Improved File Management**: Ensures model files are neatly organized, making them easier to locate and manage.
- 🚀 **Increased Reliability**: Reduces download errors and enhances the overall robustness of model loading, improving user experience especially during setup or updates.

What's Changed
* Docs banner for https://ultralytics.com/yolo-vision by sergiuwaxmann in https://github.com/ultralytics/ultralytics/pull/16338
* Add https://youtu.be/c5eFrt2KuzY to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16341
* `ultralytics 8.2.97` robust HUB model downloads by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16347


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.96...v8.2.97

8.2.96

🌟 Summary
The `v8.2.96` release of Ultralytics enhances data export capabilities, refines parking management solutions, and improves documentation workflows, offering better usability and integration for users.

📊 Key Changes
- **Data Export Methods**: Introduced new methods `to_df()`, `to_csv()`, and `to_xml()` to export results in DataFrame, CSV, and XML formats.
- **Parking Management Optimization**: Simplified the code and refactored data handling for easier setup and enhanced performance.
- **Documentation and Streaming Updates**: Improved documentation process and clarified streaming capabilities, including renaming and restructured examples for single and multi-stream video processing.
- **Precision and Validation Enhancements**: Aligned model validation precision with Automatic Mixed Precision settings for consistency.

🎯 Purpose & Impact
- **Enhanced Exportability**: Users can now easily export detection results in widely-used formats, facilitating better data analysis and integration with other tools. 📊
- **Improved Clarity and Efficiency**: The refactoring of parking management code enhances usability and processing speed, making it more intuitive for users managing parking data. 🚗
- **Streamlined Documentation Workflow**: Improved the process of auto-fixing and updating documentation, leading to more accurate and accessible developer resources. 📚
- **Consistent Precision Handling**: Ensures that validation and training are better aligned, leading to more reliable performance assessments and optimized use of computational resources. ⚙️

What's Changed
* Disable FP16 val on AMP fail and improve AMP checks by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16306
* Optimize `parking management` solution by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16288
* Enable Docs auto-fixes on repo branches by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16326
* Update Multi-Stream predict docs by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16334
* Use `trainer.amp` to determine FP16 validation by Laughing-q in https://github.com/ultralytics/ultralytics/pull/16333
* `ultralytics 8.2.96` new `results[0].to_df` Pandas, XML and CSV methods by MatthewNoyce in https://github.com/ultralytics/ultralytics/pull/16267


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.95...v8.2.96

8.2.95

🌟 Summary
The `v8.2.95` release primarily focuses on enhancing the YOLOv8 object tracking capabilities and improving model checkpoint flexibility to boost overall performance and user adaptability.

📊 Key Changes
- **Efficient Object Tracking**: Enhancements made to the object tracking framework with optimizations for threading and video processing.
- **Checkpoint Update Flexibility**: Introduced the ability to overlay updates on model checkpoints with the `strip_optimizer` function.
- **Version Update**: Incremented the software version from 8.2.94 to 8.2.95.

🎯 Purpose & Impact
- 🚀 **Improved Performance**: Users dealing with multiple video streams will experience a more efficient object tracking process, enhancing real-time data processing capabilities.
- 🔧 **Enhanced Flexibility**: Allowing optional updates on checkpoints enables more dynamic model deployment and easier fine-tuning for customized applications.
- 📈 **Routine Improvement**: The version update signifies a more stable, feature-rich platform that informs users of the most recent improvements and bug fixes. 

In summary, this release is tailored towards making object tracking more seamless and providing users with greater flexibility in managing their model checkpoints, which helps in both development and deployment phases.

What's Changed
* Fix `IS_TMP_WRITEABLE` order of operations by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16294
* Fix dependabot in mkdocs_github_authors.yaml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16312
* Threaded inference docs improvements by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16313
* `ultralytics 8.2.95` faster checkpoint saving by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16311


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.94...v8.2.95

8.2.94

🌟 Summary
This release enhances support for Apple's MPS devices and includes various improvements for better performance and usability across platforms.

📊 Key Changes
- Enhanced memory logging for Apple's MPS on macOS, ensuring accurate GPU memory usage reporting.
- Improved prediction handling in the model, including saving predictions and consistent bounding box handling.
- Updated documentation for seamless navigation and improved clarity.
- Fixed issues with `mps.empty_cache()` for macOS without MPS, preventing crashes.
- Introduced new benchmarks for Intel's latest hardware, providing key performance metrics.

🎯 Purpose & Impact
- 🖥️ **macOS Improvements**: Accurate memory reporting and management enhance training and inference performance on macOS, especially for Apple hardware users.
- 📈 **Performance Benchmarks**: Intel users gain insights into the performance of new hardware, helping them optimize their setups.
- 📄 **Documentation and Usability**: Updated docs enhance user experience by making it easier to find information and contribute, fostering community growth.
- 📐 **Enhanced Prediction Handling**: Saving predictions and improving mask-less bounding box handling enhance the output process, making models more robust and user-friendly.
- 🚀 **Optimized Platform Support**: The changes ensure smoother operation across different environments, helping all users maximize the capabilities of Ultralytics models.

What's Changed
* Return boxes for SAM prompts inference by Laughing-q in https://github.com/ultralytics/ultralytics/pull/16276
* Docs improvements and redirect fixes by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16287
* Fix `mps.empty_cache()` for macOS without MPS by Skillnoob in https://github.com/ultralytics/ultralytics/pull/16280
* Add color palette tables to docs by jk4e in https://github.com/ultralytics/ultralytics/pull/16242
* Intel Core Ultra benchmarks by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/15895
* `ultralytics 8.2.94` Apple MPS train memory display by Oil3 in https://github.com/ultralytics/ultralytics/pull/16272


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.93...v8.2.94

8.2.93

🌟 Summary
The `v8.2.93` update introduces enhanced model loading security with the addition of new SafeClass and SafeUnpickler classes.

📊 Key Changes
- **Safe Model Loading**: Implemented secure loading mechanisms with `SafeClass` and `SafeUnpickler` to safeguard against unknown classes.
- **Version Update**: Incremented to version 8.2.93.
- **Documentation and Workflow Improvements**: Updated documentation for multiple processes and simplified GitHub workflow interactions.
- **Dependency Update**: Upgraded `onnxslim` to version `0.1.34` for improved export functionality.
- **Code Optimization**: Streamlined code for speed estimation and queue management, removing unnecessary parameters.
- **NMS Flexibility**: Enabled agnostic non-maximum suppression (NMS) in various validation processes.

🎯 Purpose & Impact
- **Increased Security**: Enhances safety during model loading by preventing the execution of unverified code, which is crucial for maintaining system integrity. 🔒
- **User Experience**: Simplifies onboarding and interactions for developers contributing to the project. 🤝
- **Improved Compatibility**: The updated `onnxslim` version ensures better model export compatibility and performance optimization. ⚙️
- **Efficiency and Clarity**: Refactored code improves performance, reduces complexity, and makes the system more maintainable and user-friendly. 🏎️
- **Enhanced Model Handling**: Adding robust mechanisms for model loading and validation ensures sustained backward compatibility while offering advanced functionality. 🛡️

What's Changed
* Deprecate .github/workflows/greetings.yml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16245
* Update format.yml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16255
* Add discussions to format.yml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16257
* Fix inaccuracies in OBB docs by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16253
* Update Tracker Docs by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16262
* Add https://youtu.be/GIrFEoR5PoU to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16264
* Update `onnxslim==0.1.34` by inisis in https://github.com/ultralytics/ultralytics/pull/16265
* Optimize `speed estimation` solution by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16254
* Allow agnostic NMS in validation for OBB, Pose, Segment and NAS by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16251
* Optimize `queue` solution by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16246
* `ultralytics 8.2.93` new SafeClass and SafeUnpickler classes by UltralyticsAssistant in https://github.com/ultralytics/ultralytics/pull/16269


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.92...v8.2.93

8.2.92

🌟 Summary
This release enhances the object counting functionality in Ultralytics with configurable counting directions, and improves code efficiency and readability.

📊 Key Changes
- Added a new parameter to set object counting directions ("left_to_right" or "right_to_left").
- Updated counting logic to leverage the new direction attribute.
- Refined object counter visualization and class labeling.
- Minor code clean-ups, including removal of redundant components.

🎯 Purpose & Impact
- 🔄 **Flexibility**: Users can now customize the counting direction, making the feature more versatile across different scenarios.
- 🎯 **Improved Accuracy**: The directionality consideration minimizes miscounts, particularly in bidirectional flows.
- 🧹 **Code Clarity**: Streamlined codebase for better maintainability and readability, benefiting developers when further customizing or understanding the code.

What's Changed
* Update merge-main-into-prs.yml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16199
* Distance calculation docs fix by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16220
* Update more/missing type qualifiers to lowercase MkDocs admonitions by jk4e in https://github.com/ultralytics/ultralytics/pull/16215
* Add https://youtu.be/Tt_35YnQ9uk to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16214
* Update TwoWayTransformer Docs. by JasonG98 in https://github.com/ultralytics/ultralytics/pull/16161
* Fixed failing greetings CI by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/16223
* `bbox` and `masks` coloring based on `track-ids` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16073
* Non-Deterministic Training Despite deterministic=True by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/15961
* `ultralytics 8.2.92` vertical `line` counter fix by CharanPrasadK in https://github.com/ultralytics/ultralytics/pull/16163

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

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.91...v8.2.92

8.2.91

🌟 Summary
The v8.2.91 update focuses on renaming the `v10DetectLoss` module to `E2EDetectLoss` for YOLOv10 to address several raised issues.

📊 Key Changes
- 🆕 Renamed the `v10DetectLoss` module to `E2EDetectLoss` in the YOLOv10 model code.
- 🧩 Additional benchmarks introduced for the YOLOv10 model.
- 📊 Updated documentation using macros for clearer and more consistent argument tables.

🎯 Purpose & Impact
- 🔧 **Issue Resolution**: This change directly resolves multiple complaints about module misnaming (as seen in GitHub issues), ensuring smoother integration and functionality for developers using the YOLOv10 model.
- 📈 **Enhanced Testing**: New benchmarks allow for a comprehensive assessment of the YOLOv10's performance, providing end-users detailed insights into model efficiency.
- 📚 **Improved Documentation**: The use of macros streamlines updates and ensures consistency across documentation, making it easier to understand and maintain for both new and experienced users.

This release strengthens the reliability of the YOLOv10 model while offering better support for developers through enhancements in both functionality and documentation clarity.

What's Changed
* Add YOLOv10 to Raspberry Pi CI by lakshanthad in https://github.com/ultralytics/ultralytics/pull/16087
* Update NVIDIA Jetson TensorRT Benchmarks by 

@dagshub
Copy link

dagshub bot commented Sep 23, 2024

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #534

@pyup-bot pyup-bot closed this Sep 30, 2024
@guysmoilov guysmoilov deleted the pyup-scheduled-update-2024-09-23 branch September 30, 2024 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