maas.io
maas.io copied to clipboard
chore(deps): update all dependencies (major)
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
---|---|---|---|---|---|---|---|
@testing-library/cypress | 9.0.0 -> 10.0.2 |
devDependencies | major | ||||
actions/checkout | v2 -> v4 |
action | major | ||||
cypress (source) | 12.17.4 -> 13.15.0 |
devDependencies | major | ||||
lxml (source, changelog) | ==4.9.4 -> ==5.3.0 |
major | |||||
node | 14 -> 22 |
stage | major | ||||
postcss-cli | 9.1.0 -> 11.0.0 |
dependencies | major | ||||
requests-cache (changelog) | ==0.9.8 -> ==1.2.1 |
major | |||||
stylelint (source) | 14.16.1 -> 16.10.0 |
devDependencies | major | ||||
stylelint-config-recommended-scss | 5.0.2 -> 14.1.0 |
devDependencies | major | ||||
stylelint-order | 5.0.0 -> 6.0.4 |
devDependencies | major | ||||
ubuntu | 20.04 -> 24.04 |
github-runner | major | ||||
ubuntu | 22.04 -> 24.04 |
github-runner | major | ||||
ubuntu | focal -> noble |
final | major | ||||
ubuntu | focal -> noble |
stage | major |
Release Notes
testing-library/cypress-testing-library (@testing-library/cypress)
v10.0.2
Bug Fixes
v10.0.1
Bug Fixes
v10.0.0
Bug Fixes
- release: trigger major release (478d7cd)
- update testing-libary-dom to 9 (#262) (63bcce1)
- deps: update Cypress peer dependency to 13 (#259) (876b29e)
BREAKING CHANGES
-
release: Upgrade to
@testing-library/dom
v9: https://github.com/testing-library/dom-testing-library/releases/tag/v9.0.0
actions/checkout (actions/checkout)
v4
- Bump the minor-npm-dependencies group across 1 directory with 4 updates by @dependabot in https://github.com/actions/checkout/pull/1739
- Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/actions/checkout/pull/1697
- Check out other refs/* by commit by @orhantoy in https://github.com/actions/checkout/pull/1774
- Pin actions/checkout's own workflows to a known, good, stable version. by @jww3 in https://github.com/actions/checkout/pull/1776
v3
cypress-io/cypress (cypress)
v13.15.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-15-0
v13.14.2
Changelog: https://docs.cypress.io/guides/references/changelog#13-14-2
v13.14.1
v13.14.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-14-0
v13.13.3
Changelog: https://docs.cypress.io/guides/references/changelog#13-13-3
v13.13.2
Changelog: https://docs.cypress.io/guides/references/changelog#13-13-2
v13.13.1
Changelog: https://docs.cypress.io/guides/references/changelog#13-13-1
v13.13.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-13-0
v13.12.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-12-0
v13.11.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-11-0
v13.10.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-10-0
v13.9.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-9-0
v13.8.1
Changelog: https://docs.cypress.io/guides/references/changelog#13-8-1
v13.8.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-8-0
v13.7.3
Changelog: https://docs.cypress.io/guides/references/changelog#13-7-3
v13.7.2
Changelog: https://docs.cypress.io/guides/references/changelog#13-7-2
v13.7.1
Changelog: https://docs.cypress.io/guides/references/changelog#13-7-1
v13.7.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-7-0
v13.6.6
Changelog: https://docs.cypress.io/guides/references/changelog#13-6-6
v13.6.5
Changelog: https://docs.cypress.io/guides/references/changelog#13-6-5
v13.6.4
Changelog: https://docs.cypress.io/guides/references/changelog#13-6-4
v13.6.3
Changelog: https://docs.cypress.io/guides/references/changelog#13-6-3
v13.6.2
Changelog: https://docs.cypress.io/guides/references/changelog#13-6-2
v13.6.1
Changelog: https://docs.cypress.io/guides/references/changelog#13-6-1
v13.6.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-6-0
v13.5.1
Changelog: https://docs.cypress.io/guides/references/changelog#13-5-1
v13.5.0
: v.13.5.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-5-0
v13.4.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-4-0
v13.3.3
Changelog: https://docs.cypress.io/guides/references/changelog#13-3-3
v13.3.2
Changelog: https://docs.cypress.io/guides/references/changelog#13-3-2
v13.3.1
Changelog: https://docs.cypress.io/guides/references/changelog#13-3-1
v13.3.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-3-0
v13.2.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-2-0
v13.1.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-1-0
v13.0.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-0-0
lxml/lxml (lxml)
v5.3.0
==================
Features added
-
GH#421: Nested
CDATA
sections are no longer rejected but split on output to represent]]>
correctly. Patch by Gertjan Klein.
Bugs fixed
-
LP#2060160: Attribute values serialised differently in
xmlfile.element()
andxmlfile.write()
. -
LP#2058177: The ISO-Schematron implementation could fail on unknown prefixes. Patch by David Lakin.
Other changes
-
LP#2067707: The
strip_cdata
option inHTMLParser()
turned out to be useless and is now deprecated. -
Binary wheels use the library versions libxml2 2.12.9 and libxslt 1.1.42.
-
Windows binary wheels use the library versions libxml2 2.11.8 and libxslt 1.1.39.
-
Built with Cython 3.0.11.
v5.2.2
==================
Bugs fixed
-
GH#417: The
test_feed_parser
test could fail iflxml_html_clean
was not installed. It is now skipped in that case. -
LP#2059910: The minimum CPU architecture for the Linux x86 binary wheels was set back to "core2", without SSE 4.2.
-
If libxml2 uses iconv, the compile time version is available as
etree.ICONV_COMPILED_VERSION
.
v5.2.1
==================
Bugs fixed
-
LP#2059910: The minimum CPU architecture for the Linux x86 binary wheels was set back to "core2", but with SSE 4.2 enabled.
-
LP#2059977:
Element.iterfind("//absolute_path")
failed with aSyntaxError
where it should have issued a warning. -
GH#416: The documentation build was using the non-standard
which
command. Patch by Michał Górny.
v5.2.0
==================
Other changes
-
LP#1958539: The
lxml.html.clean
implementation suffered from several (only if used) security issues in the past and was now extracted into a separate library:https://github.com/fedora-python/lxml_html_clean
Projects that use lxml without "lxml.html.clean" will not notice any difference, except that they won't have potentially vulnerable code installed. The module is available as an "extra" setuptools dependency "lxml[html_clean]", so that Projects that need "lxml.html.clean" will need to switch their requirements from "lxml" to "lxml[html_clean]", or install the new library themselves.
-
The minimum CPU architecture for the Linux x86 binary wheels was upgraded to "sandybridge" (launched 2011), and glibc 2.28 / gcc 12 (manylinux_2_28) wheels were added.
-
Built with Cython 3.0.10.
v5.1.1
==================
Bugs fixed
-
LP#2048920:
iterlinks()
inlxml.html
rejectedbytes
input in 5.1.0. -
High source line numbers from the parser are no longer truncated (up to a C
long
) when using libxml2 2.11 or later.
Other changes
-
GH#407: A compatibility test was adapted to recent expat versions. Patch by Miro Hrončok.
-
Binary wheels use the library versions libxml2 2.12.6 and libxslt 1.1.39.
-
Windows binary wheels use the library versions libxml2 2.11.7 and libxslt 1.1.39.
-
Built with Cython 3.0.9.
v5.1.0
==================
Features added
- Parsing ASCII strings is slightly faster.
Bugs fixed
-
GH#349: The HTML
Cleaner()
interpreted an accidentally provided string parameter for thehost_whitelist
as list of characters and silently failed to reject any hosts. Passing a non-collection is now rejected.
Other changes
-
Support for Python 2.7 and Python versions < 3.6 was removed.
-
The wheel build was migrated to use
cibuildwheel
. Patch by Primož Godec.
v5.0.2
==================
Other changes
-
GH#407: A compatibility test was adapted to recent expat versions. Patch by Miro Hrončok.
-
Binary wheels use the library versions libxml2 2.12.6 and libxslt 1.1.39.
-
Built with Cython 3.0.9.
v5.0.1
==================
Bugs fixed
-
LP#2046208: Parsing non-BMP Python Unicode strings could fail on macOS.
-
LP#2044225: When incrementally parsing broken HTML, reporting start events on missing structural tags failed and could lead to subsequent exceptions.
-
LP#2045435: Some (not all) issues with stricter C compilers were resolved.
-
The binary wheels in the 5.0.0 release did not validate cleanly (but installed ok).
.. _latest_release:
v5.0.0
==================
Features added
-
Character escaping in
C14N2
serialisation now uses a single pass over the text instead of searching for each unescaped character separately. -
Early support for Python 3.13a2 was added.
Bugs fixed
-
LP#1976304: The
Element.addnext()
method previously inserted the new element before existing tail text. The tail text of both sibling elements now stays on the respective elements. -
LP#1980767, GH#379:
TreeBuilder.close()
could fail with aTypeError
after parsing incorrect input. Original patch by Enrico Minack. -
Element.itertext(with_tail=False)
returned the tail text of comments and processing instructions, despite the explicit option. -
GH#370: A crash with recent libxml2 2.11.x versions was resolved. Patch by Michael Schlenker.
-
A compile problem with recent libxml2 2.12.x versions was resolved.
-
The internal exception handling in C callbacks was improved for Cython 3.0.
-
The exception declarations of
xmlInputReadCallback
,xmlInputCloseCallback
,xmlOutputWriteCallback
andxmlOutputCloseCallback
intree.pxd
were corrected to prevent running Python code or calling into the C-API with a live exception set. -
GH#385: The long deprecated
unittest.m̀akeSuite()
function is no longer used. Patch by Miro Hrončok. -
LP#1522052: A file-system specific test is now optional and should no longer fail on systems that don't support it.
-
GH#392: Some tests were adapted for libxml2 2.13. Patch by Nick Wellnhofer.
-
Contains all fixes from lxml 4.9.4.
Other changes
-
LP#1742885: lxml no longer expands external entities (XXE) by default to prevent the security risk of loading arbitrary files and URLs. If this feature is needed, it can be enabled in a backwards compatible way by using a parser with the option
resolve_entities=True
. The new default isresolve_entities='internal'
. -
With libxml2 2.10.4 and later (as provided by the lxml 5.0 binary wheels), parsing HTML tags with "prefixes" no longer builds a namespace dictionary in
nsmap
but considers theprefix:name
string the actual tag name. With older libxml2 versions, since 2.9.11, the prefix was removed. Before that, the prefix was parsed as XML prefix.lxml 5.0 does not try to hide this difference but now changes the ElementPath implementation to let
element.find("part1:part2")
search for the tagpart1:part2
in documents parsed as HTML, instead of looking only forpart2
. -
LP#2024343: The validation of the schema file itself is now optional in the ISO-Schematron implementation. This was done because some lxml distributions discard the RNG validation schema file due to licensing issues. The validation can now always be disabled with
Schematron(..., validate_schema=False)
. It is enabled by default if available and disabled otherwise. The module constantlxml.isoschematron.schematron_schema_valid_supported
can be used to detect whether schema file validation is available. -
Some redundant and long deprecated methods were removed:
parser.setElementClassLookup()
,xslt_transform.apply()
,xpath.evaluate()
. -
Some incorrect declarations were removed from
python.pxd
. In general, this file should not be used by external Cython code. Use the C-API declarations provided by Cython itself instead. -
Binary wheels use the library versions libxml2 2.12.3 and libxslt 1.1.39.
-
Built with Cython 3.0.7, updated to follow recent changes in Cython 3.1-dev.
nodejs/node (node)
v22
Moved to doc/changelogs/CHANGELOG_V4.md#4.4.1.
v21
Moved to doc/changelogs/CHANGELOG_V4.md#4.2.6.
v20
Moved to doc/changelogs/CHANGELOG_V012.md#0.12.14.
v19
Moved to doc/changelogs/CHANGELOG_IOJS.md#1.6.0.
v18
Moved to doc/changelogs/CHANGELOG_IOJS.md#3.1.0.
v17
Moved to doc/changelogs/CHANGELOG_V5.md#5.1.0.
v16
Moved to doc/changelogs/CHANGELOG_V012.md#0.12.14.
v15
Moved to doc/changelogs/CHANGELOG_V4.md#4.2.4.
postcss/postcss-cli (postcss-cli)
v11.0.0
- BREAKING: Require Node.js v18+ (#464)
- Upgrade to
postcss-load-config@5
for improved ESM & TS config support (#461, #462)
v10.1.0
- Allow running
--watch
mode in non-TTY contexts, like Docker (#448) - Update dependencies
v10.0.0
requests-cache/requests-cache (requests-cache)
v1.2.1
🪲 Bugfixes:
- Fix
normalize_headers
not accepting header values in bytes - Fix inconsistency due to rounding in
CachedResponse.expires_unix
property - Fix form boundary used for cached multipart requests to fully comply with RFC 2046
- Fix loading cached JSON content with
decode_content=True
when the root element is an empty list or object - Fix usage example with
responses
library to be compatible withrequests
2.32
v1.2.0
⚠️ Deprecations & removals:
- Drop support for python 3.7
- Remove methods deprecated in 1.0 from
CachedSession
andBaseCache
🕗 Expiration & headers:
- Add support for
X-HTTP-Method-Override
and other headers that can override request method
⚙️ Session methods:
- Add
CachedSession.wrap()
classmethod to add caching to an existingrequests.Session
object
💾 SQLite Backend:
- Add
vacuum
parameter toSQLiteCache.delete()
to optionally skip vacuuming after deletion (enabled by default to free up disk space) - Optimize
SQLiteCache.delete()
when deleting a single key
🧩 Compatibility:
- Add support for RFC 7159 JSON body with
decode_content=True
(root element with any type) - Use timezone-aware UTC datetimes for all internal expiration values
- Add support for python 3.12
- Note: There is a known bug with multiprocess/multithreaded usage of the SQLite backend on python 3.12.
- Add support for cattrs 23.2
🪲 Bugfixes:
- Fix
IncompleteRead
error that could sometimes occur with streaming requests due to mismatch withContent-Length
header - Handle a corner case with streaming requests, conditional requests, and redirects
- When redacting ignored parameters from a cached response, keep the rest of the original URL and headers without normalizing
- Add
CachedHTTPResponse._request_url
property for compatibility with urllib3 - Fix form boundary used for cached multipart requests to comply with RFC 2046
- If an explicit CA bundle path is passed via
verify
param, cache the response under the same key asverify=True
- Handle JSON Content-Type charsets and MIME type variations (such as
application/vnd.api+json
) during request normalization and serialization
1.1.1 (2023-11-18)
- Backport fix from 1.2: Add compatibility with cattrs 23.2
v1.1.1
- Backport fix from 1.2: Add compatibility with cattrs 23.2
v1.1.0
⚙️ Session settings:
- Add support for regular expressions with
urls_expire_after
💾 SQLite Backend:
- Add
busy_timeout
argument (see SQLite docs for details) - In WAL journaling mode (
wal=True
), default to 'normal' synchronous mode instead of 'full' - Fix potential
OperationalError: database is locked
in multithreaded SQLite usage during bulk delete operations - Fix deadlock in multithreaded SQLite usage if a thread encounters an error during COMMIT
🪲 Bugfixes:
- Fix loading cached JSON content with
decode_content=True
when the root element is a list - Fix
BaseCache.recreate_keys()
to normalize response bodies withb'None'
- Fix
BaseCache.contains()
for multipart POST requests - Fix
CachedResponse.history
not being fully deserialized on python<=3.8 - Fix request matching with
Vary
and redirects - Skip normalizing
CachedResponse.url
so it always matches the original request URL - Avoid unnecessary cache writes for revalidation requests if headers and expiration are unchanged
- Add compatibility with urllib3 2.0
1.0.1 (2023-03-24)
- Ignore
Cache-Control: must-revalidate
andno-cache
response headers withcache_control=False
v1.0.1
- Ignore
Cache-Control: must-revalidate
andno-cache
response headers withcache_control=False
v1.0.0
See all unreleased issues and PRs
🕗 Expiration & headers:
- Add support for
Cache-Control: min-fresh
- Add support for
Cache-Control: max-stale
- Add support for
Cache-Control: only-if-cached
- Add support for
Cache-Control: stale-if-error
- Add support for
Cache-Control: stale-while-error
- Add support for
Vary
- Revalidate for
Cache-Control: no-cache
request or response header - Revalidate for
Cache-Control: max-age=0, must-revalidate
response headers - Add an attribute
CachedResponse.revalidated
to indicate if a cached response was revalidated for the current request
⚙️ Session settings:
- All settings that affect cache behavior can now be accessed and modified via
CachedSession.settings
- Add
always_revalidate
session setting to always revalidate before using a cached response (if a validator is available). - Add
only_if_cached
session setting to return only cached results without sending real requests - Add
stale_while_revalidate
session setting to return a stale response initially, while a non-blocking request is sent to refresh the response - Make behavior for
stale_if_error
partially consistent withCache-Control: stale-if-error
: Add support for time values (int, timedelta, etc.) in addition toTrue/False
⚙️ Request settings:
- Add
only_if_cached
option toCachedSession.request()
andsend()
to return only cached results without sending real requests - Add
refresh
option toCachedSession.request()
andsend()
to revalidate with the server before using a cached response - Add
force_refresh
option toCachedSession.request()
andsend()
to awlays make and cache a new request regardless of existing cache contents - Make behavior for
expire_after=0
consistent withCache-Control: max-age=0
: if the response has a validator, save it to the cache but revalidate on use.- The constant
requests_cache.DO_NOT_CACHE
may be used to completely disable caching for a request
- The constant
💾 Backends:
-
DynamoDB:
- For better read performance and usage of read throughput:
- The cache key is now used as the partition key
- Redirects are now cached only in-memory and not persisted
- Cache size (
len()
) now uses a fast table estimate instead of a full scan
- Store responses in plain (human-readable) document format instead of fully serialized binary
- Create default table in on-demand mode instead of provisioned
- Add optional integration with DynamoDB TTL to improve performance for removing expired responses
- This is enabled by default, but may be disabled
- Decode JSON and text response bodies so the saved response can be fully human-readable/editable.
May be disabled with
decode_content=False
.
- For better read performance and usage of read throughput:
-
Filesystem:
- The default file format has been changed from pickle to JSON
- Decode JSON and text response bodies so the saved response can be fully human-readable/editable.
May be disabled with
decode_content=False
.
-
MongoDB:
- Store responses in plain (human-readable) document format instead of fully serialized binary
- Add optional integration with MongoDB TTL to improve performance for removing expired responses
- Disabled by default. See 'Backends: MongoDB' docs for details.
- Decode JSON and text response bodies so the saved response can be fully human-readable/editable.
May be disabled with
decode_content=False
.
-
Redis:
- Add
ttl_offset
argument to add a delay between cache expiration and deletion
- Add
-
SQLite:
- Improve performance for removing expired responses with
delete()
- Improve performance (slightly) with a large number of threads and high request rate
- Add
count()
method to count responses, with option to exclude expired responses (performs a fast indexed count instead of slower in-memory filtering) - Add
size()
method to get estimated size of the database (including in-memory databases) - Add
sorted()
method with sorting and other query options - Add
wal
parameter to enable write-ahead logging
- Improve performance for removing expired responses with
-
SQLite, Redis, MongoDB, and GridFS:
- Close open database connections when
CachedSession
is used as a contextmanager, or ifCachedSession.close()
is called
- Close open database connections when
↔️ Request matching:
- Add serializer name to cache keys to avoid errors due to switching serializers
- Always skip both cache read and write for requests excluded by
allowable_methods
(previously only skipped write) - Ignore and redact common authentication headers and request parameters by default. This provides
some default recommended values for
ignored_parameters
, to avoid accidentally storing common credentials in the cache. This will have no effect ifignored_parameters
is already set. - Support distinct matching for requests that differ only by a parameter in
ignored_parameters
(e.g., for a request sent both with and without authentication) - Support distinct matching for requests that differ only by duplicate request params (e.g,
a=1
vs?a=1&a=2
)
ℹ️ Convenience methods:
- Add
expired
andinvalid
arguments toBaseCache.delete()
(to replaceremove_expired_responses()
) - Add
urls
andrequests
arguments toBaseCache.delete()
(to replacedelete_url()
) - Add
older_than
argument toBaseCache.delete()
to delete responses older than a given value - Add
requests
argument toBaseCache.delete()
to delete responses matching the given requests - Add
BaseCache.contains()
method to check for cached requests either by key or byrequests.Request
object - Add
url
argument toBaseCache.contains()
method (to replacehas_url()
) - Add
BaseCache.filter()
method to get responses from the cache with various filters - Add
BaseCache.reset_expiration()
method to reset expiration for existing responses - Add
BaseCache.recreate_keys()
method to recreate cache keys for all previously cached responses (e.g., to preserve cache data after an update that changes request matching behavior) - Update
BaseCache.urls
into a method that takes optional filter params, and returns sorted unique URLs
ℹ️ Response attributes and type hints:
- Add
OriginalResponse
type, which adds type hints torequests.Response
objects for extra attributes added by requests-cache:-
cache_key
-
created_at
-
expires
-
from_cache
-
is_expired
-
revalidated
-
-
OriginalResponse.cache_key
andexpires
will be populated for any new response that was written to the cache - Add request wrapper methods with return type hints for all HTTP methods (
CachedSession.get()
,head()
, etc.) - Set
CachedResponse.cache_key
attribute for responses read from lower-level storage methods (items()
,values()
, etc.)
🧩 Compatibility fixes:
-
PyInstaller: Fix potential
AttributeError
due to undetected imports when requests-cache is bundled in a PyInstaller package - requests-oauthlib: Add support for header values as bytes for compatibility with OAuth1 features
-
redis-py: Fix forwarding connection parameters passed to
RedisCache
for redis-py 4.2 and python <=3.8 -
pymongo: Fix forwarding connection parameters passed to
MongoCache
for pymongo 4.1 and python <=3.8 - cattrs: Add compatibility with cattrs 22.2
-
python:
- Add tests and support for python 3.11
- Add tests and support for pypy 3.9
🪲 Bugfixes:
- Fix usage of memory backend with
install_cache()
- Fix an uncommon
OperationalError: database is locked
in SQLite backend - Fix issue on Windows with occasional missing
CachedResponse.created_at
timestamp - Add
CachedRequest.path_url
property for compatibility withRequestEncodingMixin
- Fix potential
AttributeError
due to undetected imports when requests-cache is bundled in a PyInstaller package - Fix
AttributeError
when attempting to unpickle aCachedSession
object, and instead disable pickling by raising aNotImplementedError
- Raise an error for invalid expiration string values (except for headers containing httpdates)
- Previously, this would be quietly ignored, and the response would be cached indefinitely
- Fix behavior for
stale_if_error
if an error response code is added toallowable_codes
📦 Dependencies:
- Replace
appdirs
withplatformdirs
⚠️ Deprecations:
The following methods are deprecated, and will be removed in 1.2. The recommended replacements are listed below. If this causes problems for you, please open an issue to discuss.
-
CachedSession.remove_expired_responses()
:BaseCache.delete(expired=True)
-
BaseCache.remove_expired_responses()
:BaseCache.delete(expired=True)
-
BaseCache.delete_url()
:BaseCache.delete(urls=[...])
-
BaseCache.delete_urls()
:BaseCache.delete(urls=[...])
-
BaseCache.has_key()
:BaseCache.contains()
-
BaseCache.has_url()
:BaseCache.contains(url=...)
-
BaseCache.keys()
:BaseCache.responses.keys()
(for all keys), orBaseCache.filter()
(for filtering options) -
BaseCache.values()
:BaseCache.responses.values()
(for all values), orBaseCache.filter()
(for filtering options) -
BaseCache.response_count()
:len(BaseCache.responses)
(for all responses), orBaseCache.filter()
(for filtering options)
⚠️ Breaking changes:
- After initialization, cache settings can only be accessed and modified via
CachedSession.settings
. Previously, some settings could be modified by setting them on eitherCachedSession
orBaseCache
. In some cases this could silently fail or otherwise have undefined behavior. -
BaseCache.urls
has been replaced with a method that returns a list of URLs. - DynamoDB table structure has changed. If you are using the DynamoDB backend, you will need to create a new table when upgrading to 1.0. See DynamoDB backend docs for more details.
Minor breaking changes:
The following changes only affect advanced or undocumented usage, and are not expected to impact most users:
- The arguments
match_headers
andignored_parameters
must be passed toCachedSession
. Previously, these could also be passed to aBaseCache
instance. - The
CachedSession
backend
argument must be either an instance or string alias. Previously it would also accept a backend class. - All serializer-specific
BaseStorage
subclasses have been removed, and merged into their respective parent classes. This includesSQLitePickleDict
,MongoPickleDict
, andGridFSPickleDict
.- All
BaseStorage
subclasses now have aserializer
attribute, which will be unused if set toNone
.
- All
- The
cache_control
module (added in0.7
) has been split up into multiple modules in a newpolicy
subpackage
0.9.8 (2023-01-13)
- Fix
DeprecationWarning
raised byBaseCache.urls
- Reword ambiguous log message for
BaseCache.delete
Backport fixes from 1.0:
- For custom serializers, handle using a cattrs converter that doesn't support
omit_if_default
- Raise an error for invalid expiration string values (except for headers containing httpdates)
0.9.7 (2022-10-26)
Backport compatibility fixes from 1.0:
-
PyInstaller: Fix potential
AttributeError
due to undetected imports when requests-cache is bundled in a PyInstaller package - requests-oauthlib: Add support for header values as bytes for compatibility with OAuth1 features
- cattrs: Add compatibility with cattrs 22.2
- python: Add tests to ensure compatibility with python 3.11
- Fix
AttributeError
when attempting to unpickle aCachedSession
object, and instead disable pickling by raising aNotImplementedError
Add the following for forwards-compatibility with 1.0:
-
DeprecationWarnings
to give an earlier notice for methods deprecated (not removed) in 1.0 -
requests_cache.policy
subpackage (will replacerequests_cache.cache_control
module) -
BaseCache.contains()
-
BaseCache.delete()
-
BaseCache.filter()
-
CachedSession.settings
0.9.6 (2022-08-24)
Backport fixes from 1.0:
- Remove potentially problematic row count from
BaseCache.__str__()
- Remove upper version constraints for all non-dev dependencies
- Make dependency specification consistent between PyPI and Conda-Forge packages
0.9.5 (2022-06-29)
Backport fixes from 1.0:
- Fix usage of memory backend with
install_cache()
- Add
CachedRequest.path_url
property - Add compatibility with cattrs 22.1
0.9.4 (2022-04-22)
Backport fixes from 1.0:
- Fix forwarding connection parameters passed to
RedisCache
for redis-py 4.2 and python <=3.8 - Fix forwarding connection parameters passed to
MongoCache
for pymongo 4.1 and python <=3.8
0.9.3 (2022-02-22)
- Fix handling BSON serializer differences between pymongo's
bson
and standalonebson
codec. - Handle
CorruptGridFile
error in GridFS backend - Fix cache path expansion for user directories (
~/...
) for SQLite and filesystem backends - Fix request normalization for request body with a list as a JSON root
- Skip normalizing a JSON request body if it's excessively large (>10MB) due to performance impact
- Fix some thread safety issues:
- Fix race condition in SQLite backend with dropping and recreating tables in multiple threads
- Fix race condition in filesystem backend when one thread deletes a file after it's opened but before it is read by a different thread
- Fix multiple race conditions in GridFS backend
0.9.2 (2022-02-15)
- Fix serialization in filesystem backend with binary content that is also valid UTF-8
- Fix some regression bugs introduced in 0.9.0:
- Add support for
params
as a positional argument toCachedSession.request()
- Add support for disabling expiration for a single request with
CachedSession.request(..., expire_after=-1)
- Add support for
0.9.1 (2022-01-15)
- Add support for python 3.10.2 and 3.9.10 (regarding resolving
ForwardRef
types during deserialization) - Add support for key-only request parameters (regarding hashing request data for cache key creation)
- Reduce verbosity of log messages when encountering an invalid JSON request body
stylelint/stylelint (stylelint)
v16.10.0
- Changed:
shorthand-property-no-redundant-values
reported ranges (#8008) (@Mouvedia). - Added:
formatter
configuration property (#7826) (@emmacharp). - Added:
validate
option to Node.js API and--validate
CLI flag (#8009) (@Mouvedia). - Added: fixed section to the output of the
verbose
formatter (#7985) (@Mouvedia). - Added: support for
string | RegExp
toignoreValues
option ofvalue-no-vendor-prefix
(#7969) (@Mouvedia). - Added: support for
string
toignoreLonghands
option ofdeclaration-block-no-redundant-longhand-properties
(#7971) (@Mouvedia). - Fixed:
at-rule-no-unknown
false positives for@position-try
(#7968) (@yelizsevinc). - Fixed:
declaration-block-no-redundant-longhand-properties
autofix forgrid-column
/grid-row
([#
Configuration
📅 Schedule: Branch creation - "on the first day of january" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.