Skip to content

Scheduled weekly dependency update for week 44#546

Closed
pyup-bot wants to merge 9 commits intomasterfrom
pyup-scheduled-update-2024-11-04
Closed

Scheduled weekly dependency update for week 44#546
pyup-bot wants to merge 9 commits intomasterfrom
pyup-scheduled-update-2024-11-04

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Nov 4, 2024

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

Changelog

75.3.0

=======

Features
--------

- Allowed using `dict` as an ordered type in ``setuptools.dist.check_requirements`` -- by :user:`Avasam` (4575)


Bugfixes
--------

- Ensured methods in ``setuptools.modified`` preferably raise a consistent
``distutils.errors.DistutilsError`` type
(except in the deprecated use case of ``SETUPTOOLS_USE_DISTUTILS=stdlib``)
-- by :user:`Avasam` (4567)
- Fix the ABI tag when building a wheel using the debug build of Python 3.13 on Windows. Previously, the ABI tag was missing the ``"d"`` flag. (4674)
- Fix clashes for ``optional-dependencies`` in ``pyproject.toml`` and
``extra_requires`` in ``setup.cfg/setup.py``.
As per PEP 621, ``optional-dependencies`` have to be honoured and dynamic
behaviour is not allowed. (4696)


Misc
----

- 4560

75.2.0

=======

Features
--------

- Made errors when parsing ``Distribution`` data more explicit about the expected type (``tuple[str, ...] | list[str]``) -- by :user:`Avasam` (4578)


Bugfixes
--------

- Fix a `TypeError` when a ``Distribution``'s old included attribute was a `tuple` -- by :user:`Avasam` (4578)
- Add workaround for ``bdist_wheel --dist-info-dir`` errors
when customisation does not inherit from setuptools. (4684)

75.1.1

=======

Bugfixes
--------

- Re-use pre-existing ``.dist-info`` dir when creating wheels via the build backend APIs (PEP 517) and the ``metadata_directory`` argument is passed -- by :user:`pelson`. (1825)
- Changed ``egg_info`` command to avoid adding an empty ``.egg-info`` directory
while iterating over entry-points.
This avoids triggering integration problems with ``importlib.metadata``/``importlib_metadata``
(reference: pypa/pyproject-hooks206). (4680)

75.1.0

=======

Features
--------

- Deprecated ``bdist_wheel.universal`` configuration. (4617)


Bugfixes
--------

- Removed reference to upload_docs module in entry points. (4650)

75.0.0

=======

Features
--------

- Declare also the dependencies used by distutils (adds jaraco.collections).


Deprecations and Removals
-------------------------

- Removed upload_docs command. (2971)
- Merge with pypa/distutils7283751. Removed the register and upload commands and the config module that backs them (pypa/distutils294). Removed the borland compiler. Replaced vendored dependencies with natural dependencies. Cygwin C compiler now gets compilers from sysconfig (pypa/distutils296). (4649)

74.1.3

=======

Bugfixes
--------

- Fix cross-platform compilation using ``distutils._msvccompiler.MSVCCompiler`` -- by :user:`saschanaz` and :user:`Avasam` (4648)

74.1.2

=======

Bugfixes
--------

- Fixed TypeError in sdist filelist processing by adding support for pathlib Paths for the build_base. (4615)
- Removed degraded and deprecated ``test_integration`` (easy_install) from the test suite. (4632)

74.1.1

=======

Bugfixes
--------

- Fixed TypeError in ``msvc.EnvironmentInfo.return_env`` when no runtime redistributables are installed. (1902)

74.1.0

=======

Features
--------

- Added support for defining ``ext-modules`` via ``pyproject.toml``
(**EXPERIMENTAL**, may change in future releases). (4568)


Bugfixes
--------

- Merge with pypa/distutils3dcdf8567, removing the duplicate vendored copy of packaging. (4622)
- Restored ``setuptools.msvc.Environmentinfo`` as it is used externally. (4625)

74.0.0

=======

Features
--------

