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 41 #538

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

Update sphinx from 7.3.7 to 8.1.3.

Changelog

8.1.3

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

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

* 13013: Restore support for :func:`!cut_lines` with no object type.
Patch by Adam Turner.

8.1.2

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

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

* 13012: Expose :exc:`sphinx.errors.ExtensionError` in ``sphinx.util``
for backwards compatibility.
This will be removed in Sphinx 9, as exposing the exception
in ``sphinx.util`` was never intentional.
:exc:`!ExtensionError` has been part of ``sphinx.errors`` since Sphinx 0.9.
Patch by Adam Turner.

8.1.1

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

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

* 13006: Use the preferred https://www.cve.org/ URL for
the :rst:role:`:cve: <cve>` role.
Patch by Hugo van Kemenade.
* 13007: LaTeX: Improve resiliency when the required
``fontawesome`` or ``fontawesome5`` packages are not installed.
Patch by Jean-François B.

8.1.0

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

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

* 12756: Add lower-bounds to the ``sphinxcontrib-*`` dependencies.
Patch by Adam Turner.
* 12833: Update the LaTeX ``parskip`` package from 2001 to 2018.
Patch by Jean-François B.

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

* 12763: Remove unused internal class ``sphinx.util.Tee``.
Patch by Adam Turner.
* 12822: LaTeX: for Unicode engines, the :ref:`fvset` default is changed to
``'\\fvset{fontsize=auto}'`` from ``'\\fvset{fontsize=\\small}'``.
Code-blocks are unchanged as FreeMono is now loaded with ``Scale=0.9``.
An adjustment to existing projects is needed only if they used a custom
:ref:`fontpkg` configuration and did not set :ref:`fvset`.
Patch by Jean-François B.
* 12875: Disable smartquotes for languages: ``zh_CN`` and ``zh_TW`` by default.
Patch by A. Rafey Khan.

Deprecated
----------

* 12762: Deprecate ``sphinx.util.import_object``.
Use :py:func:`importlib.import_module` instead.
Patch by Adam Turner.
* 12766: Deprecate ``sphinx.util.FilenameUniqDict``
and ``sphinx.util.DownloadFiles``.
Patch by Adam Turner.

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

* 11328: Mention evaluation of templated content during production of static
output files.
Patch by James Addison.
* 12704: LaTeX: make :dudir:`contents <table-of-contents>`, :dudir:`topic`,
and :dudir:`sidebar` directives separately customizable for PDF output.
Patch by Jean-François B. and Bénédikt Tran.
* 12474: Support type-dependent search result highlighting via CSS.
Patch by Tim Hoffmann.
* 12652: LaTeX: Add :confval:`math_numsep` support to latex builder.
Patch by Thomas Fanning and Jean-François B.
* 12743: No longer exit on the first warning when
:option:`--fail-on-warning <sphinx-build --fail-on-warning>` is used.
Instead, exit with a non-zero status if any warnings were generated
during the build.
Patch by Adam Turner.
* 12743: Add :option:`sphinx-build --exception-on-warning`,
to raise an exception when warnings are emitted during the build.
Patch by Adam Turner and Jeremy Maitin-Shepard.
* 12907: Add :confval:`html_last_updated_use_utc` to allow using
universal time (GMT/UTC) instead of local time for the date-time
supplied to :confval:`html_last_updated_fmt`.
Patch by Adam Turner.
* 12910: Copyright entries now support the ``'%Y'`` placeholder
to substitute the current year.
This is helpful for reducing the reliance on Python modules
such as :py:mod:`time` or :py:mod:`datetime` in :file:`conf.py`.
See :ref:`the docs <config-copyright>` for further detail.
Patch by Adam Turner.
* 11781: Add roles for referencing CVEs (:rst:role:`:cve: <cve>`)
and CWEs (:rst:role:`:cwe: <cwe>`).
Patch by Hugo van Kemenade.
* 11809: Improve the formatting for RFC section anchors.
Patch by Jakub Stasiak and Adam Turner.
* 12852: Support a :attr:`.Builder.supported_linkcode` attribute
for builders to enable use of :mod:`sphinx.ext.linkcode`-generated
references.
Patch by James Knight.
* 12949: Print configuration options that differ from the pickled environment.
This can be helpful in diagnosing the cause of a full rebuild.
Patch by Adam Turner.

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

* 12514: intersphinx: fix the meaning of a negative value for
:confval:`intersphinx_cache_limit`.
Patch by Shengyu Zhang.
* 12722: LaTeX: avoid TeX reporting ``Overfull \hbox`` from too long
strings in a codeline when the problem has actually been solved thanks
to :ref:`latexsphinxsetupforcewraps`.
Patch by Jean-François B.
* 12730: The ``UnreferencedFootnotesDetector`` transform has been improved
to more consistently detect unreferenced footnotes.
Note, the priority of the transform has been changed from 200 to 622,
so that it now runs after the docutils ``Footnotes`` resolution transform.
Patch by Chris Sewell.
* 12778: LaTeX: let :ref:`'sphinxsetup' <latexsphinxsetup>`
``div.topic_box-shadow`` key if used with only one dimension set both
x-offset and y-offset as per documentation.
Patch by Jean-François B.
* 12587: Do not warn when potential ambiguity detected during Intersphinx
resolution occurs due to duplicate targets that differ case-insensitively.
Patch by James Addison.
* 12639: Fix singular and plural search results text.
Patch by Hugo van Kemenade.
* 12645: Correctly support custom gettext output templates.
Patch by Jeremy Bowman.
* 12717: LaTeX: let :option:`-q <sphinx-build -q>` (quiet) option for
:program:`sphinx-build -M latexpdf` or :program:`make latexpdf` (``O=-q``)
get passed to :program:`latexmk`.  Let :option:`-Q <sphinx-build -Q>`
(silent) apply as well to the PDF build phase.
Patch by Jean-François B.
* 12744: LaTeX: Classes injected by a custom interpreted text role now give
rise to nested ``\DUrole``'s, rather than a single one with comma separated
classes.
Patch by Jean-François B.
* 12831: LaTeX: avoid large voids sometimes occurring at page bottoms.
Patch by Jean-François B.
* 11970, 12551: singlehtml builder: make target URIs to be same-document
references in the sense of :rfc:`RFC 3986, §4.4 <3986section-4.4>`,
e.g., ``index.htmlfoo`` becomes ``foo``.
(note: continuation of a partial fix added in Sphinx 7.3.0)
Patch by James Addison (with reference to prior work by Eric Norige).
* 12735: Fix :pep:`695` generic classes LaTeX output formatting.
Patch by Jean-François B. and Bénédikt Tran.
* 12782: intersphinx: fix double forward slashes when generating the inventory
file URL (user-defined base URL of an intersphinx project are left untouched
even if they end with double forward slashes).
Patch by Bénédikt Tran.
* 12796: Enable parallel reading if requested,
even if there are fewer than 6 documents.
Patch by Matthias Geier.
* 12844: Restore support for ``:noindex:`` for the :rst:dir:`js:module`
and :rst:dir:`py:module` directives.
Patch by Stephen Finucane.
* 12916: Restore support for custom templates named with the legacy ``_t``
suffix during ``apidoc`` RST rendering (regression in 7.4.0).
Patch by James Addison.
* 12451: Only substitute copyright notice years with values from
``SOURCE_DATE_EPOCH`` for entries that match the current system clock year,
and disallow substitution of future years.
Patch by James Addison and Adam Turner.
* 12905: intersphinx: fix flipped use of :confval:`intersphinx_cache_limit`,
which always kept the cache for positive values, and always refreshed it for
negative ones.
Patch by Nico Madysa.
* 12888: Add a warning when document is included in multiple toctrees
and ensure deterministic resolution of global toctree in parallel builds
by choosing the lexicographically greatest parent document.
Patch by A. Rafey Khan
* 12995: Significantly improve performance when building the search index
for Chinese languages.
Patch by Adam Turner.
* 12767: :py:meth:`.Builder.write` is typed as ``final``, meaning that the
:event:`write-started` event may be relied upon by extensions.
A new :py:meth:`.Builder.write_documents` method has been added to
control how documents are written.
This is intended for builders that do not output a file for each document.
Patch by Adam Turner.


Testing
-------

* 12141: Migrate from the deprecated ``karma`` JavaScript test framework to
the actively-maintained ``jasmine`` framework.  Test coverage is unaffected.
Patch by James Addison.
Links

Update furo from 2024.5.6 to 2024.8.6.

Changelog

2024.08.06

- ✨ Add support for Sphinx 8
- ✨ Add smoother transitions between breakpoints
- Increase specificity of table-wrapper selector
- Avoid page breaks inside paragraphs

2024.07.18

- Improve how icons are handled and aligned.
- Improve scroll event handler.
- Hide the copybutton by default.
- Fix `source_view_link` configuration handling.
- Fix close tag on pencil icon.
Links

Update sphinx-autobuild from 2024.4.16 to 2024.10.3.

Changelog

2024.10.03

-----------------------

* Improve error handling for failures in pre-build commands.

2024.10.02

-----------------------

* Show the changed paths that triggered the rebuild.

2024.09.19

-----------------------

* Fix path filtering on Windows by normalising path separators.
* Filter various directories by default (``.git``, ``venv``, etc).
* Serve the correct directory when using make mode (``-M``).

2024.09.18

-----------------------

* Run Sphinx through the Python entry point rather than the binary on PATH.

2024.09.17

-----------------------

* Relax checks for paths that aren't required to exist.

2024.09.03

-----------------------

* Fix support for Python 3.9.
* Fix running ``sphinx-autobuild`` via entry point scripts.
* Run ``sphinx-build`` in a subprocess to mitigate autdoc issues.
* Support the ``-M`` 'make mode' option for ``sphinx-build``.
Links

Update 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 1.0.0.

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

Changelog

8.3.12

🌟 Summary
The `v8.3.12` release of Ultralytics emphasizes the introduction of multi-point prompt support for the SAM and SAM2 models, allowing more flexible user interactions with segmentation tasks.

📊 Key Changes
- Introduced the ability to use multiple points and labels as prompts for a single object in SAM models. Points can now be structured in `[num_objects, num_points, 2]` for positions and `[num_objects, num_points]` for labels.
- Enhanced the analytics documentation and utilitarian functions for clearer data visualization and analysis.
- Deprecated the Ultralytics Explorer in favor of the Ultralytics HUB platform, consolidating tools for data exploration in a more unified and user-friendly environment.
- Optimized EdgeTPU exports to speed up compilation and improve configuration settings.

🎯 Purpose & Impact
- **Flexibility and Precision**: The support for multi-point prompts allows more detailed and complex object segmentation, providing better control and specificity for users dealing with intricate images.
- **Improved Usability**: The analytics update enhances user experience by simplifying the setup process, thereby benefiting both novices and experienced developers in understanding and utilizing data analytics functions.
- **Streamlined Experience**: Transition to Ultralytics HUB unifies resources, offering enhanced features and a simplified workflow for data exploration without the need for extensive coding, making it more accessible to a broader audience.
- **Efficiency Boost**: The EdgeTPU enhancements save time in model deployments, offering deeper debugging insights and faster operation, crucial for high-paced development environments.

What's Changed
* Update `analytics` solution by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16823
* Remove `explorer` Integration by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16842
* Reduce EdgeTPU to 3 compiler steps by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16880
* `ultralytics 8.3.12` SAM and SAM2 multi-point prompts by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16643


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.11...v8.3.12

8.3.11

🌟 Summary
The release of Ultralytics YOLO `v8.3.11` focuses on a model naming overhaul and version synchronization for enhanced clarity.

📊 Key Changes
- 📦 Version bump from 8.3.10 to 8.3.11.
- 🔄 Model file names updated from `yolov8n` to `yolo11n` across varying export formats.
- ⚙️ Suppression of `onnx2tf` INT8-FP16 activation errors, ensuring smoother conversion processes.

🎯 Purpose & Impact
- **Naming Consistency:** By aligning model names across exports, users gain a more cohesive understanding of the model variation and version they are using. 
- **User Convenience:** The streamlined naming aids in identifying and using model exports effectively, leading to a smoother workflow for developers.
- **Error Reduction:** Addressing specific activation errors enhances the reliability and usability of the exports, particularly when using different formats for deployment.

What's Changed
* Add HUB-SDK badges to CI Docs by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16855
* Trigger GitHub Action on successful Docker Deploy by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16858
* Only trigger additional Actions on new Ultralytics releases by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16859
* Fix CI docker.yaml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16869
* Update YOLOv8n to YOLO11n in args by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16873
* Add camera device to inference sources by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16866
* `ultralytics 8.3.11` suppress `onnx2tf` INT8-FP16 act error by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16874


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.10...v8.3.11

8.3.10

🌟 Summary
The v8.3.10 release introduces support for HEIC images in predictions, which are commonly used by Apple devices. 📷

📊 Key Changes
- **HEIC Image Support:** Code enhancements allow for HEIC image loading and processing in predictions.
- **Documentation Update:** Added notes specifying that HEIC support is for inference only.
- **Version Update:** Bumped version from 8.3.9 to 8.3.10 to incorporate these modifications.

🎯 Purpose & Impact
- **Enhanced Compatibility:** Users can now use HEIC images for inference, expanding the range of compatible image formats.
- **Improved Clarity:** Documentation improvements help users understand the capabilities and limitations of HEIC support, ensuring a better user experience.

Additional updates in this release included documentation enhancements, improved image filename handling, and updates to ensure consistency in dataset names and integrative documentation. Each of these efforts contributes to smoother operation and better user clarity.

What's Changed
* Sort alphabetical integrations in docs by jk4e in https://github.com/ultralytics/ultralytics/pull/16819
* Fix empty paths while saving images with PIL bytes input by SheffeyG in https://github.com/ultralytics/ultralytics/pull/16809
* Fix typos in Tasks in docs so description matches example code by jk4e in https://github.com/ultralytics/ultralytics/pull/16825
* Fixed YOLO heads docstrings by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/16822
* Adding missing MNIST160 reference in Docs by jk4e in https://github.com/ultralytics/ultralytics/pull/16836
* `ultralytics 8.3.10` Apple iPhone HEIC support by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16853


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.9...v8.3.10

8.3.9

🌟 Summary
The latest release of Ultralytics, version 8.3.9, introduces detailed improvements to training log outputs and CSV handling, enhancing tracking and reporting capabilities for model training sessions.

📊 Key Changes
- **Version Update**: Incremented from 8.3.8 to 8.3.9.
- **Improved Training Logs**: Enhanced logging to record epochs and training durations more effectively.
- **CSV Enhancements**: Training time is now included in CSV metric outputs, enabling easier analysis.
- **batch Size Adjustment**: Dynamic adjustment of batch sizes for GPUs with over 16GB of memory.
- **Branding Updates**: Renamed default project and task identifiers from "YOLOv8" to "Ultralytics".
- **Editable Installations**: Removed editable (`-e`) pip install mode from continuous integration workflows.

🎯 Purpose & Impact
- 🕒 **Enhanced Time Tracking**: By logging training time in detail, users can better manage and evaluate the efficiency of their model training processes.
- 📈 **Better Metric Tracking**: Including training time in the CSV output simplifies performance tracking and comparative analysis across different runs.
- ⚡ **Optimized GPU Use**: Allowing larger batch sizes on high-memory GPUs enhances computational resource utilization, resulting in faster training and inference.
- 🎨 **Consistent Branding**: Unified project naming promotes a more cohesive brand identity across logging and monitoring platforms.
- 🧩 **Improved Code Maintenance**: Simplifying installations and configurations results in fewer potential errors during setup and better reliability of the development and deployment workflows.

What's Changed
* Rename loggers from YOLOv8 to Ultralytics by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16784
* AutoBatch larger batches on larger GPUs by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16785
* fix autobackend.py by lmk123568 in https://github.com/ultralytics/ultralytics/pull/16801
* Update `speed-estimation` solution by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16798
* Remove -e tag from CI by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16797
* Fix wrong parameter count while profiling by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16790
* `ultralytics 8.3.9` add training `time` to results CSV by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16803

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

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.8...v8.3.9

8.3.8

🌟 Summary
The v8.3.8 release of Ultralytics introduces performance optimizations by updating exception handling techniques throughout the codebase. 🚀

📊 Key Changes
- **Exception Handling Update**: Replaced `contextlib.suppress` with `try-except` blocks for faster exception handling.
- **Queue Management Code Enhancement**: Simplified and improved the queue management solution, making it more streamlined and user-friendly.
- **Environment Compatibility**: Improved image display logic for Colab and Kaggle environments.
- **Documentation Improvements**: Enhanced clarity and correctness of integration docs with Weights & Biases.

🎯 Purpose & Impact
- **Performance Improvement**: The use of `try-except` over `contextlib` is significantly faster (up to 4x), enhancing the application's performance.
- **Code Readability and Maintenance**: Clear exception handling increases code transparency and eases debugging and maintenance for developers.
- **User Experience**: Improved handling of queue management logic ensures a smoother workflow for users, particularly in object tracking and counting scenarios.
- **Cross-Platform Compatibility**: Fixes related to image display boost the usability for Jupyter-based notebooks, including popular cloud platforms like Colab and Kaggle.
- **Up-to-date Version**: Version bump to 8.3.8 ensures users benefit from all latest improvements and bug fixes.

What's Changed
* Fix synthetic COCO for missing labels by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16748
* Add package name to YOLO checks errors by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16770
* Prevent final val if val=False by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16776
* Fix `results.show()` for Jupyter notebooks by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16783
* Fix display of admonition in W&B docs  by jk4e in https://github.com/ultralytics/ultralytics/pull/16777
* Update `queue-management` solution by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16772
* Update usage for custom Predictor by Laughing-q in https://github.com/ultralytics/ultralytics/pull/16771
* Respect ENV value for `OMP_NUM_THREADS` if set by Burhan-Q in https://github.com/ultralytics/ultralytics/pull/16751
* `ultralytics 8.3.8` replace `contextlib` with `try` for speed by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16782


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.7...v8.3.8

8.3.7

🌟 Summary
The v8.3.7 release introduces several enhancements, with a focus on fixing argument handling for custom predictors in YOLO, along with updates for performance and stability improvements.

📊 Key Changes
- **Custom Predictor Argument Fix**: Corrected the usage of arguments in `model.predict()` to support custom predictors.
- **Docker Image Update**: The base Docker image is now upgraded to utilize PyTorch 2.4.1, with CUDA 12.1 and cuDNN 9.
- **New Script for Synthetic Datasets**: Added a function to create synthetic COCO datasets, supporting data testing and augmentation.
- **Enhanced AutoBatch Memory Management**: Improved GPU memory handling during autobatching to optimize resource usage.
- **Added `OMP_NUM_THREADS=1`**: Adjusted Docker configurations for improved CPU management and performance.

🎯 Purpose & Impact
- 🛠 **Improved Custom Predictor Functionality**: Ensures smoother operation for users implementing custom predictors, providing accurate argument handling on initialization.
- 🚀 **Performance Boost**: The Docker update incorporates the latest improvements in PyTorch, enhancing model training and inference speed.
- 🌟 **Simplified Data Handling**: The synthetic COCO dataset script facilitates the creation of testing datasets, helping developers easily prepare data for model validation.
- 🧹 **Efficient Resource Management**: Changes in autobatch memory handling and Docker configuration aim to reduce memory overhead and CPU saturation, ensuring better performance on a variety of systems.
- 📈 **Streamlined Development**: These updates collectively enhance the developer experience by optimizing workflows, reducing potential bugs, and improving code clarity.

What's Changed
* FROM pytorch/pytorch:2.4.1-cuda12.1-cudnn9-runtime by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16725
* Fix absolute stylesheet CSS path by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16726
* New `create_synthetic_coco_dataset` function by UltralyticsAssistant in https://github.com/ultralytics/ultralytics/pull/16742
* Added YOLO11 to Explorer models by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/16739
* Fix NVIDIA Typo by lakshanthad in https://github.com/ultralytics/ultralytics/pull/16728
* setuptools>=70.0.0 fix CVE-2024-6345⁠ by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16727
* AutoBatch improve cache clearing by UltralyticsAssistant in https://github.com/ultralytics/ultralytics/pull/16744
* Adding `OMP_NUM_THREADS=1` by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16747
* `ultralytics 8.3.7` custom Predictor args fix by Rick-v-E in https://github.com/ultralytics/ultralytics/pull/16734


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.6...v8.3.7

8.3.6

🌟 Summary
The latest release, v8.3.6, primarily enhances system information logging by including detailed GPU data and various improvements in system monitoring and logging functionalities.

📊 Key Changes
- **Version Update:** The software version is now updated from 8.3.5 to 8.3.6.
- **Detailed GPU Information:** Inclusion of a `get_gpu_info` function to fetch GPU specifics.
- **Enhanced System Monitoring:** Increased comprehensiveness in the `collect_system_info` module to detail hardware like disk usage.
- **Improved Training Logs:** Logging training durations and performance metrics for clearer insights.
- **Workflow Updates:** Modified PyPI publication workflow to add trusted publishing and streamline tasks.
- **Solutions Update:** Refined solutions such as workout monitoring and heatmaps for easier integration and use.
- **Refactored Code:** Improved code readability, performance optimizations, and removed redundancies.

🎯 Purpose & Impact
- **Enhanced Troubleshooting:** By logging more hardware details, users can quickly diagnose and optimize performance issues. 💻
- **Improved System Efficiency:** Optimizing PyPI workflows and internal code makes the system more efficient and less prone to errors. 🚀
- **User Clarity:** Enhanced training and system logs provide users with better tracking of model performance and durations, aiding normalization and analysis. 📊
- **Simplified User Experience:** Updates to model solution setups allow users to easily integrate and use features without deep technical modifications. 💡
- **Security & Maintenance:** Improved package publishing security through the GitHub Actions workflow ensures safer deployments. 🔒

This release focuses on enhancing user experience, improving performance insights, and strengthening system robustness with better hardware integration and easier workflow for developers and users alike.

What's Changed
* Update PyPI to trusted publisher by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16709
* Update `workouts_monitoring` solution by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16706
* Ultralytics Code Refactor https://ultralytics.com/actions by pderrenger in https://github.com/ultralytics/ultralytics/pull/16712
* Update W&B docs. by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16708
* Update `heatmaps` solution by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16720
* `ultralytics 8.3.6` improve `collect_system_info` by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16722


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.5...v8.3.6

8.3.5

🌟 Summary
The latest update in version 8.3.5 primarily improves image caching by making it more robust and efficient through disk space validation and write permissions checks.

📊 Key Changes
- ⚙️ Version updated from 8.3.4 to 8.3.5.
- 🛠️ New function for checking disk cache `check_cache_disk`.
- ⚠️ Caching process now includes checks for disk space and write permissions, providing improved warnings if issues are detected.

🎯 Purpose & Impact
- 🚀 **Enhanced Reliability**: By ensuring the system has adequate disk space and permissions before caching, it reduces the likelihood of failures, which allows for more stable training processes.
- 💾 **Resource Efficiency**: Users will experience smoother and more deterministic training runs when disk resources are managed correctly.
- 🔄 **Deterministic Training**: Provides options for using disk caching to maintain consistency during model training, given that the hardware resources meet the necessary prerequisites.

What's Changed
* Update Docs extra.js by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16663
* Add combined model plot to Docs by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16669
* Remove unused arguments in Ultralytics `heatmaps` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16667
* Add https://youtu.be/-JXwa-WlkU8 to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16685
* Clarify `stream_buffer` argument docs by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16686
* Fix `NEW` labeling for more consistency in docs  by jk4e in https://github.com/ultralytics/ultralytics/pull/16674
* Update MkDocs extra.js by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16691
* Zero mAP warning on YAML val by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16698
* Introduced `BaseSolution` class for Ultralytics solutions by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16671
* Fix and add missing infos about available CLI `TASK` commands in docs and code comments by jk4e in https://github.com/ultralytics/ultralytics/pull/16697
* Fix validator model=None by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16699
* Update docker.yaml to notify on failure once by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16700
* Fix UINT8 overflow for >255 segmentation masks by rajeshtims in https://github.com/ultralytics/ultralytics/pull/16690
* `ultralytics 8.3.5` add `cache=disk` space and writable checks by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16696

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

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.4...v8.3.5

8.3.4

🌟 Summary
The Ultralytics v8.3.4 release introduces flexible updates to project dependencies and enhances several features for better usability and performance.

📊 Key Changes
- 🔗 **Numpy Dependency Update:** Removed the upper version limit on `numpy`, now supporting any version above 1.23.0.
- 🕒 **CI Schedule Adjustment:** Changed the daily build and test schedule to 08:00 UTC for better synchronization.
- 🚀 **Improved Example Documentation:** Added a detailed example for YOLOv8 using OpenVINO in C++.
- 🔢 **Enhanced Error Handling in Export Formats:** Introduced auto-correction mechanism for export format inputs.
- 🖥️ **Device Selection Robustness:** Improved parsing logic for device identifiers such as multiple GPUs.
- 📄 **Documentation and Video Guides:** Enhanced documentation with video tutorials on MobileSAM and SAM 2 models, and updated image links for better viewing.

🎯 Purpose & Impact
- **Compatibility & Flexibility:** Unpinning the `numpy` version boosts compatibility with newer versions, simplifying dependency management and reducing potential conflicts with other packages.
- **Optimized Workflow:** The change in CI schedule aligns better with daily resource availability and developer workflows, enhancing continuous integration efficiency.
- **User Experience:** Improved error handling during export ensures users receive guidance on available formats, minimizing confusion and errors.
- **Accessibility & Education:** Video tutorials and clearer documentation aid both new and experienced users in understanding and leveraging advanced model functionalities, fostering a wider user base.
- **Performance Optimization:** The example using OpenVINO can potentially enhance inference speed and support for various hardware profiles, such as Intel platforms.

What's Changed
* Fix Raspberry Pi CI by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16620
* Update scheduled CI to 08:00 UTC by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16622
* Add https://youtu.be/yXQPLMrNX2s to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16626
* Fix overridden train_args when close_mosaic by Laughing-q in https://github.com/ultralytics/ultralytics/pull/16627
* Add contributor name for example: YOLOv8 OpenVINO CPP Inference by rlggyp in https://github.com/ultralytics/ultralytics/pull/16632
* Auto-correct for export formats by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16625
* Empty index `[0,,1]` robust device selection by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16631
* Improve `scikit-learn` support for exports by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16638
* Fixing predict docs by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/16637
* SAM: Fix labels not being used in predict mode. by Y-T-G in https://github.com/ultralytics/ultralytics/pull/16642
* Minor fix in docs for `python` admonition and code blocks by jk4e in https://github.com/ultralytics/ultralytics/pull/16646
* Update image URLs in `mobile-sam.md` and `sam-2.md`. by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/16654
* Replace YOLO11-seg table with macro  by jk4e in https://github.com/ultralytics/ultralytics/pull/16647
* `ultralytics 8.3.4` unpin `numpy<2.0.0` by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/16655


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.3...v8.3.4

8.3.3

🌟 Summary
The 'v8.3.3' release of the Ultralytics project introduces critical updates, focusing on enhancing compatibility with YOLO11 models within various components and improving consistency across different codebases and documentation.

📊 Key Changes
- Updated the Streamlit app to support YOLO11, replacing the older YOLOv8 model selection.
- Standardized color parameter descriptions across the codebase with consistent RGB tuples.
- Enhanced zero-mask plotting to improve segmentation functionalities.
- Refined documentation to transition from YOLOv8 to YOLO11, ensuring coherent guidance and examples.
- Updated Jupyter and Colab notebook references to align with YOLO11 model paths and usage.
- Adjusted configs and error reporting settings for improved clarity and user experience.

🎯 Purpose & Impact
- **Model Selection & Compatibility**: Ensures users can seamlessly work with the latest YOLO11 models, facilitating access to enhanced features and improved performance.
- **Code & Documentation Consistency**: Streamlines user and developer interactions by providing clear, standardized information, which is crucial for debugging and development.
- **Performance & Robustness**: Enhancements in the segmentation plotting and documentation no

Copy link

dagshub bot commented Oct 14, 2024

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