• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

go-pkgz / expirable-cache / 32208357000
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: refs/tags/v3.1.1
DEFAULT BRANCH: master
Ran 19 Aug 2026 02:23AM UTC
Jobs 1
Files 2
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Aug 2026 10:56PM UTC coverage: 100.0%. Remained the same
32208357000

push

github

web-flow
Fix v3 data race and Add eviction reporting, correct docs and bump deps (#26)

* Fix data race in v3 Values

Values sized the result slice from c.items before taking the mutex, so a
concurrent Set or Remove could race on the map, or crash with concurrent
map read and map write.

* Report expired entry eviction from v3 Add

Add documents the simplelru contract, returns true if an eviction occurred,
but reported only the capacity eviction. With a non-default TTL it silently
dropped the expired oldest entry, fired onEvicted and counted the eviction in
stats while still returning false.

* Tidy v3 module

* Fix readme example and describe the actual cache semantics

The v3 example did not compile, it type-asserted an already typed string, and
claimed an expired Get returns nil while it returns the stored value with
ok set to false. The example is now mirrored by v3/example_test.go, so the
documented output is verified by go test.

LRC is described as it behaves: the order is defined by the last write, an
existing key is moved to the front on Set, and reads leave the order alone.
Go version requirements per major version are documented as well.

* Wait for ristretto writes in mixed benchmarks

Ristretto applies writes asynchronously, and only BenchmarkRistretto_Set
waited for them to be applied. The mixed benchmarks measured enqueueing a
write and counted rejected writes as successful ones, so their numbers were
not comparable with the synchronous Set of the other libraries. Rejected
writes are now counted and reported as drops/op, and the published tables
are regenerated from a single run on Apple M3.

* Bump go modules and refresh benchmark numbers

Testify moves to v1.12.0 in all three versions, benchmarks get ttlcache
v3.4.1 with x/sync and x/sys pinned to the last releases compatible with
the declared go version. Published tables are regenerated: ttlcache is
noticeably faster since v3.4.1 and no longer allocates on Get.

* Report expired entries as mi... (continued)

161 of 161 relevant lines covered (100.0%)

143.3 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32208357000.1 19 Aug 2026 02:23AM UTC 2
100.0
GitHub Action Run
Source Files on build 32208357000
  • Tree
  • List 2
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 2b85c613 on github
  • Prev Build on master (#22027785352)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc