Published September 2, 2026 | Version v1.8.1

Speasy

Description

What's Changed

Behavior changes:

  • Empty cache fragments (zero rows, or all-NaN/inf) written before 1.8.1 are no longer trusted: they are treated as a cache miss and refetched on read, then rewritten so they are trusted afterwards. This heals fragments that older Speasy cached empty -- during upstream backfill latency, or from a request that ran past a product's coverage -- and then served empty indefinitely. Genuine empty ranges written by 1.8.1+ are kept.

  • AMDA/CSA requests no longer crash the whole call when the server is unreachable; the failure is now reported per-request instead.

  • Raised the minimum pysciqlop-cache version to 0.1.11. Below that version, running under a forked worker pool (e.g. gunicorn --preload) could make two different cache keys collide on the same file-backed blob path, since forked workers inherited the same Mersenne Twister RNG state used to generate those paths -- the last writer would silently win, and a read could get back another product's bytes. This only affects deployments that fork a shared cache after creating it; a normal single-process Speasy install was not exposed.

  • Don't crash when AMDA/CSA server is unreachable by @jeandet in https://github.com/SciQLop/speasy/pull/359

  • Self-heal empty cache fossils via a per-entry epoch by @jeandet in https://github.com/SciQLop/speasy/pull/360

  • Bump github/codeql-action from 4.37.8 to 4.37.9 by @dependabot[bot] in https://github.com/SciQLop/speasy/pull/358

Full Changelog: https://github.com/SciQLop/speasy/compare/v1.8.0...v1.8.1

Notes

If you use this software, please cite it as below.

Files

SciQLop/speasy-v1.8.1.zip

Files (13.4 MB)

Name Size Download all
md5:920053282ffa353f7609a3ccf71a838b
13.4 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/SciQLop/speasy/tree/v1.8.1 (URL)

Software