What's New1.6.4 - Subscription API – 1.6.4

PlugStream Change Logs

PlugStream is continuously updated to improve reliability, security, and user experience. This page provides a transparent record of every software and firmware release, including what changed and why it matters.

Latest

Subscription API 1.6.4

Subscription API – 1.6.4

1.6.4
Tests: passed (161/161)Coverage: 58.8%
Service
October 27, 2026
Tags
#subscription-api

Subscription API – 1.6.4

1.6.4 (2026-10-26)

Bug Fixes

  • auth: honour PLATFORM_ADMIN as every scope only in platform mode (1127ab1)
  • billing: an overlapping monthly run skips what the other run wrote (4fb4a2d)
  • billing: marks never undo an invoiced event or invoice an unclaimed one (b702ef7)
  • billing: never bill £0 for a subscription without a usable price [SIGN-OFF] (c07e3a9)
  • billing: no monthly advance for the month billing starts or earlier [SIGN-OFF] (bb229b2)
  • billing: read a numeric monthly price as the decimal written [SIGN-OFF] (981b0a7)
  • billing: refuse a monthly run whose period does not start on the 1st [SIGN-OFF] (b111983)
  • billing: two concurrent claims never take the same billable event (ba20a0f)
  • config: read boolean settings strictly and fail closed [SIGN-OFF] (cdd7f22)
  • config: treat an empty DATABASE_URL as unset (060ce79)
  • config: trim INTERNAL_AUTH_TOKEN like the orchestrator tokens (f8399e7)
  • error: answer a 500 with a generic message and keep the detail in the log (ff1ed51)
  • events: give up on an AMQP handshake the broker never finishes (eec8a97)
  • events: stop requeueing deliveries that can never succeed [SIGN-OFF] (f03aa67)
  • pagination: refuse a list offset past i64 with a 400 instead of panicking (8b1eea2)
  • plans: refuse a billing cycle other than monthly [SIGN-OFF] (0aa3809), closes #3
  • plans: store a missing provisioning mode as the provider's [SIGN-OFF] (a01e30a), closes #20
  • plans: validate activation_copy on plans without a provider_config too (8e20b1a)
  • sims: a sync no longer rewrites the status or plan of a SIM in service (b627cf4)
  • sims: a sync takes Soracom's own SIM status into account [SIGN-OFF] (cad4755)
  • sims: deactivating an already deactivated SIM changes nothing (799ab44)
  • sims: let PATCH {"service_plan_id": null} unlink a SIM's plan (413cd57)
  • sims: PATCH no longer records a SIM deactivated or active [SIGN-OFF] (c7fc8c8), closes #10 #10
  • sims: refuse to revive a deactivated SIM row another tenant now holds (a5839b2)
  • soracom: give up on a Soracom call that never answers (7dc655a)
  • soracom: send the SIM id as one escaped path segment (a5ed1bf)
  • subscriptions: look for the buyer on every page of billing-api's accounts [SIGN-OFF] (78d739e)
  • subscriptions: record the SIM's claim before Soracom activates it [SIGN-OFF] (2beaa62), closes #6
  • subscriptions: refuse to retry a deactivated or active subscription [SIGN-OFF] (3e0233f), closes #5 #5 #4
  • subscriptions: start billing a blocked dry-run order when it activates [SIGN-OFF] (c141d0b)

Performance & SLO

SLO Targets:
P95 < 200msP99 < 500msAvailability > 99.5%