Repository navigation
v0.2.0
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_resultis 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).RetentionSweepExceptioncarries 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.