Skip to content

Releases: karptonite/geekcache

More fixes for staging and tags

05 May 14:42

Choose a tag to compare

Fixes a number of issues related to staging and caching.
The most important fix is related to ensuring that we don't clear out the staged results for a given tag when one tagged cache in a staged group is null. Previously, if one cache had the same tag as another, if the first was null, it could also cause the system to wrongly conclude that the second was null as well.

In addition, there were some improvements that ensure that we are not needlessly generating new tag versions when we are only trying to read the version to see if it is valid.

Fix some race conditions for stageable cache

02 May 14:12

Choose a tag to compare

  1. if we try to stage keys that are already available as results, we increment the remaining reads.
  2. if a cache is put while it has remaining reads, update the value in the staging cache to the new value.
  3. if a cache is deleted while it has remaining reads, update the value in the staging cache to the new value.

Support PHP 8.3 and 8.4

01 Apr 17:30

Choose a tag to compare

Changes to typings to support php 8.3 and 8.4.

v3.0.3

23 Oct 17:29

Choose a tag to compare

Ensure that memoized caches handle staging and unstaging properly, to avoid memory leaks

v3.0.2

23 Oct 14:58

Choose a tag to compare

Bugfix: Avoid memory leak when checking a tagged cache which has no results; unstage the results from the tag itself by calling get.

Bugfix: ensure getMulti always returns an array

18 Oct 15:15

Choose a tag to compare

Bugfix to ensure that our code treats getMulti failures as no results found. This may not be the desired behavior for some, but I think it will work for us.

Use GetMulti to reduce the number of requests to memcached

15 Oct 16:48

Choose a tag to compare

use getMulti to reduce the number of requests to the cache backend. This works automatically for tags and tagged caches; additionally, keys staged with stage() will be gotten on the next get, and subsequently those keys can be gotten with get() without triggering an additional request to the back end. This is an experimental feature.
Full Changelog: v2.0.3...v3.0.0

Initialize previously dynamically created PHP properties

12 Jul 16:45

Choose a tag to compare

Dynamically created PHP properties are deprecated in PHP 8.2

Use 0 for default ttl

18 Jun 18:36

Choose a tag to compare

Use 0 rather than null for default ttl, to avoid a deprecation notice on passing null to type int for ttl.

Typo fix

22 Mar 21:01

Choose a tag to compare

Fixed a typo in the composer.json file of the previous commit