- Fix compatibility with httpx. (#291)
- Use
SyncByteStream
instead ofByteStream
. (#298)
- Fix typing extensions not found. (#290)
- Add support for Python 3.12 / drop Python 3.8. (#286)
- Specify usedforsecurity=False in blake2b. (#285)
- Added a Logging section to the documentation.
- Don't raise an exception if the
Date
header is not present. (#273)
- Ignore file not found error when cleaning up a file storage. (#264)
- Fix
AssertionError
onclient.close()
when use SQLiteStorage. (#269) - Fix ignored flags when use
force_cache
. (#271)
- Fix cache update on revalidation response with content (rfc9111 section 4.3.3) (#239)
- Fix request extensions that were not passed into revalidation request for transport-based implementation (but were passed for the pool-based impl) (#247).
- Add
cache_private
property to the controller to support acting as shared cache. (#224) - Improve efficiency of scanning cached responses in
FileStorage
by reducing number of syscalls. (#252) - Add
remove
support for storages (#241)
- Documentation hotfix. (#244)
- Add
revalidated
response extension. (#242)
- Fix
RedisStorage
when using without ttl. (#231)
- Expose
AsyncBaseStorage
andBaseStorage
. (#220) - Prevent cache hits from resetting the ttl. (#215)
- Add
force_cache
property to the controller, allowing RFC9111 rules to be completely disabled. (#204) - Add
.gitignore
to cache directory created byFIleStorage
. (#197) - Remove
stale_*
headers from theCacheControl
class. (#199)
- Fix
botocore is not installed
exception when using any kind of storage. (#186)
- Make
S3Storage
to check staleness of all cache files with set interval. (#182) - Fix an issue where an empty file in
FileCache
could cause a parsing error. (#181) - Support caching for
POST
and other HTTP methods. (#183)
- Make
FileStorage
to check staleness of all cache files with set interval. (#169) - Support AWS S3 storages. (#164)
- Move
typing_extensions
from requirements.txt to pyproject.toml. (#161)
- Fix inner transport and connection pool instances closing. (#147)
- Improved error message when the storage type is incorrect. (#138)
- Add in-memory storage. (#133)
- Allow customization of cache key generation. (#130)
- Add
force_cache
extension to enforce the request to be cached, ignoring the HTTP headers. (#117) - Fix issue where sqlite storage cache get deleted immediately. (#119)
- Support float numbers for storage ttl. (#107)
- Fix issue where freshness cannot be calculated to re-send request. (#104)
- Add
cache_disabled
extension to temporarily disable the cache (#109) - Update
datetime.datetime.utcnow()
todatetime.datetime.now(datetime.timezone.utc)
sincedatetime.datetime.utcnow()
has been deprecated. (#111)
- Fix
Last-Modified
validation.
- Add
install_cache
function. (#95) - Add sqlite support. (#92)
- Move
ttl
argument toBaseStorage
class. (#94)
- Replace
AsyncResponseStream
withAsyncCacheStream
. (#86) - Add
must-understand
response directive support. (#90)
- Add support for Python 3.12. (#71)
- Fix connections releasing from the connection pool. (#83)
- Add metadata into the response extensions. (#56)
- Add support for request
cache-control
directives. (#42) - Drop httpcore dependency. (#40)
- Support HTTP methods only if they are defined as cacheable. (#37)
- Add Response metadata. (#33)
- Add API Reference documentation. (#30)
- Use stale responses only if the client is disconnected. (#28)
- Expose Controller API. (#23)
- Skip redis tests if the server was not found. (#16)
- Decrease sleep time for the storage ttl tests. (#18)
- Fail coverage under 100. (#19)
- Add support for
Heuristic Freshness
. (#11) - Change
Controller.cache_heuristically
toController.allow_heuristics
. (#12) - Handle import errors. (#13)
- Fix
Vary
header validation. (#8) - Dump original requests with the responses. (#7)
- Fix httpx response streaming.
- Change
YamlSerializer
name toYAMLSerializer
.
- Add
from_cache
response extension. - Add
typing_extensions
into the requirements.
- Add redis support.
- Make backends thread and task safe.
- Add black as a new linter.
- Add an expire time for cached responses.