Skip to content

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 20:58
· 98 commits to main since this release
39dc779

Installation

{:lowendinsight, "~> v0.11.0"}

Docker Image

docker pull ghcr.io/kitplummer/lowendinsight:v0.11.0

What'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