- Changed the type of error raised by ``setuptools.command.easy_install.CommandSpec.from_param`` on unsupported argument from `AttributeError` to `TypeError` -- by :user:`Avasam` (4548)
- Added detection of ARM64 variant of MSVC -- by :user:`saschanaz` (4553)
- Made ``setuptools.package_index.Credential`` a `typing.NamedTuple` -- by :user:`Avasam` (4585)
- Reraise error from ``setuptools.command.easy_install.auto_chmod`` instead of nonsensical ``TypeError: 'Exception' object is not subscriptable`` -- by :user:`Avasam` (4593)
- Fully typed all collection attributes in ``pkg_resources`` -- by :user:`Avasam` (4598)
- Automatically exclude ``.tox|.nox|.venv`` directories from ``sdist``. (4603)


Deprecations and Removals
-------------------------

- Removed the monkeypatching of distutils._msvccompiler. Now all compiler logic is consolidated in distutils. (4600)
- Synced with pypa/distutils58fe058e4, including consolidating Visual Studio 2017 support (4600, pypa/distutils289), removal of deprecated legacy MSVC compiler modules (pypa/distutils287), suppressing of errors when the home directory is missing (pypa/distutils278), removal of wininst binaries (pypa/distutils282). (4606)


Misc
----

- 4592

73.0.1

=======

Bugfixes
--------

