Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[PyUp] Scheduled monthly dependency update for February #54

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

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Feb 1, 2023

Update gitpython from 3.1.9 to 3.1.30.

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

Links

Update click from 7.1.2 to 8.1.3.

Changelog

8.1.3

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

Released 2022-04-28

-   Use verbose form of ``typing.Callable`` for ``command`` and
 ``group``. :issue:`2255`
-   Show error when attempting to create an option with
 ``multiple=True, is_flag=True``. Use ``count`` instead.
 :issue:`2246`

8.1.2

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

Released 2022-03-31

-   Fix error message for readable path check that was mixed up with the
 executable check. :pr:`2236`
-   Restore parameter order for ``Path``, placing the ``executable``
 parameter at the end. It is recommended to use keyword arguments
 instead of positional arguments. :issue:`2235`

8.1.1

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

Released 2022-03-30

-   Fix an issue with decorator typing that caused type checking to
 report that a command was not callable. :issue:`2227`

8.1.0

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

Released 2022-03-28

-   Drop support for Python 3.6. :pr:`2129`
-   Remove previously deprecated code. :pr:`2130`

 -   ``Group.resultcallback`` is renamed to ``result_callback``.
 -   ``autocompletion`` parameter to ``Command`` is renamed to
     ``shell_complete``.
 -   ``get_terminal_size`` is removed, use
     ``shutil.get_terminal_size`` instead.
 -   ``get_os_args`` is removed, use ``sys.argv[1:]`` instead.

-   Rely on :pep:`538` and :pep:`540` to handle selecting UTF-8 encoding
 instead of ASCII. Click's locale encoding detection is removed.
 :issue:`2198`
-   Single options boolean flags with ``show_default=True`` only show
 the default if it is ``True``. :issue:`1971`
-   The ``command`` and ``group`` decorators can be applied with or
 without parentheses. :issue:`1359`
-   The ``Path`` type can check whether the target is executable.
 :issue:`1961`
-   ``Command.show_default`` overrides ``Context.show_default``, instead
 of the other way around. :issue:`1963`
-   Parameter decorators and ``group`` handles ``cls=None`` the same as
 not passing ``cls``. ``option`` handles ``help=None`` the same as
 not passing ``help``. :issue:`1959`
-   A flag option with ``required=True`` requires that the flag is
 passed instead of choosing the implicit default value. :issue:`1978`
-   Indentation in help text passed to ``Option`` and ``Command`` is
 cleaned the same as using the ``option`` and ``command``
 decorators does. A command's ``epilog`` and ``short_help`` are also
 processed. :issue:`1985`
-   Store unprocessed ``Command.help``, ``epilog`` and ``short_help``
 strings. Processing is only done when formatting help text for
 output. :issue:`2149`
-   Allow empty str input for ``prompt()`` when
 ``confirmation_prompt=True`` and ``default=""``. :issue:`2157`
-   Windows glob pattern expansion doesn't fail if a value is an invalid
 pattern. :issue:`2195`
-   It's possible to pass a list of ``params`` to ``command``. Any
 params defined with decorators are appended to the passed params.
 :issue:`2131`.
-   ``command`` decorator is annotated as returning the correct type if
 a ``cls`` argument is used. :issue:`2211`
-   A ``Group`` with ``invoke_without_command=True`` and ``chain=False``
 will invoke its result callback with the group function's return
 value. :issue:`2124`
-   ``to_info_dict`` will not fail if a ``ParamType`` doesn't define a
 ``name``. :issue:`2168`
-   Shell completion prioritizes option values with option prefixes over
 new options. :issue:`2040`
-   Options that get an environment variable value using
 ``autoenvvar_prefix`` treat an empty value as ``None``, consistent
 with a direct ``envvar``. :issue:`2146`

8.0.4

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

Released 2022-02-18

-   ``open_file`` recognizes ``Path("-")`` as a standard stream, the
 same as the string ``"-"``. :issue:`2106`
-   The ``option`` and ``argument`` decorators preserve the type
 annotation of the decorated function. :pr:`2155`
-   A callable default value can customize its help text by overriding
 ``__str__`` instead of always showing ``(dynamic)``. :issue:`2099`
-   Fix a typo in the Bash completion script that affected file and
 directory completion. If this script was generated by a previous
 version, it should be regenerated. :issue:`2163`
-   Fix typing for ``echo`` and ``secho`` file argument.
 :issue:`2174, 2185`

8.0.3

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

Released 2021-10-10

-   Fix issue with ``Path(resolve_path=True)`` type creating invalid
 paths. :issue:`2088`
-   Importing ``readline`` does not cause the ``confirm()`` prompt to
 disappear when pressing backspace. :issue:`2092`
-   Any default values injected by ``invoke()`` are cast to the
 corresponding parameter's type. :issue:`2089, 2090`

8.0.2

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

Released 2021-10-08

-   ``is_bool_flag`` is not set to ``True`` if ``is_flag`` is ``False``.
 :issue:`1925`
-   Bash version detection is locale independent. :issue:`1940`
-   Empty ``default`` value is not shown for ``multiple=True``.
 :issue:`1969`
-   Fix shell completion for arguments that start with a forward slash
 such as absolute file paths. :issue:`1929`
-   ``Path`` type with ``resolve_path=True`` resolves relative symlinks
 to be relative to the containing directory. :issue:`1921`
-   Completion does not skip Python's resource cleanup when exiting,
 avoiding some unexpected warning output. :issue:`1738, 2017`
-   Fix type annotation for ``type`` argument in ``prompt`` function.
 :issue:`2062`
-   Fix overline and italic styles, which were incorrectly added when
 adding underline. :pr:`2058`
-   An option with ``count=True`` will not show "[x>=0]" in help text.
 :issue:`2072`
-   Default values are not cast to the parameter type twice during
 processing. :issue:`2085`
-   Options with ``multiple`` and ``flag_value`` use the flag value
 instead of leaving an internal placeholder. :issue:`2001`

8.0.1

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

Released 2021-05-19

-   Mark top-level names as exported so type checking understand imports
 in user projects. :issue:`1879`
-   Annotate ``Context.obj`` as ``Any`` so type checking allows all
 operations on the arbitrary object. :issue:`1885`
-   Fix some types that weren't available in Python 3.6.0. :issue:`1882`
-   Fix type checking for iterating over ``ProgressBar`` object.
 :issue:`1892`
-   The ``importlib_metadata`` backport package is installed on Python <
 3.8. :issue:`1889`
-   Arguments with ``nargs=-1`` only use env var value if no command
 line values are given. :issue:`1903`
-   Flag options guess their type from ``flag_value`` if given, like
 regular options do from ``default``. :issue:`1886`
-   Added documentation that custom parameter types may be passed
 already valid values in addition to strings. :issue:`1898`
-   Resolving commands returns the name that was given, not
 ``command.name``, fixing an unintended change to help text and
 ``default_map`` lookups. When using patterns like ``AliasedGroup``,
 override ``resolve_command`` to change the name that is returned if
 needed. :issue:`1895`
-   If a default value is invalid, it does not prevent showing help
 text. :issue:`1889`
-   Pass ``windows_expand_args=False`` when calling the main command to
 disable pattern expansion on Windows. There is no way to escape
 patterns in CMD, so if the program needs to pass them on as-is then
 expansion must be disabled. :issue:`1901`

8.0.0

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

Released 2021-05-11

-   Drop support for Python 2 and 3.5.
-   Colorama is always installed on Windows in order to provide style
 and color support. :pr:`1784`
