Release notes — 1.2.0
Released 2026-07-26 with DNS Conduit 1.2.0.
Packaging
- Guide lab examples: Production tarballs and the
conduit.debship primary runnable configs from the Guides underexamples/(package path/usr/share/doc/conduit/examples/), including health, cache, failover, rule action order, metrics labs, dnstap, and the Rhai blocklist tree. See Install and run.
Metrics configurability
- Bases and categories: Prefer
metrics.base(none|minimal|standard) with optionalcategories.include/exclude.standardis a curated bundle, not the entire registry. A category listed in both include and exclude emits a warning and exclude wins. See Metrics configurability and Built-in metric registry. - Collect vs emit: Per-category and per-user-metric
collect/emit. Collect-only still costs hot-path recording; it only skips export. - Granularity:
granularity.defaultand per-family dimension lists; response rcode coarse vs IANA. - Event export axis:
metrics.event_export.{collect,emit}forconduit_events_*. - Overlay:
metricsallowed with deep merge. Plan changes apply live; Prometheus listen rebinds; OTLP reconnects; bind/reconnect failure rejects apply and keeps last-good. - Consumer validation: Write sites (
metrics.inc/inc_labels) with collect or emit off warn (increments no-op / series stay out of export) but validate/apply succeed — same model as built-in categories. Onbase: minimal, unlisted script metrics default to collect off; opt them in underuser_metrics(or usebase: standard) when you want them recorded. Future read APIs will reject collect-off while they still reference a metric. See User metrics. - User metric HELP: Optional
metrics.user_metrics[].helpsets Prometheus# HELPand the OTel instrument description forconduit_user_*(default remains Rhai user-defined metric when omitted). - Minimal includes health:
base: minimalincludes thehealthcategory (probe / backend health series when health is configured). - Process metrics:
processcategory (standard) exposes Linux scrape series for RSS, open/max FDs, thread count, and CPU seconds (conduit_process_*). See Built-in metrics — Process and build. - Uptime:
metaincludesconduit_uptime_seconds(monotonic seconds since process start, scrape-refreshed). Prefer it over deriving uptime fromconduit_start_time_secondswhen wall clocks may jump.
Upgrade from metrics.profile
Prefer metrics.base and collect / emit. Mapping for former profile and user_metrics[].export: Metrics configurability — Legacy aliases. Aliases remain accepted through the 1.x line (deprecation warnings); removal is scheduled for the 2.x breaking line.
All changes in this release (automated pull request list).