Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduled weekly dependency update for week 39 #534

Closed
wants to merge 10 commits into from

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

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

Changelog

8.3.0

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.103...v8.3.0

8.2.103

🌟 Summary
The release of `v8.2.103` focuses on improving cross-platform compatibility and performance evaluation through enhancements in continuous integration (CI) workflows and benchmarking functionalities.

📊 Key Changes
- **CI Workflow Update**: Extended to include Windows (`windows-latest`) in addition to existing platforms for broader testing coverage.
- **Version Bump**: Upgraded from version `8.2.102` to `8.2.103`.
- **Benchmark Function Improvements**: Introduced an `eps` parameter to prevent division by zero, improved error handling, and enriched documentation with practical examples.
- **Class Enhancements**: Enhanced readability and structure of class methods concerning model profiling and benchmarking tasks.

🎯 Purpose & Impact
- **Wider Testing**: Incorporating Windows into CI processes increases cross-platform reliability by identifying operating system-specific issues earlier. 🖥️
- **Improved Stability**: The new `eps` parameter safeguards against potential errors in benchmark calculations, enhancing the robustness of results. 🏅
- **Better Documentation**: Providing clearer examples and improved documentation helps users more effectively utilize and understand benchmarking and profiling functions. 📘

These updates collectively aim to streamline development processes, improve platform compatibility, and ensure more accurate and reliable model profiling for users and developers alike.

What's Changed
* Update `mkdocs.yml` with Hand Keypoints link by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16515
* Update JSONDict for PosixPath to String by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16522
* Removing cpu-info persistence for Docker images by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/16470
* `ultralytics 8.2.103` Windows Benchmarks CI by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16523


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.102...v8.2.103

8.2.102

🌟 Summary
The v8.2.102 release introduces a new Hand-Keypoints Pose Estimation Dataset, enhancing the model's ability to accurately detect and analyze human hand movements. It also includes various code optimizations and cleaning for better performance.

📊 Key Changes
- **New Dataset**: Introduction of a Hand-Keypoints Pose Estimation Dataset featuring 26,768 images annotated with 21 keypoints per hand.
- **Code Refactoring**: Performance improvements through code simplification, redundant code removal, and better readability.

🎯 Purpose & Impact
- **Advanced Hand Pose Detection**: The new dataset enables more precise hand movement analysis, beneficial for applications like gesture recognition, AR/VR interactions, and more.
- **Usability for Developers and Researchers**: Supports training models for various tasks such as robotic manipulation, healthcare, and biometric systems.
- **Enhanced Performance**: Code optimizations contribute to faster execution and maintainability, enhancing overall user experience and productivity.

This release significantly elevates the capabilities in pose estimation and provides clearer, more efficient code for developers. 🎉

What's Changed
* Ultralytics Code Refactor https://ultralytics.com/actions by UltralyticsAssistant in https://github.com/ultralytics/ultralytics/pull/16493
* Removed duplicate CUBLAS_WORKSPACE_CONFIG var by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/16466
* `ultralytics 8.2.102` new Hand-Keypoints Pose Estimation Dataset by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16489


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.101...v8.2.102

8.2.101

🌟 Summary
The v8.2.101 release brings enhanced model accessibility and error handling improvements for Ultralytics HUB users, focusing on user experience improvements and updated dependencies.

📊 Key Changes
- **HUB SDK Update:** The 'hub-sdk' version has been updated from 0.0.8 to 0.0.12 for better performance.
- **Improved Error Handling:** Enhanced error messages guide users to log in when accessing restricted models.
- **Direct Model Downloads:** Public models can now be downloaded with a single API call, simplifying user interaction.

🎯 Purpose & Impact
- **Enhanced User Experience:** Users will experience fewer interruptions and clearer guidance when accessing models, leading to smoother workflows.
- **Simplified Access:** Direct downloads of public models facilitate faster, streamlined usage, beneficial for both experienced developers and newcomers.
- **Improved Compatibility & Stability:** Updates in the SDK provide not only access to new features but also ensure smoother interactions with Ultralytics HUB, preventing potential disruptions.

By focusing on these improvements, the release aims to make the interaction with Ultralytics tools more intuitive and effective for users of all backgrounds. 🚀✨

What's Changed
* Docs: Inference API Updates by sergiuwaxmann in https://github.com/ultralytics/ultralytics/pull/16462
* Add https://youtu.be/5XYdm5CYODA to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16482
* Add OBB Counting example in Docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16485
* `ultralytics 8.2.101` allow HUB public model downloads by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16488


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.2.100...v8.2.101

8.2.100

Adjustments**: Learning rate adjustments help stabilize training and ensure optimal convergence, especially with large datasets. Methods like learning rate scheduling and warm-up adjust the rate dynamically for better training efficiency.

- **Online Learning**: This approach involves feeding the dataset to the model incrementally in small batches, allowing the model to update its parameters continuously as new data comes in. It is an excellent way to handle large volumes of data without overloading memory resources.

FAQ

What is the best way to set batch size for model training?

Setting the optimal batch size depends on several factors, including your GPU memory and the complexity of your model. A good starting point is to gradually increase the batch size to the maximum limit your GPU can handle without running out of memory. Using the largest batch size possible within your memory constraints will typically result in faster training times. If memory errors occur, reduce the batch size incrementally until the model trains efficiently. Refer to the relevant section on [Batch Size](https://www.ultralytics.com/glossary/batch-size) management for detailed guidance.

How does mixed precision training benefit model training?

Mixed precision training improves training efficiency by using 16-bit precision for most operations, reducing computational load and memory usage, while retaining a 32-bit master copy of weights to preserve accuracy. This approach speeds up training processes by allowing larger models or batch sizes within the same hardware constraints. For more comprehensive insights, consult the section on [Mixed Precision](https://www.ultralytics.com/glossary/mixed-precision) training.

Why should I use pretrained weights for training models?

Pretrained weights provide an excellent foundation, enabling faster training by utilizing a model that has already learned basic features from a large dataset. By applying [Transfer Learning](https://www.ultralytics.com/glossary/transfer-learning), you can adapt these pretrained models to specific tasks, enhancing performance and reducing the need for extensive training data. This technique saves time and computational resources, yielding more efficient training workflows.

How do I improve the performance of my model on large datasets?

To enhance model performance on large datasets, consider the following strategies: 
- Utilize aggressive data augmentation techniques to increase dataset diversity.
- Implement learning rate scheduling to adapt dynamically as the training progresses.
- Leverage caching techniques to reduce data I/O bottlenecks.
- Employ mixed precision training to optimize computational efficiency.
- Start with pretrained weights to accelerate learning from robust baselines.

By incorporating these methods, you can maximize the efficacy of your model training processes, even with extensive datasets.

What's Changed
* Bump contributor-assistant/github-action from 2.5.1 to 2.5.2 in /.github/workflows by dependabot[bot] in https://github.com/ultralytics/ultralytics/pull/16431
* Default `simplify=True`  by inisis in https://github.com/ultralytics/ultralytics/pull/16435
* Add Docs glossary links by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16448
* `ultralytics 8.2.100` new YOLOv8-OBB object counting by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16437


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

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

Copy link

dagshub bot commented Sep 30, 2024

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Oct 7, 2024

Closing this in favor of #536

@pyup-bot pyup-bot closed this Oct 7, 2024
@guysmoilov guysmoilov deleted the pyup-scheduled-update-2024-09-30 branch October 7, 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.

1 participant