-   Adds a repr to Command, showing the command name for friendlier
 debugging. :issue:`1267`, :pr:`1295`
-   Add support for distinguishing the source of a command line
 parameter. :issue:`1264`, :pr:`1329`
-   Add an optional parameter to ``ProgressBar.update`` to set the
 ``current_item``. :issue:`1226`, :pr:`1332`
-   ``version_option`` uses ``importlib.metadata`` (or the
 ``importlib_metadata`` backport) instead of ``pkg_resources``. The
 version is detected based on the package name, not the entry point
 name. The Python package name must match the installed package
 name, or be passed with ``package_name=``. :issue:`1582`
-   If validation fails for a prompt with ``hide_input=True``, the value
 is not shown in the error message. :issue:`1460`
-   An ``IntRange`` or ``FloatRange`` option shows the accepted range in
 its help text. :issue:`1525`, :pr:`1303`
-   ``IntRange`` and ``FloatRange`` bounds can be open (``<``) instead
 of closed (``<=``) by setting ``min_open`` and ``max_open``. Error
 messages have changed to reflect this. :issue:`1100`
-   An option defined with duplicate flag names (``"--foo/--foo"``)
 raises a ``ValueError``. :issue:`1465`
-   ``echo()`` will not fail when using pytest's ``capsys`` fixture on
 Windows. :issue:`1590`
-   Resolving commands returns the canonical command name instead of the
 matched name. This makes behavior such as help text and
 ``Context.invoked_subcommand`` consistent when using patterns like
 ``AliasedGroup``. :issue:`1422`
-   The ``BOOL`` type accepts the values "on" and "off". :issue:`1629`
-   A ``Group`` with ``invoke_without_command=True`` will always invoke
 its result callback. :issue:`1178`
-   ``nargs == -1`` and ``nargs > 1`` is parsed and validated for
 values from environment variables and defaults. :issue:`729`
-   Detect the program name when executing a module or package with
 ``python -m name``. :issue:`1603`
-   Include required parent arguments in help synopsis of subcommands.
 :issue:`1475`
-   Help for boolean flags with ``show_default=True`` shows the flag
 name instead of ``True`` or ``False``. :issue:`1538`
-   Non-string objects passed to ``style()`` and ``secho()`` will be
 converted to string. :pr:`1146`
-   ``edit(require_save=True)`` will detect saves for editors that exit
 very fast on filesystems with 1 second resolution. :pr:`1050`
-   New class attributes make it easier to use custom core objects
 throughout an entire application. :pr:`938`

 -   ``Command.context_class`` controls the context created when
     running the command.
 -   ``Context.invoke`` creates new contexts of the same type, so a
     custom type will persist to invoked subcommands.
 -   ``Context.formatter_class`` controls the formatter used to
     generate help and usage.
 -   ``Group.command_class`` changes the default type for
     subcommands with ``group.command()``.
 -   ``Group.group_class`` changes the default type for subgroups
     with ``group.group()``. Setting it to ``type`` will create
     subgroups of the same type as the group itself.
 -   Core objects use ``super()`` consistently for better support of
     subclassing.

-   Use ``Context.with_resource()`` to manage resources that would
 normally be used in a ``with`` statement, allowing them to be used
 across subcommands and callbacks, then cleaned up when the context
 ends. :pr:`1191`
-   The result object returned by the test runner's ``invoke()`` method
 has a ``return_value`` attribute with the value returned by the
 invoked command. :pr:`1312`
-   Required arguments with the ``Choice`` type show the choices in
 curly braces to indicate that one is required (``{a|b|c}``).
 :issue:`1272`
-   If only a name is passed to ``option()``, Click suggests renaming it
 to ``--name``. :pr:`1355`
-   A context's ``show_default`` parameter defaults to the value from
 the parent context. :issue:`1565`
-   ``click.style()`` can output 256 and RGB color codes. Most modern
 terminals support these codes. :pr:`1429`
-   When using ``CliRunner.invoke()``, the replaced ``stdin`` file has
 ``name`` and ``mode`` attributes. This lets ``File`` options with
 the ``-`` value match non-testing behavior. :issue:`1064`
-   When creating a ``Group``, allow passing a list of commands instead
 of a dict. :issue:`1339`
-   When a long option name isn't valid, use ``difflib`` to make better
 suggestions for possible corrections. :issue:`1446`
-   Core objects have a ``to_info_dict()`` method. This gathers
 information about the object's structure that could be useful for a
 tool generating user-facing documentation. To get the structure of
 an entire CLI, use ``Context(cli).to_info_dict()``. :issue:`461`
-   Redesign the shell completion system. :issue:`1484`, :pr:`1622`

 -   Support Bash >= 4.4, Zsh, and Fish, with the ability for
     extensions to add support for other shells.
 -   Allow commands, groups, parameters, and types to override their
     completions suggestions.
 -   Groups complete the names commands were registered with, which
     can differ from the name they were created with.
 -   The ``autocompletion`` parameter for options and arguments is
     renamed to ``shell_complete``. The function must take
     ``ctx, param, incomplete``, must do matching rather than return
     all values, and must return a list of strings or a list of
     ``CompletionItem``. The old name and behavior is deprecated and
     will be removed in 8.1.
 -   The env var values used to start completion have changed order.
     The shell now comes first, such as ``{shell}_source`` rather
     than ``source_{shell}``, and is always required.

-   Completion correctly parses command line strings with incomplete
 quoting or escape sequences. :issue:`1708`
-   Extra context settings (``obj=...``, etc.) are passed on to the
 completion system. :issue:`942`
-   Include ``--help`` option in completion. :pr:`1504`
-   ``ParameterSource`` is an ``enum.Enum`` subclass. :issue:`1530`
-   Boolean and UUID types strip surrounding space before converting.
 :issue:`1605`
-   Adjusted error message from parameter type validation to be more
 consistent. Quotes are used to distinguish the invalid value.
 :issue:`1605`
-   The default value for a parameter with ``nargs`` > 1 and
 ``multiple=True`` must be a list of tuples. :issue:`1649`
-   When getting the value for a parameter, the default is tried in the
 same section as other sources to ensure consistent processing.
 :issue:`1649`
-   All parameter types accept a value that is already the correct type.
 :issue:`1649`
-   For shell completion, an argument is considered incomplete if its
 value did not come from the command line args. :issue:`1649`
-   Added ``ParameterSource.PROMPT`` to track parameter values that were
 prompted for. :issue:`1649`
-   Options with ``nargs`` > 1 no longer raise an error if a default is
 not given. Parameters with ``nargs`` > 1 default to ``None``, and
 parameters with ``multiple=True`` or ``nargs=-1`` default to an
 empty tuple. :issue:`472`
-   Handle empty env vars as though the option were not passed. This
 extends the change introduced in 7.1 to be consistent in more cases.
 :issue:`1285`
-   ``Parameter.get_default()`` checks ``Context.default_map`` to
 handle overrides consistently in help text, ``invoke()``, and
 prompts. :issue:`1548`
-   Add ``prompt_required`` param to ``Option``. When set to ``False``,
 the user will only be prompted for an input if no value was passed.
 :issue:`736`
-   Providing the value to an option can be made optional through
 ``is_flag=False``, and the value can instead be prompted for or
 passed in as a default value.
 :issue:`549, 736, 764, 921, 1015, 1618`
-   Fix formatting when ``Command.options_metavar`` is empty. :pr:`1551`
-   Revert adding space between option help text that wraps.
 :issue:`1831`
-   The default value passed to ``prompt`` will be cast to the correct
 type like an input value would be. :pr:`1517`