- Remove `abc.ABCMeta` metaclass from abstract classes. `pypa/setuptools4503 <https://github.com/pypa/setuptools/pull/4503>`_ had an unintended consequence of causing potential ``TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases`` -- by :user:`Avasam` (#4579)

73.0.0

=======

Features
--------

- Mark abstract base classes and methods with `abc.ABC` and `abc.abstractmethod` -- by :user:`Avasam` (4503)
- Changed the order of type checks in ``setuptools.command.easy_install.CommandSpec.from_param`` to support any `collections.abc.Iterable` of `str` param -- by :user:`Avasam` (4505)


Bugfixes
--------

- Prevent an error in ``bdist_wheel`` if ``compression`` is set to a `str` (even if valid) after finalizing options but before running the command. -- by :user:`Avasam` (4383)
- Raises an exception when ``py_limited_api`` is used in a build with
``Py_GIL_DISABLED``. This is currently not supported (python/cpython111506). (4420)
- Synced with pypa/distutils30b7331 including fix for modified check on empty sources (pypa/distutils284).


Deprecations and Removals
-------------------------

- ``setuptools`` is replacing the usages of :pypi:`ordered_set` with simple
instances of ``dict[Hashable, None]``. This is done to remove the extra
dependency and it is possible because since Python 3.7, ``dict`` maintain
insertion order. (4574)


Misc
----

- 4534, 4546, 4554, 4559, 4565

72.2.0

=======

Features
--------

- Merged with pypa/distutilsb7ee725f3 including: Support for Pathlike objects in data files and extensions (pypa/distutils272, pypa/distutils237), native support for C++ compilers (pypa/distuils228) and removed unused get_msvcr() (pypa/distutils274). (4538)

72.1.0

=======

Features
--------

- Restore the tests command and deprecate access to the module. (4519) (4520)

72.0.0

=======

Deprecations and Removals
-------------------------

- The test command has been removed. Users relying on 'setup.py test' will need to migrate to another test runner or pin setuptools before this version. (931)

71.1.0

=======

Features
--------

- Added return types to typed public functions -- by :user:`Avasam`

Marked `pkg_resources` as ``py.typed`` -- by :user:`Avasam` (4409)


Misc
----

- 4492

71.0.4

=======

Bugfixes
--------

- Removed lingering unused code around Distribution._patched_dist. (4489)

71.0.3

=======

Bugfixes
--------

- Reset the backports module when enabling vendored packages. (4476)

71.0.2

=======

Bugfixes
--------

- Include all vendored files in the sdist. (4480)

71.0.1

=======

Bugfixes
--------

- Restored package data that went missing in 71.0. This change also incidentally causes tests to be installed once again. (4475)

71.0.0

=======

Deprecations and Removals
-------------------------

- Now setuptools declares its own dependencies in the ``core`` extra. Dependencies are still vendored for bootstrapping purposes, but setuptools will prefer installed dependencies if present. The ``core`` extra is used for informational purposes and should *not* be declared in package metadata (e.g. ``build-requires``). Downstream packagers can de-vendor by simply removing the ``setuptools/_vendor`` directory. Since Setuptools now prefers installed dependencies, those installing to an environment with old, incompatible dependencies will not work. In that case, either uninstall the incompatible dependencies or upgrade them to satisfy those declared in ``core``. (2825)

70.3.0

=======

Features
--------

- Support for loading distutils from the standard library is now deprecated, including use of SETUPTOOLS_USE_DISTUTILS=stdlib and importing distutils before importing setuptools. (4137)


Bugfixes
--------

- Bugfix for building Cython extension on Windows (pypa/distutils268).

70.2.0

=======

Features
--------

- Updated distutils including significant changes to support Cygwin and mingw compilers. (4444)


Bugfixes
--------

- Fix distribution name normalisation (:pep:`625`) for valid versions that are
not canonical (e.g. ``1.0-2``). (4434)

70.1.1

=======

Misc
----

- 4429

70.1.0

=======

Features
--------

- Adopted the ``bdist_wheel`` command from the ``wheel`` project -- by :user:`agronholm` (1386)
- Improve error message when ``pkg_resources.ZipProvider`` tries to extract resources with a missing Egg -- by :user:`Avasam`

Added variables and parameter type annotations to ``pkg_resources`` to be nearly on par with typeshed.\* -- by :user:`Avasam`
\* Excluding ``TypeVar`` and ``overload``. Return types are currently inferred. (4246)
- Migrated Setuptools' own config to pyproject.toml (4310)


Bugfixes
--------

- Prevent a ``TypeError: 'NoneType' object is not callable`` when ``shutil_rmtree`` is called without an ``onexc`` parameter on Python<=3.11 -- by :user:`Avasam` (4382)
- Replace use of mktemp with can_symlink from the stdlib test suite. (4403)
- Improvement for ``attr:`` directives in configuration to handle
more edge cases related to complex ``package_dir``. (4405)
- Fix accidental implicit string concatenation. (4411)


Misc
----

- 4365, 4422
Links

Update pytest from 8.2.1 to 8.3.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.1.

Changelog

1.0.1

Please see the official [Voxel51 Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-1-0-1) for details!

1.0.0

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

0.25.2

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

0.25.1

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

0.25.0

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

0.24.1

Please see the official [Voxel51 Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-0-24-1) for details.

0.24.0

Please see the official [Voxel51 Release Notes](https://docs.voxel51.com/release-notes.html#fiftyone-0-24-0) for details.
Links

Update datasets from 2.19.1 to 3.1.0.

Changelog

3.1.0

Added

-   [API] `tfds.builder_cls(name)` to access a DatasetBuilder class by name
-   [API] `info.split['train'].filenames` for access to the tf-record files.
-   [API] `tfds.core.add_data_dir` to register an additional data dir.
-   [Testing] Support for custom decoders in `tfds.testing.mock_data`.
-   [Documentation] Shows which datasets are only present in `tfds-nightly`.
-   [Documentation] Display images for supported datasets.

Changed

-   Rename `tfds.core.NamedSplit`, `tfds.core.SplitBase` -> `tfds.Split`. Now
 `tfds.Split.TRAIN`,... are instance of `tfds.Split`.
-   Rename `interleave_parallel_reads` -> `interleave_cycle_length` for
 `tfds.ReadConfig`.
-   Invert ds, ds_info argument orders for `tfds.show_examples`.

Deprecated

-   `tfds.features.text` encoding API. Please use `tensorflow_text` instead.

Removed

-   `num_shards` argument from `tfds.core.SplitGenerator`. This argument was
 ignored as shards are automatically computed.
-   Most `ds.with_options` which where applied by TFDS. Now use `tf.data`
 default.

Fixed

-   Better error messages.
-   Windows compatibility.

3.0.0

Added

-   `DownloadManager` is now pickable (can be used inside Beam pipelines).
-   `tfds.features.Audio`:
 -   Support float as returned value.
 -   Expose sample_rate through `info.features['audio'].sample_rate`.
 -   Support for encoding audio features from file objects.
-   More datasets.

Changed

-   New `image_classification` section. Some datasets have been move there from
 `images`.
-   `DownloadConfig` does not append the dataset name anymore (manual data
 should be in `<manual_dir>/` instead of `<manual_dir>/<dataset_name>/`).
-   Tests now check that all `dl_manager.download` urls has registered
 checksums. To opt-out, add `SKIP_CHECKSUMS = True` to your
 `DatasetBuilderTestCase`.
-   `tfds.load` now always returns `tf.compat.v2.Dataset`. If you're using still
 using `tf.compat.v1`:
 -   Use `tf.compat.v1.data.make_one_shot_iterator(ds)` rather than
     `ds.make_one_shot_iterator()`.
 -   Use `isinstance(ds, tf.compat.v2.Dataset)` instead of `isinstance(ds,
     tf.data.Dataset)`.

Deprecated

-   The `tfds.features.text` encoding API is deprecated. Please use
 [tensorflow_text](https://www.tensorflow.org/tutorials/tensorflow_text/intro)
 instead.
-   `num_shards` argument of `tfds.core.SplitGenerator` is currently ignored and
 will be removed in the next version.

Removed

-   Legacy mode `tfds.experiment.S3` has been removed
-   `in_memory` argument has been removed from `as_dataset`/`tfds.load` (small
 datasets are now auto-cached).
-   `tfds.Split.ALL`.

Fixed

-   Various bugs, better error messages, documentation improvements.
Links

Update ultralytics from 8.2.48 to 8.3.27.

Changelog

8.3.27

🌟 Summary
The `v8.3.27` release for Ultralytics primarily includes improvements in repository management and default training settings, alongside several enhancements to benchmarking and export functionality.

📊 Key Changes
- **Default Training Epochs**: Set a fallback of 100 epochs in `trainer.py` if no specific value is provided.
- **Author Information Update**: Refreshed GitHub avatars and usernames for contributors in documentation.
- **Removal of Jupyter Checks**: Cleaned up unnecessary checks for Jupyter notebooks in `checks.py`.
- **Benchmark Visualization**: Introduced interactive benchmark graphs in `benchmark.md` allowing dynamic model comparison through selectable checkboxes.
- **Export Compatibility**: Added checks to skip MNN export tests on Raspberry Pi and NVIDIA Jetson due to known unsupported issues.

🎯 Purpose & Impact
- 🔧 **Enhanced Training Robustness**: By setting a default epoch, training processes are safeguarded against accidental misconfiguration, ensuring a more reliable setup for users.
- 🏷️ **Better Attribution**: Updating author profiles ensures that contributors receive the correct recognition, improving engagement and transparency in the community.
- 🛠️ **Clean Codebase**: Removing obsolete Jupyter checks streamlines the code, making the library more efficient and easier to maintain.
- 📊 **User-Friendly Benchmarking**: The addition of visual tools for model comparison makes it easier for users to evaluate performance metrics, aiding in informed decision-making.
- 🛡️ **Compatibility Safeguards**: Preventing exports to MNN format on unsupported devices avoids potential errors and enhances user experience by providing clear usage boundaries.

What's Changed
* Add model comparison graphs in `benchmark.md` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17212
* Skip MNN export for Raspberry Pi and NVIDIA Jetson by lakshanthad in https://github.com/ultralytics/ultralytics/pull/17292
* Benchmark graph fix by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17296
* `ultralytics 8.3.27` HUB timed training fix by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17298


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.26...v8.3.27

8.3.26

🌟 Summary
The release of Ultralytics version 8.3.26 focuses on enhancing performance for pose estimation tasks, improving export functionality for various formats, and incorporating user-centric updates for ease of use.

📊 Key Changes
- **Pose Task Enhancements:** Improved scaling for pose coordinates to boost accuracy in pose estimation tasks.
- **Export Improvements:** Enhanced export support, including numerical stability for TFLite and EdgeTPU, and formatting fixes for NCNN.
- **Documentation Updates:** Revised default models in example files and documentation for clarity and accuracy.
- **Export Order Fix:** Adjusted test order for MNN and NCNN formats to avoid CI errors on Windows systems.
- **Case-insensitive Optimizers:** Made optimizer selection process case-insensitive.
- **Auto Annotation Customization:** Added new parameters (confidence, IoU, image size) for more flexible image auto-annotation.

🎯 Purpose & Impact
- **Enhanced Precision:** Improved pose estimation allows more accurate tracking of movements, crucial for applications in sports analysis, healthcare, and more.
- **Expanded Versatility:** With better export support, models can be used on more diverse hardware platforms seamlessly.
- **User Experience:** Documentation and usability updates help users gain quicker, more straightforward access to advanced features and models.
- **Platform Stability:** Ordering tests correctly means smoother application durability, especially for Windows users running CI processes.
- **Simplified Workflow:** Case-insensitive optimizer names and auto-annotation parameter flexibility reduce potential friction for users, promoting a more efficient development process.

What's Changed
* Update `sam.md` and `sam-2.md`  by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17286
* Update examples/README.md by dme-compunet in https://github.com/ultralytics/ultralytics/pull/17284
* Patch MNN test order bug by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17290
* Case-insensitive optimizer name by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17287
* Auto annotation new parameters for SAM models  by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17288
* `ultralytics 8.3.26` EdgeTPU Pose models fix by Laughing-q in https://github.com/ultralytics/ultralytics/pull/17281


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.25...v8.3.26

8.3.25

🌟 Summary
The `v8.3.25` release of Ultralytics brings a major update with the introduction of support for the Alibaba MNN (Mobile Neural Network) format, enabling better deployment of YOLO models on mobile and embedded systems.

📊 Key Changes
- **Alibaba MNN Support**: Added the ability to export and predict with YOLO models in the MNN format.
- **Integration Updates**: Documentation and integration guides have been enhanced to include MNN details.
- **Improved ONNX Runtime**: The ONNX Runtime has been optimized for faster inference, reducing overheads and improving performance, allowing for efficient handling of dynamic and static shape inferences. 
- **Tracking Improvements**: Lowered default confidence thresholds for trackers to align with detection predictions, facilitating better tracking performance.

🎯 Purpose & Impact
- **Enhanced Mobile Deployment**: With MNN support, users can deploy models with high efficiency on mobile and ARM devices, allowing for more versatile applications.
- **Performance Optimization**: Faster ONNX inference ensures reduced runtime and improved speed, which is particularly beneficial for applications requiring real-time processing.
- **User-Friendly**: Updated thresholds for tracking models now provide more intuitive operations, aligning the outputs of tracking systems with user expectations.
- **Streamlined Updates**: Improved configuration and integration steps reduce friction during the setup of modern AI workflows, enhancing overall usability and user satisfaction.

What's Changed
* Fix arbitrary imgsz for TFLite by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/17138
* Example ORT==2.0.0-rs.5 to support onnxruntime==1.19.x by yawnBright in https://github.com/ultralytics/ultralytics/pull/16962
* Update Triton Inference Server guide by Y-T-G in https://github.com/ultralytics/ultralytics/pull/17059
* Faster ONNX inference with bindings by Y-T-G in https://github.com/ultralytics/ultralytics/pull/17184
* Notify only on first CI run by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17241
* Decrease default confidence threshold to start tracking new tracks by Y-T-G in https://github.com/ultralytics/ultralytics/pull/17172
* Update publish.yml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17251
* Pin `ray` `numpy<=2.0.0` test by Laughing-q in https://github.com/ultralytics/ultralytics/pull/17245
* Update notebooks by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17260
* Fix missing argument by Laughing-q in https://github.com/ultralytics/ultralytics/pull/17253
* Update triton-inference-server.md by Y-T-G in https://github.com/ultralytics/ultralytics/pull/17252
* Disable Ray tests by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17266
* `ultralytics 8.3.25` Alibaba MNN export and predict support by wangzhaode in https://github.com/ultralytics/ultralytics/pull/16802

New Contributors
* yawnBright made their first contribution in https://github.com/ultralytics/ultralytics/pull/16962
* wangzhaode made their first contribution in https://github.com/ultralytics/ultralytics/pull/16802

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.24...v8.3.25

8.3.24

🌟 Summary
The latest update, version 8.3.24, includes enhancements to YOLO's prediction module, improved documentation for NVIDIA Jetson deployments, and compatibility fixes for macOS users among other changes.

📊 Key Changes
- **SAM Predict Box Enhancement**: Updated `postprocess` function to handle predictions more robustly, ensuring default bounding boxes are correctly initialized when no masks are detected.
- **Improved Documentation**: NVIDIA Jetson guide updated from YOLOv8 to YOLO11 for better deployment clarity.
- **macOS Compatibility**: Restricted `numpy` version to address compatibility issues with OpenVINO on macOS.
- **CI/CD Optimization**: Updated GitHub Actions to improve disk cleanup efficiency and streamlined CI trigger conditions.

🎯 Purpose & Impact
- **Robust Predictions**: The SAM update ensures that even when no objects are detected, prediction processes do not fail, maintaining operational reliability for various applications.
- **Ease of Deployment**: Updated Jetson documentation supports users transitioning to the latest YOLO11, ensuring they leverage new capabilities for AI tasks.
- **Platform Stability**: By pinning `numpy` versions, macOS users experience fewer issues during model exports, improving user experience.
- **Efficient Development Processes**: Changes in CI/CD workflows optimize resource use, leading to faster and more cost-effective software development cycles. 🚀

These updates collectively enhance YOLO's usability, stability, and performance in diverse environments, benefiting both developers and non-expert users.

What's Changed
* Update OBB predict examples with boats.jpg by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17052
* Add explorer depreciation message in `datasets/index.md` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17179
* Ultralytics Cleanup Disk action in docker.yaml by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17194
* Disable HUB CI temporarily by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17196
* Pin `numpy<=2.0.0` on macOS by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17221
* Update NVIDIA Jetson Guide with YOLO11 by lakshanthad in https://github.com/ultralytics/ultralytics/pull/17206
* Fix EdgeTPU wrong PyTorch device by Skillnoob in https://github.com/ultralytics/ultralytics/pull/17199
* Adds permissions for stale workflow by Burhan-Q in https://github.com/ultralytics/ultralytics/pull/17183
* `ultralytics 8.3.24` SAM fix `pred_boxes` when no objects segmented by Laughing-q in https://github.com/ultralytics/ultralytics/pull/17215


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.23...v8.3.24

8.3.23

🌟 Summary
The `v8.3.23` release of Ultralytics YOLO introduces stability improvements by fixing a bug in the data conversion process, updating versioning, and refining user settings and documentation.

📊 Key Changes
- **Version Update**: The software version is updated from 8.3.22 to 8.3.23.
- **Bug Fix in Data Conversion**: Ensures `yolo_bbox2segment` skips generating empty segment lists, preventing potential errors.
- **Reduced Python Warnings**: Edited Python version check to minimize console spam.
- **Documentation Update**: Corrected export format examples for INT8 quantization, aligning with TensorRT capabilities.
- **W&B Logger Default**: Weights & Biases logging is now disabled by default.
- **Environment Detection**: Enhanced accuracy for identifying Jupyter environments.

🎯 Purpose & Impact
- 🚀 **Improved Stability**: Fixing the bug in data conversion leads to more reliable performance during bounding box to segment transformations.
- 📉 **Cleaner Console**: Less console clutter from Python checks makes for a smoother user experience.
- 📝 **Clearer Documentation**: Updated docs guide users on proper export procedures, easing model deployment tasks.
- 📈 **Optimized Resource Use**: Disabling Weights & Biases by default reduces unnecessary compute and network usage unless needed.
- 🧠 **Reliable Environment Behavior**: Accurate environment detection prevents misidentification in diverse setups, adapting better to where the software runs.

What's Changed
* Fix Python warning spam by Y-T-G in https://github.com/ultralytics/ultralytics/pull/17162
* Fix inaccurate example in Export docs by Y-T-G in https://github.com/ultralytics/ultralytics/pull/17161
* Default W&B setting `False` by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17164
* `ultralytics 8.3.23` fix `bbox2segment` when no segments generated by Laughing-q in https://github.com/ultralytics/ultralytics/pull/17157


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.22...v8.3.23

8.3.22

🌟 Summary
The Ultralytics v8.3.22 release brings significant improvements by integrating the SAM 2.1 model, enhancing segmentation capabilities, and implementing various fixes and updates for better user experience and functionality.

📊 Key Changes
- **SAM 2.1 Integration**: Introduces support for the SAM 2.1 model across all scales, upgrading pre-trained weights to version 8.3.0.
- **Device Handling Fix**: Improves logic for exporting models to TensorRT, ensuring correct device processing.
- **Configuration Updates**: Streamlines solution-specific default configurations directly within the code.
- **Binder Integration**: Adds a Binder badge to allow running Ultralytics in an interactive Jupyter notebook environment.

🎯 Purpose & Impact
- **Improved Segmentation**: SAM 2.1 enhances segmentation accuracy with advanced algorithms and features like spatial memory handling and temporal encoding, benefiting users needing precise object segmentation. 🎨
- **Robust Exporting**: Fixes in device handling bolster reliability when exporting models, preventing potential errors and aiding in smoother operation. ⚙️
- **User Experience Enhancement**: The consolidation of configuration management reduces complexity, providing a more seamless user setup process. 🛠️
- **Accessibility**: The Binder integration makes Ultralytics more accessible, allowing users to easily experiment with the software in a flexible, online environment. 🌐

What's Changed
* Fix DLA export when device=None by Laughing-q in https://github.com/ultralytics/ultralytics/pull/17128
* Enable default cfg for similar args in solutions. by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17112
* Add Binder Notebook badge by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17074
* `ultralytics 8.3.22` SAM2.1 integration by Laughing-q in https://github.com/ultralytics/ultralytics/pull/17131


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.21...v8.3.22

8.3.21

🌟 Summary
The 'v8.3.21' release for Ultralytics introduces NVIDIA Deep Learning Accelerator (DLA) export support, alongside several documentation and usability enhancements.

📊 Key Changes
- **NVIDIA DLA Support**: Added export options for NVIDIA DLA on Jetson devices, allowing more energy-efficient model inference.
- **Documentation Updates**: Clarified guides on using TensorRT and DLA for Jetson devices. Updated image URLs in documentation for consistency.
- **Comet Integration**: Improved logging of plots and metrics for better tracking in Comet during model training and evaluation.
- **Parameter Additions**: Introduced `project` and `name` parameters to better organize prediction and validation outputs.
- **Dataset Naming Standardization**: Changed "Roboflow 100" to "RF100" for documentation precision.

🎯 Purpose & Impact
- **Energy Efficiency**: Utilizing NVIDIA DLA can significantly reduce power consumption during inference on Jetson devices, though with some added latency. This is ideal for energy-conscious applications. ⚡
- **Enhanced User Experience**: Updated documentation provides clearer, more accessible information, and new parameters help in managing results more effectively. 📘
- **Improved Metric Tracking**: Expanded Comet integration enhances the ability to monitor and analyze different metrics, supporting comprehensive model evaluation. 📊
- **Consistency and Reliability**: Documentation improvements ensure that links and names are up-to-date, preventing broken references and confusion. 🔗

What's Changed
* Update YOLO11 comparison plots by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17097
* Add YOLO publication notice in Docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/17095
* Add `project` and `name` args to docs for predict and val task by Y-T-G in https://github.com/ultralytics/ultralytics/pull/17114
* Comet integration fix by yaricom in https://github.com/ultralytics/ultralytics/pull/17099
* Update datasets index.md by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17098
* `ultralytics 8.3.21` NVIDIA DLA export support by justincdavis in https://github.com/ultralytics/ultralytics/pull/16449

New Contributors
* justincdavis made their first contribution in https://github.com/ultralytics/ultralytics/pull/16449
* yaricom made their first contribution in https://github.com/ultralytics/ultralytics/pull/17099

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.20...v8.3.21

8.3.20

🌟 Summary
The release of Ultralytics version 8.3.20 introduces improvements for efficiency and usability in both training logging and Docker image compatibility.

📊 Key Changes
- **W&B Integration Fix**: Adjusted the Weights & Biases logging to prevent errors when plots are deliberately disabled by the user.
- **Docker Update**: Updated the base Docker image to use a more recent version of PyTorch.
- **Pretrained Model Documentation**: Added examples for using pretrained YOLO models with Open Images Dataset V7.

🎯 Purpose & Impact
- **Improvement in Efficiency**: The W&B logging fix optimizes the training process by avoiding unnecessary plotting operations, thereby saving computational resources. 📉
- **Enhanced Compatibility**: By updating the Docker's PyTorch version, users benefit from potential performance boosts and better support for current CUDA features, facilitating more efficient processing. 🚀
- **Better Usability**: The addition of code examples for pretrained models makes it easier for users to implement sophisticated AI functionality without a steep learning curve, boosting productivity and accessibility in AI projects. 🧑‍💻

What's Changed
* Dockerfile FROM pytorch/pytorch:2.5.0-cuda12.4-cudnn9-runtime by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/17094
* Add Open Images Dataset V7 pretrained model usage examples by Y-T-G in https://github.com/ultralytics/ultralytics/pull/17090
* `ultralytics 8.3.20` W&B `plots=False` logging fix by Anzhc in https://github.com/ultralytics/ultralytics/pull/17088

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

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.19...v8.3.20

8.3.19

🌟 Summary
The release of `ultralytics v8.3.19` provides important updates to the TensorRT support, removing specific versions that caused issues to enhance stability and compatibility.

📊 Key Changes
- **TensorRT Updates**: Removed the version pinning for `tensorrt-cu12` from version `10.1.0`, which was previously causing issues.
- **Documentation Improvements**: Enhanced the script for building documentation with better URL handling and added the ability to trigger documentation publishing manually.

🎯 Purpose & Impact
- **Stability Enhancements**: By excluding TensorRT version `10.1.0`, where known issues were present, this release aims to make model exports more reliable, particularly when using TensorRT.
- **Broader Compatibility**: Allowing compatibility with more versions of TensorRT can lead to reduced installation issues and more flexible deployment across different systems.
- **User Experience**: Improved handling of links in documentation ensures that users can navigate resources easily, and the added language support in themes expands accessibility.
- **Simplified Code Examples**: Adjustments in notebook examples make it easier for developers to perform tasks like heatmap generation and object counting using the YOLO model, streamlining initial setups.

These updates cater to both developers who require stable deployments and non-expert users who benefit from improved documentation and example simplifications. Each change reflects Ultralytics' commitment to improving performance and user experience. 🚀

What's Changed
* Fix build_docs regex for trailing URL periods by pderrenger in https://github.com/ultralytics/ultralytics/pull/17036
* Fix MNIST link by pderrenger in https://github.com/ultralytics/ultralytics/pull/17038
* Improve Docs

@dagshub
Copy link

dagshub bot commented Nov 4, 2024

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #549

@pyup-bot pyup-bot closed this Nov 11, 2024
@guysmoilov guysmoilov deleted the pyup-scheduled-update-2024-11-04 branch November 11, 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