Highlights
Two new providers
- AWS ECS (#1123): Sablier scales ECS services between an idle and an active desired count (0 and 1 by default). It finds them from their resource tags (
sablier.enable,sablier.group). Provider name:ecs. See the AWS ECS provider docs. - Nomad (#1122): an instance is one task group of a job (
job/group), scaled with the Nomad scaling API. Sablier reads thesablier.*labels from the job and task groupmeta. Provider name:nomad. See the Nomad provider docs.
1.19.0 (2026-10-28)
Features
- api: add operationIds to the OpenAPI spec (#1224) (b63a877)
- api: filter the events stream by instance names or group (#1229) (980655b)
- client: add a standard-library Go client for the Sablier API (#1225) (3cf282c)
- ecs: add the AWS ECS provider (#1123) (5407360)
- kubernetes: expose workload name to themes (#1160) (fe0398a)
- kubernetes: support public sablierapp.dev label keys (#1114) (2771b53), closes #449
- nomad: add the Nomad provider (#1122) (c88419b)
Bug Fixes
- api: describe error responses as they go on the wire in the OpenAPI spec (#1223) (82a47f3)
- api: return the documented session shape from the poke strategy (#1222) (57957cf)
- docker: honor depends_on entries without a condition like Compose (#1203) (7219555), closes #1182
- docker: start stopped containers in scale mode (#1212) (5c52934)
- docker: treat paused containers as idle (#1213) (b6d2447)
- embed fallback CA roots so the scratch image can verify HTTPS (#1207) (7cfbf80)
- keep instance event watchers from queueing notifications without bound (#1157) (36a1d94)
- kubernetes: close the event stream and stop informers on cancel (#1218) (9ab6b01)
- kubernetes: list only the running workloads when All is false (#1112) (9a1b640), closes #1095
- kubernetes: parse the instance name replica count as int32 (#1217) (2c485b1)
- kubernetes: show sablier.active.replicas as desired replicas (#1159) (4a36d1f)
- podman: send scale-mode CPU limits as a quota and period (#1214) (38c3bd9)
- proxmox: prefer tagged containers for hostnames, skip ambiguous ones (#1211) (f398059), closes #1179
- proxmox: report the sablier tag as Enabled on inspect and events (#1206) (1eb88cb)
- replace stale since: NEXT_RELEASE markers with real versions (#1205) (69bb240)
- resolve instance name aliases before the session lookup (#1210) (0eee4aa), closes #1178 #1185
- strategy: do not wait a full refresh interval in blocking strategy (#1117) (59fb00d), closes #282
- swarm: leave global services out of groups (#1208) (272d904)
- theme: serve at least one second of refresh interval to the waiting page (#1143) (94ec4d9)
- tinykv: send onExpire when a stale timer is in the same cycle (#1111) (2d147f8), closes #1110
Performance Improvements
Documentation
- add systemd to feature compatibility front matter (#1164) (7ab9cad)
- add the systemd sidebar icon and toggle sidebar sections in place (#1192) (0b68b32)
- credit LocalStack as a supporter (#1163) (a023afd)
- docker-swarm: rewrite the provider page on the shared outline (#1171) (484050b)
- docker: rewrite the provider page on the shared outline (#1170) (8ca0ce4)
- ecs: rewrite the provider page on the shared outline (#1176) (a5b4be1)
- fix stale code comments and docs (#1204) (e34092a), closes #1188
- flatten the how-to guides into a Features list with icons (#1201) (e46c947)
- kubernetes: rewrite the provider page on a shared outline (#1169) (c0cd799)
- list feature support on each provider page (#1166) (f33a474)
- make feature pages provider-neutral and link them to provider pages (#1191) (da7e902)
- nomad: rewrite the provider page on the shared outline (#1175) (93a83c8)
- podman: rewrite the provider page on the shared outline (#1172) (e3a346e)
- promote providers to a top-level section (#1165) (bb5978c)
- promote reverse proxies to a top-level section (#1167) (4c4b423)
- proxmox-lxc: rewrite the provider page on the shared outline (#1173) (3c87656)
- restore the old how-to redirects on the Docker page (#1215) (cf7100e)
- systemd: rewrite the provider page on the shared outline (#1174) (3f12ace)
Code Refactoring
Tests
- sablier: let async starts finish before tests end (#1220) (314fc3b)
- use httptest.NewTestServer in the webhook, metrics and proxmoxlxc tests (#1119) (346c009)
- use testing/synctest for time-based tests (#1121) (e4c307a)