-   Automatically generated short help messages will stop at the first
 ending of a phrase or double linebreak. :issue:`1082`
-   Skip progress bar render steps for efficiency with very fast
 iterators by setting ``update_min_steps``. :issue:`676`
-   Respect ``case_sensitive=False`` when doing shell completion for
 ``Choice`` :issue:`1692`
-   Use ``mkstemp()`` instead of ``mktemp()`` in pager implementation.
 :issue:`1752`
-   If ``Option.show_default`` is a string, it is displayed even if
 ``default`` is ``None``. :issue:`1732`
-   ``click.get_terminal_size()`` is deprecated and will be removed in
 8.1. Use :func:`shutil.get_terminal_size` instead. :issue:`1736`
-   Control the location of the temporary directory created by
 ``CLIRunner.isolated_filesystem`` by passing ``temp_dir``. A custom
 directory will not be removed automatically. :issue:`395`
-   ``click.confirm()`` will prompt until input is given if called with
 ``default=None``. :issue:`1381`
-   Option prompts validate the value with the option's callback in
 addition to its type. :issue:`457`
-   ``confirmation_prompt`` can be set to a custom string. :issue:`723`
-   Allow styled output in Jupyter on Windows. :issue:`1271`
-   ``style()`` supports the ``strikethrough``, ``italic``, and
 ``overline`` styles. :issue:`805, 1821`
-   Multiline marker is removed from short help text. :issue:`1597`
-   Restore progress bar behavior of echoing only the label if the file
 is not a TTY. :issue:`1138`
-   Progress bar output is shown even if execution time is less than 0.5
 seconds. :issue:`1648`
-   Progress bar ``item_show_func`` shows the current item, not the
 previous item. :issue:`1353`
-   The ``Path`` param type can be passed ``path_type=pathlib.Path`` to
 return a path object instead of a string. :issue:`405`
-   ``TypeError`` is raised when parameter with ``multiple=True`` or
 ``nargs > 1`` has non-iterable default. :issue:`1749`
-   Add a ``pass_meta_key`` decorator for passing a key from
 ``Context.meta``. This is useful for extensions using ``meta`` to
 store information. :issue:`1739`
-   ``Path`` ``resolve_path`` resolves symlinks on Windows Python < 3.8.
 :issue:`1813`
-   Command deprecation notice appears at the start of the help text, as
 well as in the short help. The notice is not in all caps.
 :issue:`1791`
-   When taking arguments from ``sys.argv`` on Windows, glob patterns,
 user dir, and env vars are expanded. :issue:`1096`
-   Marked messages shown by the CLI with ``gettext()`` to allow
 applications to translate Click's built-in strings. :issue:`303`
-   Writing invalid characters  to ``stderr`` when using the test runner
 does not raise a ``UnicodeEncodeError``. :issue:`848`
-   Fix an issue where ``readline`` would clear the entire ``prompt()``
 line instead of only the input when pressing backspace. :issue:`665`
-   Add all kwargs passed to ``Context.invoke()`` to ``ctx.params``.
 Fixes an inconsistency when nesting ``Context.forward()`` calls.
 :issue:`1568`
-   The ``MultiCommand.resultcallback`` decorator is renamed to
 ``result_callback``. The old name is deprecated. :issue:`1160`
-   Fix issues with ``CliRunner`` output when using ``echo_stdin=True``.
 :issue:`1101`
-   Fix a bug of ``click.utils.make_default_short_help`` for which the
 returned string could be as long as ``max_width + 3``. :issue:`1849`
-   When defining a parameter, ``default`` is validated with
 ``multiple`` and ``nargs``. More validation is done for values being
 processed as well. :issue:`1806`
-   ``HelpFormatter.write_text`` uses the full line width when wrapping
 text. :issue:`1871`
Links

Update inquirer from 2.7.0 to 3.1.2.

Changelog

3.1.2

Changes

* security: updated gitpython version (331) Cube707
* README-badges (323) Cube707

:books: Documentation

* Fix readme pypi badges (322) staticdev

:package: Dependencies

* build(deps): bump sphinx from 5.3.0 to 6.1.2 in /docs (332) dependabot
* build(deps-dev): bump isort from 5.11.3 to 5.11.4 (325) dependabot
* build(deps-dev): bump pre-commit from 2.20.0 to 2.21.0 (326) dependabot

3.1.1

Changes

* Fix main readme (320) staticdev
* tests.yml: fix not-closed doublequotes (318) Cube707
* Revert "Merge pull request 129 from the-wondersmith/patch-1" (317) Cube707

:books: Documentation

*  Convert RST to MyST (319) staticdev

:package: Dependencies

* build(deps-dev): bump isort from 5.11.2 to 5.11.3 (316) dependabot
* build(deps): bump poetry from 1.2.2 to 1.3.1 in /.github/workflows (304) dependabot

3.1.0

Changes

* Add select all, reset and invert selection to checkbox (275) palash247
* Simplify release workflow 2 (295) staticdev
* Add autocompletion for text prompts (259) WilliamVenner

:beetle: Fixes

* Remove Python <4.0 limitation (308) staticdev

:construction_worker: Continuous Integration

* General CI improvements (309) staticdev
* Simplify release workflow (294) staticdev

:package: Dependencies

* build(deps): bump virtualenv from 20.16.7 to 20.17.1 in /.github/workflows (297) dependabot
* build(deps): bump furo from 2022.9.29 to 2022.12.7 in /docs (299) dependabot
* build(deps): bump actions/checkout from 3.1.0 to 3.2.0 (306) dependabot
* build(deps-dev): bump isort from 5.10.1 to 5.11.1 (305) dependabot
* build(deps-dev): bump safety from 2.3.1 to 2.3.2 (287) dependabot
* build(deps): bump nox from 2022.8.7 to 2022.11.21 in /.github/workflows (288) dependabot
* build(deps-dev): bump pre-commit-hooks from 4.3.0 to 4.4.0 (289) dependabot

3.0.6

- Fix help message not always disappearing after interaction in list prompt
- Fix command line not properly cleaned when sending a SIGINT (`ctrl-c`) signal on Ubuntu

3.0.5

Properly respect the pageSize option when deciding whether to paginate or not.

3.0.4

Fix extra whitespace being printed 506

3.0.3

- Unsure we properly unmute the stdout on force close.

3.0.2

