Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Apr 7, 2025

Update sphinx from 7.3.7 to 8.3.0.

Changelog

8.3.0

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

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

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

Deprecated
----------

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

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

Testing
-------
Links

Update furo from 2024.5.6 to 2024.8.6.

Changelog

2024.08.06

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

2024.07.18

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

Update sphinx-autobuild from 2024.4.16 to 2024.10.3.

Changelog

2024.10.03

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

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

2024.10.02

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

* Show the changed paths that triggered the rebuild.

2024.09.19

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

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

2024.09.18

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

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

2024.09.17

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

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

2024.09.03

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

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

Update sphinx-click from 5.0.1 to 6.0.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update sphinx-autodoc-typehints from 2.3.0 to 3.1.0.

Changelog

3.1.0

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

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

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

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

3.0.1

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

What's Changed
* Fix roles for `types` module by flying-sheep in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/516
* Update Ruff to 0.9.1 by flying-sheep in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/517


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

3.0.0

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

What's Changed
* 🐛 Replace docutils private API use w/ public by webknjaz in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/507
* Drop support for nptyping by gaborbernat in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/514

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

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

2.5.0

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

What's Changed
* Fix the type checker by gaborbernat in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/493
* Apply typehints_formatter to signature by Priyansh121096 in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/494

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

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

2.4.4

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



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

2.4.3

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



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

2.4.2

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

What's Changed
* Improve the CI by gaborbernat in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/485


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

2.4.1

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

What's Changed
* Fix placement of return type when there is a doctest by hoodmane in https://github.com/tox-dev/sphinx-autodoc-typehints/pull/482


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

2.4.0

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

- Drop 3.9 support
- Add 3.13 support
- Bump dependencies

**Full Changelog**: https://github.com/tox-dev/sphinx-autodoc-typehints/compare/2.3.0...2.4.0
Links

Update setuptools from 70.0.0 to 78.1.0.

Changelog

78.1.0

=======

Features
--------

- Restore access to _get_vc_env with a warning. (4874)

78.0.2

=======

Bugfixes
--------

- Postponed removals of deprecated dash-separated and uppercase fields in ``setup.cfg``.
All packages with deprecated configurations are advised to move before 2026. (4911)

78.0.1

=======

Misc
----

- 4909

78.0.0

=======

Bugfixes
--------

- Reverted distutils changes that broke the monkey patching of command classes. (4902)


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

- Setuptools no longer accepts options containing uppercase or dash characters in ``setup.cfg``.
Please ensure to write the options in ``setup.cfg`` using the :wiki:`lower_snake_case <Snake_case>` convention
(e.g. ``Name => name``, ``install-requires => install_requires``).
This is a follow-up on deprecations introduced in
`v54.1.0 <https://setuptools.pypa.io/en/latest/history.html#v54-1-0>`_ (see 1608) and
`v54.1.1 <https://setuptools.pypa.io/en/latest/history.html#v54-1-1>`_ (see 2592).

.. note::
  This change *does not affect configurations in* ``pyproject.toml``
  (which uses the :wiki:`lower-kebab-case <Letter_caseKebab_case>` convention following the precedent set in :pep:`517`/:pep:`518`). (4870)


Misc
----

- 4904

77.0.3

=======

Bugfixes
--------

- Temporarily convert error for license glob patterns containing ``../`` into a deprecation warning
to allow an accomodation period. (4896)
- Better error messages for ``packaging.licenses`` import errors in environments with ``packaging<24.2``\.
The import statement was also deferred to spare users that are not using
license expressions. (4898)
- Avoided eagerly raising an exception when ``license-files`` is defined
simultaneously inside and outside of ``pyproject.toml``.
Instead we rely on the existing deprecation error. (4899)

77.0.2

=======

Bugfixes
--------

- Restore ``distutils.ccompiler._default_compilers`` -- by :user:`ManiacDC` (4876)
- Fixed copy pasta in ``msvc.shared_lib_format``\. (4885)

77.0.1

=======

Bugfixes
--------

- Manually fix news fragment entries causing CI to crash when building docs. (4891)

77.0.0

=======

Features
--------

- Added initial support for license expression (PEP :pep:`639 <639add-license-expression-field>`). -- by :user:`cdce8p` (4706)
- Store ``License-File``\s in ``.dist-info/licenses`` subfolder and added support for recursive globs for ``license_files`` (PEP :pep:`639 <639add-license-expression-field>`). -- by :user:`cdce8p` (4728)
- Bump core metadata version to ``2.4``\. -- by :user:`cdce8p` (4830)
- Updated vendored copy of ``wheel`` to ``v0.45.1``\. (4869)


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

- Added initial implementation of :pep:`639`.
Users relying on pre- :pep:`639` implementation details
(like precise license file paths inside ``dist-info`` directory)
may need to adjust their code base to avoid problems.
Deprecations and stronger validation were also introduced (4829).
- Added exception (or warning) when deprecated license classifiers are used,
according to PEP :pep:`639 <639deprecate-license-classifiers>`. (4833)
- Deprecated ``tools.setuptools.license-files`` in favor of ``project.license-files``
and added exception if ``project.license-files`` and ``tools.setuptools.license-files``
are used together. -- by :user:`cdce8p` (4837)
- Deprecated ``project.license`` as a TOML table in
``pyproject.toml``\. Users are expected to move towards using
``project.license-files`` and/or SPDX expressions (as strings) in
``pyproject.license``\.
See PEP :pep:`639 <639deprecate-license-key-table-subkeys>`. (4840)
- Added simple validation for given glob patterns in ``license-files``\:
a warning will be generated if no file is matched.
Invalid glob patterns can raise an exception.
-- thanks :user:`cdce8p` for contributions. (4838)


Misc
----

- 4734

76.1.0

=======

Features
--------

- In setuptools.msvc.EnvironmentInfo, now honor the correct paths when on an ARM host. (4786)


Bugfixes
--------

- Restored implicit distutils.ccompiler import for g-ir-scanner. (4871)
- Restore ``distutils.ccompiler.compiler_class`` -- by :user:`Avasam` (4876)

76.0.0

=======

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

- Synced with pypa/distutils5589d7527 including a simplified shebang generation when building scripts (4863). (4865)

75.9.1

=======

Bugfixes
--------

- Fix ImportError in distutils when configuring for linking. (4866)

75.9.0

=======

Features
--------

- Synced with pypa/distutils91f75bb98 including exporting of PyInit_pkg (pypa/distutils327) and a refactoring of the compiler classes into distutils.compilers (pypa/distutils295). (4852)

75.8.2

=======

Bugfixes
--------

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

75.8.1

=======

Bugfixes
--------

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

75.8.0

=======

Features
--------

- Implemented ``Dynamic`` field for core metadata (as introduced in PEP 643).
The existing implementation is currently experimental and the exact approach
may change in future releases. (4698)

75.7.0

=======

Features
--------

- Synced with pypa/distutilsc97a3db2f including better support for free threaded Python on Windows (pypa/distutils310), improved typing support, and linter accommodations. (4478)
- Synced with pypa/distutilsff11eed0c including bugfix for duplicate CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (4669). (4790)

75.6.0

=======

Features
--------

- Preserve original ``PKG-INFO`` into ``METADATA`` when creating wheel
(instead of calling ``wheel.metadata.pkginfo_to_metadata``).
This helps to be more compliant with the flow specified in PEP 517. (4701)
- Changed the ``WindowsSdkVersion``, ``FrameworkVersion32`` and ``FrameworkVersion64`` properties of ``setuptools.msvc.PlatformInfo`` to return an empty `tuple` instead of `None` as a fallthrough case --  by :user:`Avasam` (4754)

75.5.0

=======

Features
--------

- Removed support for ``SETUPTOOLS_DANGEROUSLY_SKIP_PYPROJECT_VALIDATION``, as it
is deemed prone to errors. (4746)

75.4.0

=======

Features
--------

- Added support for the environment variable
``SETUPTOOLS_DANGEROUSLY_SKIP_PYPROJECT_VALIDATION=true``, allowing users to bypass
the validation of ``pyproject.toml``.
This option should be used only as a last resort when resolving dependency
issues, as it may lead to improper functioning.
Users who enable this setting are responsible for ensuring that ``pyproject.toml``
complies with setuptools requirements. (4611)

.. attention::
  This environment variable was removed in a later version of ``setuptools``.

- Require Python 3.9 or later. (4718)
- Remove dependency on ``importlib_resources``
and the vendored copy of the library.
Instead, ``setuptools`` consistently rely on stdlib's ``importlib.resources``
(available on Python 3.9+). (4718)
- Setuptools' ``bdist_wheel`` implementation no longer produces wheels with
the ``m`` SOABI flag (pymalloc-related).
This flag was removed on Python 3.8+ (see :obj:`sys.abiflags`). (4718)
- Updated vendored packaging version to 24.2. (4740)


