Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 2, 2023

Bumps requests-cache from 0.5.2 to 1.0.0.

Release notes

Sourced from requests-cache's releases.

✨ 1.0 ✨

See Changelog for complete release details.

Release highlights

  • 🚀 Lots of miscellaneous performance improvements
  • 🚀 Fast automatic cache cleanup with TTL integration for MongoDB, DynamoDB and Redis
  • 📝 Improved NoSQL/document database support: human-readable and indexable response data in MongoDB and DynamoDB
  • 🕗 Complete support for Cache-Control headers (including its extensions)
  • ✨ Complete type hinting and more details from cached responses
  • 🔒 Redact common authentication headers and parameters from the cache by default
  • ⚙️ Improved session settings interface, and more settings for refreshing, revalidation, and offline cache usage

Improved performance, thread safety, Cache-Control support, and general QoL

See Changelog for release details

Conditional requests, custom request matching, and comprehensive user guide

See Changelog for release details

Cache-Control support, new Filesystem backend, and serializers

See Changelog for release details

URL pattern-based expiration, improved serialization format, and lots of bugfixes

See Changelog for release details

Changelog

Sourced from requests-cache's changelog.

1.0.0 (2023-03-01)

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 with Cache-Control: stale-if-error: Add support for time values (int, timedelta, etc.) in addition to True/False

⚙️ Request settings:

  • Add only_if_cached option to CachedSession.request() and send() to return only cached results without sending real requests
  • Add refresh option to CachedSession.request() and send() to revalidate with the server before using a cached response
  • Add force_refresh option to CachedSession.request() and send() to awlays make and cache a new request regardless of existing cache contents
  • Make behavior for expire_after=0 consistent with Cache-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

💾 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.
  • 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.

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [requests-cache](https://github.com/requests-cache/requests-cache) from 0.5.2 to 1.0.0.
- [Release notes](https://github.com/requests-cache/requests-cache/releases)
- [Changelog](https://github.com/requests-cache/requests-cache/blob/main/HISTORY.md)
- [Commits](https://github.com/requests-cache/requests-cache/commits/v1.0.0)

---
updated-dependencies:
- dependency-name: requests-cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Mar 2, 2023
@dependabot dependabot bot requested a review from revolter March 2, 2023 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant