Skip to content

v0.2.0

Choose a tag to compare

@shawn-tsanet shawn-tsanet released this 28 Aug 02:34
· 337 commits to main since this release
2eed253

Adds age-based retention for the SDK's operational SQLite cache: com.tsanet.api.storage.CacheRetention.

What this version carries

  • CacheRetention.sweep(JdbcTemplate, Duration, Instant): evicts terminal-case (CLOSED/REJECTED) content older than a caller-supplied window, in one transaction. OPEN cases never age out. attachment_forward_result is deliberately never touched — it has no API read-back path, so eviction there would be unrecoverable — and children with no cached parent are never age-swept either, since three fetch paths (getNotes, getResponses, getAttachmentConfig) cache them without ever writing the parent row, so a parentless child is normal steady state for a webhook-driven consumer, not residue (#66).
  • RetentionSweepException carries the failed phase and the committed-so-far counts on a mid-run failure — a partial run can still have deleted rows, and callers get that in the exception rather than a silent guess.
  • SQL isolated in a package-private CacheRetentionRepository, not inline in the sweep orchestration.
  • No consumer wiring in this release; that lands separately per consuming adapter (first: Fin-Intercom_App#66, retiring its interim hand-rolled sweep).

Consuming the artifact

com.tsanet:connect-library:0.2.0 from https://maven.pkg.github.com/tsanetgit/Connect_SDK.

Certification

Cut from main after #66 merged: 94 tests green in connect-library, addressed across two QA rounds (a non-SQLException partial-commit gap, two corrected doc claims, and the scope narrowing described above).

Note on the version number

v0.1.0's notes named 0.2.0 as the version that would remove the deprecated always-test constructor shims. This release does not touch those shims — that removal will land under a later version number instead.