Repository navigation
v0.11.0
Installation
{:lowendinsight, "~> v0.11.0"}Docker Image
docker pull ghcr.io/kitplummer/lowendinsight:v0.11.0What's Changed
- chore: remove the rename shim; stop two tests doing slow work under load by @kitplummer in #203
- security: spend a recovery code once, and namespace every rate limit bucket by @kitplummer in #204
- fix(tasks): validate arguments before working; ship README and LICENCE in the package by @kitplummer in #205
- chore(trending): park it -- no schedule, no link, no monitoring (#206) by @kitplummer in #207
- ci: run umbrella_ci once per commit, not once per event by @kitplummer in #210
- feat(payments): refunds and disputes reach the ledger (#208) by @kitplummer in #209
- fix(ci): drop a stale advisory acknowledgement; stop a test deleting the app's stats table by @kitplummer in #211
- ci: audit daily, verify only the guards a change affects, deploy after CI by @kitplummer in #212
- ci(audit): always report the audit check on PRs by @kitplummer in #214
- feat(payments): count payment outcomes by rail, and refusals by why (gtri#139) by @kitplummer in #213
- feat(payments): a kill switch for every payment path (gtri#139) by @kitplummer in #215
- feat(payments): reconcile the ledger's purchases against Stripe, hourly (gtri#139) by @kitplummer in #216
- fix: reconciliation's 404 shape, and the readiness test flake by @kitplummer in #218
- feat(ops): payment runbooks that agents execute, bounded by permission rules (gtri#139) by @kitplummer in #219
- ops: scripts/notify.sh and a notify-test workflow (ntfy) by @kitplummer in #220
- chore: keep the service's operations out of the open-source repository by @kitplummer in #222
- docs(billing): record the secrets that are actually set (gtri#139) by @kitplummer in #229
- ops: read the payment signals, and page when a deploy or backup fails (gtri#139) by @kitplummer in #225
- fix(acp): refuse a request we cannot authenticate, and key the charge (gtri#139) by @kitplummer in #226
- fix(billing): an active pro org must be billable (gtri#139) by @kitplummer in #227
- ops(monitor): page once per incident, not once per run (gtri#139) by @kitplummer in #231
- feat(billing): keep the billing address Stripe collects from a person (#223) by @kitplummer in #228
- fix(billing): the upgrade link points at our host, not Fly's (gtri#139) by @kitplummer in #230
- test: sandbox LeiService.Repo, so a test cannot commit a job (#217) by @kitplummer in #232
- fix(billing): give back credits for work that could not be queued (#217) by @kitplummer in #233
- fix(billing): credit back an analysis that could not be queued (#217) by @kitplummer in #234
- ops: count work that was charged for and could not be queued (#217) by @kitplummer in #235
- test: one database, as production has it (#217) by @kitplummer in #236
- ops: a script that proves the webhook secret is the right one (gtri#139) by @kitplummer in #237
- fix(guards): a guard that never ran is not a verified guard by @kitplummer in #238
- test: guard the two scripts that guarded nothing by @kitplummer in #239
- fix(guards): decide by exit code, not by what the output happened to say by @kitplummer in #240
- docs(ops): the runbook for a Stripe account hold (gtri#139) by @kitplummer in #241
- fix(cache): recompute commit currency on the way out of the cache by @kitplummer in #243
- feat(risk): measure commit currency from the last commit that meant something by @kitplummer in #245
- refactor(risk): give functional commit currency its own thresholds by @kitplummer in #246
- feat(risk): report the distribution a verdict was collapsed from by @kitplummer in #248
- fix(cache): stop caching analyses that determined nothing by @kitplummer in #256
- refactor: run git directly, dropping a dependency unmaintained since 2018 by @kitplummer in #260
- docs(adr): ADR-005 positions, not credits by @kitplummer in #261
- feat(risk): make a report rankable, not just verdicted by @kitplummer in #262
- docs(adr): what the service promises, and what it refuses to do by @kitplummer in #264
- feat(analysis): refuse repositories too large to analyse by @kitplummer in #266
- test: stop an async test sharing the sandbox connection by @kitplummer in #267
- fix(billing): credit back an analysis that determined nothing by @kitplummer in #268
- fix(billing): credit back on the other analysis path too by @kitplummer in #269
- fix(analysis): one refused URL no longer fails the whole batch by @kitplummer in #270
- feat(risk): rank a manifest, and take the edges we were discarding by @kitplummer in #271
- feat(risk): directness, not centrality, and one fetch for both facts by @kitplummer in #272
- fix(deploy): say whether a run shipped anything by @kitplummer in #273
- feat(monitor): notice when the tip of main is not deployed by @kitplummer in #274
- fix: the nightly's expiring clock, and the alert channel that had stopped working by @kitplummer in #276
- feat(backup): take it near the data, verify it away from there by @kitplummer in #277
- fix(monitor): a deploy in flight is not an undeployed tip by @kitplummer in #278
- docs(adr): a position is identified by its commit, measured by @kitplummer in #275
- fix(cache): one repository, one cache key, whatever case it arrives in by @kitplummer in #279
- fix(cache): a host is not its name with the TLD removed by @kitplummer in #280
- fix(smoke): when it dies, say which request died by @kitplummer in #281
- fix(backup): the operator's key does not need to be able to delete backups by @kitplummer in #282
- fix(backup): read the pull date with a command that exists by @kitplummer in #283
- docs(backup): the restart policy, the steady state, and two dead pointers by @kitplummer in #284
- feat(billing): beta — analysis is free, bounded by the free tier by @kitplummer in #285
- feat(beta): charge agents the floor, and label the beta everywhere by @kitplummer in #286
- feat(backup): start the producer from a workflow, and name the right half when it fails by @kitplummer in #287
- fix(backup): verify-backup-artifact.sh reads the bucket by @kitplummer in #288
- feat(beta): refuse posted pro signups, and prepare the live cutover by @kitplummer in #289
- feat(mcp): put the analysis in an agent's tool list by @kitplummer in #290
- Measure the cache hit rate instead of assuming it by @kitplummer in #291
- Cost the miss list, and fix a resolver bug that shipped in #291 by @kitplummer in #292
- Fix the measurement run reporting success with nothing in it, and move the cost model out by @kitplummer in #293
- The monitor could not see a payment path that was wrongly on by @kitplummer in #294
- ADR-008: Storage and scale management (Proposed) by @kitplummer in #295
- Redis memory metric, so the ceiling can be seen coming by @kitplummer in #296
- ADR-008 was wrong about production, and the metric caught it by @kitplummer in #297
- Cap repositories per request, derived from the queue (ADR-008 q2) by @kitplummer in #298
- Count which clients actually call the analysis by @kitplummer in #299
- Lead the MCP tool description with the reflex, not the payload by @kitplummer in #300
- Resolve npm from one version, not every version ever published by @kitplummer in #301
- Release 0.11.0: sixteen commits that were never published by @kitplummer in #302
Full Changelog: v0.10.0...v0.11.0