Releases: carsdotcom/php-request-class
v1.7.2
v1.7.1
v1.7.0
v1.6.1
v1.6.0: Merge pull request #22 from carsdotcom/use-stale
Adds support for Use-Stale-While-Revalidating pattern!
This request class type has two cache timeouts:
- a short one indicates when it's time to start a background process to re-download the data.
- a long one holds on to a known good result for a maximum hold time (including "forever")
When a request happens after the refreshCacheKey expires, we return the responseFromCache and defer a job to run this request that will not read from cache but will write to cache. This way, all callers are served in the much faster cached response time, but results are still routinely updated behind the scenes.
v1.5.0
v1.4.1
v1.4.0
What's Changed
This release updates the ParseResponseJSONSchemaOrThrow trait to better reflect schema validation for empty objects to avoid {} vs [] confusion using the new validateEncodedStringOrThrow method provided by Carsdotcom\JsonSchemaValidation. This release also drops support for older versions of that library.
Full Changelog: v1.3.0...v1.4.0
v1.3.0
This release introduces a new feature where children of AbstractRequest can customize their own LogFile helper by overriding getLogFileHelper. This is especially useful for logging headers -- most of the time we think it's a bad idea, headers are for boring things like Content-Type and unloggable things like Authentication and bearer tokens -- but sometimes a request is using custom headers for tracing or even application logic that are exceptions to the rule.
v1.2.1
The cache key seed shouldn't be configurable. This caused a deployment issue for us when the default seed changed (because the cached data structure changed incompatibly) and our configured value didn't. This looked fine in unit tests and local development where the cache is mostly cold, but caused a short outage in production where the cache was warm and the keys didn't update with a new seed.