Skip to content
Documentation Prelude Collector

Release Notes

Changes in each Prelude Collector release.

Each section below covers one release, newest first. Entries are append-only — shipped releases are not edited retroactively.

When a release contains breaking changes — anything that requires you to change configuration, update a downstream consumer, or alter operational habits when moving from one version to the next — it surfaces them under a dedicated Breaking changes heading. Read that section first before upgrading.

Version 1.1.1 — 2026-07-21

Highlights: Data models are now organized into families with independent, SemVer-tracked versions, and subscriptions can pin a model version or track the latest automatically. A new on-demand Capture API returns the freshest reading for a device or subscription. This release also adds a TimescaleDB output and InfluxDB 1.x support, SSH host-key verification for CLI and NETCONF, an Activity audit log, and a refreshed interface.

Added

  • Model families and versions — every data model belongs to a family and carries a SemVer version. Create and run multiple versions of a model side by side; the models list groups them by family with a safe family-wide rename. See Data models.
  • Version pinning for subscriptions — pin a subscription to a specific model version, or leave the version blank to always track the latest active version. The model version appears as a badge in the subscriptions list, subscription details, and the device view, and is carried through GitOps export/import. The Data Explorer and telemetry are version-aware.
  • On-demand Capture API — request a fresh reading for a device and model or for a subscription without waiting for the next poll, with a max-age control for staleness and a timeout to bound the wait; disabled protocols are skipped. See Snapshots.
  • TimescaleDB output — stream collected data to TimescaleDB. See Outputs.
  • InfluxDB 1.x support — the InfluxDB output now works with all InfluxDB 1.x (1.0–1.8) servers in addition to 2.x. See InfluxDB output.
  • Activity audit log — a new Activity page records configuration changes as an auditable trail.
  • Group-based user management — user access is now managed through Groups.
  • CLI session trace — optionally record an SSH session trace per protocol to troubleshoot CLI collection; off by default. See CLI protocol.

Changed

  • Refreshed interface — a redesigned application shell with new navigation, updated components and icons, and live in-page updates across the device and protocol views.
  • gNMI encoding is auto-detected — the collector probes each device's capabilities and selects a supported encoding automatically. See gNMI protocol.
  • Unified subscription status — per-protocol states now roll up into a single subscription status; the Received and Output Rate columns were removed from the subscriptions list.
  • Health startup grace — subscriptions are given a short grace period at startup before being flagged as receiving no data.
  • Bulk protocol configuration — add the same protocol to many devices at once from a guided modal.

Fixed

  • SNMP MIBs blocked by a missing dependency are now surfaced in the MIB Manager, distinguished from MIBs whose file is missing on the collector, and resolve automatically once the dependency is uploaded.
  • YANG device-catalog augmentations resolve correctly, the nearest vendor release is matched, and the browsable node count is shown; SR Linux YANG can be imported from a branch of a vendor repository.
  • Cross-vendor mapping comparison is clearer and safer — sampling gaps are classified separately from real divergences, and the destructive normalize-all action is replaced with a safe auto-fix.
  • A field mapped from a gNMI list key (for example an interface name) is now populated from the path key.

Security

  • SSH host-key verification (trust on first use) — CLI and NETCONF connections record each device's SSH host key on first connect and verify it on every later connection, rejecting a changed key as a possible machine-in-the-middle. A per-protocol Skip host-key verification option remains for lab and self-signed environments. See Breaking changes.

Breaking changes

  • Subscriptions reference models by family and version. Existing subscriptions are migrated automatically; a subscription with no pinned version tracks the latest active version of its model family.
  • SSH host keys are now verified. The first connection to each CLI/NETCONF device records its host key; later connections fail if the key changes. Existing devices are trusted on their next connection after upgrade.

Upgrade notes

  • No action is required for the model family/version migration — it runs automatically on first start.
  • After upgrading, the first CLI/NETCONF connection to each device records its SSH host key. If you replace a device or regenerate its host key, its connections will fail on the mismatch until you re-trust the new key with the Fetch host key button on the protocol.

Version 1.1.0 — 2026-06-23

Highlights: Configuration is now fully environment-driven — docker compose up -d brings the collector up with no config file. This release adds bidirectional GitOps configuration sync, user-defined vendor profiles that drive CLI/SSH and collection behaviour, CSV bulk import of devices, per-subscription output routing, and a declarative SNMP lookup join for enriching rows. The web UI gains a redesigned navigation, a guided onboarding flow, and a persistent Data Explorer.

Added

  • GitOps configuration sync — keep your collector configuration in a Git repository, with changes flowing both ways. Export devices, data models, subscriptions, transforms, and output backends to a Git remote as a versioned, tagged commit; pull Git-side edits back through a previewed reconcile where Git is the source of truth. Works with GitLab or GitHub over HTTPS, in JSON or YAML. Secrets (device credentials, output secrets) are never written to Git. See GitOps configuration sync.
  • Vendor profiles — define reusable, schema-validated profiles per network OS that drive collection end to end: SSH/CLI session behaviour (prompt and error patterns, auto-responses), default gNMI encoding and path origin, and default NETCONF port. Profiles ship with a structured create/edit form, JSON/YAML export, revision history with diff and restore, and a full REST API. Built-in vendor defaults work out of the box; your edits are preserved across upgrades. See Vendor profiles.
  • Bulk device import from CSV — onboard many devices and their protocols at once from the Devices page. One row per device/protocol, multiple protocols per device, with a downloadable template and a per-row summary of what was created, skipped, or rejected.
  • Per-subscription output routing — choose which output backends each subscription feeds. The default stays broadcast (every enabled output); pin a subscription to a subset from either the subscription editor or the output settings.
  • SNMP foreign-data lookup (join) — enrich each SNMP row with a value joined from a second OID table, rebuilt every poll — a dynamic alternative to a static value map. Configured per mapping with a Test Lookup helper; ships with IS-IS neighbour-hostname resolution working out of the box.
  • Data Explorer — a persistent page to browse the data flowing for any device and model, with expandable rows and filters that can be pre-set from a subscription. Replaces the old per-subscription Message Capture page (a View in Data Explorer button links straight to the filtered view).
  • AI onboarding improvements — the AI wizard now validates paths and OIDs, can test against a real device in-wizard, and runs a device-grounded feedback loop. AI provider settings can be deleted or reset from the UI and the REST API.
  • Redesigned navigation and guided onboarding — a collapsible, labelled sidebar; a pipeline ribbon with per-stage tooltips and click-through to Health detail; a "data flowing end-to-end" tile on the dashboard; and an Outputs step added to Getting Started.
  • Unified device test hub — testing against a device (including raw CLI commands) is consolidated into a single test hub.
  • Pause / resume collection per device — toggling a device active/inactive now starts and stops its live collection.
  • Model coverage at a glance — the model list now shows each model's protocol and OS coverage.
  • Transform import/export — re-enabled transform import, with per-row export.

Changed

  • Configuration is now environment-driven. All settings are provided via COLLECTOR_* environment variables layered on built-in defaults; config.json is no longer used. See Breaking changes and Upgrade notes.
  • Bundled PostgreSQL image bumped from 16 to 18. New deployments use postgres:18-alpine. Existing deployments need a migration step — see Breaking changes and Upgrade notes.
  • The free-tier device cap is enforced — the free tier allows 20 active devices. Creating or activating a device past the cap is rejected (inactive devices never count).
  • License expiry suspends collection. When a license lapses past its grace period, running subscriptions are suspended and automatically resume when the license validates again; subscriptions you disabled by hand are left alone.
  • The per-subscription Message Capture page has been retired in favour of the Data Explorer.

Fixed

  • gNMI subscriptions that wedged now recover automatically, and the enabled/disabled toggle is honoured reliably on edit (idempotent unsubscribe; the engine reconciles on an API enabled-toggle).
  • Health reporting is more accurate: the high-latency threshold now scales with the collection interval (no more false alarms on slow-but-healthy subscriptions), and pipeline health is shown in severity tiers without false-positive output errors.
  • Collection correctness: probe/test runs no longer clobber a protocol's real status; the model registry reloads on model/mapping/field edits; and unresolved subscriptions re-subscribe after a model reload.
  • Device and protocol deletes now cascade correctly, and idle protocols are distinguished from failed ones in status badges.
  • A range of UI fixes across the data explorer, model and subscription modals, transform picker, licensing modal, and vendor-profile list.

Breaking changes

  • config.json is no longer read. Configuration has moved entirely to COLLECTOR_* environment variables. A deployment that relied on a mounted config.json must migrate its settings to environment variables (or an .env file) before upgrading. See the Configuration guide and Configuration reference.
  • Bundled PostgreSQL moved from 16 to 18. PostgreSQL cannot start on a data directory initialised by an older major version, so an existing postgres-data volume created under 16 will not come up under 18. New installs are unaffected; deployments using an external, self-managed PostgreSQL are unaffected. See Upgrade notes for the migration path.

Upgrade notes

  • Move every value you previously set in config.json to the matching COLLECTOR_* variable (the shipped .env.example lists them all). With those in place, docker compose up -d needs no config file.
  • PostgreSQL 16 → 18. If you run the bundled PostgreSQL, your existing postgres-data volume was initialised by PostgreSQL 16 and will not start under 18. Choose one path before upgrading:
    • Stay on 16 — pin the image back to postgres:16-alpine in your docker-compose.yml (or Podman Quadlet unit). The collector runs against both, so this is the zero-downtime option.
    • Migrate to 18 — back up the volume, then dump the database from a 16 container with pg_dump, start a fresh 18 volume, and restore into it with pg_restore/psql (or run pg_upgrade).
Filtering by: