What 6.0 includes
- Registered, cached lights:
Stoplight() now registers/reuses a light and Stoplight.light(name) is lookup-only.
- Named systems:
Stoplight.register_system provides isolated configuration/infrastructure per system.
- In-process telemetry:
Stoplight.telemetry / system.telemetry, with run, breach, recovery, lock, registration, and transition events. Not yet ready, we may not include this into release notes.
- Per-run error matcher overrides:
light.run(tracked_errors: …), the same for skipped_errors
- Admin improvements: multi-system dashboard, persisted Redis light registry with light configuration, read-only mode, id-based (instead of name-based) routes, bundled assets.
- Redis storage redesign: decomposed stores and a new stoplight:v6 keyspace.
- Fixes: Memory windows now use monotonic time; clock-skew handling around yellow-state computation, clearer RedLight message.
- Performance improvements - needs measurement.
Breaking changes that must be added to migration guide (UPGRADING.md):
Required documentation updates:
Other tasks:
What 6.0 includes
Stoplight()now registers/reuses a light andStoplight.light(name)is lookup-only.Stoplight.register_systemprovides isolated configuration/infrastructure per system.Stoplight.telemetry/system.telemetry, with run, breach, recovery, lock, registration, and transition events. Not yet ready, we may not include this into release notes.light.run(tracked_errors: …), the same forskipped_errorsBreaking changes that must be added to migration guide (UPGRADING.md):
Stoplight("payments", …)calls must have identical configuration or raiseConfigurationError.data_store,notifiers, anderror_notifier-- must move toStoplight.configureLight#withand the wholewith_*familyRequired documentation updates:
Other tasks: