Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
Fixed¶
actuator.enabled: falsenow actually disables the endpoints (every/actuator/*route answers404). Previously the setting was documented but never read.
Added¶
GET /actuator/metrics: Prometheus default-registry exposition behind themetricsextra; answers501when prometheus-client is not installed. Honors theAcceptheader:application/openmetrics-textgets an OpenMetrics exposition (with the mandatory# EOFterminator), anything else gets Prometheus text 0.0.4. Format validity is pinned by a test using the official parser.ActuatorSettings.check_timeout_seconds(default5.0): per-indicator time budget; a slower check reportsDOWNwith a timeout error.
Changed¶
- Health indicators now run concurrently (previously sequential); total probe time is bounded by the slowest indicator, capped by the timeout.
- Sync
check()methods execute in a worker thread, so a blocking probe no longer stalls the event loop.
0.1.0 - 2026-07-02¶
Added¶
ActuatorControllerexposingGET /actuator/health,/actuator/health/live,/actuator/health/readyand/actuator/infovia pico-fastapi.HealthIndicatorprotocol —@componentclasses are auto-collected throughList[HealthIndicator]injection;check()may be sync or async and return a dict or a truthy value. A raising indicator reportsDOWNin isolation.InfoContributorprotocol for dynamic/actuator/infoentries.ActuatorSettings(@configured, prefixactuator):enabled,show_components, staticinfomap.- Auto-discovery through the
pico_boot.modulesentry point. - Minimal runnable example under
examples/minimal/.