- Properly reset the prompt state when a SIGINT signal is emitted. (this fix bug where texts under the input wouldn't be cleared off the terminal after emitting ctrl-c)
- Fix bug with scrollable list centering

3.0.1

- Fix import bug

3.0.0

Changes

* Bump version 3.0.0 (284) staticdev
* Remove unused branches on GA. (283) staticdev
* Fix safety issue on urllib3 (281) staticdev
* Add python 3.11 support (and drop 3.7) (278) staticdev

:rotating_light: Testing

* Improved QA checks (280) staticdev

:package: Dependencies

* build(deps-dev): bump flake8 from 4.0.1 to 5.0.4 (282) dependabot
* build(deps-dev): bump flake8-rst-docstrings from 0.2.7 to 0.3.0 (279) dependabot
* build(deps): bump salsify/action-detect-and-tag-new-version from 2.0.1 to 2.0.2 (268) dependabot
* build(deps): bump actions/download-artifact from 3.0.0 to 3.0.1 (269) dependabot
* build(deps): bump virtualenv from 20.16.6 to 20.16.7 in /.github/workflows (277) dependabot

2.10.1

Changes

* three new github-Labels (223) Cube707

:rocket: Features

* refactor: change default checkboxes (273) Cube707
* text: implement DELETE (232) Cube707
* adding another pre-made theme: BlueComposure (227) Cube707
* Add "Other..." option for checkbox & list questions (256) WilliamVenner

:lady_beetle: Fixes

* fix: themes missing `opening_prompt_color` attributes (230) Cube707

:construction_worker: Continuous Integration

* fix: doc-build workflow (226) Cube707
* updates, cleanups and unifications of config files (222) Cube707
* re-enable isort (220) Cube707

:mortar_board: Examples

* fix: spelling mistake in examples/located.py (225) Cube707

:hammer: Refactoring

* fix: possible circular import in render.console subfiles (219) Cube707

:package: Dependencies

* build(deps): bump nox-poetry from 1.0.1 to 1.0.2 in /.github/workflows (271) dependabot
* build(deps): bump furo from 2022.9.15 to 2022.9.29 in /docs (251) dependabot
* build(deps): bump actions/upload-artifact from 3.1.0 to 3.1.1 (274) dependabot
* build(deps): bump actions/checkout from 3.0.2 to 3.1.0 (257) dependabot
* build(deps): bump pip from 22.3 to 22.3.1 in /.github/workflows (270) dependabot
* build(deps): bump crazy-max/ghaction-github-labeler from 4.0.0 to 4.1.0 (265) dependabot
* build(deps): bump sphinx from 5.2.3 to 5.3.0 in /docs (262) dependabot
* build(deps): bump actions/setup-python from 4.2.0 to 4.3.0 (258) dependabot
* build(deps): bump virtualenv from 20.16.5 to 20.16.6 in /.github/workflows (266) dependabot
* build(deps): bump release-drafter/release-drafter from 5.21.0 to 5.21.1 (264) dependabot
* build(deps): bump actions/cache from 3.0.10 to 3.0.11 (261) dependabot
* build(deps): bump pip from 22.2.2 to 22.3 in /.github/workflows (263) dependabot
* build(deps): bump actions/cache from 3.0.8 to 3.0.10 (254) dependabot
* build(deps): bump sphinx from 5.2.2 to 5.2.3 in /docs (255) dependabot
* build(deps): bump furo from 2022.6.21 to 2022.9.15 (246) dependabot
* build(deps): bump sphinx from 5.1.1 to 5.2.2 in /docs (250) dependabot
* build(deps): bump codecov/codecov-action from 3.1.0 to 3.1.1 (248) dependabot
* build(deps): bump release-drafter/release-drafter from 5.20.1 to 5.21.0 (244) dependabot
* build(deps): bump furo from 2022.6.21 to 2022.9.15 (245) dependabot
* build(deps): bump readchar from 4.0.2 to 4.0.3 (243) dependabot
* build(deps): bump virtualenv from 20.16.4 to 20.16.5 in /.github/workflows (242) dependabot
* build(deps): bump virtualenv from 20.16.3 to 20.16.4 in /.github/workflows (240) dependabot
* build(deps): bump poetry from 1.1.14 to 1.1.15 in /.github/workflows (237) dependabot
* build(deps): bump actions/cache from 3.0.7 to 3.0.8 (236) dependabot
* build(deps): bump readchar from 4.0.1 to 4.0.2 (235) dependabot
* build(deps): bump release-drafter/release-drafter from 5.20.0 to 5.20.1 (234) dependabot
* build(deps): bump readchar from 4.0.0 to 4.0.1 (233) dependabot
* build(deps): bump actions/cache from 3.0.6 to 3.0.7 (229) dependabot
* build(deps): bump readchar from 3.1.0 to 4.0.0 (228) dependabot
* Bump nox from 2022.1.7 to 2022.8.7 in /.github/workflows (224) dependabot
* Bump actions/cache from 3.0.5 to 3.0.6 (217) dependabot
* Bump virtualenv from 20.16.2 to 20.16.3 in /.github/workflows (218) dependabot
* Bump flake8 from 5.0.3 to 5.0.4 (215) dependabot
* Bump pip from 22.2.1 to 22.2.2 in /.github/workflows (216) dependabot
* Bump flake8 from 5.0.1 to 5.0.3 (211) dependabot
* Bump actions/setup-python from 4.1.0 to 4.2.0 (212) dependabot
* Bump flake8 from 4.0.1 to 5.0.1 (210) dependabot

2.10.0

Changes

* bump readchar required version (206) Cube707
* Enable Dependabot to create PRs (172) magmax
* Fix validation fails with brace (167) iwasinnam

:beetle: Fixes

* Fix black error (173) staticdev

:package: Dependencies

* Bump pip from 22.2 to 22.2.1 in /.github/workflows (209) dependabot
* Bump virtualenv from 20.16.1 to 20.16.2 in /.github/workflows (208) dependabot
* Bump virtualenv from 20.16.0 to 20.16.1 in /.github/workflows (205) dependabot
* Bump sphinx from 5.1.0 to 5.1.1 in /docs (204) dependabot
* Bump virtualenv from 20.15.1 to 20.16.0 in /.github/workflows (203) dependabot
* Bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 (202) dependabot
* Bump readchar from 3.0.6 to 3.1.0 (201) dependabot
* Bump sphinx from 5.0.2 to 5.1.0 in /docs (200) dependabot
* Bump readchar from 3.0.5 to 3.0.6 (199) dependabot
* Bump pip from 22.1.2 to 22.2 in /.github/workflows (197) dependabot
* Bump actions/upload-artifact from 2.3.1 to 3.1.0 (195) dependabot
* Bump pypa/gh-action-pypi-publish from 1.4.2 to 1.5.0 (194) dependabot
* Bump actions/cache from 2.1.7 to 3.0.5 (193) dependabot
* Bump actions/setup-python from 2.3.1 to 4.1.0 (192) dependabot
* Bump furo from 2021.11.23 to 2022.6.21 (191) dependabot
* Bump pip from 21.3.1 to 22.1.2 in /.github/workflows (182) dependabot
* Bump virtualenv from 20.10.0 to 20.15.1 in /.github/workflows (183) dependabot
* Bump poetry from 1.1.12 to 1.1.14 in /.github/workflows (186) dependabot
* Bump actions/download-artifact from 2.1.0 to 3.0.0 (180) dependabot
* Bump pre-commit-hooks from 4.1.0 to 4.3.0 (187) dependabot
* Bump nox from 2021.10.1 to 2022.1.7 in /.github/workflows (184) dependabot
* Bump codecov/codecov-action from 2.1.0 to 3.1.0 (178) dependabot
* Bump furo from 2021.11.23 to 2022.6.21 (189) dependabot
* Bump furo from 2021.11.23 to 2022.6.21 in /docs (177) dependabot
* Bump blessed from 1.19.0 to 1.19.1 (190) dependabot
* Bump readchar from 3.0.4 to 3.0.5 (188) dependabot
* Bump flake8-rst-docstrings from 0.2.5 to 0.2.7 (185) dependabot
* Bump nox-poetry from 0.9.0 to 1.0.1 in /.github/workflows (181) dependabot
* Bump release-drafter/release-drafter from 5.15.0 to 5.20.0 (179) dependabot
* Bump sphinx from 4.3.2 to 5.0.2 in /docs (175) dependabot
* Bump crazy-max/ghaction-github-labeler from 3.1.1 to 4.0.0 (176) dependabot
* Bump actions/checkout from 2.4.0 to 3.0.2 (174) dependabot

2.9.2

Changes

* Version needed to be updated for pypi to have the latest carousel code for checkbox (158) publicst
* Adds carousel feature to checkbox. (154) gierens
* CONTRIBUTING.rst link in README broken (152) FrostyTheSouthernSnowman

2.9.1

Changes

:rotating_light: Testing

* Add missing tests (146) staticdev

:construction_worker: Continuous Integration

* Add documentation workflow and contributing (145) staticdev

:books: Documentation

* Add documentation workflow and contributing (145) staticdev

:lipstick: Style

* Reordered imports (147) staticdev

2.9.0

Changes

:construction_worker: Continuous Integration

* Add new release (144) staticdev

2.8.0

- Adds support to Python 3.10
- Fix test status on readme
- Improvements on documentation for Windows
- Other CI improvements
Links

Update pbr from 5.4.4 to 5.11.1.

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

Links

Update quart from 0.13.1 to 0.18.3.

Changelog

0.18.3

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

* Bugfix signal handling on Windows.
* Bugfix add missing globals to Flask-Patch.

0.18.2

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

* Bugfix use add_signal_handler not signal.signal.

0.18.1

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

* Bugfix static hosting with resource path escaping the root.
* Bugfix adopt the Werkzeug/Flask make_conditional API/functionality.
* Bugfix restore the reloader to Quart.
* Bugfix support subdomains when testing.
* Bugfix the signal handling to work on Windows.

0.18.0

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

* Remove Quart's safe_join, use Werkzeug's version instead.
* Drop toml dependency, as it isn't required in Quart (use
config.from_file as desired).
* Change websocket.send_json to match jsonify's options.
* Allow while serving decorators on blueprints.
* Support synchronous background tasks, they will be run on a thread.
* Follow Flask's API an allow empty argument Response construction.
* Add get_root_path to helpers to match Flask.
* Support silent argument in config.from_envvar.
* Adopt Flask's logging setup.
* Add stream_template and stream_template_string functions to stream a
large template in parts.
* Switch to Flask's top level name exportion style.
* Add aborter object to app to allow for abort customisation.
* Add redirect method to app to allow for redirect customisation.
* Remove usage of LocalStacks, using ContextVars more directly. This
should improve performance, but introduces backwards
incompatibility. _*_ctx_stack globals are removed, use *_context
instead. Extensions should store on ``g`` as appropriate. Requires
Werkzeug >= 2.2.0.
* Returned lists are now jsonified.
* Move url_for to the app to allow for url_for customisation.
* Remove config from_json use from_file instead.
* Match the Flask views classes and API.
* Adopt the Flask cli code adding ``--app``, ``--env``, and ``-debug``
options to the CLI.
* Adopt the Flask JSON provider interface, use instead of JSON
encoders and decoders.
* Switch to being a Pallets project.
* Requires at least v8 of click.

0.17.0

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

* Raise startup and shutdown errors.
* Allow loading of environment variables into the config.
* Bugfix switch to Werkzeug's redirect.
* Bugfix import Markup and escape from MarkupSafe.

0.16.3

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

* Bugfix ensure auth is sent on test client requests.

0.16.2

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

* Bugfix await background task shutdown after shutdown funcs.
* Bugfix use the before websocket not request funcs.

0.16.1

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

* Add missing serving exception handling.

0.16.0

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

* Support an auth argument in the test client.
* Support Python 3.10.
* Utilise ensure_async in the copy context functions.
* Add support for background tasks via ``app.add_background_task``.
* Give a clearer error for invalid response types.
* Make open_resource and open_instance_resource async.
* Allow save_session to accept None as a response value.
* Rename errors to have an ``Error`` suffix.
* Bugfix typing of before (first) request callables.
* Bugfix support view sync handlers.
* Bugfix import of method "redirect" from flask.
* Bugfix registering a blueprint twice with differing names.
* Bugfix support ctx.pop() without passing exc explicitly.
* Bugfix a request timeout error should be raised on timeout.
* Bugfix remove jinja warnings.
* Bugfix use the websocket context in the websocket method.
* Bugfix raise any lifespan startup failures when testing.
* Bugfix handler call order based on blueprint nesting.
* Bugfix allow for generators that yield strings to be used.
* Bugfix reorder acceptance to prevent race conditions.
* Bugfix prevent multiple task form body parsing via a lock.

0.15.1

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

* Improve the ``g`` AppGlobals typing.
* Bugfix nested blueprint url_prefixes.
* Bugfix ensure the session is created before url matching.
* Bugfix Flask Patch sync wrapping async.
* Bugfix don't try an parse the form data multiple times.
* Bugfix blueprint naming allowing blueprints to be registered with a
different name.
* Bugfix teardown callable typing.

0.15.0

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

* Add the routes command, ``quart routes`` to output the routes in the
app.
* Add the ability to close websocket connections with a reason if
supported by the server.
* Revert AppContext lifespan interaction change in 0.14.0. It is not
possible to introduce this and match Flask's ``g`` usage.
* Add syntatic sugar for route registration allowing ``app.get``,
``app.post``, etc... for app and blueprint instances.
* Support handlers returning a Werkzeug Response.
* Remove Quart's exceptions and use Werkzeug's. This may cause
incompatibility to fix import from ``werkzeug.exceptions`` instead
of ``quart.exceptions``.
* Switch to Werkzeug's locals and Sans-IO wrappers.
* Allow for files to be sent via test client, via a ``files``
argument.
* Make the NoAppException clearer.
* Support nested blueprints.
* Support while_serving functionality.
* Bugfix Correct routing host case matching.
* Bugfix cache flashed msg on request.flashes.
* Bugfix debug defaults and overrides using run.
* Bugfix adopt Werkzeug's timestamp parsing.
* Bugfix only show the traceback response if propagating exceptions.
* Bugfix unhandled exception handling.
* Bugfix support url_for in websocket contexts.
* Bugfix cookie jar handling in test client.
* Bugfix support SERVER_NAME configuration for the run method.
* Bugfix correctly support root_paths.
* Bugfix support str and byte streamed responses.
* Bugfix match Flask and consume the raw data when form parsing.

0.14.1

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

* Bugfix add missing receive to test request connection and docs.
* Bugfix Add the templates_auto_reload API.
* Bugfix setting the debug property on the app now also sets the auto
reloading for the jinja environment.

0.14.0

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

* Add user_agent property to requests/websockets - to easily extract
the user agent using Werkzeug's UserAgent class.
* Bugfix set the content length when using send file - instead of
using chunked transfer encoding.
* Introduce a test_app method - this should be used to ensure that
the startup & shutdown functions are run during testing.
* Bugfix prevent local data sharing.
* Officially support Python 3.9.
* Add send and receive json to the test websocket client - allows a
simpler way for json to be sent and received using the app's encoder
and decoder.
* Add signals for websocket message receipt and sending - specifically
the ``websocket_received`` and ``websocket_sent`` signals.
* Add dump and load functions to the json module - as matching Flask.
* Enhance the dev server output.
* Change AppContext lifespan interaction - this pushes the app context
on startup and pops on shutdown meaning ``g`` is available
throughout without being cleared.
* Major refactor of the testing system - this ensures that any
middleware and lifespans are correctly tested. It also introduces a
``request`` method on the test client for a request connection (like
the websocket connection) for testing streaming.
Links

Update ipfshttpclient from 0.6.1 to 0.7.0.

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

Links

Update toml from 0.10.1 to 0.10.2.

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

Links

Update cloudflare from 2.8.13 to 2.11.1.

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

Links

Update pytest from 5.3.5 to 7.2.1.

Changelog

7.2.1

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

Bug Fixes
---------

- `10452 <https://github.com/pytest-dev/pytest/issues/10452>`_: Fix 'importlib.abc.TraversableResources' deprecation warning in Python 3.12.


- `10457 <https://github.com/pytest-dev/pytest/issues/10457>`_: If a test is skipped from inside a fixture, the test summary now shows the test location instead of the fixture location.


- `10506 <https://github.com/pytest-dev/pytest/issues/10506>`_: Fix bug where sometimes pytest would use the file system root directory as :ref:`rootdir <rootdir>` on Windows.


- `10607 <https://github.com/pytest-dev/pytest/issues/10607>`_: Fix a race condition when creating junitxml reports, which could occur when multiple instances of pytest execute in parallel.


- `10641 <https://github.com/pytest-dev/pytest/issues/10641>`_: Fix a race condition when creating or updating the stepwise plugin's cache, which could occur when multiple xdist worker nodes try to simultaneously update the stepwise plugin's cache.

7.2.0

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

Deprecations
------------

- `10012 <https://github.com/pytest-dev/pytest/issues/10012>`_: Update :class:`pytest.PytestUnhandledCoroutineWarning` to a deprecation; it will raise an error in pytest 8.


- `10396 <https://github.com/pytest-dev/pytest/issues/10396>`_: pytest no longer depends on the ``py`` library.  ``pytest`` provides a vendored copy of ``py.error`` and ``py.path`` modules but will use the ``py`` library if it is installed.  If you need other ``py.*`` modules, continue to install the deprecated ``py`` library separately, otherwise it can usually be removed as a dependency.


- `4562 <https://github.com/pytest-dev/pytest/issues/4562>`_: Deprecate configuring hook specs/impls using attributes/marks.

Instead use :py:func:`pytest.hookimpl` and :py:func:`pytest.hookspec`.
For more details, see the :ref:`docs <legacy-path-hooks-deprecated>`.


- `9886 <https://github.com/pytest-dev/pytest/issues/9886>`_: The functionality for running tests written for ``nose`` has been officially deprecated.

This includes:

* Plain ``setup`` and ``teardown`` functions and methods: this might catch users by surprise, as ``setup()`` and ``teardown()`` are not pytest idioms, but part of the ``nose`` support.
* Setup/teardown using the `with_setup <with-setup-nose>`_ decorator.

For more details, consult the :ref:`deprecation docs <nose-deprecation>`.

.. _`with-setup-nose`: https://nose.readthedocs.io/en/latest/testing_tools.html?highlight=with_setup#nose.tools.with_setup

- `7337 <https://github.com/pytest-dev/pytest/issues/7337>`_: A deprecation warning is now emitted if a test function returns something other than `None`. This prevents a common mistake among beginners that expect that returning a `bool` (for example `return foo(a, b) == result`) would cause a test to pass or fail, instead of using `assert`. The plan is to make returning non-`None` from tests an error in the future.


Features
--------

- `9897 <https://github.com/pytest-dev/pytest/issues/9897>`_: Added shell-style wildcard support to ``testpaths``.



Improvements
------------

- `10218 <https://github.com/pytest-dev/pytest/issues/10218>`_: ``pytest.mark.parametrize()`` (and similar functions) now accepts any ``Sequence[str]`` for the argument names,
instead of just ``list[str]`` and ``tuple[str, ...]``.

(Note that ``str``, which is itself a ``Sequence[str]``, is still treated as a
comma-delimited name list, as before).


- `10381 <https://github.com/pytest-dev/pytest/issues/10381>`_: The ``--no-showlocals`` flag has been added. This can be passed directly to tests to override ``--showlocals`` declared through ``addopts``.


- `3426 <https://github.com/pytest-dev/pytest/issues/3426>`_: Assertion failures with strings in NFC and NFD forms that normalize to the same string now have a dedicated error message detailing the issue, and their utf-8 representation is expressed instead.


- `8508 <https://github.com/pytest-dev/pytest/issues/8508>`_: Introduce multiline display for warning matching  via :py:func:`pytest.warns` and
enhance match comparison for :py:func:`_pytest._code.ExceptionInfo.match` as returned by :py:func:`pytest.raises`.


- `8646 <https://github.com/pytest-dev/pytest/issues/8646>`_: Improve :py:func:`pytest.raises`. Previously passing an empty tuple would give a confusing
error. We now raise immediately with a more helpful message.


- `9741 <https://github.com/pytest-dev/pytest/issues/9741>`_: On Python 3.11, use the standard library's :mod:`tomllib` to parse TOML.

:mod:`tomli` is no longer a dependency on Python 3.11.


- `9742 <https://github.com/pytest-dev/pytest/issues/9742>`_: Display assertion message without escaped newline characters with ``-vv``.


- `9823 <https://github.com/pytest-dev/pytest/issues/9823>`_: Improved error message that is shown when no collector is found for a given file.


- `9873 <https://github.com/pytest-dev/pytest/issues/9873>`_: Some coloring has been added to the short test summary.


- `9883 <https://github.com/pytest-dev/pytest/issues/9883>`_: Normalize the help description of all command-line options.


- `9920 <https://github.com/pytest-dev/pytest/issues/9920>`_: Display full crash messages in ``short test summary info``, when running in a CI environment.


- `9987 <https://github.com/pytest-dev/pytest/issues/9987>`_: Added support for hidden configuration file by allowing ``.pytest.ini`` as an alternative to ``pytest.ini``.



Bug Fixes
---------

- `10150 <https://github.com/pytest-dev/pytest/issues/10150>`_: :data:`sys.stdin` now contains all expected methods of a file-like object when capture is enabled.


- `10382 <https://github.com/pytest-dev/pytest/issues/10382>`_: Do not break into pdb when ``raise unittest.SkipTest()`` appears top-level in a file.


- `7792 <https://github.com/pytest-dev/pytest/issues/7792>`_: Marks are now inherited according to the full MRO in test classes. Previously, if a test class inherited from two or more classes, only marks from the first super-class would apply.

When inheriting marks from super-classes, marks from the sub-classes are now ordered before marks from the super-classes, in MRO order. Previously it was the reverse.

When inheriting marks from super-classes, the `pytestmark` attribute of the sub-class now only contains the marks directly applied to it. Previously, it also contained marks from its super-classes. Please note that this attribute should not normally be accessed directly; use :func:`pytest.Node.iter_markers` instead.


- `9159 <https://github.com/pytest-dev/pytest/issues/9159>`_: Showing inner exceptions by forcing native display in ``ExceptionGroups`` even when using display options other than ``--tb=native``. A temporary step before full implementation of pytest-native display for inner exceptions in ``ExceptionGroups``.


- `9877 <https://github.com/pytest-dev/pytest/issues/9877>`_: Ensure ``caplog.get_records(when)`` returns current/correct data after invoking ``caplog.clear()``.



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

- `10344 <https://github.com/pytest-dev/pytest/issues/10344>`_: Update information on writing plugins to use ``pyproject.toml`` instead of ``setup.py``.


- `9248 <https://github.com/pytest-dev/pytest/issues/9248>`_: The documentation is now built using Sphinx 5.x (up from 3.x previously).


- `9291 <https://github.com/pytest-dev/pytest/issues/9291>`_: Update documentation on how :func:`pytest.warns` affects :class:`DeprecationWarning`.



Trivial/Internal Changes
------------------------

- `10313 <https://github.com/pytest-dev/pytest/issues/10313>`_: Made ``_pytest.doctest.DoctestItem`` export ``pytest.DoctestItem`` for
type check and runtime purposes. Made `_pytest.doctest` use internal APIs
to avoid circular imports.


- `9906 <https://github.com/pytest-dev/pytest/issues/9906>`_: Made ``_pytest.compat`` re-export ``importlib_metadata`` in the eyes of type checkers.


- `9910 <https://github.com/pytest-dev/pytest/issues/9910>`_: Fix default encoding warning (``EncodingWarning``) in ``cacheprovider``


- `9984 <https://github.com/pytest-dev/pytest/issues/9984>`_: Improve the error message when we attempt to access a fixture that has been
torn down.
Add an additional sentence to the docstring explaining when it's not a good
idea to call ``getfixturevalue``.

7.1.3

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

Bug Fixes
---------

- `10060 <https://github.com/pytest-dev/pytest/issues/10060>`_: When running with ``--pdb``, ``TestCase.tearDown`` is no longer called for tests when the *class* has been skipped via ``unittest.skip`` or ``pytest.mark.skip``.


- `10190 <https://github.com/pytest-dev/pytest/issues/10190>`_: Invalid XML characters in setup or teardown error messages are now properly escaped for JUnit XML reports.


- `10230 <https://github.com/pytest-dev/pytest/issues/10230>`_: Ignore ``.py`` files created by ``pyproject.toml``-based editable builds introduced in `pip 21.3 <https://pip.pypa.io/en/stable/news/#v21-3>`__.


- `3396 <https://github.com/pytest-dev/pytest/issues/3396>`_: Doctests now respect the ``--import-mode`` flag.


- `9514 <https://github.com/pytest-dev/pytest/issues/9514>`_: Type-annotate ``FixtureRequest.param`` as ``Any`` as a stop gap measure until :issue:`8073` is fixed.


- `9791 <https://github.com/pytest-dev/pytest/issues/9791>`_: Fixed a path handling code in ``rewrite.py`` that seems to work fine, but was incorrect and fails in some systems.


- `9917 <https://github.com/pytest-dev/pytest/issues/9917>`_: Fixed string representation for :func:`pytest.approx` when used to compare tuples.



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

- `9937 <https://github.com/pytest-dev/pytest/issues/9937>`_: Explicit note that :fixture:`tmpdir` fixture is discouraged in favour of :fixture:`tmp_path`.



Trivial/Internal Changes
------------------------

- `10114 <https://github.com/pytest-dev/pytest/issues/10114>`_: Replace `atomicwrites <https://github.com/untitaker/python-atomicwrites>`__ dependency on windows with `os.replace`.

7.1.2

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

Bug Fixes
---------

- `9726 <https://github.com/pytest-dev/pytest/issues/9726>`_: An unnecessary ``numpy`` import inside :func:`pytest.approx` was removed.


- `9820 <https://github.com/pytest-dev/pytest/issues/9820>`_: Fix comparison of  ``dataclasses`` with ``InitVar``.


- `9869 <https://github.com/pytest-dev/pytest/issues/9869>`_: Increase ``stacklevel`` for the ``NODE_CTOR_FSPATH_ARG`` deprecation to point to the
user's code, not pytest.


- `9871 <https://github.com/pytest-dev/pytest/issues/9871>`_: Fix a bizarre (and fortunately rare) bug where the `temp_path` fixture could raise
an internal error while attempting to get the current user's username.

7.1.1

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

Bug Fixes
---------

- `9767 <https://github.com/pytest-dev/pytest/issues/9767>`_: Fixed a regression in pytest 7.1.0 where some conftest.py files outside of the source tree (e.g. in the `site-packages` directory) were not picked up.

7.1.0

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

Breaking Changes
----------------

- `8838 <https://github.com/pytest-dev/pytest/issues/8838>`_: As per our policy, the following features have been deprecated in the 6.X series and are now
removed:

* ``pytest._fillfuncargs`` function.

* ``pytest_warning_captured`` hook - use ``pytest_warning_recorded`` instead.

* ``-k -foobar`` syntax - use ``-k 'not foobar'`` instead.

* ``-k foobar:`` syntax.

* ``pytest.collect`` module - import from ``pytest`` directly.

For more information consult
`Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__ in the docs.


- `9437 <https://github.com/pytest-dev/pytest/issues/9437>`_: Dropped support for Python 3.6, which reached `end-of-life <https://devguide.python.org/#status-of-python-branches>`__ at 2021-12-23.



Improvements
------------

- `5192 <https://github.com/pytest-dev/pytest/issues/5192>`_: Fixed test output for some data types where ``-v`` would show less information.

Also, when showing diffs for sequences, ``-q`` would produce full diffs instead of the expected diff.


- `9362 <https://github.com/pytest-dev/pytest/issues/9362>`_: pytest now avoids specialized assert formatting when it is detected that the default ``__eq__`` is overridden in ``attrs`` or ``dataclasses``.


- `9536 <https://github.com/pytest-dev/pytest/issues/9536>`_: When ``-vv`` is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.


- `9644 <https://github.com/pytest-dev/pytest/issues/9644>`_: More information about the location of resources that led Python to raise :class:`ResourceWarning` can now
be obtained by enabling :mod:`tracemalloc`.

See :ref:`resource-warnings` for more information.


- `9678 <https://github.com/pytest-dev/pytest/issues/9678>`_: More types are now accepted in the ``ids`` argument to ``pytest.mark.parametrize``.
Previously only `str`, `float`, `int` and `bool` were accepted;
now `bytes`, `complex`, `re.Pattern`, `Enum` and anything with a `__name__` are also accepted.


- `9692 <https://github.com/pytest-dev/pytest/issues/9692>`_: :func:`pytest.approx` now raises a :class:`TypeError` when given an unordered sequence (such as :class:`set`).

Note that this implies that custom classes which only implement ``__iter__`` and ``__len__`` are no longer supported as they don't guarantee order.



Bug Fixes
---------

- `8242 <https://github.com/pytest-dev/pytest/issues/8242>`_: The deprecation of raising :class:`unittest.SkipTest` to skip collection of
tests during the pytest collection phase is reverted - this is now a supported
feature again.


- `9493 <https://github.com/pytest-dev/pytest/issues/9493>`_: Symbolic link components are no longer resolved in conftest paths.
This means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice.
For example, given

   tests/real/conftest.py
   tests/real/test_it.py
   tests/link -> tests/real

running ``pytest tests`` now imports the conftest twice, once as ``tests/real/conftest.py`` and once as ``tests/link/conftest.py``.
This is a fix to match a similar change made to test collection itself in pytest 6.0 (see :pull:`6523` for details).


- `9626 <https://github.com/pytest-dev/pytest/issues/9626>`_: Fixed count of selected tests on terminal collection summary when there were errors or skipped modules.

If there were errors or skipped modules on collection, pytest would mistakenly subtract those from the selected count.


- `9645 <https://github.com/pytest-dev/pytest/issues/9645>`_: Fixed regression where ``--import-mode=importlib`` used together with :envvar:`PYTHONPATH` or :confval:`pythonpath` would cause import errors in test suites.


- `9708 <https://github.com/pytest-dev/pytest/issues/9708>`_: :fixture:`pytester` now requests a :fixture:`monkeypatch` fixture instead of creating one internally. This solves some issues with tests that involve pytest environment variables.


- `9730 <https://github.com/pytest-dev/pytest/issues/9730>`_: Malformed ``pyproject.toml`` files now produce a clearer error message.

7.0.1

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

Bug Fixes
---------

- `9608 <https://github.com/pytest-dev/pytest/issues/9608>`_: Fix invalid importing of ``importlib.readers`` in Python 3.9.


- `9610 <https://github.com/pytest-dev/pytest/issues/9610>`_: Restore `UnitTestFunction.obj` to return unbound rather than bound method.
Fixes a crash during a failed teardown in unittest TestCases with non-default `__init__`.
Regressed in pytest 7.0.0.


- `9636 <https://github.com/pytest-dev/pytest/issues/9636>`_: The ``pythonpath`` plugin was renamed to ``python_path``. This avoids a conflict with the ``pytest-pythonpath`` plugin.


- `9642 <https://github.com/pytest-dev/pytest/issues/9642>`_: Fix running tests by id with ``::`` in the parametrize portion.


- `9643 <https://github.com/pytest-dev/pytest/issues/9643>`_: Delay issuing a :class:`~pytest.PytestWarning` about diamond inheritance involving :class:`~pytest.Item` and
:class:`~pytest.Collector` so it can be filtered using :ref:`standard warning filters <warnings>`.

7.0.0

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

(**Please see the full set of changes for this release also in the 7.0.0rc1 notes below**)

Deprecations
------------

- `9488 <https://github.com/pytest-dev/pytest/issues/9488>`_: If custom subclasses of nodes like :class:`pytest.Item` override the
``__init__`` method, they should take ``**kwargs``. See
:ref:`uncooperative-constructors-deprecated` for details.

Note that a deprection warning is only emitted when there is a conflict in the
arguments pytest expected to pass. This deprecation was already part of pytest
7.0.0rc1 but wasn't documented.



Bug Fixes
---------

- `9355 <https://github.com/pytest-dev/pytest/issues/9355>`_: Fixed error message prints function decorators when using assert in Python 3.8 and above.


- `9396 <https://github.com/pytest-dev/pytest/issues/9396>`_: Ensure :attr:`pytest.Config.inifile` is available during the :func:`pytest_cmdline_main <_pytest.hookspec.pytest_cmdline_main>` hook (regression during ``7.0.0rc1``).



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

- `9404 <https://github.com/pytest-dev/pytest/issues/9404>`_: Added extra documentation on alternatives to common misuses of `pytest.warns(None)` ahead of its deprecation.


- `9505 <https://github.com/pytest-dev/pytest/issues/9505>`_: Clarify where the configuration files are located. To avoid confusions documentation mentions
that configuration file is located in the root of the repository.



Trivial/Internal Changes
------------------------

- `9521 <https://github.com/pytest-dev/pytest/issues/9521>`_: Add test coverage to assertion rewrite path.

7.0.0rc1

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

Breaking Changes
----------------

- `7259 <https://github.com/pytest-dev/pytest/issues/7259>`_: The :ref:`Node.reportinfo() <non-python tests>` function first return value type has been expanded from `py.path.local | str` to `os.PathLike[str] | str`.

Most plugins which refer to `reportinfo()` only define it as part of a custom :class:`pytest.Item` implementation.
Since `py.path.local` is a `os.PathLike[str]`, these plugins are unaffacted.

Plugins and users which call `reportinfo()`, use the first return value and interact with it as a `py.path.local`, would need to adjust by calling `py.path.local(fspath)`.
Although preferably, avoid the legacy `py.path.local` and use `pathlib.Path`, or use `item.location` or `item.path`, instead.

Note: pytest was not able to provide a deprecation period for this change.


- `8246 <https://github.com/pytest-dev/pytest/issues/8246>`_: ``--version`` now writes version information to ``stdout`` rather than ``stderr``.


- `8733 <https://github.com/pytest-dev/pytest/issues/8733>`_: Drop a workaround for `pyreadline <https://github.com/pyreadline/pyreadline>`__ that made it work with ``--pdb``.

The workaround was introduced in `1281 <https://github.com/pytest-dev/pytest/pull/1281>`__ in 2015, however since then
`pyreadline seems to have gone unmaintained <https://github.com/pyreadline/pyreadline/issues/58>`__, is `generating
warnings <https://github.com/pytest-dev/pytest/issues/8847>`__, and will stop working on Python 3.10.


- `9061 <https://github.com/pytest-dev/pytest/issues/9061>`_: Using :func:`pytest.approx` in a boolean context now raises an error hinting at the proper usage.

It is apparently common for users to mistakenly use ``pytest.approx`` like this:

.. code-block:: python

   assert pytest.approx(actual, expected)

While the correct usage is:

.. code-block:: python

   assert actual == pytest.approx(expected)

The new error message helps catch those mistakes.


- `9277 <https://github.com/pytest-dev/pytest/issues/9277>`_: The ``pytest.Instance`` collector type has been removed.
Importing ``pytest.Instance`` or ``_pytest.python.Instance`` returns a dummy type and emits a deprecation warning.
See :ref:`instance-collector-deprecation` for details.


- `9308 <https://github.com/pytest-dev/pytest/issues/9308>`_: **PytestRemovedIn7Warning deprecation warnings are now errors by default.**

Following our plan to remove deprecated features with as little disruption as
possible, all warnings of type ``PytestRemovedIn7Warning`` now generate errors
instead of warning messages by default.

**The affected features will be effectively removed in pytest 7.1**, so please consult the
:ref:`deprecations` section in the docs for directions on how to update existing code.

In the pytest ``7.0.X`` series, it is possible to change the errors back into warnings as a
stopgap measure by adding this to your ``pytest.ini`` file:

.. code-block:: ini

   [pytest]
   filterwarnings =
       ignore::pytest.PytestRemovedIn7Warning

But this will stop working when pytest ``7.1`` is released.

**If you have concerns** about the removal of a specific feature, please add a
comment to :issue:`9308`.



Deprecations
------------

- `7259 <https://github.com/pytest-dev/pytest/issues/7259>`_: ``py.path.local`` arguments for hooks have been deprecated. See :ref:`the deprecation note <legacy-path-hooks-deprecated>` for full details.

``py.path.local`` arguments to Node constructors have been deprecated. See :ref:`the deprecation note <node-ctor-fspath-deprecation>` for full details.

.. note::
   The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
   new attribute being ``path``) is **the opposite** of the situation for hooks
   (the old argument being ``path``).

   This is an unfortunate artifact due to historical reasons, which should be
   resolved in future versions as we slowly get rid of the :pypi:`py`
   dependency (see :issue:`9283` for a longer discussion).


- `7469 <https://github.com/pytest-dev/pytest/issues/7469>`_: Directly constructing the following classes is now deprecated:

- ``_pytest.mark.structures.Mark``
- ``_pytest.mark.structures.MarkDecorator``
- ``_pytest.mark.structures.MarkGenerator``
- ``_pytest.python.Metafunc``
- ``_pytest.runner.CallInfo``
- ``_pytest._code.ExceptionInfo``
- ``_pytest.config.argparsing.Parser``
- ``_pytest.config.argparsing.OptionGroup``
- ``_pytest.pytester.HookRecorder``

These constructors have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 8.


- `8242 <https://github.com/pytest-dev/pytest/issues/8242>`_: Raising :class:`unittest.SkipTest` to skip collection of tests during the
pytest collection phase is deprecated. Use :func:`pytest.skip` instead.

Note: This deprecation only relates to using :class:`unittest.SkipTest` during test
collection. You are probably not doing that. Ordinary usage of
:class:`unittest.SkipTest` / :meth:`unittest.TestCase.skipTest` /
:func:`unittest.skip` in unittest test cases is fully supported.

.. note:: This deprecation has been reverted in pytest 7.1.0.


- `8315 <https://github.com/pytest-dev/pytest/issues/8315>`_: Several behaviors of :meth:`Parser.addoption <pytest.Parser.addoption>` are now
scheduled for removal in pytest 8 (deprecated since pyte

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