Skip to content

Scheduled monthly dependency update for December#96

Open
pyup-bot wants to merge 45 commits intomasterfrom
pyup-scheduled-update-2024-12-01
Open

Scheduled monthly dependency update for December#96
pyup-bot wants to merge 45 commits intomasterfrom
pyup-scheduled-update-2024-12-01

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Dec 1, 2024

Update alabaster from 0.7.12 to 1.0.0.

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

Links

Update argh from 0.26.2 to 0.31.3.

Changelog

0.31.3

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

Bugs fixed:

- wrong type annotation of `errors` in `wrap_errors` (PR 229 by laazy)
- tests were failing under Python 3.13 (issue 228 by mgorny)
- regression: can't set argument name with `dest` via decorator
(issue 224 by mathieulongtin)

0.31.2

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

Bugs fixed:

- broken support for `Optional[List]` (but not `Optional[list]`), a narrower
case of the problem fixed earlier (issue 216).

0.31.1

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

Bugs fixed:

- broken support for type alias `List` (issue 216).

Enhancements:

- cleaned up the README, rearranged other documentation.

0.31.0

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

Breaking changes:

- The typing hints introspection feature is automatically enabled for any
command (function) which does **not** have any arguments specified via `arg`
decorator.

This means that, for example, the following function used to fail and now
it will pass::

   def main(count: int):
       assert isinstance(count, int)

This may lead to unexpected behaviour in some rare cases.

- A small change in the legacy argument mapping policy `BY_NAME_IF_HAS_DEFAULT`
concerning the order of variadic positional vs. keyword-only arguments.

The following function now results in ``main alpha [args ...] beta`` instead of
``main alpha beta [args ...]``::

   def main(alpha, *args, beta): ...

This does **not** concern the default name mapping policy.  Even for the
legacy one it's an edge case which is extremely unlikely to appear in any
real-life application.

- Removed the previously deprecated decorator `expects_obj`.

Enhancements:

- Added experimental support for basic typing hints (issue 203)

The following hints are currently supported:

- ``str``, ``int``, ``float``, ``bool`` (goes to ``type``);
- ``list`` (affects ``nargs``), ``list[T]`` (first subtype goes into ``type``);
- ``Literal[T1, T2, ...]`` (interpreted as ``choices``);
- ``Optional[T]`` AKA ``T | None`` (currently interpreted as
 ``required=False`` for optional and ``nargs="?"`` for positional
 arguments; likely to change in the future as use cases accumulate).

The exact interpretation of the type hints is subject to change in the
upcoming versions of Argh.

- Added `always_flush` argument to `dispatch()` (issue 145)

- High-level functions `argh.dispatch_command()` and `argh.dispatch_commands()`
now accept a new parameter `old_name_mapping_policy`.  The behaviour hasn't
changed because the parameter is `True` by default.  It will change to
`False` in Argh v.0.33 or v.1.0.

Deprecated:

- the `namespace` argument in `argh.dispatch()` and `argh.parse_and_resolve()`.
Rationale: continued API cleanup.  It's already possible to mutate the
namespace object between parsing and calling the endpoint; it's unlikely that
anyone would need to specify a custom namespace class or pre-populate it
before parsing.  Please file an issue if you have a valid use case.

Other changes:

- Refactoring.

0.30.5

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

Bugs fixed:

- A combination of `nargs` with a list as default value would lead to the
values coming from CLI being wrapped in another list (issue 212).

Enhancements:

- Argspec guessing: if `nargs` is not specified but the default value
is a list, ``nargs="*"`` is assumed and passed to argparse.

0.30.4

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

There were complaints about the lack of a deprecation cycle for the legacy name
mapping policy.  This version addresses the issue:

- The handling introduced in v.0.30.2 (raising an exception for clarity)
is retained for cases when no name mapping policy is specified but function
signature contains defaults in non-kwonly args **and kwonly args are also
defined**::

   def main(alpha, beta=1, *, gamma=2):   error — explicit policy required

In a similar case but when **kwonly args are not defined** Argh now assumes
the legacy name mapping policy (`BY_NAME_IF_HAS_DEFAULT`) and merely issues
a deprecation warning with the same message as the exception mentioned above::

   def main(alpha, beta=2):     `[-b BETA] alpha` + DeprecationWarning

This ensures that most of the old scripts still work the same way despite the
new policy being used by default and enforced in cases when it's impossible
to resolve the mapping conflict.

Please note that this "soft" handling is to be removed in version v0.33
(or v1.0 if the former is not deemed necessary).  The new name mapping policy
will be used by default without warnings, like in v0.30.

0.30.3

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

Bugs fixed:

- Regression: a positional argument with an underscore used in `arg` decorator
would cause Argh fail on the assembling stage. (208)

0.30.2

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

Bugs fixed:

- As reported in 204 and 206, the new default name mapping policy in fact
silently changed the CLI API of some scripts: arguments which were previously
translated as CLI options became optional positionals. Although the
instructions were supplied in the release notes, the upgrade may not
necessarily be intentional, so a waste of users' time is quite likely.

To alleviate this, the default value for `name_mapping_policy` in standard
functions has been changed to `None`; if it's not specified, Argh falls back
to the new default policy, but raises `ArgumentNameMappingError` with
detailed instructions if it sees a non-kwonly argument with a default value.

Please specify the policy explicitly in order to avoid this error if you need
to infer optional positionals (``nargs="?"``) from function signature.

0.30.1

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

Bugs fixed:

- Regression: certain special values in argument default value would cause an
exception (204)

Enhancements:

- Improved the tutorial.
- Added a more informative error message when the reason is likely to be
related to the migration from Argh v0.29 to a version with a new argument
name mapping policy.

Other changes:

- Added `py.typed` marker file for :pep:`561`.

0.30.0

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

Backwards incompatible changes:

- A new policy for mapping function arguments to CLI arguments is used by
default (see :class:`argh.assembling.NameMappingPolicy`).

The following function does **not** map to ``func foo [--bar]`` anymore::

   def func(foo, bar=None):
       ...

Since this release it maps to ``func foo [bar]`` instead.
Please update the function this way to keep `bar` an "option"::

   def func(foo, *, bar=None):
       ...

If you cannot modify the function signature to use kwonly args for options,
please consider explicitly specifying the legacy name mapping policy::

   set_default_command(
       func, name_mapping_policy=NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT
   )

- The name mapping policy `BY_NAME_IF_HAS_DEFAULT` slightly deviates from the
old behaviour. Kwonly arguments without default values used to be marked as
required options (``--foo FOO``), now they are treated as positionals
(``foo``). Please consider the new default policy (`BY_NAME_IF_KWONLY`) for
a better treatment of kwonly.

- Removed previously deprecated features (184 → 188):

- argument help string in annotations — reserved for type hints;
- `argh.SUPPORTS_ALIASES`;
- `argh.safe_input()`;
- previously renamed arguments for `add_commands()`: `namespace`,
 `namespace_kwargs`, `title`, `description`, `help`;
- `pre_call` argument in `dispatch()`.  The basic usage remains simple but
 more granular functions are now available for more control.

 Instead of this::

   argh.dispatch(..., pre_call=pre_call_hook)

 please use this::

   func, ns = argh.parse_and_resolve(...)
   pre_call_hook(ns)
   argh.run_endpoint_function(func, ns, ...)

Deprecated:

- The `expects_obj` decorator.  Rationale: it used to support the old,
"un-pythonic" style of usage, which essentially lies outside the scope of
Argh.  If you are not using the mapping of function arguments onto CLI, then
you aren't reducing the amount of code compared to vanilla Argparse.

- The `add_help_command` argument in `dispatch()`.
Rationale: it doesn't add much to user experience; it's not much harder to
type ``--help`` than it is to type ``help``; moreover, the option can be
added anywhere, unlike its positional counterpart.

Enhancements:

- Added support for Python 3.12.
- Added type annotations to existing Argh code (185 → 189).
- The `dispatch()` function has been refactored, so in case you need finer
control over the process, two new, more granular functions can be used:

- `endpoint_function, namespace = argh.parse_and_resolve(...)`
- `argh.run_endpoint_function(endpoint_function, namespace, ...)`

Please note that the names may change in the upcoming versions.

- Configurable name mapping policy has been introduced for function argument
to CLI argument translation (191 → 199):

- `BY_NAME_IF_KWONLY` (default and recommended).
- `BY_NAME_IF_HAS_DEFAULT` (close to pre-v.0.30 behaviour);

Please check API docs on :class:`argh.assembling.NameMappingPolicy` for
details.

0.29.4

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

Bugs fixed:

- Test coverage reported as <100% when argcomplete is installed (187)

0.29.3

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

Technical releases for packaging purposes.  No changes in functionality.

0.29.0

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

Backwards incompatible changes:

- Wrapped exceptions now cause ``dispatching.dispatch()`` to raise
``SystemExit(1)`` instead of returning without error. For most users, this
means failed commands will now exit with a failure status instead of a
success. (161)

Deprecated:

- Renamed arguments in `add_commands()` (165):

- `namespace` → `group_name`
- `namespace_kwargs` → `group_kwargs`

The old names are deprecated and will be removed in v.0.30.

Enhancements:

- Can control exit status (see Backwards Incompatible Changes above) when
raising ``CommandError`` using the ``code`` keyword arg.

Bugs fixed:

-  Positional arguments should not lead to removal of short form of keyword
arguments. (115)

Other changes:

- Avoid depending on iocapture by using pytest's built-in feature (177)

0.28.1

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

- Fixed bugs in tests (171, 172)

0.28.0

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

A major cleanup.

Backward incompatible changes:

- Dropped support for Python 2.7 and 3.7.

Deprecated features, to be removed in v.0.30:

- `argh.assembling.SUPPORTS_ALIASES`.

- Always `True` for recent versions of Python.

- `argh.io.safe_input()` AKA `argh.interaction.safe_input()`.

- Not relevant anymore.  Please use the built-in `input()` instead.

- argument `pre_call` in `dispatch()`.

Even though this hack seems to have been used in some projects, it was never
part of the official API and never recommended.

Describing your use case in the `discussion about shared arguments`_ can
help improve the library to accomodate it in a proper way.

.. _discussion about shared arguments: https://github.com/neithere/argh/issues/63

- Argument help as annotations.

- Annotations will only be used for types after v.0.30.
- Please replace any instance of::

   def func(foo: "Foobar"):

 with the following::

   arg('-f', '--foo', help="Foobar")
   def func(foo):

 It will be decided later how to keep this functionality "DRY" (don't repeat
 yourself) without conflicts with modern conventions and tools.

- Added deprecation warnings for some arguments deprecated back in v.0.26.

0.27.2

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

Minor packaging fix:

* chore: include file required by tox.ini in the sdist (155)

0.27.1

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

Minor building and packaging fixes:

* docs: add Read the Docs config (160)
* chore: include tox.ini in the sdist (155)

0.27.0

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

This is the last version to support Python 2.7.

Backward incompatible changes:

- Dropped support for Python 2.6.

Enhancements:

- Added support for Python 3.7 through 3.11.
- Support introspection of function signature behind the `wraps` decorator
(issue 111).

Fixed bugs:

- When command function signature contained ``**kwargs`` *and* positionals
without defaults and with underscores in their names, a weird behaviour could
be observed (issue 104).
- Fixed introspection through decorators (issue 111).
- Switched to Python's built-in `unittest.mock` (PR 154).
- Fixed bug with `skip_unknown_args=True` (PR 134).
- Fixed tests for Python 3.9.7+ (issue 148).

Other changes:

- Included the license files in manifest (PR 112).
- Extended the list of similar projects (PR 87).
- Fixed typos and links in documentation (PR 110, 116, 156).
- Switched CI to Github Actions (PR 153).
Links

Update arrow from 1.2.3 to 1.3.0.

Changelog

1.3.0

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

- [ADDED] Added official support for Python 3.11 and 3.12.
- [ADDED] Added dependency on ``types-python-dateutil`` to improve Arrow mypy compatibility. `PR 1102 <https://github.com/arrow-py/arrow/pull/1102>`_
- [FIX] Updates to Italian, Romansh, Hungarian, Finish and Arabic locales.
- [FIX] Handling parsing of UTC prefix in timezone strings.
- [CHANGED] Update documentation to improve readability.
- [CHANGED] Dropped support for Python 3.6 and 3.7, which are end-of-life.
- [INTERNAL] Migrate from ``setup.py``/Twine to ``pyproject.toml``/Flit for packaging and distribution.
- [INTERNAL] Adopt ``.readthedocs.yaml`` configuration file for continued ReadTheDocs support.
Links

Update attrs from 22.1.0 to 24.2.0.

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

Links

Update autopep8 from 2.0.0 to 2.3.1.

Changelog

2.3.1

What's Changed

Bug Fix
* skip e501 fixed method for f-string line without aggressive option by hhatto in https://github.com/hhatto/autopep8/pull/754
* Fix argument parser errors are printed without a trailing newline by hhatto in https://github.com/hhatto/autopep8/pull/758

Enhancement
* Refactor unit test by hhatto in https://github.com/hhatto/autopep8/pull/756
* Remove coveralls by hhatto in https://github.com/hhatto/autopep8/pull/757
* codecov with 3.11 and 3.12 by hhatto in https://github.com/hhatto/autopep8/pull/755

**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.3.0...v2.3.1

2.3.0

What's Changed
* add handling for E204 whitespace after decorator by asottile in https://github.com/hhatto/autopep8/pull/752
* require to pycodestyle v2.12.0+


**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.2.0...v2.3.0

2.2.0

What's Changed

Other
* experimental option is deprecated by hhatto in https://github.com/hhatto/autopep8/pull/749

Bug Fixes
* fix specific case of e271 and w504 by hhatto in https://github.com/hhatto/autopep8/pull/748
* skip e501 fixed method for f-string line(s) by hhatto in https://github.com/hhatto/autopep8/pull/750


**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.1.2...v2.2.0

2.1.2

What's Changed
* Fix e501 experimental fstring case in Python3.12+ by hhatto in https://github.com/hhatto/autopep8/pull/747


**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.1.1...v2.1.2

2.1.1

