Native Observability 1.1.1 Patch release on 1.1.0. Nine defects in data retention and capture, found by auditing the cleanup handlers, plus the test group annotations that Drupal 10 discovery requires and a quality gate that runs the five checks in one pass. Retention never deleted a span row. The threshold was built in seconds while started_at_ms stores epoch milliseconds, so with 30560 rows past a 24 hour window a run deleted none. The general capture switch governed the trace subscriber alone: 60 requests with capture disabled still wrote 780 rows, and with an OTLP endpoint configured still delivered spans to the collector. A page cache hit answered with the correlation id of the request that produced the cached copy, and its stored row carried no id at all. Tag invalidations had no per-request cap, and one request wrote 190 rows. A forced purge reported deleting nothing while removing 18672 rows, because it returned the result of TRUNCATE. UPGRADE NOTES - Run `drush updb`. Four update hooks run. - native_observability_update_10105 can raise trace_retention_hours, and prints why when it does: trace rows must outlive the rows that reference them. Review whether the longer window suits your privacy requirements. - native_observability_update_10106 rewrites stored request paths and reports how many it changed. - Rebuild caches immediately after deploying the files, before reopening traffic. This release adds a constructor argument to a middleware in the HTTP stack, so a warm container running new code fails every request until it is rebuilt.