Skip to content

Releases: carsdotcom/php-request-class

v1.7.2

21 Apr 21:13
33ce6f1

Choose a tag to compare

laravel-json-schema v3 introduce a breaking change that doesn't affect us, so support old and new releases.

v1.7.1

17 Apr 19:28
875f9b2

Choose a tag to compare

Adds a onBackgroundRefreshFailed, in case you do care about failing background refreshes, you can implement a custom behavior.

v1.7.0

02 Apr 17:33
63e18b4

Choose a tag to compare

Fixes support for PHP 8.4, and adds a getCacheTags method that simplifies the way we use AbstractUseStaleRequest along side cache tags (if you consider the cacheTags property to be state when it's really a process the code is twice as complex)

v1.6.1

06 Oct 19:29
bac5d01

Choose a tag to compare

Resolves issue #23 requests that are not mocked should still show up in assertAllTapperRequestsLike

v1.6.0: Merge pull request #22 from carsdotcom/use-stale

20 May 14:11
1cb4e8f

Choose a tag to compare

Adds support for Use-Stale-While-Revalidating pattern!

This request class type has two cache timeouts:

  1. a short one indicates when it's time to start a background process to re-download the data.
  2. 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

08 May 17:41
c3f7ddf

Choose a tag to compare

Laravel 12 support!

v1.4.1

28 Feb 19:28
88794ef

Choose a tag to compare

Fixes #19, cache entries now contain the full log folder of log files, in case the next cache hit would have used a different folder.

v1.4.0

10 Dec 19:39
02fd826

Choose a tag to compare

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

30 Oct 21:35
a085746

Choose a tag to compare

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

20 Aug 19:13
926581a

Choose a tag to compare

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.