Changelog
### 5.2.0
```
=====
:release-date: 2023-11-06 10:55 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Added python 3.12 and drop python 3.7 (423).
- Test vine 5.1.0 (424).
- Set an explicit timeout on SSL handshake to prevent hangs.
- Add MessageNacked to recoverable errors.
- Send heartbeat frames more often.
.. _version-5.1.1:
```
### 5.1.1
```
=====
:release-date: 2022-04-17 12:45 P.M. UTC+6:00
:release-by: Asif Saif Uddin
- Use AF_UNSPEC for name resolution (389).
.. _version-5.1.0:
```
### 5.1.0
```
=====
:release-date: 2022-03-06 10:05 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Improve performance of _get_free_channel_id, fix channel max bug (385).
- Document memoryview usage, minor frame_writer.write_frame refactor (384).
- Start dropping python 3.6 (387).
- Added experimental __slots__ to some classes (368)
- Relaxed vine version for upcoming release.
- Upgraded topytest 7 (388).
.. _version-5.0.9:
```
### 5.0.9
```
=====
:release-date: 2021-12-20 11:00 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Append to _used_channel_ids in _used_channel_ids
.. _version-5.0.8:
```
### 5.0.8
```
=====
:release-date: 2021-12-19 11:15 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Reduce memory usage of Connection (377)
- Add additional error handling around code where an OSError
may be raised on failed connections. Fixes (378)
.. _version-5.0.7:
```
### 5.0.7
```
=====
:release-date: 2021-12-13 15:45 P.M. UTC+6:00
:release-by: Asif Saif Uddin
- Remove dependency to case
- Bugfix: not closing socket after server disconnect
.. _version-5.0.6:
```
### 5.0.6
```
=====
:release-date: 2021-04-01 10:45 A.M. UTC+6:00
:release-by: Asif Saif Uddin
- Change the order in which context.check_hostname and context.verify_mode get set
in SSLTransport._wrap_socket_sni. Fixes bug introduced in 5.0.3 where setting
context.verify_mode = ssl.CERT_NONE would raise
"ValueError: Cannot set verify_mode to CERT_NONE when check_hostname is enabled."
Setting context.check_hostname prior to setting context.verify_mode resolves the
issue.
- Remove TCP_USER_TIMEOUT option for Solaris (355)
- Pass long_description to setup() (353)
- Fix for tox-docker 2.0
- Moved to GitHub actions CI (359)
.. _version-5.0.5:
```
### 5.0.5
```
=====
:release-date: 2021-01-28 4:30 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Removed mistakenly introduced code which was causing import errors
.. _version-5.0.4:
```
### 5.0.4
```
=====
:release-date: 2021-01-28 2:30 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Add missing load_default_certs() call to fix a regression in v5.0.3 release. (350)
.. _version-5.0.3:
```
### 5.0.3
```
=====
:release-date: 2021-01-19 9:00 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Change the default value of ssl_version to None. When not set, the
proper value between ssl.PROTOCOL_TLS_CLIENT and ssl.PROTOCOL_TLS_SERVER
will be selected based on the param server_side in order to create
a TLS Context object with better defaults that fit the desired
connection side.
- Change the default value of cert_reqs to None. The default value
of ctx.verify_mode is ssl.CERT_NONE, but when ssl.PROTOCOL_TLS_CLIENT
is used, ctx.verify_mode defaults to ssl.CERT_REQUIRED.
- Fix context.check_hostname logic. Checking the hostname depends on
having support of the SNI TLS extension and being provided with a
server_hostname value. Another important thing to mention is that
enabling hostname checking automatically sets verify_mode from
ssl.CERT_NONE to ssl.CERT_REQUIRED in the stdlib ssl and it cannot
be set back to ssl.CERT_NONE as long as hostname checking is enabled.
- Refactor the SNI tests to test one thing at a time and removing some
tests that were being repeated over and over.
.. _version-5.0.2:
```
### 5.0.2
```
=====
:release-date: 2020-11-08 6:50 P.M UTC+3:00
:release-by: Omer Katz
- Whhels are no longer universal.
Contributed by **Omer Katz**
- Added debug representation to Connection and *Transport classes
Contributed by **Matus Valo**
- Reintroduce ca_certs and ciphers parameters of SSLTransport._wrap_socket_sni()
This fixes issue introduced in commit: 53d6777
Contributed by **Matus Valo**
- Fix infinite wait when using confirm_publish
Contributed by **Omer Katz** & **RezaSi**
.. _version-5.0.1:
```
### 5.0.1
```
=====
:release-date: 2020-09-06 6:10 P.M UTC+3:00
:release-by: Omer Katz
- Require vine 5.0.0.
Contributed by **Omer Katz**
.. _version-5.0.0:
```
### 5.0.0
```
=====
:release-date: 2020-09-03 3:20 P.M UTC+3:00
:release-by: Omer Katz
- Stop to use deprecated method ssl.wrap_socket.
Contributed by **Hervé Beraud**
.. _version-5.0.0b1:
```
### 5.0.0b1
```
=======
:release-date: 2020-09-01 6:20 P.M UTC+3:00
:release-by: Omer Katz
- Dropped Python 3.5 support.
Contributed by **Omer Katz**
- Removed additional compatibility code.
Contributed by **Omer Katz**
.. _version-5.0.0a1:
```
### 5.0.0a1
```
=======
:release-date: 2019-04-01 4:30 P.M UTC+3:00
:release-by: Omer Katz
- Dropped Python 2.x support.
Contributed by **Omer Katz**
- Dropped Python 3.4 support.
Contributed by **Omer Katz**
- Depend on :pypi:`vine` 5.0.0a1.
Contributed by **Omer Katz**
Code Cleanups & Improvements:
- **Omer Katz**
.. _version-2.6.0:
```
### 2.6.1
```
=====
:release-date: 2020-07-31 10.30 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Fix buffer overflow in frame_writer after frame_max is increased. `frame_writer`
allocates a `bytearray` on initialization with a length based on the `connection.frame_max`
value. If `connection.frame_max` is changed to a larger value, this causes an
error like `pack_into requires a buffer of at least 408736 bytes`.
.. _version-2.6.0:
```
### 2.6.0
```
=====
:release-date: 20-06-01 12.00 P.M UTC+6:00
:release-by: Asif Saif Uddin
- Implement speedups in cython (311)
- Updated some tests & code improvements
- Separate logger for Connection.heartbeat_tick method
- Cython generic content (315)
- Improve documentation a_global parameter of basic_qos() method.
- Fix saving partial read buffer on windows during socket timeout. (321)
- Fix deserialization of long string field values that are not utf-8.
- Added simple cythonization of abstract_channel.py
- Speedups of serialization.py are more restrictive
.. _version-2.5.2:
```
Links
- PyPI: https://pypi.org/project/amqp
- Changelog: https://data.safetycli.com/changelogs/amqp/
- Repo: http://github.com/celery/py-amqp
Changelog
### 0.31.1
```
*This text is a brief summary of the full changelog entry: https://argh.readthedocs.io/en/latest/changes.html#version-0-31-1-2024-01-19*
What's Changed
Bugs fixed:
- broken support for type alias `List` (issue 216), thanks to thorwhalen.
Enhancements:
- cleaned up the README, rearranged other documentation.
**Full diff**: https://github.com/neithere/argh/compare/v0.31.0...v0.31.1
```
### 0.31.0
```
What's Changed
This release is a major step forward for Argh. It paves the way to a fully annotations-driven approach where decorators will remain a mere legacy.
*This text is a brief summary of the full changelog entry: https://argh.readthedocs.io/en/latest/changes.html#version-0-31-0-2023-12-30*
Breaking changes:
* The typing hints introspection feature is automatically enabled for any command (function) which does **not** have any arguments specified via `arg` decorator.
* A small change in the legacy argument mapping policy `BY_NAME_IF_HAS_DEFAULT` concerning the order of variadic positional vs. keyword-only arguments.
* Removed the previously deprecated decorator `expects_obj`.
Enhancements:
* Type hints: basic usage to infer argument types (fixes 203) by neithere in https://github.com/neithere/argh/pull/211
* Support realtime output through a pipe (fixes 145) by neithere in https://github.com/neithere/argh/pull/202
* High-level functions `argh.dispatch_command()` and `argh.dispatch_commands()`
now accept a new parameter `old_name_mapping_policy`.
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.
**Full Diff**: https://github.com/neithere/argh/compare/v0.30.5...v0.31.0
```
### 0.30.5
```
What's Changed
* fix: nargs + list as default value (212) by neithere in https://github.com/neithere/argh/pull/213
(thanks to pioio for bug report)
* feat: argspec guessing: if `nargs` is not specified but the default value is a list, `nargs="*"` is assumed and passed to argparse.
**Full Changelog**: https://github.com/neithere/argh/compare/v0.30.4...v0.30.5
Please refer to the official changelog for more details: https://argh.readthedocs.io/en/latest/changes.html
```
### 0.30.4
```
What's Changed
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.
— by neithere
**Full Changelog**: https://github.com/neithere/argh/compare/v0.30.3...v0.30.4
```
### 0.30.3
```
What's Changed
* fix: regression — `arg` deco failing with underscore in positional arg name (fixes 208) by neithere in https://github.com/neithere/argh/pull/209 (thanks to kaetir for a report with a reproducible example)
**Full Changelog**: https://github.com/neithere/argh/compare/v0.30.2...v0.30.3
```
### 0.30.2
```
What's Changed
* fix: raise exception for non-migrated commands (fixes 206) by neithere (reported and valuable feedback given by valentin-feron) in https://github.com/neithere/argh/pull/207
**Full Changelog**: https://github.com/neithere/argh/compare/v0.30.1...v0.30.2
```
### 0.30.1
```
What's Changed
Bugs fixed:
- Regression: certain special values in argument default value would cause an exception (204 reported by mfussenegger, fixed by neithere)
Enhancements:
- Improved the tutorial by neithere
- 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 by neithere
Other changes:
- Added `py.typed` marker file for PEP-561 by neithere
Details
Commits: https://github.com/neithere/argh/compare/v0.30.0...v0.30.1
Full changelog: https://argh.readthedocs.io/en/latest/changes.html#version-0-30-1
```
### 0.30.0
```
What's Changed
* Remove previously deprecated code (closes 184) by neithere in https://github.com/neithere/argh/pull/188
* Type annotations for existing code (closes 185) by neithere in https://github.com/neithere/argh/pull/189
* Deprecate `help` command alias and `expects_obj` decorator by neithere in https://github.com/neithere/argh/pull/192
* Document usage with class methods (closes 138) by neithere in https://github.com/neithere/argh/pull/194
* Remove pre_call, expose finer control over dispatching (re 63) by neithere in https://github.com/neithere/argh/pull/193
* Add support for Python 3.12 (closes 196) by neithere in https://github.com/neithere/argh/pull/195
* Refactor assembling module (closes 197) by neithere in https://github.com/neithere/argh/pull/198
* Keyword-only arguments as options (closes 191) by neithere in https://github.com/neithere/argh/pull/199
**Full Changelog**: https://github.com/neithere/argh/compare/v0.29.4...v0.30.0
```
### 0.30.0alpha
```
What's Changed
* Remove previously deprecated code (closes 184) by neithere in https://github.com/neithere/argh/pull/188
* Type annotations for existing code (closes 185) by neithere in https://github.com/neithere/argh/pull/189
* Deprecate `help` command alias and `expects_obj` decorator by neithere in https://github.com/neithere/argh/pull/192
* Document usage with class methods (closes 138) by neithere in https://github.com/neithere/argh/pull/194
* Remove pre_call, expose finer control over dispatching (re 63) by neithere in https://github.com/neithere/argh/pull/193
* Add support for Python 3.12 (closes 196) by neithere in https://github.com/neithere/argh/pull/195
* Refactor assembling module (closes 197) by neithere in https://github.com/neithere/argh/pull/198
* Keyword-only arguments as options (closes 191) by neithere in https://github.com/neithere/argh/pull/199
**Full Changelog**: https://github.com/neithere/argh/compare/v0.29.4...v0.30.0-alpha
```
### 0.29.4
```
Bugs fixed:
- Test coverage reported as <100% when argcomplete is installed (187)
```
### 0.29.3
```
This is a technical release for packaging purposes.
```
### 0.29.2
```
This is a technical release for packaging purposes.
```
### 0.29.1
```
This is a technical release for packaging purposes.
```
### 0.29.0
```
What's Changed
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 (by ekimekim in 161).
Deprecated:
* Renamed arguments in `add_commands()` (165 / 178):
- `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 argument by neithere in 181
Other changes:
* Avoid depending on iocapture by using pytest's built-in feature by mr-c in 177
* chore: publishing to prod PyPI by neithere in 173
* test: add coverage for action="count" (127) by neithere in 183
New Contributors
* ekimekim made their first contribution in https://github.com/neithere/argh/pull/161
* mr-c made their first contribution in https://github.com/neithere/argh/pull/177
**Full Changelog**: https://github.com/neithere/argh/compare/v0.28.1...v0.29.0
```
### 0.28.1
```
What's Changed
* Add Github workflow to publish the release to PyPI by neithere in https://github.com/neithere/argh/pull/167
* fix: argcomplete-related test by neithere in 172 (reported in 169 by kloczek)
* fix: assumed prog name in tests by neithere in 171 (reported in 170 by mgorny)
**Full Changelog**: https://github.com/neithere/argh/compare/v0.28.0...v0.28.1
Thanks to everyone who reported
```
### 0.28.0
```
A major modernisation and 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 (63) can help improve the library to accomodate it in a proper way.
- 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.
**Full Changelog**: https://github.com/neithere/argh/compare/v0.27.2...v0.28.0
```
### 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)
Contributors:
mtelka (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).
Contributors:
dwf (105), jwilk (110), jakirkham (112), brilee, sanga (116), Gidgidonihah (134), mrdavidlaing (153), jelly (154), mtelka (154), hugovk (reviewing PRs).
```
Links
- PyPI: https://pypi.org/project/argh
- Changelog: https://data.safetycli.com/changelogs/argh/
- Docs: https://pythonhosted.org/argh/
Changelog
### 4.11.1
```
This release was done to ensure that the unit tests are packaged along
with the released source. There are no functionality changes in this
release, but there are a few other packaging changes:
* The Japanese and Korean translations of the documentation are included.
* The changelog is now packaged as CHANGELOG, and the license file is
packaged as LICENSE. NEWS.txt and COPYING.txt are still present,
but may be removed in the future.
* TODO.txt is no longer packaged, since a TODO is not relevant for released
code.
```
### 4.11.0
```
* Ported unit tests to use pytest.
* Added special string classes, RubyParenthesisString and RubyTextString,
to make it possible to treat ruby text specially in get_text() calls.
[bug=1941980]
* It's now possible to customize the way output is indented by
providing a value for the 'indent' argument to the Formatter
constructor. The 'indent' argument works very similarly to the
argument of the same name in the Python standard library's
json.dump() function. [bug=1955497]
* If the charset-normalizer Python module
(https://pypi.org/project/charset-normalizer/) is installed, Beautiful
Soup will use it to detect the character sets of incoming documents.
This is also the module used by newer versions of the Requests library.
For the sake of backwards compatibility, chardet and cchardet both take
precedence if installed. [bug=1955346]
* Added a workaround for an lxml bug
(https://bugs.launchpad.net/lxml/+bug/1948551) that causes
problems when parsing a Unicode string beginning with BYTE ORDER MARK.
[bug=1947768]
* Issue a warning when an HTML parser is used to parse a document that
looks like XML but not XHTML. [bug=1939121]
* Do a better job of keeping track of namespaces as an XML document is
parsed, so that CSS selectors that use namespaces will do the right
thing more often. [bug=1946243]
* Some time ago, the misleadingly named "text" argument to find-type
methods was renamed to the more accurate "string." But this supposed
"renaming" didn't make it into important places like the method
signatures or the docstrings. That's corrected in this
version. "text" still works, but will give a DeprecationWarning.
[bug=1947038]
* Fixed a crash when pickling a BeautifulSoup object that has no
tree builder. [bug=1934003]
* Fixed a crash when overriding multi_valued_attributes and using the
html5lib parser. [bug=1948488]
* Standardized the wording of the MarkupResemblesLocatorWarning
warnings to omit untrusted input and make the warnings less
judgmental about what you ought to be doing. [bug=1955450]
* Removed support for the iconv_codec library, which doesn't seem
to exist anymore and was never put up on PyPI. (The closest
replacement on PyPI, iconv_codecs, is GPL-licensed, so we can't use
it--it's also quite old.)
```
### 4.10.0
```
* This is the first release of Beautiful Soup to only support Python
3. I dropped Python 2 support to maintain support for newer versions
(58 and up) of setuptools. See:
https://github.com/pypa/setuptools/issues/2769 [bug=1942919]
* The behavior of methods like .get_text() and .strings now differs
depending on the type of tag. The change is visible with HTML tags
like <script>, <style>, and <template>. Starting in 4.9.0, methods
like get_text() returned no results on such tags, because the
contents of those tags are not considered 'text' within the document
as a whole.
But a user who calls script.get_text() is working from a different
definition of 'text' than a user who calls div.get_text()--otherwise
there would be no need to call script.get_text() at all. In 4.10.0,
the contents of (e.g.) a <script> tag are considered 'text' during a
get_text() call on the tag itself, but not considered 'text' during
a get_text() call on the tag's parent.
Because of this change, calling get_text() on each child of a tag
may now return a different result than calling get_text() on the tag
itself. That's because different tags now have different
understandings of what counts as 'text'. [bug=1906226] [bug=1868861]
* NavigableString and its subclasses now implement the get_text()
method, as well as the properties .strings and
.stripped_strings. These methods will either return the string
itself, or nothing, so the only reason to use this is when iterating
over a list of mixed Tag and NavigableString objects. [bug=1904309]
* The 'html5' formatter now treats attributes whose values are the
empty string as HTML boolean attributes. Previously (and in other
formatters), an attribute value must be set as None to be treated as
a boolean attribute. In a future release, I plan to also give this
behavior to the 'html' formatter. Patch by Isaac Muse. [bug=1915424]
* The 'replace_with()' method now takes a variable number of arguments,
and can be used to replace a single element with a sequence of elements.
Patch by Bill Chandos. [rev=605]
* Corrected output when the namespace prefix associated with a
namespaced attribute is the empty string, as opposed to
None. [bug=1915583]
* Performance improvement when processing tags that speeds up overall
tree construction by 2%. Patch by Morotti. [bug=1899358]
* Corrected the use of special string container classes in cases when a
single tag may contain strings with different containers; such as
the <template> tag, which may contain both TemplateString objects
and Comment objects. [bug=1913406]
* The html.parser tree builder can now handle named entities
found in the HTML5 spec in much the same way that the html5lib
tree builder does. Note that the lxml HTML tree builder doesn't handle
named entities this way. [bug=1924908]
* Added a second way to pass specify encodings to UnicodeDammit and
EncodingDetector, based on the order of precedence defined in the
HTML5 spec, starting at:
https://html.spec.whatwg.org/multipage/parsing.html#parsing-with-a-known-character-encoding
Encodings in 'known_definite_encodings' are tried first, then
byte-order-mark sniffing is run, then encodings in 'user_encodings'
are tried. The old argument, 'override_encodings', is now a
deprecated alias for 'known_definite_encodings'.
This changes the default behavior of the html.parser and lxml tree
builders, in a way that may slightly improve encoding
detection but will probably have no effect. [bug=1889014]
* Improve the warning issued when a directory name (as opposed to
the name of a regular file) is passed as markup into the BeautifulSoup
constructor. [bug=1913628]
```
### 4.9.3
```
* Implemented a significant performance optimization to the process of
searching the parse tree. Patch by Morotti. [bug=1898212]
```
### 4.9.2
```
* Fixed a bug that caused too many tags to be popped from the tag
stack during tree building, when encountering a closing tag that had
no matching opening tag. [bug=1880420]
* Fixed a bug that inconsistently moved elements over when passing
a Tag, rather than a list, into Tag.extend(). [bug=1885710]
* Specify the soupsieve dependency in a way that complies with
PEP 508. Patch by Mike Nerone. [bug=1893696]
* Change the signatures for BeautifulSoup.insert_before and insert_after
(which are not implemented) to match PageElement.insert_before and
insert_after, quieting warnings in some IDEs. [bug=1897120]
```
### 4.9.1
```
* Added a keyword argument 'on_duplicate_attribute' to the
BeautifulSoupHTMLParser constructor (used by the html.parser tree
builder) which lets you customize the handling of markup that
contains the same attribute more than once, as in:
<a href="url1" href="url2"> [bug=1878209]
* Added a distinct subclass, GuessedAtParserWarning, for the warning
issued when BeautifulSoup is instantiated without a parser being
specified. [bug=1873787]
* Added a distinct subclass, MarkupResemblesLocatorWarning, for the
warning issued when BeautifulSoup is instantiated with 'markup' that
actually seems to be a URL or the path to a file on
disk. [bug=1873787]
* The new NavigableString subclasses (Stylesheet, Script, and
TemplateString) can now be imported directly from the bs4 package.
* If you encode a document with a Python-specific encoding like
'unicode_escape', that encoding is no longer mentioned in the final
XML or HTML document. Instead, encoding information is omitted or
left blank. [bug=1874955]
* Fixed test failures when run against soupselect 2.0. Patch by Tomáš
Chvátal. [bug=1872279]
```
### 4.9.0
```
* Added PageElement.decomposed, a new property which lets you
check whether you've already called decompose() on a Tag or
NavigableString.
* Embedded CSS and Javascript is now stored in distinct Stylesheet and
Script tags, which are ignored by methods like get_text() since most
people don't consider this sort of content to be 'text'. This
feature is not supported by the html5lib treebuilder. [bug=1868861]
* Added a Russian translation by 'authoress' to the repository.
* Fixed an unhandled exception when formatting a Tag that had been
decomposed.[bug=1857767]
* Fixed a bug that happened when passing a Unicode filename containing
non-ASCII characters as markup into Beautiful Soup, on a system that
allows Unicode filenames. [bug=1866717]
* Added a performance optimization to PageElement.extract(). Patch by
Arthur Darcet.
```
### 4.8.2
```
* Added Python docstrings to all public methods of the most commonly
used classes.
* Added a Chinese translation by Deron Wang and a Brazilian Portuguese
translation by Cezar Peixeiro to the repository.
* Fixed two deprecation warnings. Patches by Colin
Watson and Nicholas Neumann. [bug=1847592] [bug=1855301]
* The html.parser tree builder now correctly handles DOCTYPEs that are
not uppercase. [bug=1848401]
* PageElement.select() now returns a ResultSet rather than a regular
list, making it consistent with methods like find_all().
```
Links
- PyPI: https://pypi.org/project/beautifulsoup4
- Changelog: https://data.safetycli.com/changelogs/beautifulsoup4/
Changelog
### 4.2.0
```
--------------------
- Update process.py to close during join only if process has completed.
- Adjust the __repr__ in ApplyResult.
- Remove python 3.7 from CI.
- Added Python 3.12 support.
- Fixed (co_positions): resolve issue caused by absence co_positions (395).
- Fixed: Replaced mktemp usage for Python 3 from python 2.
- Changed nose test to pytest (397) in Integration test.
- Changed nose dependency for unit test (383).
```
### 4.1.0
```
--------------------
- Fixed a python 2 to 3 compat issue which was missed earlier (374).
- Adde Python 3.11 primary support
```
### 4.0.2
```
--------------------
- ExceptionWithTraceback should be an exception.
```
### 4.0.1
```
--------------------
- Add support for Python 3.11 _posixsubprocess.fork_exec() arguments.
- Keep exception traceback somehow (368).
```
### 4.0.0
```
--------------------
- Support Sphinx 4.x.
- Remove dependency to case.
- Drop support of Python < 3.7.
- Update to psutil 5.9.0.
- Add python_requires to enforce Python version.
- Replace deprecated threading Event.isSet with Event.is_set.
- Prevent segmentation fault in get_pdeathsig while using ctypes (361).
- Migrated CI to Github actions.
- Python 3.10 support added.
```
### 3.6.4.0
```
--------------------
- Issue 309: Add Python 3.9 support to spawnv_passfds()
- fix 314
```
Links
- PyPI: https://pypi.org/project/billiard
- Changelog: https://data.safetycli.com/changelogs/billiard/
- Repo: https://github.com/celery/billiard
Changelog
### 1.7.0
```
-------------
Released 2023-11-01
- Fixed messages printed to standard error about unraisable exceptions during
signal cleanup, typically during interpreter shutdown. :pr:`123`
- Allow the Signal set_class to be customised, to allow calling of receivers
in registration order. :pr:`116`.
- Drop Python 3.7 and support Python 3.12. :pr:`126`
```
### 1.6.3
```
-------------
Released 2023-09-23
- Fix `SyncWrapperType` and `AsyncWrapperType` :pr:`108`
- Fixed issue where ``signal.connected_to`` would not disconnect the
receiver if an instance of ``BaseException`` was raised. :pr:`114`
```
### 1.6.2
```
-------------
Released 2023-04-12
- Type annotations are not evaluated at runtime. typing-extensions is not a runtime
dependency. :pr:`94`
```
### 1.6.1
```
-------------
Released 2023-04-09
- Ensure that py.typed is present in the distributions (to enable other
projects to use blinker's typing).
- Require typing-extensions > 4.2 to ensure it includes
ParamSpec. :issue:`90`
```
### 1.6
```
-----------
Released 2023-04-02
- Add a muted context manager to temporarily turn off a
signal. :pr:`84`
- Allow int senders (alongside existing string senders). :pr:`83`
- Add a send_async method to the Signal to allow signals to send to
coroutine receivers. :pr:`76`
- Update and modernise the project structure to match that used by the
pallets projects. :pr:`77`
- Add an intial set of type hints for the project.
```
### 1.5
```
-----------
Released 2022-07-17
- Support Python >= 3.7 and PyPy. Python 2, Python < 3.7, and Jython
may continue to work, but the next release will make incompatible
changes.
```
Links
- PyPI: https://pypi.org/project/blinker
- Changelog: https://data.safetycli.com/changelogs/blinker/
Changelog
### 5.3.6
```
This release is focused mainly to fix AWS SQS new feature compatibility issue and old regressions.
The code changes are mostly fix for regressions. More details can be found below.
What's Changed
* Update Minor-Version-Release-Checklist.md by auvipy in https://github.com/celery/celery/pull/8624
* Increased docker-build CI job timeout from 30m -> 60m by Nusnus in https://github.com/celery/celery/pull/8635
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/celery/pull/8639
* Incredibly minor spelling fix. by Asday in https://github.com/celery/celery/pull/8649
* Fix non-zero exit code when receiving remote shutdown by lyzlisa in https://github.com/celery/celery/pull/8650
* Update task.py get_custom_headers missing 'compression' key by auvipy in https://github.com/celery/celery/pull/8633
* Update kombu>=5.3.4 to fix SQS request compatibility by auvipy in https://github.com/celery/celery/pull/8646
* test requirements version update by auvipy in https://github.com/celery/celery/pull/8655
* Update elasticsearch version by auvipy in https://github.com/celery/celery/pull/8656
* Propagates more ImportErrors during autodiscovery by johnjameswhitman in https://github.com/celery/celery/pull/8632
* Re-raise ModuleNotFoundError unless for guessed task by johnjameswhitman in https://github.com/celery/celery/pull/8660
* Added changelog for v5.3.6 release by auvipy in https://github.com/celery/celery/pull/8659
New Contributors
* Asday made their first contribution in https://github.com/celery/celery/pull/8649
* lyzlisa made their first contribution in https://github.com/celery/celery/pull/8650
* johnjameswhitman made their first contribution in https://github.com/celery/celery/pull/8632
**Full Changelog**: https://github.com/celery/celery/compare/v5.3.5...v5.3.6
```
### 5.3.5
```
New Contributors
* davidjrice made their first contribution in https://github.com/celery/kombu/pull/1826
* fazledyn-or made their first contribution in https://github.com/celery/kombu/pull/1828
* claudinoac made their first contribution in https://github.com/celery/kombu/pull/1830
* Maheshkumar-novice made their first contribution in https://github.com/celery/kombu/pull/1839
* adam-homeboost made their first contribution in https://github.com/celery/kombu/pull/1838
**Full Changelog**: https://github.com/celery/kombu/compare/v5.3.4...v5.3.5
```
### 5.3.4
```
What's Changed
* Use the correct protocol for SQS requests by rafidka in https://github.com/celery/kombu/pull/1807
**Full Changelog**: https://github.com/celery/kombu/compare/v5.3.3...v5.3.4
```
### 5.3.3
```
What's Changed
* Update redis.txt to align with celery main by auvipy in https://github.com/celery/kombu/pull/1776
* Handle Access Denied Exception in basic_ack Method by flolas in https://github.com/celery/kombu/pull/1777
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1782
* test redis 5.0.0 by auvipy in https://github.com/celery/kombu/pull/1790
* Dependabot (Kombu) by Nusnus in https://github.com/celery/kombu/pull/1791
* Bump actions/checkout from 3 to 4 by dependabot in https://github.com/celery/kombu/pull/1792
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1793
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1797
* fix azure servicebus using managed identity support by marnikow in https://github.com/celery/kombu/pull/1801
* Added as_uri method to MongoDB transport - Fixes 1795 by romanukes in https://github.com/celery/kombu/pull/1796
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1806
* Revert "[fix 1726] Use boto3 for SQS async requests" by auvipy in https://github.com/celery/kombu/pull/1799
* Create a lock on cached_property if not present by tari in https://github.com/celery/kombu/pull/1811
* added Python 3.12 in the CI by auvipy in https://github.com/celery/kombu/pull/1812
* using assert_called_once() in est__pop_ready_uses_lock by auvipy in https://github.com/celery/kombu/pull/1813
* fix: redis requeue concurrency bug 1800 by jiangxianfu in https://github.com/celery/kombu/pull/1805
* Update pytest version by auvipy in https://github.com/celery/kombu/pull/1817
* Bump kafka deps versions & fix integration test failures by auvipy in https://github.com/celery/kombu/pull/1818
New Contributors
* flolas made their first contribution in https://github.com/celery/kombu/pull/1777
* dependabot made their first contribution in https://github.com/celery/kombu/pull/1792
* marnikow made their first contribution in https://github.com/celery/kombu/pull/1801
* romanukes made their first contribution in https://github.com/celery/kombu/pull/1796
* tari made their first contribution in https://github.com/celery/kombu/pull/1811
* jiangxianfu made their first contribution in https://github.com/celery/kombu/pull/1805
**Full Changelog**: https://github.com/celery/kombu/compare/v5.3.2...v5.3.3
```
### 5.3.2
```
What's Changed
* Reverted unwanted constraint introduced in 1629 with max_retries by Nusnus in https://github.com/celery/kombu/pull/1755
* Doc fix (hotfix for 1755) by Nusnus in https://github.com/celery/kombu/pull/1758
* Python3.12: fix imports in kombu/utils/objects.py by Steap in https://github.com/celery/kombu/pull/1756
* [fix 1726] Use boto3 for SQS async requests by rafidka in https://github.com/celery/kombu/pull/1759
* docs: Remove SimpleQueue import by Kirade in https://github.com/celery/kombu/pull/1764
* Fixed pre-commit issues by Nusnus in https://github.com/celery/kombu/pull/1773
* azure service bus: add managed identity support by jasonwbarnett in https://github.com/celery/kombu/pull/1641
* fix: Prevent redis task loss when closing connection while in poll by mbierma in https://github.com/celery/kombu/pull/1733
* Kombu & celery with SQS 222 by shoaib-mohd in https://github.com/celery/kombu/pull/1779
* syntax correction by shoaib-mohd in https://github.com/celery/kombu/pull/1780
New Contributors
* Steap made their first contribution in https://github.com/celery/kombu/pull/1756
* rafidka made their first contribution in https://github.com/celery/kombu/pull/1759
* mbierma made their first contribution in https://github.com/celery/kombu/pull/1733
* shoaib-mohd made their first contribution in https://github.com/celery/kombu/pull/1779
**Full Changelog**: https://github.com/celery/kombu/compare/v5.3.1...v5.3.2
```
### 5.3.1
```
What's Changed
* Update pycurl version by auvipy in https://github.com/celery/kombu/pull/1745
* Update librabbitmq restrict py3.11 by auvipy in https://github.com/celery/kombu/pull/1746
* Update PyCurl version in SQS by auvipy in https://github.com/celery/kombu/pull/1747
* try python 3.11 on CI by auvipy in https://github.com/celery/kombu/pull/1425
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1753
* fix: allow deserializing any version of UUID by sk- in https://github.com/celery/kombu/pull/1754
New Contributors
* sk- made their first contribution in https://github.com/celery/kombu/pull/1754
**Full Changelog**: https://github.com/celery/kombu/compare/v5.3.0...v5.3.1
```
### 5.3.0
```
What's Changed
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1502
* Add fanout to filesystem by karajan1001 in https://github.com/celery/kombu/pull/1499
* Protect set of ready tasks by lock to avoid concurrent updates by olii in https://github.com/celery/kombu/pull/1489
* Documentation: Update serialization page to indicate pickle protocol version has been updated by otherJL0 in https://github.com/celery/kombu/pull/1507
* Use new entry_points interface by ObiWanKeoni in https://github.com/celery/kombu/pull/1509
* Add `mypy` to the pipeline by Kludex in https://github.com/celery/kombu/pull/1512
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1520
* chore: Annotate semaphore.py by sondrelg in https://github.com/celery/kombu/pull/1513
* Added possibility to serialize and deserialize binary messages in json by dobosevych in https://github.com/celery/kombu/pull/1516
* Annotate `utils/uuid.py` and `utils/text.py` by Kludex in https://github.com/celery/kombu/pull/1514
* Update `__exit__` function signatures by sondrelg in https://github.com/celery/kombu/pull/1524
* Annotate init files by Kludex in https://github.com/celery/kombu/pull/1527
* Use `--py37-plus` for pyupgrade and add `__future__.annotations` import by Kludex in https://github.com/celery/kombu/pull/1531
* json.py cleaning from outdated libs by dobosevych in https://github.com/celery/kombu/pull/1533
* try new py-amqp release by auvipy in https://github.com/celery/kombu/pull/1534
* add GitHub URL for PyPi by andriyor in https://github.com/celery/kombu/pull/1498
* Config file for pyup.io by pyup-bot in https://github.com/celery/kombu/pull/1453
* pytest~=7.1.1 by auvipy in https://github.com/celery/kombu/pull/1535
* Support pymongo 4.x by Jakski in https://github.com/celery/kombu/pull/1536
* Annotate `exceptions.py` and `clocks.py` by Kludex in https://github.com/celery/kombu/pull/1526
* Kafka support by CountRedClaw in https://github.com/celery/kombu/pull/1506
* v3 action-checkout by auvipy in https://github.com/celery/kombu/pull/1538
* Upgrade Azure Storage Queues transport to version 12 by jonasmiederer in https://github.com/celery/kombu/pull/1539
* move to consul2 by auvipy in https://github.com/celery/kombu/pull/1544
* azure-servicebus>=7.6.1 by auvipy in https://github.com/celery/kombu/pull/1543
* kazoo>=2.8.0 by auvipy in https://github.com/celery/kombu/pull/1545
* redis>=4.2.2 by auvipy in https://github.com/celery/kombu/pull/1546
* Added HLEN to the list of prefixed redis commands by vinayinvicible in https://github.com/celery/kombu/pull/1540
* update SQS dependencies by auvipy in https://github.com/celery/kombu/pull/1547
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1550
* Annotate `abstract.py` by Kludex in https://github.com/celery/kombu/pull/1522
* Datetime serialization and deserialization fixed by dobosevych in https://github.com/celery/kombu/pull/1515
* Annotate `matcher.py` by Kludex in https://github.com/celery/kombu/pull/1532
* stop schedule by auvipy in https://github.com/celery/kombu/pull/1558
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1554
* stop cron job by auvipy in https://github.com/celery/kombu/pull/1559
* fix typing flake8 by auvipy in https://github.com/celery/kombu/pull/1560
* Add ext.py files to setup.cfg by Kludex in https://github.com/celery/kombu/pull/1566
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1571
* Add support to SQS DelaySeconds by erikaloranger in https://github.com/celery/kombu/pull/1567
* Add Redis WATCH to prefixed complex commands by dcecile in https://github.com/celery/kombu/pull/1572
* Avoid losing type of UUID when serializing/deserializing by el-chogo in https://github.com/celery/kombu/pull/1575
* chore: add confluentkafka to extras 📌 by meysam81 in https://github.com/celery/kombu/pull/1573
* Fix typo in README.rst by Kirade in https://github.com/celery/kombu/pull/1581
* Fix azurestoragequeues transport by davidbossanyi in https://github.com/celery/kombu/pull/1586
* hub: tick delay fix by shahar-lev in https://github.com/celery/kombu/pull/1587
* Fix incompatibility with redis in disconnect() by shalabhc in https://github.com/celery/kombu/pull/1589
* Solve Kombu filesystem transport not thread safe by karajan1001 in https://github.com/celery/kombu/pull/1593
* Revert "Solve Kombu filesystem transport not thread safe" by karajan1001 in https://github.com/celery/kombu/pull/1595
* Make JSONEncoder keep the same type for date/datetime. by mvaled in https://github.com/celery/kombu/pull/1598
* Solve Kombu filesystem transport not thread safe by karajan1001 in https://github.com/celery/kombu/pull/1596
* importlib_metadata remove deprecated entry point interfaces by woutdenolf in https://github.com/celery/kombu/pull/1601
* Add separate transport option for retry loop timeout by intgr in https://github.com/celery/kombu/pull/1599
* Fix errors from flake8 lint by intgr in https://github.com/celery/kombu/pull/1608
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1578
* Allow azurestoragequeues transport to be used with Azurite emulator in docker-compose by davidbossanyi in https://github.com/celery/kombu/pull/1611
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1613
* Use SPDX license expression in project metadata by RazerM in https://github.com/celery/kombu/pull/1616
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1617
* Added .python-version and .vscode to gitignore by Nusnus in https://github.com/celery/kombu/pull/1627
* sqlalchemy==1.4.45 by auvipy in https://github.com/celery/kombu/pull/1626
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1619
* Allowing `Connection.ensure()` to retry on specific exceptions given by policy by Nusnus in https://github.com/celery/kombu/pull/1629
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1633
* redis==4.3.4 temporarilly in an attempt to avoid bc by auvipy in https://github.com/celery/kombu/pull/1634
* add managed identity support to azure storage queue by jasonwbarnett in https://github.com/celery/kombu/pull/1631
* add autoflake to .pre-commit-config.yaml to automatically remove unused imports by jasonwbarnett in https://github.com/celery/kombu/pull/1637
* Switch references to the master branch to main by thedrow in https://github.com/celery/kombu/pull/1638
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1635
* add --keep-runtime-typing argument to pyupgrade by jasonwbarnett in https://github.com/celery/kombu/pull/1639
* add type annotations to kombu/transport/azurestoragequeues by jasonwbarnett in https://github.com/celery/kombu/pull/1632
* azure service bus: add type annotations and use cached property by jasonwbarnett in https://github.com/celery/kombu/pull/1640
* update by auvipy in https://github.com/celery/kombu/pull/1652
* support sqla v2.0 by craigmulligan in https://github.com/celery/kombu/pull/1651
* sqlalchemy>=1.4.1,<2.1 by auvipy in https://github.com/celery/kombu/pull/1642
* Mark methods accepting Connection instances as such by agateau-gg in https://github.com/celery/kombu/pull/1645
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1648
* lets check it's compat by auvipy in https://github.com/celery/kombu/pull/1655
* Remove unused `_setupfuns` from serialization.py by last-partizan in https://github.com/celery/kombu/pull/1658
* refactor: Refactor utils/json by last-partizan in https://github.com/celery/kombu/pull/1659
* docs: Add notes for kombu.utils.json.register_type by last-partizan in https://github.com/celery/kombu/pull/1660
* Correctly mock entry_points on Python 3.10 by jaraco in https://github.com/celery/kombu/pull/1664
* updated python versiions in CI by auvipy in https://github.com/celery/kombu/pull/1663
* Update codeql part to v2 by auvipy in https://github.com/celery/kombu/pull/1665
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1667
* Update sqlalchemy.txt by auvipy in https://github.com/celery/kombu/pull/1669
* azure-storage-queue>=12.6.0 by auvipy in https://github.com/celery/kombu/pull/1671
* azure-servicebus>=7.8.3 by auvipy in https://github.com/celery/kombu/pull/1672
* Update azureservicebus.txt cpython only by auvipy in https://github.com/celery/kombu/pull/1674
* use pytest-freezer by auvipy in https://github.com/celery/kombu/pull/1683
* test azureservicebus pure python beta by auvipy in https://github.com/celery/kombu/pull/1682
* Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1684
* Update brotli.txt by auvipy in https://github.com/celery/kombu/pull/1685
* Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1686
* Deprecate pytz and use zoneinfo by max-muoto in https://github.com/celery/kombu/pull/1680
* fix: handle keyerror in azureservicebus transport when message is not found in qos and perform basic_ack by IsmaelJS in https://github.com/celery/kombu/pull/1691
* Update azureservicebus.txt by auvipy in https://github.com/celery/kombu/pull/1693
* Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1692
* Add Semgrep CI by Nusnus in https://github.com/celery/kombu/pull/1695
* drop codecov pypi version by auvipy in https://github.com/celery/kombu/pull/1696
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1697
* fix mongodb transport obsolete calls by fmigneault in https://github.com/celery/kombu/pull/1694
* SQS: avoid excessive GetQueueURL calls by using cached queue url by sparrowt in https://github.com/celery/kombu/pull/1621
* Update test.txt by auvipy in https://github.com/celery/kombu/pull/1698
* Update redis.txt to 4.3.6 to fix severe issue by auvipy in https://github.com/celery/kombu/pull/1676
* Update sqlalchemy>=1.4.48 by auvipy in https://github.com/celery/kombu/pull/1703
* Update to Latest Service Bus Library by kashifkhan in https://github.com/celery/kombu/pull/1706
* Update ci.yaml by auvipy in https://github.com/celery/kombu/pull/1704
* Update tox.ini to pin kafka image by auvipy in https://github.com/celery/kombu/pull/1717
* chore(ci): improve CI by stegayet in https://github.com/celery/kombu/pull/1707
* chore(build): clean `setup.py` by stegayet in https://github.com/celery/kombu/pull/1711
* chore(ci): fix lint job by stegayet in https://github.com/celery/kombu/pull/1718
* Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1722
* chore(python): remove Python 3.7 support by stegayet in https://github.com/celery/kombu/pull/1708
* chore(requirements): improve requirements management by stegayet in https://github.com/celery/kombu/pull/1710
* Update confluentkafka.txt version by auvipy in https://github.com/celery/kombu/pull/1727
* moved shebang to python3 by MehrazRumman in https://github.com/celery/kombu/pull/1728
* Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1729
* add missing zoneinfo dependency by woutdenolf in https://github.com/celery/kombu/pull/1732
* Support redis >= 4.5.2 by danigm in https://github.com/celery/kombu/pull/1735
* Update test-ci.txt by auvipy in https://github.com/celery/kombu/pull/1736
* Update docs.txt by auvipy in https://github.com/celery/kombu/pull/1738
* Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1739
* zoneinfo: the actual timezone data is an optional dependency by woutdenolf in https://github.com/celery/kombu/pull/1740
* Update lzma.txt by auvipy in https://github.com/celery/kombu/pull/1741
New Contributors
* karajan1001 made their first contribution in https://github.com/celery/kombu/pull/1499
* olii made their first contribution in https://github.com/celery/kombu/pull/1489
* otherJL0 made their first contribution in https://github.com/celery/kombu/pull/1507
* ObiWanKeoni made their first contribution in https://github.com/celery/kombu/pull/1509
* Kludex made their first contribution in https://github.com/celery/kombu/pull/1512
* sondrelg made their first contribution in https://github.com/celery/kombu/pull/1513
* dobosevych made their first contribution in https://github.com/celery/kombu/pull/1516
* andriyor made their first contribution in https://github.com/celery/kombu/pull/1498
* pyup-bot made their first contribution in https://github.com/celery/kombu/pull/1453
* Jakski made their first contribution in https://github.com/celery/kombu/pull/1536
* CountRedClaw made their first contribution in https://github.com/celery/kombu/pull/1506
* jonasmiederer made their first contribution in https://github.com/celery/kombu/pull/1539
* erikaloranger made their first contribution in https://github.com/celery/kombu/pull/1567
* dcecile made their first contribution in https://github.com/celery/kombu/pull/1572
* el-chogo made their first contribution in https://github.com/celery/kombu/pull/1575
* meysam81 made their first contribution in https://github.com/celery/kombu/pull/1573
* Kirade made their first contribution in https://github.com/celery/kombu/pull/1581
* davidbossanyi made their first contribution in https://github.com/celery/kombu/pull/1586
* shahar-lev made their first contribution in https://github.com/celery/kombu/pull/1587
* shalabhc made their first contribution in https://github.com/celery/kombu/pull/1589
* mvaled made their first contribution in https://github.com/celery/kombu/pull/1598
* woutdenolf made their first contribution in https://github.com/celery/kombu/pull/1601
* intgr made their first contribution in https://github.com/celery/kombu/pull/1599
* RazerM made their first contribution in https://github.com/celery/kombu/pull/1616
* Nusnus made their first contribution in https://github.com/celery/kombu/pull/1627
* jasonwbarnett made their first contribution in https://github.com/celery/kombu/pull/1631
* craigmulligan made their first contribution in https://github.com/celery/kombu/pull/1651
* agateau-gg made their first contribution in https://github.com/celery/kombu/pull/1645
* last-partizan made their first contribution in https://github.com/celery/kombu/pull/1658
* jaraco made their first contribution in https://github.com/celery/kombu/pull/1664
* max-muoto made their first contribution in https://github.com/celery/kombu/pull/1680
* IsmaelJS made their first contribution in https://github.com/celery/kombu/pull/1691
* fmigneault made their first contribution in https://github.com/celery/kombu/pull/1694
* sparrowt made their first contribution in https://github.com/celery/kombu/pull/1621
* kashifkhan made their first contribution in https://github.com/celery/kombu/pull/1706
* stegayet made their first contribution in https://github.com/celery/kombu/pull/1707
* MehrazRumman made their first contribution in https://github.com/celery/kombu/pull/1728
* danigm made their first contribution in https://github.com/celery/kombu/pull/1735
**Full Changelog**: https://github.com/celery/kombu/compare/v5.2.4...v5.3.0
```
### 5.3.0rc2
```
What's Changed
* add missing zoneinfo dependency by woutdenolf in https://github.com/celery/kombu/pull/1732
* Support redis >= 4.5.2 by danigm in https://github.com/celery/kombu/pull/1735
* Update test-ci.txt by auvipy in https://github.com/celery/kombu/pull/1736
* Update docs.txt by auvipy in https://github.com/celery/kombu/pull/1738
* Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1739
New Contributors
* danigm made their first contribution in https://github.com/celery/kombu/pull/1735
**Full Changelog**: https://github.com/celery/kombu/compare/v5.3.0rc1...v5.3.0rc2
```
### 5.3.0rc1
```
What's Changed
* use pytest-freezer by auvipy in https://github.com/celery/kombu/pull/1683
* test azureservicebus pure python beta by auvipy in https://github.com/celery/kombu/pull/1682
* Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1684
* Update brotli.txt by auvipy in https://github.com/celery/kombu/pull/1685
* Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1686
* Deprecate pytz and use zoneinfo by max-muoto in https://github.com/celery/kombu/pull/1680
* fix: handle keyerror in azureservicebus transport when message is not found in qos and perform basic_ack by IsmaelJS in https://github.com/celery/kombu/pull/1691
* Update azureservicebus.txt by auvipy in https://github.com/celery/kombu/pull/1693
* Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1692
* Add Semgrep CI by Nusnus in https://github.com/celery/kombu/pull/1695
* drop codecov pypi version by auvipy in https://github.com/celery/kombu/pull/1696
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1697
* fix mongodb transport obsolete calls by fmigneault in https://github.com/celery/kombu/pull/1694
* SQS: avoid excessive GetQueueURL calls by using cached queue url by sparrowt in https://github.com/celery/kombu/pull/1621
* Update test.txt by auvipy in https://github.com/celery/kombu/pull/1698
* Update redis.txt to 4.3.6 to fix severe issue by auvipy in https://github.com/celery/kombu/pull/1676
* Update sqlalchemy>=1.4.48 by auvipy in https://github.com/celery/kombu/pull/1703
* Update to Latest Service Bus Library by kashifkhan in https://github.com/celery/kombu/pull/1706
* Update ci.yaml by auvipy in https://github.com/celery/kombu/pull/1704
* Update tox.ini to pin kafka image by auvipy in https://github.com/celery/kombu/pull/1717
* chore(ci): improve CI by stegayet in https://github.com/celery/kombu/pull/1707
* chore(build): clean `setup.py` by stegayet in https://github.com/celery/kombu/pull/1711
* chore(ci): fix lint job by stegayet in https://github.com/celery/kombu/pull/1718
* Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1722
* chore(python): remove Python 3.7 support by stegayet in https://github.com/celery/kombu/pull/1708
* chore(requirements): improve requirements management by stegayet in https://github.com/celery/kombu/pull/1710
* Update confluentkafka.txt version by auvipy in https://github.com/celery/kombu/pull/1727
* moved shebang to python3 by MehrazRumman in https://github.com/celery/kombu/pull/1728
* Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1729
New Contributors
* max-muoto made their first contribution in https://github.com/celery/kombu/pull/1680
* IsmaelJS made their first contribution in https://github.com/celery/kombu/pull/1691
* fmigneault made their first contribution in https://github.com/celery/kombu/pull/1694
* sparrowt made their first contribution in https://github.com/celery/kombu/pull/1621
* kashifkhan made their first contribution in https://github.com/celery/kombu/pull/1706
* stegayet made their first contribution in https://github.com/celery/kombu/pull/1707
* MehrazRumman made their first contribution in https://github.com/celery/kombu/pull/1728
**Full Changelog**: https://github.com/celery/kombu/compare/v5.3.0b3...v5.3.0rc1
```
### 5.3.0b3
```
What's Changed
* Use SPDX license expression in project metadata by RazerM in https://github.com/celery/kombu/pull/1616
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1617
* Added .python-version and .vscode to gitignore by Nusnus in https://github.com/celery/kombu/pull/1627
* sqlalchemy==1.4.45 by auvipy in https://github.com/celery/kombu/pull/1626
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1619
* Allowing `Connection.ensure()` to retry on specific exceptions given by policy by Nusnus in https://github.com/celery/kombu/pull/1629
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1633
* redis==4.3.4 temporarilly in an attempt to avoid bc by auvipy in https://github.com/celery/kombu/pull/1634
* add managed identity support to azure storage queue by jasonwbarnett in https://github.com/celery/kombu/pull/1631
* add autoflake to .pre-commit-config.yaml to automatically remove unused imports by jasonwbarnett in https://github.com/celery/kombu/pull/1637
* Switch references to the master branch to main by thedrow in https://github.com/celery/kombu/pull/1638
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1635
* add --keep-runtime-typing argument to pyupgrade by jasonwbarnett in https://github.com/celery/kombu/pull/1639
* add type annotations to kombu/transport/azurestoragequeues by jasonwbarnett in https://github.com/celery/kombu/pull/1632
* azure service bus: add type annotations and use cached property by jasonwbarnett in https://github.com/celery/kombu/pull/1640
* update by auvipy in https://github.com/celery/kombu/pull/1652
* support sqla v2.0 by craigmulligan in https://github.com/celery/kombu/pull/1651
* sqlalchemy>=1.4.1,<2.1 by auvipy in https://github.com/celery/kombu/pull/1642
* Mark methods accepting Connection instances as such by agateau-gg in https://github.com/celery/kombu/pull/1645
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1648
* lets check it's compat by auvipy in https://github.com/celery/kombu/pull/1655
* Remove unused `_setupfuns` from serialization.py by last-partizan in https://github.com/celery/kombu/pull/1658
* refactor: Refactor utils/json by last-partizan in https://github.com/celery/kombu/pull/1659
* docs: Add notes for kombu.utils.json.register_type by last-partizan in https://github.com/celery/kombu/pull/1660
* Correctly mock entry_points on Python 3.10 by jaraco in https://github.com/celery/kombu/pull/1664
* updated python versiions in CI by auvipy in https://github.com/celery/kombu/pull/1663
* Update codeql part to v2 by auvipy in https://github.com/celery/kombu/pull/1665
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1667
* Update sqlalchemy.txt by auvipy in https://github.com/celery/kombu/pull/1669
* azure-storage-queue>=12.6.0 by auvipy
Update amqp from 2.5.2 to 5.2.0.
Changelog
### 5.2.0 ``` ===== :release-date: 2023-11-06 10:55 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Added python 3.12 and drop python 3.7 (423). - Test vine 5.1.0 (424). - Set an explicit timeout on SSL handshake to prevent hangs. - Add MessageNacked to recoverable errors. - Send heartbeat frames more often. .. _version-5.1.1: ``` ### 5.1.1 ``` ===== :release-date: 2022-04-17 12:45 P.M. UTC+6:00 :release-by: Asif Saif Uddin - Use AF_UNSPEC for name resolution (389). .. _version-5.1.0: ``` ### 5.1.0 ``` ===== :release-date: 2022-03-06 10:05 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Improve performance of _get_free_channel_id, fix channel max bug (385). - Document memoryview usage, minor frame_writer.write_frame refactor (384). - Start dropping python 3.6 (387). - Added experimental __slots__ to some classes (368) - Relaxed vine version for upcoming release. - Upgraded topytest 7 (388). .. _version-5.0.9: ``` ### 5.0.9 ``` ===== :release-date: 2021-12-20 11:00 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Append to _used_channel_ids in _used_channel_ids .. _version-5.0.8: ``` ### 5.0.8 ``` ===== :release-date: 2021-12-19 11:15 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Reduce memory usage of Connection (377) - Add additional error handling around code where an OSError may be raised on failed connections. Fixes (378) .. _version-5.0.7: ``` ### 5.0.7 ``` ===== :release-date: 2021-12-13 15:45 P.M. UTC+6:00 :release-by: Asif Saif Uddin - Remove dependency to case - Bugfix: not closing socket after server disconnect .. _version-5.0.6: ``` ### 5.0.6 ``` ===== :release-date: 2021-04-01 10:45 A.M. UTC+6:00 :release-by: Asif Saif Uddin - Change the order in which context.check_hostname and context.verify_mode get set in SSLTransport._wrap_socket_sni. Fixes bug introduced in 5.0.3 where setting context.verify_mode = ssl.CERT_NONE would raise "ValueError: Cannot set verify_mode to CERT_NONE when check_hostname is enabled." Setting context.check_hostname prior to setting context.verify_mode resolves the issue. - Remove TCP_USER_TIMEOUT option for Solaris (355) - Pass long_description to setup() (353) - Fix for tox-docker 2.0 - Moved to GitHub actions CI (359) .. _version-5.0.5: ``` ### 5.0.5 ``` ===== :release-date: 2021-01-28 4:30 P.M UTC+6:00 :release-by: Asif Saif Uddin - Removed mistakenly introduced code which was causing import errors .. _version-5.0.4: ``` ### 5.0.4 ``` ===== :release-date: 2021-01-28 2:30 P.M UTC+6:00 :release-by: Asif Saif Uddin - Add missing load_default_certs() call to fix a regression in v5.0.3 release. (350) .. _version-5.0.3: ``` ### 5.0.3 ``` ===== :release-date: 2021-01-19 9:00 P.M UTC+6:00 :release-by: Asif Saif Uddin - Change the default value of ssl_version to None. When not set, the proper value between ssl.PROTOCOL_TLS_CLIENT and ssl.PROTOCOL_TLS_SERVER will be selected based on the param server_side in order to create a TLS Context object with better defaults that fit the desired connection side. - Change the default value of cert_reqs to None. The default value of ctx.verify_mode is ssl.CERT_NONE, but when ssl.PROTOCOL_TLS_CLIENT is used, ctx.verify_mode defaults to ssl.CERT_REQUIRED. - Fix context.check_hostname logic. Checking the hostname depends on having support of the SNI TLS extension and being provided with a server_hostname value. Another important thing to mention is that enabling hostname checking automatically sets verify_mode from ssl.CERT_NONE to ssl.CERT_REQUIRED in the stdlib ssl and it cannot be set back to ssl.CERT_NONE as long as hostname checking is enabled. - Refactor the SNI tests to test one thing at a time and removing some tests that were being repeated over and over. .. _version-5.0.2: ``` ### 5.0.2 ``` ===== :release-date: 2020-11-08 6:50 P.M UTC+3:00 :release-by: Omer Katz - Whhels are no longer universal. Contributed by **Omer Katz** - Added debug representation to Connection and *Transport classes Contributed by **Matus Valo** - Reintroduce ca_certs and ciphers parameters of SSLTransport._wrap_socket_sni() This fixes issue introduced in commit: 53d6777 Contributed by **Matus Valo** - Fix infinite wait when using confirm_publish Contributed by **Omer Katz** & **RezaSi** .. _version-5.0.1: ``` ### 5.0.1 ``` ===== :release-date: 2020-09-06 6:10 P.M UTC+3:00 :release-by: Omer Katz - Require vine 5.0.0. Contributed by **Omer Katz** .. _version-5.0.0: ``` ### 5.0.0 ``` ===== :release-date: 2020-09-03 3:20 P.M UTC+3:00 :release-by: Omer Katz - Stop to use deprecated method ssl.wrap_socket. Contributed by **Hervé Beraud** .. _version-5.0.0b1: ``` ### 5.0.0b1 ``` ======= :release-date: 2020-09-01 6:20 P.M UTC+3:00 :release-by: Omer Katz - Dropped Python 3.5 support. Contributed by **Omer Katz** - Removed additional compatibility code. Contributed by **Omer Katz** .. _version-5.0.0a1: ``` ### 5.0.0a1 ``` ======= :release-date: 2019-04-01 4:30 P.M UTC+3:00 :release-by: Omer Katz - Dropped Python 2.x support. Contributed by **Omer Katz** - Dropped Python 3.4 support. Contributed by **Omer Katz** - Depend on :pypi:`vine` 5.0.0a1. Contributed by **Omer Katz** Code Cleanups & Improvements: - **Omer Katz** .. _version-2.6.0: ``` ### 2.6.1 ``` ===== :release-date: 2020-07-31 10.30 P.M UTC+6:00 :release-by: Asif Saif Uddin - Fix buffer overflow in frame_writer after frame_max is increased. `frame_writer` allocates a `bytearray` on initialization with a length based on the `connection.frame_max` value. If `connection.frame_max` is changed to a larger value, this causes an error like `pack_into requires a buffer of at least 408736 bytes`. .. _version-2.6.0: ``` ### 2.6.0 ``` ===== :release-date: 20-06-01 12.00 P.M UTC+6:00 :release-by: Asif Saif Uddin - Implement speedups in cython (311) - Updated some tests & code improvements - Separate logger for Connection.heartbeat_tick method - Cython generic content (315) - Improve documentation a_global parameter of basic_qos() method. - Fix saving partial read buffer on windows during socket timeout. (321) - Fix deserialization of long string field values that are not utf-8. - Added simple cythonization of abstract_channel.py - Speedups of serialization.py are more restrictive .. _version-2.5.2: ```Links
- PyPI: https://pypi.org/project/amqp - Changelog: https://data.safetycli.com/changelogs/amqp/ - Repo: http://github.com/celery/py-amqpUpdate argh from 0.26.2 to 0.31.1.
Changelog
### 0.31.1 ``` *This text is a brief summary of the full changelog entry: https://argh.readthedocs.io/en/latest/changes.html#version-0-31-1-2024-01-19* What's Changed Bugs fixed: - broken support for type alias `List` (issue 216), thanks to thorwhalen. Enhancements: - cleaned up the README, rearranged other documentation. **Full diff**: https://github.com/neithere/argh/compare/v0.31.0...v0.31.1 ``` ### 0.31.0 ``` What's Changed This release is a major step forward for Argh. It paves the way to a fully annotations-driven approach where decorators will remain a mere legacy. *This text is a brief summary of the full changelog entry: https://argh.readthedocs.io/en/latest/changes.html#version-0-31-0-2023-12-30* Breaking changes: * The typing hints introspection feature is automatically enabled for any command (function) which does **not** have any arguments specified via `arg` decorator. * A small change in the legacy argument mapping policy `BY_NAME_IF_HAS_DEFAULT` concerning the order of variadic positional vs. keyword-only arguments. * Removed the previously deprecated decorator `expects_obj`. Enhancements: * Type hints: basic usage to infer argument types (fixes 203) by neithere in https://github.com/neithere/argh/pull/211 * Support realtime output through a pipe (fixes 145) by neithere in https://github.com/neithere/argh/pull/202 * High-level functions `argh.dispatch_command()` and `argh.dispatch_commands()` now accept a new parameter `old_name_mapping_policy`. 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. **Full Diff**: https://github.com/neithere/argh/compare/v0.30.5...v0.31.0 ``` ### 0.30.5 ``` What's Changed * fix: nargs + list as default value (212) by neithere in https://github.com/neithere/argh/pull/213 (thanks to pioio for bug report) * feat: argspec guessing: if `nargs` is not specified but the default value is a list, `nargs="*"` is assumed and passed to argparse. **Full Changelog**: https://github.com/neithere/argh/compare/v0.30.4...v0.30.5 Please refer to the official changelog for more details: https://argh.readthedocs.io/en/latest/changes.html ``` ### 0.30.4 ``` What's Changed 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. — by neithere **Full Changelog**: https://github.com/neithere/argh/compare/v0.30.3...v0.30.4 ``` ### 0.30.3 ``` What's Changed * fix: regression — `arg` deco failing with underscore in positional arg name (fixes 208) by neithere in https://github.com/neithere/argh/pull/209 (thanks to kaetir for a report with a reproducible example) **Full Changelog**: https://github.com/neithere/argh/compare/v0.30.2...v0.30.3 ``` ### 0.30.2 ``` What's Changed * fix: raise exception for non-migrated commands (fixes 206) by neithere (reported and valuable feedback given by valentin-feron) in https://github.com/neithere/argh/pull/207 **Full Changelog**: https://github.com/neithere/argh/compare/v0.30.1...v0.30.2 ``` ### 0.30.1 ``` What's Changed Bugs fixed: - Regression: certain special values in argument default value would cause an exception (204 reported by mfussenegger, fixed by neithere) Enhancements: - Improved the tutorial by neithere - 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 by neithere Other changes: - Added `py.typed` marker file for PEP-561 by neithere Details Commits: https://github.com/neithere/argh/compare/v0.30.0...v0.30.1 Full changelog: https://argh.readthedocs.io/en/latest/changes.html#version-0-30-1 ``` ### 0.30.0 ``` What's Changed * Remove previously deprecated code (closes 184) by neithere in https://github.com/neithere/argh/pull/188 * Type annotations for existing code (closes 185) by neithere in https://github.com/neithere/argh/pull/189 * Deprecate `help` command alias and `expects_obj` decorator by neithere in https://github.com/neithere/argh/pull/192 * Document usage with class methods (closes 138) by neithere in https://github.com/neithere/argh/pull/194 * Remove pre_call, expose finer control over dispatching (re 63) by neithere in https://github.com/neithere/argh/pull/193 * Add support for Python 3.12 (closes 196) by neithere in https://github.com/neithere/argh/pull/195 * Refactor assembling module (closes 197) by neithere in https://github.com/neithere/argh/pull/198 * Keyword-only arguments as options (closes 191) by neithere in https://github.com/neithere/argh/pull/199 **Full Changelog**: https://github.com/neithere/argh/compare/v0.29.4...v0.30.0 ``` ### 0.30.0alpha ``` What's Changed * Remove previously deprecated code (closes 184) by neithere in https://github.com/neithere/argh/pull/188 * Type annotations for existing code (closes 185) by neithere in https://github.com/neithere/argh/pull/189 * Deprecate `help` command alias and `expects_obj` decorator by neithere in https://github.com/neithere/argh/pull/192 * Document usage with class methods (closes 138) by neithere in https://github.com/neithere/argh/pull/194 * Remove pre_call, expose finer control over dispatching (re 63) by neithere in https://github.com/neithere/argh/pull/193 * Add support for Python 3.12 (closes 196) by neithere in https://github.com/neithere/argh/pull/195 * Refactor assembling module (closes 197) by neithere in https://github.com/neithere/argh/pull/198 * Keyword-only arguments as options (closes 191) by neithere in https://github.com/neithere/argh/pull/199 **Full Changelog**: https://github.com/neithere/argh/compare/v0.29.4...v0.30.0-alpha ``` ### 0.29.4 ``` Bugs fixed: - Test coverage reported as <100% when argcomplete is installed (187) ``` ### 0.29.3 ``` This is a technical release for packaging purposes. ``` ### 0.29.2 ``` This is a technical release for packaging purposes. ``` ### 0.29.1 ``` This is a technical release for packaging purposes. ``` ### 0.29.0 ``` What's Changed 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 (by ekimekim in 161). Deprecated: * Renamed arguments in `add_commands()` (165 / 178): - `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 argument by neithere in 181 Other changes: * Avoid depending on iocapture by using pytest's built-in feature by mr-c in 177 * chore: publishing to prod PyPI by neithere in 173 * test: add coverage for action="count" (127) by neithere in 183 New Contributors * ekimekim made their first contribution in https://github.com/neithere/argh/pull/161 * mr-c made their first contribution in https://github.com/neithere/argh/pull/177 **Full Changelog**: https://github.com/neithere/argh/compare/v0.28.1...v0.29.0 ``` ### 0.28.1 ``` What's Changed * Add Github workflow to publish the release to PyPI by neithere in https://github.com/neithere/argh/pull/167 * fix: argcomplete-related test by neithere in 172 (reported in 169 by kloczek) * fix: assumed prog name in tests by neithere in 171 (reported in 170 by mgorny) **Full Changelog**: https://github.com/neithere/argh/compare/v0.28.0...v0.28.1 Thanks to everyone who reported ``` ### 0.28.0 ``` A major modernisation and 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 (63) can help improve the library to accomodate it in a proper way. - 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. **Full Changelog**: https://github.com/neithere/argh/compare/v0.27.2...v0.28.0 ``` ### 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) Contributors: mtelka (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). Contributors: dwf (105), jwilk (110), jakirkham (112), brilee, sanga (116), Gidgidonihah (134), mrdavidlaing (153), jelly (154), mtelka (154), hugovk (reviewing PRs). ```Links
- PyPI: https://pypi.org/project/argh - Changelog: https://data.safetycli.com/changelogs/argh/ - Docs: https://pythonhosted.org/argh/Update atomicwrites from 1.3.0 to 1.4.1.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/atomicwrites - Repo: https://github.com/untitaker/python-atomicwritesUpdate attrs from 19.3.0 to 23.2.0.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/attrsUpdate beautifulsoup4 from 4.8.1 to 4.12.3.
Changelog
### 4.11.1 ``` This release was done to ensure that the unit tests are packaged along with the released source. There are no functionality changes in this release, but there are a few other packaging changes: * The Japanese and Korean translations of the documentation are included. * The changelog is now packaged as CHANGELOG, and the license file is packaged as LICENSE. NEWS.txt and COPYING.txt are still present, but may be removed in the future. * TODO.txt is no longer packaged, since a TODO is not relevant for released code. ``` ### 4.11.0 ``` * Ported unit tests to use pytest. * Added special string classes, RubyParenthesisString and RubyTextString, to make it possible to treat ruby text specially in get_text() calls. [bug=1941980] * It's now possible to customize the way output is indented by providing a value for the 'indent' argument to the Formatter constructor. The 'indent' argument works very similarly to the argument of the same name in the Python standard library's json.dump() function. [bug=1955497] * If the charset-normalizer Python module (https://pypi.org/project/charset-normalizer/) is installed, Beautiful Soup will use it to detect the character sets of incoming documents. This is also the module used by newer versions of the Requests library. For the sake of backwards compatibility, chardet and cchardet both take precedence if installed. [bug=1955346] * Added a workaround for an lxml bug (https://bugs.launchpad.net/lxml/+bug/1948551) that causes problems when parsing a Unicode string beginning with BYTE ORDER MARK. [bug=1947768] * Issue a warning when an HTML parser is used to parse a document that looks like XML but not XHTML. [bug=1939121] * Do a better job of keeping track of namespaces as an XML document is parsed, so that CSS selectors that use namespaces will do the right thing more often. [bug=1946243] * Some time ago, the misleadingly named "text" argument to find-type methods was renamed to the more accurate "string." But this supposed "renaming" didn't make it into important places like the method signatures or the docstrings. That's corrected in this version. "text" still works, but will give a DeprecationWarning. [bug=1947038] * Fixed a crash when pickling a BeautifulSoup object that has no tree builder. [bug=1934003] * Fixed a crash when overriding multi_valued_attributes and using the html5lib parser. [bug=1948488] * Standardized the wording of the MarkupResemblesLocatorWarning warnings to omit untrusted input and make the warnings less judgmental about what you ought to be doing. [bug=1955450] * Removed support for the iconv_codec library, which doesn't seem to exist anymore and was never put up on PyPI. (The closest replacement on PyPI, iconv_codecs, is GPL-licensed, so we can't use it--it's also quite old.) ``` ### 4.10.0 ``` * This is the first release of Beautiful Soup to only support Python 3. I dropped Python 2 support to maintain support for newer versions (58 and up) of setuptools. See: https://github.com/pypa/setuptools/issues/2769 [bug=1942919] * The behavior of methods like .get_text() and .strings now differs depending on the type of tag. The change is visible with HTML tags like <script>, <style>, and <template>. Starting in 4.9.0, methods like get_text() returned no results on such tags, because the contents of those tags are not considered 'text' within the document as a whole. But a user who calls script.get_text() is working from a different definition of 'text' than a user who calls div.get_text()--otherwise there would be no need to call script.get_text() at all. In 4.10.0, the contents of (e.g.) a <script> tag are considered 'text' during a get_text() call on the tag itself, but not considered 'text' during a get_text() call on the tag's parent. Because of this change, calling get_text() on each child of a tag may now return a different result than calling get_text() on the tag itself. That's because different tags now have different understandings of what counts as 'text'. [bug=1906226] [bug=1868861] * NavigableString and its subclasses now implement the get_text() method, as well as the properties .strings and .stripped_strings. These methods will either return the string itself, or nothing, so the only reason to use this is when iterating over a list of mixed Tag and NavigableString objects. [bug=1904309] * The 'html5' formatter now treats attributes whose values are the empty string as HTML boolean attributes. Previously (and in other formatters), an attribute value must be set as None to be treated as a boolean attribute. In a future release, I plan to also give this behavior to the 'html' formatter. Patch by Isaac Muse. [bug=1915424] * The 'replace_with()' method now takes a variable number of arguments, and can be used to replace a single element with a sequence of elements. Patch by Bill Chandos. [rev=605] * Corrected output when the namespace prefix associated with a namespaced attribute is the empty string, as opposed to None. [bug=1915583] * Performance improvement when processing tags that speeds up overall tree construction by 2%. Patch by Morotti. [bug=1899358] * Corrected the use of special string container classes in cases when a single tag may contain strings with different containers; such as the <template> tag, which may contain both TemplateString objects and Comment objects. [bug=1913406] * The html.parser tree builder can now handle named entities found in the HTML5 spec in much the same way that the html5lib tree builder does. Note that the lxml HTML tree builder doesn't handle named entities this way. [bug=1924908] * Added a second way to pass specify encodings to UnicodeDammit and EncodingDetector, based on the order of precedence defined in the HTML5 spec, starting at: https://html.spec.whatwg.org/multipage/parsing.html#parsing-with-a-known-character-encoding Encodings in 'known_definite_encodings' are tried first, then byte-order-mark sniffing is run, then encodings in 'user_encodings' are tried. The old argument, 'override_encodings', is now a deprecated alias for 'known_definite_encodings'. This changes the default behavior of the html.parser and lxml tree builders, in a way that may slightly improve encoding detection but will probably have no effect. [bug=1889014] * Improve the warning issued when a directory name (as opposed to the name of a regular file) is passed as markup into the BeautifulSoup constructor. [bug=1913628] ``` ### 4.9.3 ``` * Implemented a significant performance optimization to the process of searching the parse tree. Patch by Morotti. [bug=1898212] ``` ### 4.9.2 ``` * Fixed a bug that caused too many tags to be popped from the tag stack during tree building, when encountering a closing tag that had no matching opening tag. [bug=1880420] * Fixed a bug that inconsistently moved elements over when passing a Tag, rather than a list, into Tag.extend(). [bug=1885710] * Specify the soupsieve dependency in a way that complies with PEP 508. Patch by Mike Nerone. [bug=1893696] * Change the signatures for BeautifulSoup.insert_before and insert_after (which are not implemented) to match PageElement.insert_before and insert_after, quieting warnings in some IDEs. [bug=1897120] ``` ### 4.9.1 ``` * Added a keyword argument 'on_duplicate_attribute' to the BeautifulSoupHTMLParser constructor (used by the html.parser tree builder) which lets you customize the handling of markup that contains the same attribute more than once, as in: <a href="url1" href="url2"> [bug=1878209] * Added a distinct subclass, GuessedAtParserWarning, for the warning issued when BeautifulSoup is instantiated without a parser being specified. [bug=1873787] * Added a distinct subclass, MarkupResemblesLocatorWarning, for the warning issued when BeautifulSoup is instantiated with 'markup' that actually seems to be a URL or the path to a file on disk. [bug=1873787] * The new NavigableString subclasses (Stylesheet, Script, and TemplateString) can now be imported directly from the bs4 package. * If you encode a document with a Python-specific encoding like 'unicode_escape', that encoding is no longer mentioned in the final XML or HTML document. Instead, encoding information is omitted or left blank. [bug=1874955] * Fixed test failures when run against soupselect 2.0. Patch by Tomáš Chvátal. [bug=1872279] ``` ### 4.9.0 ``` * Added PageElement.decomposed, a new property which lets you check whether you've already called decompose() on a Tag or NavigableString. * Embedded CSS and Javascript is now stored in distinct Stylesheet and Script tags, which are ignored by methods like get_text() since most people don't consider this sort of content to be 'text'. This feature is not supported by the html5lib treebuilder. [bug=1868861] * Added a Russian translation by 'authoress' to the repository. * Fixed an unhandled exception when formatting a Tag that had been decomposed.[bug=1857767] * Fixed a bug that happened when passing a Unicode filename containing non-ASCII characters as markup into Beautiful Soup, on a system that allows Unicode filenames. [bug=1866717] * Added a performance optimization to PageElement.extract(). Patch by Arthur Darcet. ``` ### 4.8.2 ``` * Added Python docstrings to all public methods of the most commonly used classes. * Added a Chinese translation by Deron Wang and a Brazilian Portuguese translation by Cezar Peixeiro to the repository. * Fixed two deprecation warnings. Patches by Colin Watson and Nicholas Neumann. [bug=1847592] [bug=1855301] * The html.parser tree builder now correctly handles DOCTYPEs that are not uppercase. [bug=1848401] * PageElement.select() now returns a ResultSet rather than a regular list, making it consistent with methods like find_all(). ```Links
- PyPI: https://pypi.org/project/beautifulsoup4 - Changelog: https://data.safetycli.com/changelogs/beautifulsoup4/Update billiard from 3.6.1.0 to 4.2.0.
Changelog
### 4.2.0 ``` -------------------- - Update process.py to close during join only if process has completed. - Adjust the __repr__ in ApplyResult. - Remove python 3.7 from CI. - Added Python 3.12 support. - Fixed (co_positions): resolve issue caused by absence co_positions (395). - Fixed: Replaced mktemp usage for Python 3 from python 2. - Changed nose test to pytest (397) in Integration test. - Changed nose dependency for unit test (383). ``` ### 4.1.0 ``` -------------------- - Fixed a python 2 to 3 compat issue which was missed earlier (374). - Adde Python 3.11 primary support ``` ### 4.0.2 ``` -------------------- - ExceptionWithTraceback should be an exception. ``` ### 4.0.1 ``` -------------------- - Add support for Python 3.11 _posixsubprocess.fork_exec() arguments. - Keep exception traceback somehow (368). ``` ### 4.0.0 ``` -------------------- - Support Sphinx 4.x. - Remove dependency to case. - Drop support of Python < 3.7. - Update to psutil 5.9.0. - Add python_requires to enforce Python version. - Replace deprecated threading Event.isSet with Event.is_set. - Prevent segmentation fault in get_pdeathsig while using ctypes (361). - Migrated CI to Github actions. - Python 3.10 support added. ``` ### 3.6.4.0 ``` -------------------- - Issue 309: Add Python 3.9 support to spawnv_passfds() - fix 314 ```Links
- PyPI: https://pypi.org/project/billiard - Changelog: https://data.safetycli.com/changelogs/billiard/ - Repo: https://github.com/celery/billiardUpdate blinker from 1.4 to 1.7.0.
Changelog
### 1.7.0 ``` ------------- Released 2023-11-01 - Fixed messages printed to standard error about unraisable exceptions during signal cleanup, typically during interpreter shutdown. :pr:`123` - Allow the Signal set_class to be customised, to allow calling of receivers in registration order. :pr:`116`. - Drop Python 3.7 and support Python 3.12. :pr:`126` ``` ### 1.6.3 ``` ------------- Released 2023-09-23 - Fix `SyncWrapperType` and `AsyncWrapperType` :pr:`108` - Fixed issue where ``signal.connected_to`` would not disconnect the receiver if an instance of ``BaseException`` was raised. :pr:`114` ``` ### 1.6.2 ``` ------------- Released 2023-04-12 - Type annotations are not evaluated at runtime. typing-extensions is not a runtime dependency. :pr:`94` ``` ### 1.6.1 ``` ------------- Released 2023-04-09 - Ensure that py.typed is present in the distributions (to enable other projects to use blinker's typing). - Require typing-extensions > 4.2 to ensure it includes ParamSpec. :issue:`90` ``` ### 1.6 ``` ----------- Released 2023-04-02 - Add a muted context manager to temporarily turn off a signal. :pr:`84` - Allow int senders (alongside existing string senders). :pr:`83` - Add a send_async method to the Signal to allow signals to send to coroutine receivers. :pr:`76` - Update and modernise the project structure to match that used by the pallets projects. :pr:`77` - Add an intial set of type hints for the project. ``` ### 1.5 ``` ----------- Released 2022-07-17 - Support Python >= 3.7 and PyPy. Python 2, Python < 3.7, and Jython may continue to work, but the next release will make incompatible changes. ```Links
- PyPI: https://pypi.org/project/blinker - Changelog: https://data.safetycli.com/changelogs/blinker/Update bokeh from 1.4.0 to 3.3.3.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/bokehUpdate celery from 4.3.0 to 5.3.6.
Changelog
### 5.3.6 ``` This release is focused mainly to fix AWS SQS new feature compatibility issue and old regressions. The code changes are mostly fix for regressions. More details can be found below. What's Changed * Update Minor-Version-Release-Checklist.md by auvipy in https://github.com/celery/celery/pull/8624 * Increased docker-build CI job timeout from 30m -> 60m by Nusnus in https://github.com/celery/celery/pull/8635 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/celery/pull/8639 * Incredibly minor spelling fix. by Asday in https://github.com/celery/celery/pull/8649 * Fix non-zero exit code when receiving remote shutdown by lyzlisa in https://github.com/celery/celery/pull/8650 * Update task.py get_custom_headers missing 'compression' key by auvipy in https://github.com/celery/celery/pull/8633 * Update kombu>=5.3.4 to fix SQS request compatibility by auvipy in https://github.com/celery/celery/pull/8646 * test requirements version update by auvipy in https://github.com/celery/celery/pull/8655 * Update elasticsearch version by auvipy in https://github.com/celery/celery/pull/8656 * Propagates more ImportErrors during autodiscovery by johnjameswhitman in https://github.com/celery/celery/pull/8632 * Re-raise ModuleNotFoundError unless for guessed task by johnjameswhitman in https://github.com/celery/celery/pull/8660 * Added changelog for v5.3.6 release by auvipy in https://github.com/celery/celery/pull/8659 New Contributors * Asday made their first contribution in https://github.com/celery/celery/pull/8649 * lyzlisa made their first contribution in https://github.com/celery/celery/pull/8650 * johnjameswhitman made their first contribution in https://github.com/celery/celery/pull/8632 **Full Changelog**: https://github.com/celery/celery/compare/v5.3.5...v5.3.6 ``` ### 5.3.5 ``` New Contributors * davidjrice made their first contribution in https://github.com/celery/kombu/pull/1826 * fazledyn-or made their first contribution in https://github.com/celery/kombu/pull/1828 * claudinoac made their first contribution in https://github.com/celery/kombu/pull/1830 * Maheshkumar-novice made their first contribution in https://github.com/celery/kombu/pull/1839 * adam-homeboost made their first contribution in https://github.com/celery/kombu/pull/1838 **Full Changelog**: https://github.com/celery/kombu/compare/v5.3.4...v5.3.5 ``` ### 5.3.4 ``` What's Changed * Use the correct protocol for SQS requests by rafidka in https://github.com/celery/kombu/pull/1807 **Full Changelog**: https://github.com/celery/kombu/compare/v5.3.3...v5.3.4 ``` ### 5.3.3 ``` What's Changed * Update redis.txt to align with celery main by auvipy in https://github.com/celery/kombu/pull/1776 * Handle Access Denied Exception in basic_ack Method by flolas in https://github.com/celery/kombu/pull/1777 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1782 * test redis 5.0.0 by auvipy in https://github.com/celery/kombu/pull/1790 * Dependabot (Kombu) by Nusnus in https://github.com/celery/kombu/pull/1791 * Bump actions/checkout from 3 to 4 by dependabot in https://github.com/celery/kombu/pull/1792 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1793 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1797 * fix azure servicebus using managed identity support by marnikow in https://github.com/celery/kombu/pull/1801 * Added as_uri method to MongoDB transport - Fixes 1795 by romanukes in https://github.com/celery/kombu/pull/1796 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1806 * Revert "[fix 1726] Use boto3 for SQS async requests" by auvipy in https://github.com/celery/kombu/pull/1799 * Create a lock on cached_property if not present by tari in https://github.com/celery/kombu/pull/1811 * added Python 3.12 in the CI by auvipy in https://github.com/celery/kombu/pull/1812 * using assert_called_once() in est__pop_ready_uses_lock by auvipy in https://github.com/celery/kombu/pull/1813 * fix: redis requeue concurrency bug 1800 by jiangxianfu in https://github.com/celery/kombu/pull/1805 * Update pytest version by auvipy in https://github.com/celery/kombu/pull/1817 * Bump kafka deps versions & fix integration test failures by auvipy in https://github.com/celery/kombu/pull/1818 New Contributors * flolas made their first contribution in https://github.com/celery/kombu/pull/1777 * dependabot made their first contribution in https://github.com/celery/kombu/pull/1792 * marnikow made their first contribution in https://github.com/celery/kombu/pull/1801 * romanukes made their first contribution in https://github.com/celery/kombu/pull/1796 * tari made their first contribution in https://github.com/celery/kombu/pull/1811 * jiangxianfu made their first contribution in https://github.com/celery/kombu/pull/1805 **Full Changelog**: https://github.com/celery/kombu/compare/v5.3.2...v5.3.3 ``` ### 5.3.2 ``` What's Changed * Reverted unwanted constraint introduced in 1629 with max_retries by Nusnus in https://github.com/celery/kombu/pull/1755 * Doc fix (hotfix for 1755) by Nusnus in https://github.com/celery/kombu/pull/1758 * Python3.12: fix imports in kombu/utils/objects.py by Steap in https://github.com/celery/kombu/pull/1756 * [fix 1726] Use boto3 for SQS async requests by rafidka in https://github.com/celery/kombu/pull/1759 * docs: Remove SimpleQueue import by Kirade in https://github.com/celery/kombu/pull/1764 * Fixed pre-commit issues by Nusnus in https://github.com/celery/kombu/pull/1773 * azure service bus: add managed identity support by jasonwbarnett in https://github.com/celery/kombu/pull/1641 * fix: Prevent redis task loss when closing connection while in poll by mbierma in https://github.com/celery/kombu/pull/1733 * Kombu & celery with SQS 222 by shoaib-mohd in https://github.com/celery/kombu/pull/1779 * syntax correction by shoaib-mohd in https://github.com/celery/kombu/pull/1780 New Contributors * Steap made their first contribution in https://github.com/celery/kombu/pull/1756 * rafidka made their first contribution in https://github.com/celery/kombu/pull/1759 * mbierma made their first contribution in https://github.com/celery/kombu/pull/1733 * shoaib-mohd made their first contribution in https://github.com/celery/kombu/pull/1779 **Full Changelog**: https://github.com/celery/kombu/compare/v5.3.1...v5.3.2 ``` ### 5.3.1 ``` What's Changed * Update pycurl version by auvipy in https://github.com/celery/kombu/pull/1745 * Update librabbitmq restrict py3.11 by auvipy in https://github.com/celery/kombu/pull/1746 * Update PyCurl version in SQS by auvipy in https://github.com/celery/kombu/pull/1747 * try python 3.11 on CI by auvipy in https://github.com/celery/kombu/pull/1425 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1753 * fix: allow deserializing any version of UUID by sk- in https://github.com/celery/kombu/pull/1754 New Contributors * sk- made their first contribution in https://github.com/celery/kombu/pull/1754 **Full Changelog**: https://github.com/celery/kombu/compare/v5.3.0...v5.3.1 ``` ### 5.3.0 ``` What's Changed * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1502 * Add fanout to filesystem by karajan1001 in https://github.com/celery/kombu/pull/1499 * Protect set of ready tasks by lock to avoid concurrent updates by olii in https://github.com/celery/kombu/pull/1489 * Documentation: Update serialization page to indicate pickle protocol version has been updated by otherJL0 in https://github.com/celery/kombu/pull/1507 * Use new entry_points interface by ObiWanKeoni in https://github.com/celery/kombu/pull/1509 * Add `mypy` to the pipeline by Kludex in https://github.com/celery/kombu/pull/1512 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1520 * chore: Annotate semaphore.py by sondrelg in https://github.com/celery/kombu/pull/1513 * Added possibility to serialize and deserialize binary messages in json by dobosevych in https://github.com/celery/kombu/pull/1516 * Annotate `utils/uuid.py` and `utils/text.py` by Kludex in https://github.com/celery/kombu/pull/1514 * Update `__exit__` function signatures by sondrelg in https://github.com/celery/kombu/pull/1524 * Annotate init files by Kludex in https://github.com/celery/kombu/pull/1527 * Use `--py37-plus` for pyupgrade and add `__future__.annotations` import by Kludex in https://github.com/celery/kombu/pull/1531 * json.py cleaning from outdated libs by dobosevych in https://github.com/celery/kombu/pull/1533 * try new py-amqp release by auvipy in https://github.com/celery/kombu/pull/1534 * add GitHub URL for PyPi by andriyor in https://github.com/celery/kombu/pull/1498 * Config file for pyup.io by pyup-bot in https://github.com/celery/kombu/pull/1453 * pytest~=7.1.1 by auvipy in https://github.com/celery/kombu/pull/1535 * Support pymongo 4.x by Jakski in https://github.com/celery/kombu/pull/1536 * Annotate `exceptions.py` and `clocks.py` by Kludex in https://github.com/celery/kombu/pull/1526 * Kafka support by CountRedClaw in https://github.com/celery/kombu/pull/1506 * v3 action-checkout by auvipy in https://github.com/celery/kombu/pull/1538 * Upgrade Azure Storage Queues transport to version 12 by jonasmiederer in https://github.com/celery/kombu/pull/1539 * move to consul2 by auvipy in https://github.com/celery/kombu/pull/1544 * azure-servicebus>=7.6.1 by auvipy in https://github.com/celery/kombu/pull/1543 * kazoo>=2.8.0 by auvipy in https://github.com/celery/kombu/pull/1545 * redis>=4.2.2 by auvipy in https://github.com/celery/kombu/pull/1546 * Added HLEN to the list of prefixed redis commands by vinayinvicible in https://github.com/celery/kombu/pull/1540 * update SQS dependencies by auvipy in https://github.com/celery/kombu/pull/1547 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1550 * Annotate `abstract.py` by Kludex in https://github.com/celery/kombu/pull/1522 * Datetime serialization and deserialization fixed by dobosevych in https://github.com/celery/kombu/pull/1515 * Annotate `matcher.py` by Kludex in https://github.com/celery/kombu/pull/1532 * stop schedule by auvipy in https://github.com/celery/kombu/pull/1558 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1554 * stop cron job by auvipy in https://github.com/celery/kombu/pull/1559 * fix typing flake8 by auvipy in https://github.com/celery/kombu/pull/1560 * Add ext.py files to setup.cfg by Kludex in https://github.com/celery/kombu/pull/1566 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1571 * Add support to SQS DelaySeconds by erikaloranger in https://github.com/celery/kombu/pull/1567 * Add Redis WATCH to prefixed complex commands by dcecile in https://github.com/celery/kombu/pull/1572 * Avoid losing type of UUID when serializing/deserializing by el-chogo in https://github.com/celery/kombu/pull/1575 * chore: add confluentkafka to extras 📌 by meysam81 in https://github.com/celery/kombu/pull/1573 * Fix typo in README.rst by Kirade in https://github.com/celery/kombu/pull/1581 * Fix azurestoragequeues transport by davidbossanyi in https://github.com/celery/kombu/pull/1586 * hub: tick delay fix by shahar-lev in https://github.com/celery/kombu/pull/1587 * Fix incompatibility with redis in disconnect() by shalabhc in https://github.com/celery/kombu/pull/1589 * Solve Kombu filesystem transport not thread safe by karajan1001 in https://github.com/celery/kombu/pull/1593 * Revert "Solve Kombu filesystem transport not thread safe" by karajan1001 in https://github.com/celery/kombu/pull/1595 * Make JSONEncoder keep the same type for date/datetime. by mvaled in https://github.com/celery/kombu/pull/1598 * Solve Kombu filesystem transport not thread safe by karajan1001 in https://github.com/celery/kombu/pull/1596 * importlib_metadata remove deprecated entry point interfaces by woutdenolf in https://github.com/celery/kombu/pull/1601 * Add separate transport option for retry loop timeout by intgr in https://github.com/celery/kombu/pull/1599 * Fix errors from flake8 lint by intgr in https://github.com/celery/kombu/pull/1608 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1578 * Allow azurestoragequeues transport to be used with Azurite emulator in docker-compose by davidbossanyi in https://github.com/celery/kombu/pull/1611 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1613 * Use SPDX license expression in project metadata by RazerM in https://github.com/celery/kombu/pull/1616 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1617 * Added .python-version and .vscode to gitignore by Nusnus in https://github.com/celery/kombu/pull/1627 * sqlalchemy==1.4.45 by auvipy in https://github.com/celery/kombu/pull/1626 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1619 * Allowing `Connection.ensure()` to retry on specific exceptions given by policy by Nusnus in https://github.com/celery/kombu/pull/1629 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1633 * redis==4.3.4 temporarilly in an attempt to avoid bc by auvipy in https://github.com/celery/kombu/pull/1634 * add managed identity support to azure storage queue by jasonwbarnett in https://github.com/celery/kombu/pull/1631 * add autoflake to .pre-commit-config.yaml to automatically remove unused imports by jasonwbarnett in https://github.com/celery/kombu/pull/1637 * Switch references to the master branch to main by thedrow in https://github.com/celery/kombu/pull/1638 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1635 * add --keep-runtime-typing argument to pyupgrade by jasonwbarnett in https://github.com/celery/kombu/pull/1639 * add type annotations to kombu/transport/azurestoragequeues by jasonwbarnett in https://github.com/celery/kombu/pull/1632 * azure service bus: add type annotations and use cached property by jasonwbarnett in https://github.com/celery/kombu/pull/1640 * update by auvipy in https://github.com/celery/kombu/pull/1652 * support sqla v2.0 by craigmulligan in https://github.com/celery/kombu/pull/1651 * sqlalchemy>=1.4.1,<2.1 by auvipy in https://github.com/celery/kombu/pull/1642 * Mark methods accepting Connection instances as such by agateau-gg in https://github.com/celery/kombu/pull/1645 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1648 * lets check it's compat by auvipy in https://github.com/celery/kombu/pull/1655 * Remove unused `_setupfuns` from serialization.py by last-partizan in https://github.com/celery/kombu/pull/1658 * refactor: Refactor utils/json by last-partizan in https://github.com/celery/kombu/pull/1659 * docs: Add notes for kombu.utils.json.register_type by last-partizan in https://github.com/celery/kombu/pull/1660 * Correctly mock entry_points on Python 3.10 by jaraco in https://github.com/celery/kombu/pull/1664 * updated python versiions in CI by auvipy in https://github.com/celery/kombu/pull/1663 * Update codeql part to v2 by auvipy in https://github.com/celery/kombu/pull/1665 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1667 * Update sqlalchemy.txt by auvipy in https://github.com/celery/kombu/pull/1669 * azure-storage-queue>=12.6.0 by auvipy in https://github.com/celery/kombu/pull/1671 * azure-servicebus>=7.8.3 by auvipy in https://github.com/celery/kombu/pull/1672 * Update azureservicebus.txt cpython only by auvipy in https://github.com/celery/kombu/pull/1674 * use pytest-freezer by auvipy in https://github.com/celery/kombu/pull/1683 * test azureservicebus pure python beta by auvipy in https://github.com/celery/kombu/pull/1682 * Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1684 * Update brotli.txt by auvipy in https://github.com/celery/kombu/pull/1685 * Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1686 * Deprecate pytz and use zoneinfo by max-muoto in https://github.com/celery/kombu/pull/1680 * fix: handle keyerror in azureservicebus transport when message is not found in qos and perform basic_ack by IsmaelJS in https://github.com/celery/kombu/pull/1691 * Update azureservicebus.txt by auvipy in https://github.com/celery/kombu/pull/1693 * Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1692 * Add Semgrep CI by Nusnus in https://github.com/celery/kombu/pull/1695 * drop codecov pypi version by auvipy in https://github.com/celery/kombu/pull/1696 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1697 * fix mongodb transport obsolete calls by fmigneault in https://github.com/celery/kombu/pull/1694 * SQS: avoid excessive GetQueueURL calls by using cached queue url by sparrowt in https://github.com/celery/kombu/pull/1621 * Update test.txt by auvipy in https://github.com/celery/kombu/pull/1698 * Update redis.txt to 4.3.6 to fix severe issue by auvipy in https://github.com/celery/kombu/pull/1676 * Update sqlalchemy>=1.4.48 by auvipy in https://github.com/celery/kombu/pull/1703 * Update to Latest Service Bus Library by kashifkhan in https://github.com/celery/kombu/pull/1706 * Update ci.yaml by auvipy in https://github.com/celery/kombu/pull/1704 * Update tox.ini to pin kafka image by auvipy in https://github.com/celery/kombu/pull/1717 * chore(ci): improve CI by stegayet in https://github.com/celery/kombu/pull/1707 * chore(build): clean `setup.py` by stegayet in https://github.com/celery/kombu/pull/1711 * chore(ci): fix lint job by stegayet in https://github.com/celery/kombu/pull/1718 * Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1722 * chore(python): remove Python 3.7 support by stegayet in https://github.com/celery/kombu/pull/1708 * chore(requirements): improve requirements management by stegayet in https://github.com/celery/kombu/pull/1710 * Update confluentkafka.txt version by auvipy in https://github.com/celery/kombu/pull/1727 * moved shebang to python3 by MehrazRumman in https://github.com/celery/kombu/pull/1728 * Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1729 * add missing zoneinfo dependency by woutdenolf in https://github.com/celery/kombu/pull/1732 * Support redis >= 4.5.2 by danigm in https://github.com/celery/kombu/pull/1735 * Update test-ci.txt by auvipy in https://github.com/celery/kombu/pull/1736 * Update docs.txt by auvipy in https://github.com/celery/kombu/pull/1738 * Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1739 * zoneinfo: the actual timezone data is an optional dependency by woutdenolf in https://github.com/celery/kombu/pull/1740 * Update lzma.txt by auvipy in https://github.com/celery/kombu/pull/1741 New Contributors * karajan1001 made their first contribution in https://github.com/celery/kombu/pull/1499 * olii made their first contribution in https://github.com/celery/kombu/pull/1489 * otherJL0 made their first contribution in https://github.com/celery/kombu/pull/1507 * ObiWanKeoni made their first contribution in https://github.com/celery/kombu/pull/1509 * Kludex made their first contribution in https://github.com/celery/kombu/pull/1512 * sondrelg made their first contribution in https://github.com/celery/kombu/pull/1513 * dobosevych made their first contribution in https://github.com/celery/kombu/pull/1516 * andriyor made their first contribution in https://github.com/celery/kombu/pull/1498 * pyup-bot made their first contribution in https://github.com/celery/kombu/pull/1453 * Jakski made their first contribution in https://github.com/celery/kombu/pull/1536 * CountRedClaw made their first contribution in https://github.com/celery/kombu/pull/1506 * jonasmiederer made their first contribution in https://github.com/celery/kombu/pull/1539 * erikaloranger made their first contribution in https://github.com/celery/kombu/pull/1567 * dcecile made their first contribution in https://github.com/celery/kombu/pull/1572 * el-chogo made their first contribution in https://github.com/celery/kombu/pull/1575 * meysam81 made their first contribution in https://github.com/celery/kombu/pull/1573 * Kirade made their first contribution in https://github.com/celery/kombu/pull/1581 * davidbossanyi made their first contribution in https://github.com/celery/kombu/pull/1586 * shahar-lev made their first contribution in https://github.com/celery/kombu/pull/1587 * shalabhc made their first contribution in https://github.com/celery/kombu/pull/1589 * mvaled made their first contribution in https://github.com/celery/kombu/pull/1598 * woutdenolf made their first contribution in https://github.com/celery/kombu/pull/1601 * intgr made their first contribution in https://github.com/celery/kombu/pull/1599 * RazerM made their first contribution in https://github.com/celery/kombu/pull/1616 * Nusnus made their first contribution in https://github.com/celery/kombu/pull/1627 * jasonwbarnett made their first contribution in https://github.com/celery/kombu/pull/1631 * craigmulligan made their first contribution in https://github.com/celery/kombu/pull/1651 * agateau-gg made their first contribution in https://github.com/celery/kombu/pull/1645 * last-partizan made their first contribution in https://github.com/celery/kombu/pull/1658 * jaraco made their first contribution in https://github.com/celery/kombu/pull/1664 * max-muoto made their first contribution in https://github.com/celery/kombu/pull/1680 * IsmaelJS made their first contribution in https://github.com/celery/kombu/pull/1691 * fmigneault made their first contribution in https://github.com/celery/kombu/pull/1694 * sparrowt made their first contribution in https://github.com/celery/kombu/pull/1621 * kashifkhan made their first contribution in https://github.com/celery/kombu/pull/1706 * stegayet made their first contribution in https://github.com/celery/kombu/pull/1707 * MehrazRumman made their first contribution in https://github.com/celery/kombu/pull/1728 * danigm made their first contribution in https://github.com/celery/kombu/pull/1735 **Full Changelog**: https://github.com/celery/kombu/compare/v5.2.4...v5.3.0 ``` ### 5.3.0rc2 ``` What's Changed * add missing zoneinfo dependency by woutdenolf in https://github.com/celery/kombu/pull/1732 * Support redis >= 4.5.2 by danigm in https://github.com/celery/kombu/pull/1735 * Update test-ci.txt by auvipy in https://github.com/celery/kombu/pull/1736 * Update docs.txt by auvipy in https://github.com/celery/kombu/pull/1738 * Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1739 New Contributors * danigm made their first contribution in https://github.com/celery/kombu/pull/1735 **Full Changelog**: https://github.com/celery/kombu/compare/v5.3.0rc1...v5.3.0rc2 ``` ### 5.3.0rc1 ``` What's Changed * use pytest-freezer by auvipy in https://github.com/celery/kombu/pull/1683 * test azureservicebus pure python beta by auvipy in https://github.com/celery/kombu/pull/1682 * Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1684 * Update brotli.txt by auvipy in https://github.com/celery/kombu/pull/1685 * Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1686 * Deprecate pytz and use zoneinfo by max-muoto in https://github.com/celery/kombu/pull/1680 * fix: handle keyerror in azureservicebus transport when message is not found in qos and perform basic_ack by IsmaelJS in https://github.com/celery/kombu/pull/1691 * Update azureservicebus.txt by auvipy in https://github.com/celery/kombu/pull/1693 * Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1692 * Add Semgrep CI by Nusnus in https://github.com/celery/kombu/pull/1695 * drop codecov pypi version by auvipy in https://github.com/celery/kombu/pull/1696 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1697 * fix mongodb transport obsolete calls by fmigneault in https://github.com/celery/kombu/pull/1694 * SQS: avoid excessive GetQueueURL calls by using cached queue url by sparrowt in https://github.com/celery/kombu/pull/1621 * Update test.txt by auvipy in https://github.com/celery/kombu/pull/1698 * Update redis.txt to 4.3.6 to fix severe issue by auvipy in https://github.com/celery/kombu/pull/1676 * Update sqlalchemy>=1.4.48 by auvipy in https://github.com/celery/kombu/pull/1703 * Update to Latest Service Bus Library by kashifkhan in https://github.com/celery/kombu/pull/1706 * Update ci.yaml by auvipy in https://github.com/celery/kombu/pull/1704 * Update tox.ini to pin kafka image by auvipy in https://github.com/celery/kombu/pull/1717 * chore(ci): improve CI by stegayet in https://github.com/celery/kombu/pull/1707 * chore(build): clean `setup.py` by stegayet in https://github.com/celery/kombu/pull/1711 * chore(ci): fix lint job by stegayet in https://github.com/celery/kombu/pull/1718 * Update pkgutils.txt by auvipy in https://github.com/celery/kombu/pull/1722 * chore(python): remove Python 3.7 support by stegayet in https://github.com/celery/kombu/pull/1708 * chore(requirements): improve requirements management by stegayet in https://github.com/celery/kombu/pull/1710 * Update confluentkafka.txt version by auvipy in https://github.com/celery/kombu/pull/1727 * moved shebang to python3 by MehrazRumman in https://github.com/celery/kombu/pull/1728 * Update sqs.txt by auvipy in https://github.com/celery/kombu/pull/1729 New Contributors * max-muoto made their first contribution in https://github.com/celery/kombu/pull/1680 * IsmaelJS made their first contribution in https://github.com/celery/kombu/pull/1691 * fmigneault made their first contribution in https://github.com/celery/kombu/pull/1694 * sparrowt made their first contribution in https://github.com/celery/kombu/pull/1621 * kashifkhan made their first contribution in https://github.com/celery/kombu/pull/1706 * stegayet made their first contribution in https://github.com/celery/kombu/pull/1707 * MehrazRumman made their first contribution in https://github.com/celery/kombu/pull/1728 **Full Changelog**: https://github.com/celery/kombu/compare/v5.3.0b3...v5.3.0rc1 ``` ### 5.3.0b3 ``` What's Changed * Use SPDX license expression in project metadata by RazerM in https://github.com/celery/kombu/pull/1616 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1617 * Added .python-version and .vscode to gitignore by Nusnus in https://github.com/celery/kombu/pull/1627 * sqlalchemy==1.4.45 by auvipy in https://github.com/celery/kombu/pull/1626 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1619 * Allowing `Connection.ensure()` to retry on specific exceptions given by policy by Nusnus in https://github.com/celery/kombu/pull/1629 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1633 * redis==4.3.4 temporarilly in an attempt to avoid bc by auvipy in https://github.com/celery/kombu/pull/1634 * add managed identity support to azure storage queue by jasonwbarnett in https://github.com/celery/kombu/pull/1631 * add autoflake to .pre-commit-config.yaml to automatically remove unused imports by jasonwbarnett in https://github.com/celery/kombu/pull/1637 * Switch references to the master branch to main by thedrow in https://github.com/celery/kombu/pull/1638 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1635 * add --keep-runtime-typing argument to pyupgrade by jasonwbarnett in https://github.com/celery/kombu/pull/1639 * add type annotations to kombu/transport/azurestoragequeues by jasonwbarnett in https://github.com/celery/kombu/pull/1632 * azure service bus: add type annotations and use cached property by jasonwbarnett in https://github.com/celery/kombu/pull/1640 * update by auvipy in https://github.com/celery/kombu/pull/1652 * support sqla v2.0 by craigmulligan in https://github.com/celery/kombu/pull/1651 * sqlalchemy>=1.4.1,<2.1 by auvipy in https://github.com/celery/kombu/pull/1642 * Mark methods accepting Connection instances as such by agateau-gg in https://github.com/celery/kombu/pull/1645 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1648 * lets check it's compat by auvipy in https://github.com/celery/kombu/pull/1655 * Remove unused `_setupfuns` from serialization.py by last-partizan in https://github.com/celery/kombu/pull/1658 * refactor: Refactor utils/json by last-partizan in https://github.com/celery/kombu/pull/1659 * docs: Add notes for kombu.utils.json.register_type by last-partizan in https://github.com/celery/kombu/pull/1660 * Correctly mock entry_points on Python 3.10 by jaraco in https://github.com/celery/kombu/pull/1664 * updated python versiions in CI by auvipy in https://github.com/celery/kombu/pull/1663 * Update codeql part to v2 by auvipy in https://github.com/celery/kombu/pull/1665 * [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/celery/kombu/pull/1667 * Update sqlalchemy.txt by auvipy in https://github.com/celery/kombu/pull/1669 * azure-storage-queue>=12.6.0 by auvipy