What's Changed
* force reload pycodestyle module by hhatto in https://github.com/hhatto/autopep8/pull/740
* include test/acid.py in sdist package by hhatto in https://github.com/hhatto/autopep8/pull/741


**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.1.0...v2.1.1

2.1.0

What's Changed
* migrate to pyproject.toml by hhatto in https://github.com/hhatto/autopep8/pull/705
* Revert "Update MANIFEST.in" by hhatto in https://github.com/hhatto/autopep8/pull/710
* run with pypy3.10 by hhatto in https://github.com/hhatto/autopep8/pull/711
* ISSUE_TEMPLATE: use "console" instead of non-existing "shell" syntax by emanuele6 in https://github.com/hhatto/autopep8/pull/714
* add 3.12, drop 3.7 by hhatto in https://github.com/hhatto/autopep8/pull/709
* tox: add python3.12 to test environments by mvo5 in https://github.com/hhatto/autopep8/pull/726
* async def function formatting by j-z10 in https://github.com/hhatto/autopep8/pull/728
* pyproject: support py3.12 via new version of pycodestyle by mvo5 in https://github.com/hhatto/autopep8/pull/730
* add: unit test for e501 with async def by hhatto in https://github.com/hhatto/autopep8/pull/729
* Update python versions by hhatto in https://github.com/hhatto/autopep8/pull/731
* add unit test for e501 not effected with f-string by hhatto in https://github.com/hhatto/autopep8/pull/732
* add dependabot alearts for GitHub Actions by hhatto in https://github.com/hhatto/autopep8/pull/733
* Bump actions/setup-python from 4 to 5 by dependabot in https://github.com/hhatto/autopep8/pull/737
* Bump actions/checkout from 3 to 4 by dependabot in https://github.com/hhatto/autopep8/pull/736
* Bump github/codeql-action from 2 to 3 by dependabot in https://github.com/hhatto/autopep8/pull/734
* update codecov action v4 by hhatto in https://github.com/hhatto/autopep8/pull/738
* Avoid lib2to3 (second challenge) by hhatto in https://github.com/hhatto/autopep8/pull/739

New Contributors
* emanuele6 made their first contribution in https://github.com/hhatto/autopep8/pull/714
* mvo5 made their first contribution in https://github.com/hhatto/autopep8/pull/726
* j-z10 made their first contribution in https://github.com/hhatto/autopep8/pull/728
* dependabot made their first contribution in https://github.com/hhatto/autopep8/pull/737

**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.0.4...v2.1.0

2.0.4

What's Changed
* Paugier fix pycodestyle missing whitespace by hhatto in https://github.com/hhatto/autopep8/pull/704
* Try to fix an AttributeError related to pycodestyle 2.11.0 by paugier in https://github.com/hhatto/autopep8/pull/699

New Contributors
* paugier made their first contribution in https://github.com/hhatto/autopep8/pull/699

**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.0.3...v2.0.4

2.0.3

What's Changed
* add pre-commit configuration by asottile in https://github.com/hhatto/autopep8/pull/679
* Add pre commit config by hhatto in https://github.com/hhatto/autopep8/pull/681
* Version dependent operator whitespace function. by keriksson-rosenqvist in https://github.com/hhatto/autopep8/pull/696
* Update MANIFEST.in by keriksson-rosenqvist in https://github.com/hhatto/autopep8/pull/693

New Contributors
* keriksson-rosenqvist made their first contribution in https://github.com/hhatto/autopep8/pull/696

**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.0.2...v2.0.3

2.0.2

What's Changed
* Ignore DeprecationWarnings to fix tests on py3.11 by mgorny in https://github.com/hhatto/autopep8/pull/665
* fix: infinite loop in autopep8.fix_code without w50 ignore option by hhatto in https://github.com/hhatto/autopep8/pull/677


**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.0.1...v2.0.2

2.0.1

What's Changed
* Add 'python_requires=">=3.6"' to match tomli package by vphilippon in https://github.com/hhatto/autopep8/pull/656
* require pycodestyle 2.10.0 and higher version by hhatto in https://github.com/hhatto/autopep8/pull/659
* update actions by hhatto in https://github.com/hhatto/autopep8/pull/658
* Support using built-in tomllib in Python 3.11 by mgorny in https://github.com/hhatto/autopep8/pull/654
* fix: e265, e266 by hhatto in https://github.com/hhatto/autopep8/pull/663

New Contributors
* vphilippon made their first contribution in https://github.com/hhatto/autopep8/pull/656

**Full Changelog**: https://github.com/hhatto/autopep8/compare/v2.0.0...v2.0.1
Links

Update Babel from 2.11.0 to 2.16.0.

Changelog

2.16.0

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

Features
~~~~~~~~

* CLDR: Upgrade to CLDR 45 by tomasr8 in :gh:`1077`
* Lists: Support list format fallbacks by akx in :gh:`1099`
* Messages: Initial support for reading mapping configuration as TOML by akx in :gh:`1108`

Bugfixes
~~~~~~~~

* CLDR: Do not allow substituting alternates or drafts in derived locales by akx in :gh:`1113`
* Core: Allow falling back to modifier-less locale data by akx in :gh:`1104`
* Core: Allow use of importlib.metadata for finding entrypoints by akx in :gh:`1102`
* Dates: Avoid crashing on importing localtime when TZ is malformed by akx in :gh:`1100`
* Messages: Allow parsing .po files that have an extant but empty Language header by akx in :gh:`1101`
* Messages: Fix ``--ignore-dirs`` being incorrectly read (1094) by john-psina and Edwin18 in :gh:`1052` and :gh:`1095`
* Messages: Make pgettext search plurals when translation is not found by tomasr8 in :gh:`1085`

Infrastructure
~~~~~~~~~~~~~~

* Replace deprecated `ast.Str` with `ast.Constant` by tomasr8 in :gh:`1083`
* CI fixes by akx in :gh:`1080`, :gh:`1097`, :gh:`1103`, :gh:`1107`
* Test on Python 3.13 beta releases by akx in
* Normalize package name to lower-case in setup.py by akx in :gh:`1110`

Documentation
~~~~~~~~~~~~~

* Add a mention to the docs that `format_skeleton(..., fuzzy=True)` may raise by tomasr8 in :gh:`1106`
* Two hyperlinks (to CLDR) and some typos by buhtz in :gh:`1115`

2.15.0

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

Python version support
~~~~~~~~~~~~~~~~~~~~~~

* Babel 2.15.0 will require Python 3.8 or newer. (:gh:`1048`)

Features
~~~~~~~~

* CLDR: Upgrade to CLDR 44 (:gh:`1071`) (akx)
* Dates: Support for the "fall back to short format" logic for time delta formatting (:gh:`1075`) (akx)
* Message: More versatile .po IO functions (:gh:`1068`) (akx)
* Numbers: Improved support for alternate spaces when parsing numbers (:gh:`1007`) (ronnix's first contribution)

Infrastructure
~~~~~~~~~~~~~~

* Upgrade GitHub Actions (:gh:`1054`) (cclauss's first contribution)
* The Unicode license is now included in `locale-data` and in the documentation (:gh:`1074`) (akx)

2.14.0

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

Upcoming deprecation
~~~~~~~~~~~~~~~~~~~~

* This version, Babel 2.14, is the last version of Babel to support Python 3.7.
Babel 2.15 will require Python 3.8 or newer.
* We had previously announced Babel 2.13 to have been the last version to support
Python 3.7, but being able to use CLDR 43 with Python 3.7 was deemed important
enough to keep supporting the EOL Python version for one more release.

Possibly backwards incompatible changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* ``Locale.number_symbols`` will now have first-level keys for each numbering system.
Since the implicit default numbering system still is ``"latn"``, what had previously
been e.g. ``Locale.number_symbols['decimal']`` is now ``Locale.number_symbols['latn']['decimal']``.
* Babel no longer directly depends on either ``distutils`` or ``setuptools``; if you had been
using the Babel setuptools command extensions, you would need to explicitly depend on ``setuptools`` –
though given you're running ``setup.py`` you probably already do.

Features
~~~~~~~~

* CLDR/Numbers: Add support of local numbering systems for number symbols by kajte in :gh:`1036`
* CLDR: Upgrade to CLDR 43 by rix0rrr in :gh:`1043`
* Frontend: Allow last_translator to be passed as an option to extract_message by AivGitHub in :gh:`1044`
* Frontend: Decouple `pybabel` CLI frontend from distutils/setuptools by akx in :gh:`1041`
* Numbers: Improve parsing of malformed decimals by Olunusib and akx in :gh:`1042`

Infrastructure
~~~~~~~~~~~~~~

* Enforce trailing commas (enable Ruff COM rule and autofix) by akx in :gh:`1045`
* CI: use GitHub output formats by akx in :gh:`1046`

2.13.1

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

This is a patch release to fix a few bugs.

Fixes
~~~~~

* Fix a typo in ``_locales_to_names`` by Dl84 in :gh:`1038` (issue :gh:`1037`)
* Fix ``setuptools`` dependency for Python 3.12 by opryprin in :gh:`1033`

2.13.0

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

Upcoming deprecation (reverted)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* It was previously announced that this version, Babel 2.13, would be the last version of
Babel to support Python 3.7. Babel 2.14 will still support Python 3.7.

Features
~~~~~~~~

* Add flag to ignore POT-Creation-Date for updates by joeportela in :gh:`999`
* Support 't' specifier in keywords by jeanas in :gh:`1015`
* Add f-string parsing for Python 3.12 (PEP 701) by encukou in :gh:`1027`

Fixes
~~~~~

* Various typing-related fixes by akx in :gh:`979`, in :gh:`978`, :gh:`981`,  :gh:`983`
* babel.messages.catalog: deduplicate _to_fuzzy_match_key logic by akx in :gh:`980`
* Freeze format_time() tests to a specific date to fix test failures by mgorny in :gh:`998`
* Spelling and grammar fixes by scop in :gh:`1008`
* Renovate lint tools by akx in :gh:`1017`, :gh:`1028`
* Use SPDX license identifier by vargenau in :gh:`994`
* Use aware UTC datetimes internally by scop in :gh:`1009`

New Contributors
~~~~~~~~~~~~~~~~

* mgorny made their first contribution in :gh:`998`
* vargenau made their first contribution in :gh:`994`
* joeportela made their first contribution in :gh:`999`
* encukou made their first contribution in :gh:`1027`

2.12.1

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

Fixes
~~~~~

* Version 2.12.0 was missing the ``py.typed`` marker file. Thanks to Alex Waygood for the fix! :gh:`975`
* The copyright year in all files was bumped to 2023.

2.12.0

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

Deprecations & breaking changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Python 3.6 is no longer supported (:gh:`919`) - Aarni Koskela
* The `get_next_timezone_transition` function is no more (:gh:`958`) - Aarni Koskela
* `Locale.parse()` will no longer return `None`; it will always return a Locale or raise an exception.
Passing in `None`, though technically allowed by the typing, will raise. (:gh:`966`)

New features
~~~~~~~~~~~~

* CLDR: Babel now uses CLDR 42 (:gh:`951`) - Aarni Koskela
* Dates: `pytz` is now optional; Babel will prefer it but will use `zoneinfo` when available. (:gh:`940`) - ds-cbo
* General: Babel now ships type annotations, thanks to Jonah Lawrence's work in multiple PRs.
* Locales: modifiers are now retained when parsing locales (:gh:`947`) - martin f. krafft
* Messages: JavaScript template string expression extraction is now smarter. (:gh:`939`) - Johannes Wilm
* Numbers: NaN and Infinity are now better supported (:gh:`955`) - Jonah Lawrence
* Numbers: Short compact currency formats are now supported (:gh:`926`) - Jonah Lawrence
* Numbers: There's now a `Format.compact_decimal` utility function. (:gh:`921`) - Jonah Lawrence

Bugfixes
~~~~~~~~

* Dates: The cache for parsed datetime patterns is now bounded (:gh:`967`) - Aarni Koskela
* Messages: Fuzzy candidate matching accuracy is improved (:gh:`970`) - Jean Abou Samra
* Numbers: Compact singular formats and patterns with no numbers work correctly (:gh:`930`, :gh:`932`) - Jonah Lawrence, Jun Omae

Improvements & cleanup
~~~~~~~~~~~~~~~~~~~~~~

* Dates: `babel.dates.UTC` is now an alias for `datetime.timezone.utc` (:gh:`957`) - Aarni Koskela
* Dates: `babel.localtime` was slightly cleaned up. (:gh:`952`) - Aarni Koskela
* Documentation: Documentation was improved by Maciej Olko, Jonah Lawrence, lilinjie, and Aarni Koskela.
* Infrastructure: Babel is now being linted with pre-commit and ruff. - Aarni Koskela
Links

Update bleach from 5.0.1 to 6.2.0.

Changelog

6.2.0

----------------------------------
**Backwards incompatible changes**

* Dropped support for Python 3.8. (737)

**Security fixes**

None

**Bug fixes**

* Add support for Python 3.13. (736)
* Remove six depdenncy. (618)
* Update known-good versions for tinycss2. (732)
* Fix additional < followed by characters and EOF issues. (728)

6.1.0

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

**Backwards incompatible changes**

* Dropped support for Python 3.7. (709)

**Security fixes**

None

**Bug fixes**

* Add support for Python 3.12. (710)
* Fix linkify with arrays in querystring (436)
* Handle more cases with < followed by character data (705)
* Fix entities inside a tags in linkification (704)
* Update cap for tinycss2 to <1.3 (702)
* Updated Sphinx requirement
* Add dependabot for github actions and update github actions

6.0.0

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

**Backwards incompatible changes**

* ``bleach.clean``, ``bleach.sanitizer.Cleaner``,
``bleach.html5lib_shim.BleachHTMLParser``: the ``tags`` and ``protocols``
arguments were changed from lists to sets.

Old pre-6.0.0:

.. code-block:: python

  bleach.clean(
      "some text",
      tags=["a", "p", "img"],
          ^               ^ list
      protocols=["http", "https"],
               ^               ^ list
  )


New 6.0.0 and later:

.. code-block:: python

  bleach.clean(
      "some text",
      tags={"a", "p", "img"},
          ^               ^ set
      protocols={"http", "https"},
               ^               ^ set
  )

* ``bleach.linkify``, ``bleach.linkifier.Linker``: the ``skip_tags`` and
``recognized_tags`` arguments were changed from lists to sets.

Old pre-6.0.0:

.. code-block:: python

  bleach.linkify(
      "some text",
      skip_tags=["pre"],
               ^     ^ list
  )

  linker = Linker(
      skip_tags=["pre"],
               ^     ^ list
      recognized_tags=html5lib_shim.HTML_TAGS + ["custom-element"],
                                             ^ ^                ^ list
                                             |
                                             | list concatenation
  )

New 6.0.0 and later:

.. code-block:: python

  bleach.linkify(
      "some text",
      skip_tags={"pre"},
               ^     ^ set
  )

  linker = Linker(
      skip_tags={"pre"},
               ^     ^ set
      recognized_tags=html5lib_shim.HTML_TAGS | {"custom-element"},
                                             ^ ^                ^ set
                                             |
                                             | union operator
  )

* ``bleach.sanitizer.BleachSanitizerFilter``: ``strip_allowed_elements`` is now
``strip_allowed_tags``. We now use "tags" everywhere rather than a mishmash
of "tags" in some places and "elements" in others.


**Security fixes**

None


**Bug fixes**

* Add support for Python 3.11. (675)

* Fix API weirness in ``BleachSanitizerFilter``. (649)

We're using "tags" instead of "elements" everywhere--no more weird
overloading of "elements" anymore.

Also, it no longer calls the superclass constructor.

* Add warning when ``css_sanitizer`` isn't set, but the ``style``
attribute is allowed. (676)

* Fix linkify handling of character entities. (501)

* Rework dev dependencies to use ``requirements-dev.txt`` and
``requirements-flake8.txt`` instead of extras.

* Fix project infrastructure to be tox-based so it's easier to have CI
run the same things we're running in development and with flake8
in an isolated environment.

* Update action versions in CI.

* Switch to f-strings where possible. Make tests parametrized to be
easier to read/maintain.
Links

Update certifi from 2022.9.24 to 2024.8.30.

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

Links

Update chardet from 5.0.0 to 5.2.0.

Changelog

5.2.0

Adds support for running chardet CLI via `python -m chardet` (0e9b7bc20366163efcc221281201baff4100fe19, dan-blanchard)

5.1.0

Features
- Add `should_rename_legacy` argument to most functions, which will rename older encodings to their more modern equivalents (e.g., `GB2312` becomes `GB18030`) (264, dan-blanchard)
- Add capital letter sharp S and ISO-8859-15 support (222, SimonWaldherr)
- Add a prober for MacRoman encoding (5 updated as c292b52a97e57c95429ef559af36845019b88b33, Rob Speer and dan-blanchard )
- Add `--minimal` flag to `chardetect` command (214, dan-blanchard)
- Add type annotations to the project and run mypy on CI (261, jdufresne)
- Add support for Python 3.11 (274, hugovk)

Fixes
- Clarify LGPL version in License trove classifier (255, musicinmybrain)
- Remove support for EOL Python 3.6 (260, jdufresne)
- Remove unnecessary guards for non-falsey values (259, jdufresne)

Misc changes
- Switch to Python 3.10 release in GitHub actions (257, jdufresne)
- Remove setup.py in favor of build package (262, jdufresne)
- Run tests on macos, Windows, and 3.11-dev (267, dan-blanchard)
Links

Update Click from 8.1.3 to 8.1.7.

Changelog

8.1.7

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

Released 2023-08-17

-   Fix issue with regex flags in shell completion. :issue:`2581`
-   Bash version detection issues a warning instead of an error. :issue:`2574`
-   Fix issue with completion script for Fish shell. :issue:`2567`

8.1.6

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

Released 2023-07-18

-   Fix an issue with type hints for ``click.group()``. :issue:`2558`

8.1.5

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

Released 2023-07-13

-   Fix an issue with type hints for ``click.command()``, ``click.option()``, and
 other decorators. Introduce typing tests. :issue:`2558`

8.1.4

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

Released 2023-07-06

-   Replace all ``typing.Dict`` occurrences to ``typing.MutableMapping`` for
 parameter hints. :issue:`2255`
-   Improve type hinting for decorators and give all generic types parameters.
 :issue:`2398`
-   Fix return value and type signature of `shell_completion.add_completion_class`
 function. :pr:`2421`
-   Bash version detection doesn't fail on Windows. :issue:`2461`
-   Completion works if there is a dot (``.``) in the program name. :issue:`2166`
-   Improve type annotations for pyright type checker. :issue:`2268`
-   Improve responsiveness of ``click.clear()``. :issue:`2284`
-   Improve command name detection when using Shiv or PEX. :issue:`2332`
-   Avoid showing empty lines if command help text is empty. :issue:`2368`
-   ZSH completion script works when loaded from ``fpath``. :issue:`2344`.
-   ``EOFError`` and ``KeyboardInterrupt`` tracebacks are not suppressed when
 ``standalone_mode`` is disabled. :issue:`2380`
-   ``group.command`` does not fail if the group was created with a custom
 ``command_class``. :issue:`2416`
-   ``multiple=True`` is allowed for flag options again and does not require
 setting ``default=()``. :issue:`2246, 2292, 2295`
-   Make the decorators returned by ``argument()`` and ``option()`` reusable when the
 ``cls`` parameter is used. :issue:`2294`
-   Don't fail when writing filenames to streams with strict errors. Replace invalid
 bytes with the replacement character (``�``). :issue:`2395`
-   Remove unnecessary attempt to detect MSYS2 environment. :issue:`2355`
-   Remove outdated and unnecessary detection of App Engine environment. :pr:`2554`
-   ``echo()`` does not fail when no streams are attached, such as with ``pythonw`` on
 Windows. :issue:`2415`
-   Argument with ``expose_value=False`` do not cause completion to fail. :issue:`2336`
Links

Update cookiecutter from 2.1.1 to 2.6.0.

Changelog

2.6.0

Minor Changes

* Support Python 3.12 (1989) ericof
* Modifying Jinja2 start and end variable strings (1997) sacha-c

CI/CD and QA changes

* Add isort as a pre-commit hook (1988) kurtmckee
* Bump actions/setup-python from 4 to 5 (2000) dependabot
* Bump actions/upload-artifact from 3 to 4 (1999) dependabot
* Quick resolution of 2003 (2004) jensens
* Support Python 3.12 (1989) ericof
* [pre-commit.ci] pre-commit autoupdate (1996) pre-commit-ci
* Quick resolution of 2003 (2004) jensens

Documentation updates

* Support Python 3.12 (1989) ericof

Bugfixes

* Fix regression 2009: Adding value to nested dicts broken (2010) jensens
* Fixed errors caused by invalid config files. (1995) alanverresen

This release is made by wonderful contributors:

alanverresen, dependabot, dependabot[bot], ericof, jensens, kurtmckee, pre-commit-ci, pre-commit-ci[bot] and sacha-c

2.5.0

Minor Changes

* Default values can be passed as a dict (1924) matveyvarg
* Implement new style for nested templates config (1981) ericof

CI/CD and QA changes

* Bump actions/checkout from 3 to 4 (1953) dependabot
* [pre-commit.ci] pre-commit autoupdate (1977) pre-commit-ci
* [pre-commit.ci] pre-commit autoupdate (1957) pre-commit-ci

Documentation updates

* Add argument run to pipx command in README.md (1964) staeff
* Fix tutorial2 generated HTML (1971) aantoin
* Update README.md (1967) HarshRanaOC
* Update README.md to fix broken link (1952) david-abn
* Update README.md to include installation instructions (1949) david-abn
* Update cookiecutter-plone-starter link in readme (1965) zahidkizmaz

Bugfixes

* Fix FileExistsError when using a relative template path (1968) pkrueger-cariad
* Fix recursive context overwrites (1961) padraic-padraic

This release is made by wonderful contributors:

HarshRanaOC, aantoin, david-abn, dependabot, dependabot[bot], ericof, matveyvarg, padraic-padraic, pkrueger-cariad, pre-commit-ci, pre-commit-ci[bot], staeff and zahidkizmaz

2.4.0

Minor Changes

* Gracefully handle files with mixed lined endings (1942) EricHripko
* Implement a pre_prompt hook that will run before prompts (1950) ericof

Documentation updates

* Implement a pre_prompt hook that will run before prompts (1950) ericof
* update main docstrings to include overwrite_if_exists and skip_if_file_exists (1947) david-abn

This release is made by wonderful contributors:

EricHripko, david-abn and ericof

2.3.1

Minor Changes

* add checkout details to the context (fixes 1759) (1923) JonZeolla

CI/CD and QA changes

* Update the black pre-commit hook URL and version (1934) kurtmckee
* Use UTF-8 for file reading/writing (1937) rmartin16

Documentation updates

* Add missing "parent dir" symbol in tutorial 2 (1932) tvoirand
* Remove colons from exemplary prompt messages (1912) paduszyk
* docs: add install instruction for Void Linux (1917) tranzystorek-io

Bugfixes

* Fix nested templates in Git repository (1922) BTatlock
* Fix prompt counter. (1940) ericof
* Fix variables with null default not being required (1919) (1920) limtis0

This release is made by wonderful contributors:

BTatlock, JonZeolla, ericof, kurtmckee, limtis0, paduszyk, rmartin16, tranzystorek-io and tvoirand

2.3.0

Minor Changes

* Improve style of prompts using `rich` (1901) vemonet

CI/CD and QA changes

* Bump paambaati/codeclimate-action from 4.0.0 to 5.0.0 (1908) dependabot
* [pre-commit.ci] pre-commit autoupdate (1907) pre-commit-ci

Bugfixes

* Fix replay (1904) vemonet
* Support multichoice overwrite (1903) Meepit

This release is made by wonderful contributors:

Meepit, dependabot, dependabot[bot], ericof, pre-commit-ci, pre-commit-ci[bot] and vemonet

2.2.3

Changes

Minor Changes

* Add support for adding human-readable labels for choices when defining multiple choices questions (1898) vemonet

* Prompt with replay file (1758) w1ndblow

CI/CD and QA changes

* Set cookiecutter/VERSION.txt as source of truth for version number (1896) ericof
* [pre-commit.ci] pre-commit autoupdate (1897) pre-commit-ci

Bugfixes

* Fix issue where the prompts dict was not passed for yes_no questions (1895) vemonet
* Set cookiecutter/VERSION.txt as source of truth for version number (1896) ericof

This release is made by wonderful contributors:

ericof, pre-commit-ci, pre-commit-ci[bot], vemonet and w1ndblow

2.2.2

CI/CD and QA changes

* Improve gitignore (1889) audreyfeldroy
* Add warning for jinja2_time (1890) henryiii

This release is made by wonderful contributors:

audreyfeldroy, ericof and henryiii

2.2.0

Changes

* Added timeout on request.get() for ensuring that if a recipient serve… (1772) openrefactory
* Fixing Carriage Return Line Feed (CRLF) order in docs 1792 (1793) Lahiry
* Reduce I/O (1877) kurtmckee
* Remove a pre-commit hook special case (1875) kurtmckee
* Remove universal bdist_wheel option; use "python -m build" (1739) mwtoews
* Remove unused import from post-generate hook script example (1795) KAZYPinkSaurus
* Standardize newlines for all platforms (1870) kurtmckee
* feat: Add resolved template repository path as _repo_dir to the context (1771) tmeckel

Minor Changes

* Added support for providing human-readable prompts to the different variables (1881) vemonet
* Added: Boolean variable support in JSON (1626) liortct
* Added: CLI option to keep project files on failure. (1669) MaciejPatro
* Added: Support partially overwrite keys in nested dict (1692) cksac
* Added: Templates inheritance (1485) simobasso
* Code quality: Tests upgrade: Use pathlib for files read/write (1718) insspb
* Inline jinja2-time extension code (1779) tranzystorek-io
* Support Python 3.11 (1850) kurtmckee
* Support nested config files (1770) dariocurr
* preserves original options in `_cookiecutter` (1874) kjaymiller

CI/CD and QA changes

* Add a Dependabot config to autoupdate GitHub workflow actions (1851) kurtmckee
* Added: Readthedocs build config (1707) insspb
* Bump actions/setup-python from 3 to 4 (1854) dependabot
* Bump paambaati/codeclimate-action from 3.0.0 to 4.0.0 (1853) dependabot
* CI/CD: Tox -> Nox: Added nox configuration (1706) insspb
* CI/CD: Tox -> Nox: Github actions definition minimized + Sync nox and github actions (1714) insspb
* CI/CD: Tox -> Nox: Makefile update: Removed watchmedo and sed dependency, tox replaced with nox (1713) insspb
* CI/CD: Updated .pre-commit-config.yaml to use latest hooks versions (1712) insspb
* Code quality: Core files: Added exception reason reraise when exception class changed (PEP 3134) (1719) insspb
* Code quality: Tests upgrade: Use pathlib for files read/write (1718) insspb
* Code quality: core files: Format replaced with f-strings (1716) insspb
* Code quality: find.py refactored and type annotated (1721) insspb
* Code quality: tests files: Simplify statements fixes (1717) insspb
* Code quality: utils.make_sure_path_exists refactored and type annotated (1722) insspb
* Fixed: recommonmark replaced with myst, as recommonmark is deprecated (1709) insspb
* Pretty-format JSON files (1864) kurtmckee
* Rename `master` to `main` so CI runs correctly on merge (1852) kurtmckee
* Standardize EOF newlines (1876) kurtmckee
* Update `.gitignore` and cite where it was copied from (1879) kurtmckee
* Update base docs, remove tox (1858) ericof
* Update pre-commit hook versions (1849) kurtmckee
* Updated: Release drafter configuration (1704) insspb
* Use tox (1866) kurtmckee
* Verify an expected warning is raised (1869) kurtmckee
* fixed failing lint ci action by updating repo of flake8 (1838) Tamronimus

Documentation updates

* Add jinja env docs (1872) pamelafox
* Documentation extension: Create a Cookiecutter From Scratch tutorial (1592) miro-jelaska
* Easy PR! Fix typos and add minor doc updates (1741) Alex0Blackwell
* Expand cli documentation relating to the no-input flag (1543) (1587) jeremyswerdlow
* Fix audreyr to audreyfeldroy github account rename (1604) ri0t
* Fixed broken links to jinja docs (1691) insspb
* Fixed minor typos in docs (1753) segunb
* Fixed: Python code block in the replay documentation (1715) juhannc
* Fixed: recommonmark replaced with myst, as recommonmark is deprecated (1709) insspb
* Improve Docs Readability (1690) ryanrussell
* Update base docs, remove tox (1858) ericof
* Updated: Boolean Variables documentation and docstrings (1705) italomaia
* docs: fix simple typo, shat -> that (1749) timgates42
* fixing badge display problem (1798) Paulokim1

Bugfixes

* Fixed the override not working with copy only dir 1650 (1651) zhongdai
* Fixed: Removed mention of packages versions, to exclude dependabot warnings alerts (1711) insspb
* cleanup files if panics during hooks - bugfix (1760) liortct

This release is made by wonderful contributors:

Alex0Blackwell, KAZYPinkSaurus, Lahiry, MaciejPatro, Paulokim1, Tamronimus, cksac, cookies-xor-cream, dariocurr, dependabot, dependabot[bot], ericof, insspb, italomaia, jeremyswerdlow, juhannc, kjaymiller, kurtmckee, liortct, miro-jelaska, mwtoews, openrefactory, pamelafox, ri0t, ryanrussell, segunb, simobasso, timgates42, tmeckel, tranzystorek-io, vemonet and zhongdai
Links

Update coverage from 6.5.0 to 7.6.8.

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

Links

Update docutils from 0.19 to 0.21.2.

Changelog

0.21.2

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

* Declare support for languages Georgian and Catalan (Valencian).

* Fix test failures.

0.21.2b.dev

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

* Document Tree / Docutils DTD

- Remove declaration of unsupported element <info>.
- Remove <decoration> from content declaration of <section> elements.

0.21.1

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

The sdist in 0.21 was incomplete

- pypi allows no file replacing
- adding a postrelease suffix "post1": docutils-0.21.post1.tar.gz
works on pypi, but fails with pip because the metadata differs.

But if the metadata is 0.21.post1 pypi makes it a new release.

0.21.1 is the same code except for the version number.

0.21

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

* General:

- Drop support for Python 3.7 and 3.8.

- Provide ``rst2*`` "console_scripts" `entry points`_
 (without the ``.py`` extension) instead of installing the
 ``rst2*.py`` `front end tools`_ in the binary PATH. []_

 Exceptions: ``rstpep2html.py`` and ``rst2odt_prepstyles.py``:

 - Use ``docutils --reader=pep --writer=pep_html`` for a PEP preview. []_
 - Use ``python -m docutils.writers.odf_odt.prepstyles``
   to `strip the page size`__ from an ODT writer stylesheet.

 __ docs/user/odt.htmlpage-size

.. [] Some Linux distributions already use the short names.
.. [] The final rendering is done by a Sphinx-based build system
      (cf. :PEP:`676`).

* reStructuredText:

- Use the same CSV format for the ``:header:`` option and the main data
 of the "csv-table_" directive.

- New option "loading" for the `"image" directive`_.
 Sets the new attribute loading__ of the <image> doctree element.

__ docs/ref/doctree.htmlloading

* Configuration changes:

- New configuration setting root_prefix_.
 Configurable root directory for included files.

- New configuration setting sources_ for the "buildhtml.py" application.

- Simpler and more secure `input encoding`_ default behaviour:

 Do not use the locale encoding as fallback if Python is started in
 `UTF-8 mode`_. Stop using "latin1" as second fallback.

 Remove BOM (U+FEFF ZWNBSP at start of data) only if the `input_encoding`_
 configuration setting is None, '', 'utf-8-sig', 'utf-16', or 'utf-32'.
 Do not remove other ZWNBSPs.

* Output changes:

HTML5:
 Stop setting the "footnote-reference" class value for footnote
 references. Use the CSS selector ``[role="doc-noteref"]``
 (works since Docutils 0.18, see minimal.css for examples).

 Fix MathML rendering problems in Chrome/Chromium based browsers.

 Embed SVG images as ``<svg>`` instead of data-URI.

manpage:
 Use .EE/.EX macros for literal blocks.

 Render URI references (do not use .UR/.UE).

 Use box option for tables.

* Removed objects:

`docutils.nodes.reprunicode`, `docutils.nodes.ensure_str()`
 Python 2 compatibility hacks
`docutils.utils.Reporter.set_conditions()`
 obsolete
`docutils.core.Publisher.setup_option_parser()`
 internal, obsolete

* New files:

``docutils/writers/html5_polyglot/italic-field-names.css``
 Alternative style for Docutils field-lists.

* Removed files:

``install.py``, ``setup.py``
 Metadata is now stored in ``pyproject.toml``,
 supported by pip_ since version 19.0 (2019-01-22).
 See README__ for installation alternatives.

__ README.htmlinstallation

* Bugfixes and improvements (see HISTORY_).

.. _input encoding: docs/api/publisher.htmlencodings
.. _csv-table: docs/ref/rst/directives.htmlcsv-table
.. _"image" directive: docs/ref/rst/directives.htmlimage
.. _root_prefix: docs/user/config.htmlroot-prefix
.. _sources: docs/user/config.htmlsources

0.20.1

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

Bugfix release. See HISTORY_ for details.

0.20

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

.. Note::

Docutils 0.20 is the last version supporting Python 3.7 and 3.8.

* General

- Support Python 3.11 (patch 198 by Hugo van Kemenade).

* Output changes:

HTML5:
 Use dpub-ARIA role "doc-footnote" (instead of ARIA role "note")
 for footnotes.

LaTeX:
 Do not load the `inputenc` package in UTF-8 encoded LaTeX sources.
 (UTF-8 is the default encoding for LaTeX2e since 2018).

* Configuration changes:

- Settings in the [latex2e writer] configuration file section
 are now ignored by the "xetex" writer.
 Place common settings in section `[latex writers]`_.

- New command line setting output_. Obsoletes the ``<destination>``
 positional argument (cf. `future changes`__).

 __ `command-line usage pattern`_

* `utils.find_file_in_dirs()` now returns a POSIX path also on Windows;
`utils.get_stylesheet_list()` no longer converts ``\`` to ``/``.

* docutils/languages/
docutils/parsers/rst/languages/

- Support Ukrainian. Patch by Dmytro Kazanzhy.

* test/coverage.sh

- Removed. Use the coverage.py_ project instead,
 ``coverage run test/alltests.py`` and ``coverage report``.

* tools/

- Moved ``quicktest.py`` to ``tools/dev/``.

* Bugfixes and improvements (see HISTORY_).

.. _[latex writers]: docs/user/config.htmllatex-writers
.. _output: docs/user/config.htmloutput
.. _coverage.py: https://pypi.org/project/coverage/
Links

Update filelock from 3.8.0 to 3.16.1.

Changelog

3.16.1

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

What's Changed
* CI improvements by gaborbernat in https://github.com/tox-dev/filelock/pull/362


**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.16.0...3.16.1

3.16.0

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

What's Changed
* Test Python 3.13 by hugovk in https://github.com/tox-dev/filelock/pull/352
* Add 3.13 to CI by gaborbernat in https://github.com/tox-dev/filelock/pull/359


**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.15.4...3.16.0

3.15.4

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

What's Changed
* Pass `file_lock` as positional argument by kwist-sgr in https://github.com/tox-dev/filelock/pull/347


**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.15.3...3.15.4

3.15.3

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

What's Changed
* Add test for virtualenv stability by gaborbernat in https://github.com/tox-dev/filelock/pull/344
* Fix `TypeError: _CountedFileLock.__init__() got an unexpected keyword argument 'timeout'` by kwist-sgr in https://github.com/tox-dev/filelock/pull/345


**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.15.2...3.15.3

3.15.2

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

What's Changed
* Use a metaclass to implement the singleton pattern by kwist-sgr in https://github.com/tox-dev/filelock/pull/340

New Contributors
* kwist-sgr made their first contribution in https://github.com/tox-dev/filelock/pull/340

**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.15.1...3.15.2

3.15.1

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

What's Changed
* Hotfix: Restore __init__ method; more robust initialization for singleton locks by ethanbb in https://github.com/tox-dev/filelock/pull/338


**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.15.0...3.15.1

3.15.0

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

What's Changed
* asyncio support by Ovizro in https://github.com/tox-dev/filelock/pull/332
* Don't initialize BaseFileLock when just returning existing instance by ethanbb in https://github.com/tox-dev/filelock/pull/334

New Contributors
* Ovizro made their first contribution in https://github.com/tox-dev/filelock/pull/332
* ethanbb made their first contribution in https://github.com/tox-dev/filelock/pull/334

**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.14.0...3.15.0

3.14.0

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

What's Changed
* feat: `blocking` parameter on lock constructor with tests and docs by iamkhav in https://github.com/tox-dev/filelock/pull/325

New Contributors
* iamkhav made their first contribution in https://github.com/tox-dev/filelock/pull/325

**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.13.4...3.14.0

3.13.4

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

What's Changed
* Raise error on incompatible singleton timeout and mode args by nefrob in https://github.com/tox-dev/filelock/pull/320


**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.13.3...3.13.4

3.13.3

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

What's Changed
* Make singleton class instance dict unique per subclass by nefrob in https://github.com/tox-dev/filelock/pull/318


**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.13.2...3.13.3

3.13.2

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

What's Changed
* Fixed small typo in _unix.py by snemes in https://github.com/tox-dev/filelock/pull/302
* Update SECURITY.md to reflect Python 3.7 support dropoff by kemzeb in https://github.com/tox-dev/filelock/pull/304
* Update index.rst to improve the demo usage by youkaichao in https://github.com/tox-dev/filelock/pull/314
* [BugFix] fix permission denied error when lock file is placed in `/tmp` by kota-iizuka in https://github.com/tox-dev/filelock/pull/317

New Contributors
* snemes made their first contribution in https://github.com/tox-dev/filelock/pull/302
* kemzeb made their first contribution in https://github.com/tox-dev/filelock/pull/304
* youkaichao made their first contribution in https://github.com/tox-dev/filelock/pull/314
* kota-iizuka made their first contribution in https://github.com/tox-dev/filelock/pull/317

**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.13.1...3.13.2

3.13.1

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

What's Changed
* Allow users to subclass FileLock with custom keyword arguments by hmaarrfk in https://github.com/tox-dev/filelock/pull/284

New Contributors
* hmaarrfk made their first contribution in https://github.com/tox-dev/filelock/pull/284

**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.13.0...3.13.1

3.13.0

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

What's Changed
* Support reentrant locking on lock file path via optional singleton instance by nefrob in https://github.com/tox-dev/filelock/pull/283

New Contributors
* nefrob made their first contribution in https://github.com/tox-dev/filelock/pull/283

**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.12.4...3.13.0

3.12.4

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

What's Changed
* change typing-extensions to be installed only with the [typing] extra by asottile in https://github.com/tox-dev/filelock/pull/276

New Contributors
* asottile made their first contribution in https://github.com/tox-dev/filelock/pull/276

**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.12.3...3.12.4

3.12.3

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

What's Changed
* Fix import ordering by gaborbernat in https://github.com/tox-dev/filelock/pull/246
* Exclude dependabot and pre-commit ci from release notes by gaborbernat in https://github.com/tox-dev/filelock/pull/251
* Create parent directories if necessary by gerlero in https://github.com/tox-dev/filelock/pull/254
* fix ci 08 21 by gaborbernat in https://github.com/tox-dev/filelock/pull/263
* lock_file type-hint by keller00 in https://github.com/tox-dev/filelock/pull/267
* adding tox.ini to sdist by keller00 in https://github.com/tox-dev/filelock/pull/265

New Contributors
* gerlero made their first contribution in https://github.com/tox-dev/filelock/pull/254
* keller00 made their first contribution in https://github.com/tox-dev/filelock/pull/267

**Full Changelog**: https://github.com/tox-dev/filelock/compare/3.12.2...3.12.3

3.12.2

What's Changed
* Restore 'if TYPE_CHECKING' syntax for FileLock definition by dlax in https://github.com/tox-dev/py-filelock/pull/245

New Contributors
* dlax made their first contribution in https://github.com/tox-dev/py-filelock/pull/245

**Full Changelog**: https://github.com/tox-dev/py-filelock/compare/3.12.1...3.12.2

3.12.1

What's Changed
* Add trusted-publish by gaborbernat in https://github.com/tox-dev/py-filelock/pull/236
* Add 3.12 support by gaborbernat in https://github.com/tox-dev/py-filelock/pull/237
* Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 by dependabot in https://github.com/tox-dev/py-filelock/pull/239
* git ls-files -z -- .github/workflows/check.yml | xargs -0 sed -i 's|3.12.0-alpha.7|3.12.0-beta.1|g' by gaborbernat in https://github.com/tox-dev/py-filelock/pull/243
* Use ruff by gaborbernat in https://github.com/tox-dev/py-filelock/pull/244
* Fix test_bad_lock_file for other OSes by TheMatt2 in https://github.com/tox-dev/py-filelock/pull/242


**Full Changelog**: https://github.com/tox-dev/py-filelock/compare/3.12.0...3.12.1

3.12.0

What's Changed
* Fix: 225 :Get rid of warning about inability to link to _thread._local. by csm10495 in https://github.com/tox-dev/py-filelock/pull/226
* Bump deps and tools by gaborbernat in https://github.com/tox-dev/py-filelock/pull/228
* Add umask check to tests so umask 002 is valid by TheMatt2 in https://github.com/tox-dev/py-filelock/pull/227
* Fix lock hang on Windows by TheMatt2 in https://github.com/tox-dev/py-filelock/pull/231
* Conditionally disable/enable thread-local lock behavior. by csm10495 in https://github.com/tox-dev/py-filelock/pull/232


**Full Changelog**: https://github.com/tox-dev/py-filelock/compare/3.11.0...3.12.0

3.11.0

What's Changed
* Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.5 by dependabot in https://github.com/tox-dev/py-filelock/p

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