Bugfixes
--------

- Merge with pypa/distutils251797602, including fix for dirutil.mkpath handling in pypa/distutils304.

75.3.2

=======

- Fixed version error in changelog.

75.3.1

=======

Bugfixes
--------

- Fix wheel file naming to follow binary distribution specification -- by :user:`di` (4877)

75.3.0

=======

Features
--------

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


Bugfixes
--------

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


Misc
----

- 4560

75.2.0

=======

Features
--------

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


Bugfixes
--------

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

75.1.1

=======

Bugfixes
--------

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

75.1.0

=======

Features
--------

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


Bugfixes
--------

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

75.0.0

=======

Features
--------

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


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

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

74.1.3

=======

Bugfixes
--------

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

74.1.2

=======

Bugfixes
--------

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

74.1.1

=======

Bugfixes
--------

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

74.1.0

=======

Features
--------

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


Bugfixes
--------

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

74.0.0

=======

Features
--------

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


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

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


Misc
----

- 4592

73.0.1

=======

Bugfixes
--------

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

73.0.0

=======

Features
--------

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


Bugfixes
--------

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


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

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


Misc
----

- 4534, 4546, 4554, 4559, 4565

72.2.0

=======

Features
--------

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

72.1.0

=======

Features
--------

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

72.0.0

=======

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

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

71.1.0

=======

Features
--------

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

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


Misc
----

- 4492

71.0.4

=======

Bugfixes
--------

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

71.0.3

=======

Bugfixes
--------

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

71.0.2

=======

Bugfixes
--------

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

71.0.1

=======

Bugfixes
--------

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

71.0.0

=======

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

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

70.3.0

=======

Features
--------

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


Bugfixes
--------

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

70.2.0

=======

Features
--------

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


Bugfixes
--------

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

70.1.1

=======

Misc
----

- 4429

70.1.0

=======

Features
--------

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

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


Bugfixes
--------

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


Misc
----

- 4365, 4422
Links

Update pytest from 8.2.1 to 8.3.5.

Changelog

8.3.3

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

Bug fixes
---------

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


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


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


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


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


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


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

-- by :user:`GTowers1`



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

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


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



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

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

8.3.2

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

Bug fixes
---------

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

-- by :user:`RonnyPfannschmidt`

8.3.1

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

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

8.3.0

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

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

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

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

Some history:

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

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

-- by :user:`okken`


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

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

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

-- by :user:`lovetheguitar`


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

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

-- by :user:`pbrezina`



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

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


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


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


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

Earlier, it was like:

.. code-block:: console

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

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

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


And now it's like:

.. code-block:: console

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

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

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


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



Bug fixes
---------

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

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


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


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

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

The fix necessitated internal changes which may affect some plugins:

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


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


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


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


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


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


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


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


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



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

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


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

-- by :user:`webknjaz`


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



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

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

-- by :user:`RonnyPfannschmidt`


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

-- by :user:`x612skm`


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

.. code-block:: console

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

-- by :user:`webknjaz`


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

-- by :user:`webknjaz`


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

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

-- by :user:`webknjaz`


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

-- by :user:`webknjaz`


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


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

-- by :user:`webknjaz`


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

-- by :user:`webknjaz`


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

8.2.2

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

Bug Fixes
---------

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


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


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



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

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


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


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

Update respx from 0.21.1 to 0.22.0.

Changelog

0.22.0

Fixed

- Support HTTPX 0.28.0, thanks ndhansen (278)

Removed

- Drop support for Python 3.7, to align with HTTPX 0.25.0 (280)

CI

- Update CI test to not fail fast and cancel workflows, thanks flaeppe (269)
- Add dependabot to check GitHub actions packages, thanks flaeppe (268)
- Add Python 3.13 to test suite, thanks jairhenrique (283)
Links

Update pytest-env from 1.1.3 to 1.1.5.

Changelog

1.1.5

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

What's Changed
* Improve the CI by gaborbernat in https://github.com/pytest-dev/pytest-env/pull/101


**Full Changelog**: https://github.com/pytest-dev/pytest-env/compare/1.1.4...1.1.5

1.1.4

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



**Full Changelog**: https://github.com/pytest-dev/pytest-env/compare/1.1.3...1.1.4
Links

Update fiftyone from 0.23.8 to 1.4.1.

Changelog

1.4.1

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

1.4.0

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

1.3.2

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

1.3.1

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

1.3.0

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

1.2.0

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

1.1.0

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

1.0.2

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

1.0.1

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

1.0.0

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

0.25.2

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

0.25.1

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

0.25.0

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

0.24.1

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

0.24.0

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

Update datasets from 2.19.1 to 3.5.0.

Changelog

3.2.1

Fixed

-   Issue with GCS on Windows.

3.2.0

Added

-   [API] `tfds.ImageFolder` and `tfds.TranslateFolder` to easily create custom
 datasets with your custom data.
-   [API] `tfds.ReadConfig(input_context=)` to shard dataset, for better
 multi-worker compatibility (1426).
-   [API] The default `data_dir` can be controlled by the `TFDS_DATA_DIR`
 environment variable.
-   [API] Better usability when developing datasets outside TFDS: downloads are
 always cached, checksums are optional.
-   Scripts to help deployment/documentation (Generate catalog documentation,
 export all metadata files, ...).
-   [Documentation] Catalog display images
 ([example](https://www.tensorflow.org/datasets/catalog/sun397#sun397standard-part2-120k)).
-   [Documentation] Catalog shows which dataset have been recently added and are
 only available in `tfds-nightly`
 <span class="material-icons">nights_stay</span>.
-   [API] `tfds.show_statistics(ds_info)` to display
 [FACETS OVERVIEW](https://pair-code.github.io/facets/). Note: This require
 the dataset to have been generated with the statistics.

Deprecated

-   `tfds.features.text` encoding API. Please use
 [tensorflow_text](https://www.tensorflow.org/tutorials/tensorflow_text/intro)
 instead.

Removed

-   `tfds.load('image_label_folder')` in favor of the more user-friendly
 `tfds.ImageFolder`.

Fixed

-   Fix deterministic example order on Windows when path was used as key (this
 only impacts a few datasets). Now example order should be the same on all
 platforms.
-   Misc performances improvements for both generation and reading (e.g. use
 `__slot__`, fix parallelisation bug in `tf.data.TFRecordReader`, ...).
-   Misc fixes (typo, types annotations, better error messages, fixing dead
 links, better windows compatibility, ...).

3.1.0

Added

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

Changed

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

Deprecated

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

Removed

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

Fixed

-   Better error messages.
-   Windows compatibility.

3.0.0

Added

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

Changed

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

Deprecated

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

Removed

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

Fixed

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

Update ultralytics from 8.3.47 to 8.3.103.

Changelog

8.3.103

🌟 Summary
The `v8.3.103` release introduces a significant enhancement to hyperparameter tuning with the new RayTune `resume=True` functionality, alongside other updates improving model usability, stability, and documentation.

📊 Key Changes
- **RayTune Resumable Tuning**:
- Added `resume=True` functionality for RayTune, allowing interrupted hyperparameter tuning sessions to be resumed seamlessly.
- Automatically detects previous tuning runs and resumes from the last iteration.
- Improved logging and directory handling for better user experience during tuning.
- **Instance Segmentation Enhancements**:
- Refactored the `InstanceSegmentation` class to streamline mask plotting and annotation.
- Introduced new configuration options (`show_conf`, `show_labels`, `show_boxes`) for better control over displayed annotations.
- **CoreML Updates**:
- Increased CoreML `specificationVersion` from 5 to 9 for enhanced compatibility.
- Lowered the minimum deployment target to iOS 15, broadening device support.
- **Dependency Fixes**:
- Pinned `shapely` to `<2.1.0` and `streamlit` to `<1.44.0` to ensure compatibility and stability.
- **Documentation Improvements**:
- Updated various guides and examples for better clarity and usability.
- Enhanced FLOPs calculation logic and added detailed annotations for improved developer experience.

🎯 Purpose & Impact
- **Efficient Hyperparameter Tuning**:
- The new RayTune `resume=True` feature saves time and resources by allowing users to continue interrupted tuning sessions without starting over.
- Simplifies workflows for users conducting extensive hyperparameter searches.
- **Improved Visualization**:
- Enhanced instance segmentation plotting provides clearer and more customizable annotations, making results easier to interpret.
- **Broader Compatibility**:
- CoreML updates ensure better support for Apple devices, including older iOS versions, and improve export functionality.
- **Stability and Reliability**:
- Dependency fixes prevent potential issues with future library updates, ensuring smoother user experiences.
- **Developer-Friendly Enhancements**:
- Improved documentation and code annotations make it easier for developers to understand and utilize the tools effectively.

This release focuses on making hyperparameter tuning more robust, improving visualization capabilities, and ensuring compatibility across platforms, all while enhancing the overall user and developer experience. 🚀

What's Changed
* YOLOE: Add assert in `set_classes` to check prompt-free models by Laughing-q in https://github.com/ultralytics/ultralytics/pull/20024
* Improve `instance-segmentation` mask plotting by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/20025
* Truncate long Docs meta titles by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20030
* Fix `solutions` tests by pinning `shapely<2.1.0` and `streamlit<1.44.0` by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/20028
* Add example MNN YOLOv8 using C++ by vnk8071 in https://github.com/ultralytics/ultralytics/pull/19948
* Fix inconsistent value of max F1 conf from `F1_curve.png` caused by `f` value for `smooth` function in `plot_mc_curve` by fazrigading in https://github.com/ultralytics/ultralytics/pull/20035
* Improve FLOPs docs by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20040
* Increase CoreML specificationVersion 5 -> 9 by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20041
* CoreML `minimum_deployment_target=ct.target.iOS15` by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20042
* `ultralytics 8.3.103` New RayTune `resume=True` functionality by Y-T-G in https://github.com/ultralytics/ultralytics/pull/20037

New Contributors
* vnk8071 made their first contribution in https://github.com/ultralytics/ultralytics/pull/19948
* fazrigading made their first contribution in https://github.com/ultralytics/ultralytics/pull/20035

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.102...v8.3.103

8.3.102

🌟 Summary
The YOLOE module has undergone a significant refactor in version 8.3.102, introducing new neural network modules and reorganizing the codebase for improved modularity and functionality. This update enhances the framework's flexibility and performance for advanced neural network operations.

📊 Key Changes
- **New Modules Introduced**:
- **SwiGLUFFN**: A feed-forward network tailored for transformer-based architectures.
- **Residual**: A module enabling residual connections to enhance learning efficiency.
- **SAVPE**: A Spatial-Aware Visual Prompt Embedding module for feature enhancement.
- **Code Reorganization**:
- Moved `SwiGLUFFN`, `Residual`, and `SAVPE` from `head.py` to `block.py` for better modularity.
- Updated related documentation to reflect these structural changes.
- **Version Update**: Incremented version from `8.3.101` to `8.3.102`.

🎯 Purpose & Impact
- **Purpose**:
- Enhance the framework's capabilities with new modules designed for advanced neural network tasks.
- Improve code maintainability and modularity by grouping related components logically.
- **Impact**:
- Developers gain access to more powerful tools for building and customizing neural networks.
- The reorganization simplifies the codebase, making it easier to extend and maintain.
- These updates pave the way for more efficient and scalable model architectures, benefiting both research and production use cases. 🚀

What's Changed
* Remove verbose `build_text_model` log by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19998
* Update GNU links by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20001
* Add `fraction` argument support for export dataloader by ambitious-octopus in https://github.com/ultralytics/ultralytics/pull/19952
* Refactor tablesort.js by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20002
* Remove MkDocs redirects by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20003
* Remove all `gh-pages` files except vercel.json by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20006
* Fix docs.yml vercel.json handling by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20007
* Parameterize `solutions` tests by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19961
* YOLOE: Remove unused argument `max_det` by Laughing-q in https://github.com/ultralytics/ultralytics/pull/20011
* YOLOE: Bypass source check when `source` is None by Laughing-q in https://github.com/ultralytics/ultralytics/pull/20012
* Update `models/` docstrings by glenn-jocher in https://github.com/ultralytics/ultralytics/pull/20017
* Add https://youtu.be/HMOoM2NwFIQ to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/20020
* Fix scaling ratio calculation in ONNX example  by MrBlackBigWhiteSheep in https://github.com/ultralytics/ultralytics/pull/20016
* `ultralytics 8.3.102` YOLOE module refactor by Laughing-q in https://github.com/ultralytics/ultralytics/pull/20010

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

**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.101...v8.3.102

8.3.101

🌟 Summary  
The YOLOE model has been enhanced with improved video/stream handling, better rectangular inference options, and updated documentation for a smoother user experience. 🚀  

---

📊 Key Changes  
- **Visual Prompt for Videos**: Automatically selects the first frame of a video/stream as the reference image for visual prompts, or allows users to specify a frame. 🎥  
- **Rectangular Inference Option**: Introduced a `rect` parameter to control rectangular padding during predictions, offering more flexibility.  
- **Documentation Updates**: Fixed errors in YOLOE examples, clarified bounding box formatting, and removed outdated integration notes. 📚  
- **Model Export Improvements**: Enhanced handling of class positional embeddings for better compatibility during model export.  
- **Contributor Recognition**: Added new contributors to the project metadata, fostering community engagement. 🤝  

---

🎯 Purpose & Impact  
- **Simplified Video Handling**: Automates reference frame selection for video/stream inputs, saving users time and effort when applying visual prompts.  
- **Enhanced Prediction Flexibility**: The `rect` parameter allows users to toggle rectangular padding, improving adaptability for different use cases.  
- **Improved Documentation**: Clearer examples and updated notes reduce confusion, making it easier for users to implement YOLOE in their projects.  
- **Better Export Compatibility**: Ensures smoother model operations during export, particularly for advanced use cases.  
- **Community Engagement**: Recognizing contributors strengthens the Ultralytics community and highlights collaboration.  

These updates collectively enhance usability, flexibility, and performance, ensuring a more seamless experience for developers and users alike. 🚀

What's Changed
* YOLOE: Fix visual prompt usage in docs by JShengP in https://github.com/ultralytics/ultralytics/pull/19981
* YOLOE: Fix simplify with dynamic export by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19988
* Update yoloe.md by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19982
* Enable `rect` option to predict mode by Laughing-q in https://github.com/ultralytics/ultralytics/pull/19994
* YOLOE: Fix Linear Probing example by Y-T-G in https://github.com/ultralytics/ultralytics/pull/19985
* `ultralytics 8.3.101` YOLOE visual prompt inference fix for video sources by Laughing-q in https://github.com/ultralytics/ultralytics/pull/19959


**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.3.100...v8.3.101

8.3.100

🌟 Summary  
The `v8.3.100` release introduces enhanced support for PaddlePaddle, ensuring compatibility with the latest versions and improving model export functionality. Additionally, it includes updates to documentation, pre-trained model links, and usability improvements for YOLO11 and YOLOE models.

---

📊 Key Changes  
- **PaddlePaddle Integration**:  
- Updated support for PaddlePaddle `>=3.0.0` in both GPU and CPU environments.  
- Improved model export handling for `.json` and `.pdiparams` files.  
- Disabled OBB model inference for Paddle due to a silent error causing mAP drops (issue raised with PaddlePaddle).  
- **Documentation Enhancements**:  
- Added a new video tutorial for YOLO11 with NVIDIA DeepStream.  
- Updated guides for YOLO11 deployment on Jetson devices.  
- Introduced detailed references for YOLOE's visual prompt capabilities and text encoding models like CLIP and MobileCLIP.  
- **Pre-trained Model Updates**:  
- All pre-trained model links updated to `v8.3.0` for YOLOv8, YOLOv9, YOLOv10, YOLO-NAS, YOLOE, and others.  
- **YOLOE Improvements**:  
- Prevented unintended modifications to visual prompts during predictions.  
- Enhanced task management to automatically detect segmentation or detection tasks based on the predictor.  

---

🎯 Purpose & Impact  
- **Purpose**:  
- Ensure compatibility with the latest PaddlePaddle versions and improve export reliability.  
- Provide clearer, updated documentation for easier model deployment and usage.  
- Enhance YOLOE's stability and usability for workflows involving visual prompts and mixed tasks.  
- **Impact**:  
- 🚀 **Improved Compatibility**: Users can now leverage PaddlePaddle `>=3.0.0` for seamless integration.  
- 📚 **Better Documentation**: Simplifies deployment and training processes with updated guides and resources.  
- 🔧 **Enhanced Usability**: YOLOE's improvements reduce errors and streamline workflows for developers.  
- 🎥 **User-Friendly Resources**: New video tutorials make it easier for users to adopt YOLO11 on NVIDIA platforms.  

This release ensures smoother workflows, better compatibility, and an overall improved user experience. 🌟

What's Changed
* Add https://youtu.be/hvGqrVT2wPg to docs by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19943
* Update assets links by RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/19949
* Update DeepStream doc with YOLO11 support 

@dagshub
Copy link

dagshub bot commented Apr 7, 2025

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #609

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants