Skip to content

RogueRust v4.4.60

Choose a tag to compare

@RogueAssassin RogueAssassin released this 11 Oct 11:18
· 9 commits to main since this release

4.4.60 — Stability release

  • Plugin unload: each cleanup step (events, network, image callbacks, cache, commands, UI, workloads, scheduler, HTTP, database) is isolated, so a failure in one can no longer leave an unloaded plugin's timers, requests or UI alive in the others.
  • HTTP: a POST or PATCH is no longer replayed after a timeout or 5xx unless the caller supplies a retry policy, because the server may already have acted on it (for example a webhook message sent twice). 429 responses still retry for every method. A date-form Retry-After is capped at five minutes like the seconds form.
  • Database (MySQL and custom providers): argument errors, a missing provider and unregistered connections are not retried and do not count against the circuit breaker.
  • Events: removed a race where a subscription added while its event group was being emptied could be lost.
  • Updater: the "check in progress" flag is always cleared, so one failed check cannot disable later ones.
  • Caches: expired entries in the image byte cache are swept with the main cache.
  • SDK: SaveDataInBackground(key, value) on RogueRustPlugin snapshots on the game thread and writes on a worker thread, for periodic and dirty-flag saves.
  • Tests: 68 unit tests, adding events, the in-process network bus and HTTP retry decisions.