Repository navigation
v0.6.0
Packeteer v0.6.0 closes the gaps found in the 2026-10-07 review of prefix selection, measurement, and the UI, and adds hardening across every steering surface.
Highlights
- Prefix selection and measurement (#113, #116–#121, #123–#125): probe targets as candidates, host qualification by reply count and RTT spread, a remembered prober per host, indirect probing for silent targets, RTT thresholds with confirm rounds, and flow volume floors.
- Scale (#125, #217): the probe scheduler and load budgets grow with table size, up to a 5M-path
largeprofile, and caps are metered. - UI (#126, #129–#131, #170–#183, #196, #226): a left-nav shell with a page per area, sign-in, users and tokens, events and audit, time-series graphs, a paginated prefix list, settings forms for every source and policy, a manual probe, and upgrade and rollback from Settings.
- Live apply (#128, #233): thresholds, policies, sources, and inbound and mitigation settings apply on reload without a restart. A shrunk allowlist withdraws on the wire.
- Safety additions: flap quarantine (#228), leak watch (#199, partial), exchange peering LANs are excluded from probing and the allowlist (#145), and a failure-mode e2e matrix across outbound, more-specific, inbound, mitigation, and HA (#234).
- Repo hygiene (#223, #240): lint, staticcheck/deadcode, and security scanning in CI.
Safety (unchanged)
- Default mode stays
observe. Inject still requiresmode: inject, an allowlist, the configured community + NO_EXPORT, themax_improvementscap, and hold time/thresholds. - Packeteer never announces a prefix that is not in the learned RIB view. The opt-in synthesized more-specific block (#122) is not in this release.
- Packeteer-originated routes are withdrawn on shutdown, SIGTERM, probe-source loss, stale data, or RIB session loss. No graceful restart.
- BGP behavior in this release is lab-proven only (simulated routers in CI, documentation prefixes and private ASNs), not on a public edge.
Image: ghcr.io/grandarcher/packeteer:0.6.0 (also :0.6 and :latest once the publish workflow finishes). See CHANGELOG.md for details.
What's Changed
- #54 drop it from the v0.5 tag gate by @GrandArcher in #101
- #102 form settings by @GrandArcher in #107
- #103 opt-in 3M route lab profile by @GrandArcher in #108
- #106 setup wizard by @GrandArcher in #109
- #104 automatic probe targets by @GrandArcher in #110
- #105 MED display and ASN map by @GrandArcher in #111
- #115 IRP_PARITY recount: partial rows, six new rows, field-proven column by @GrandArcher in #139
- #114 charter: opt-in synthesized sub-ranges under rails by @GrandArcher in #138
- #113 flow hosts are probe candidates, not pins by @GrandArcher in #140
- #116 keep improved prefixes probed by @GrandArcher in #141
- #117 RTT percent and confirm rounds by @GrandArcher in #142
- #120 remember which prober a host answers by @GrandArcher in #144
- #146 label route servers separately from bilateral peers by @GrandArcher in #168
- #145 exclude exchange LANs from probes and allowlist by @GrandArcher in #169
- #119 qualify probe hosts by reply count and RTT spread by @GrandArcher in #185
- #118 flow volume floor and a slower tier past top_n by @GrandArcher in #186
- #127 persist 95th-percentile samples across restarts by @GrandArcher in #187
- #121 measure sub-ranges inside a large learned prefix (observe only) by @GrandArcher in #188
- #123 trace silent prefixes per provider and score each at its own hop by @GrandArcher in #189
- #132 part 1: local_pref per cause and provider by @GrandArcher in #191
- #132 part 2: extra and large communities by @GrandArcher in #192
- #132 follow-up: lab-check per-cause local_pref by @GrandArcher in #193
- #190 HA lab waits on the lease file by @GrandArcher in #194
- #171 fix unreadable mode chip, widget titles, times, and provider labels by @GrandArcher in #195
- #124 outage detection from traceroute hop ASNs and alternate paths by @GrandArcher in #197
- #170 left navigation with a page per area by @GrandArcher in #198
- Docs: make Packeteer stand alone (remove competitor references) by @GrandArcher in #220
- #128 apply thresholds, policies, and sources without a restart by @GrandArcher in #219
- #112 keep load-test RSS growth under 256 MiB by @GrandArcher in #218
- #129 Before/after loss and latency graphs (all, problem, 20%, 50% better) by @GrandArcher in #222
- #125 probe scheduler commits per prefix and counts passive prefixes by @GrandArcher in #216
- #130 settings forms for flow, rules, VIP, outage and a wizard flow step by @GrandArcher in #225
- #131 UI forms for mitigation, inbound, and anomaly rules by @GrandArcher in #231
- #223 repo hygiene: lint, Makefile, security scanning, docs by @GrandArcher in #238
- #176 sign-in page and sign-out for local users by @GrandArcher in #241
- #175 User and API token pages by @GrandArcher in #255
- Bump modernc.org/sqlite from 1.60.0 to 1.60.1 by @dependabot[bot] in #252
- Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #251
- Bump github.com/gosnmp/gosnmp from 1.42.1 to 1.45.0 by @dependabot[bot] in #250
- Bump google.golang.org/protobuf from 1.36.11 to 1.36.12 by @dependabot[bot] in #249
- Bump gitleaks/gitleaks-action from 2 to 3 by @dependabot[bot] in #247
- Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #245
- Bump golangci/golangci-lint-action from 8 to 9 by @dependabot[bot] in #243
- Bump alpine from 3.20 to 3.24 by @dependabot[bot] in #242
- #87 herd design doc by @GrandArcher in #143
- #173 Events and audit log page by @GrandArcher in #258
- #179 click-through from an improvement to prefix detail and history by @GrandArcher in #263
- #199 leak watch withdraws and holds out an injected route seen outside the AS by @GrandArcher in #253
- #240 nightly cleanup 2026-10-11 by @GrandArcher in #256
- #180 render traceroute and looking glass results as tables by @GrandArcher in #264
- Bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.5 by @dependabot[bot] in #246
- Bump github.com/oschwald/maxminddb-golang/v2 from 2.6.0 to 2.7.0 by @dependabot[bot] in #248
- Bump actions/checkout from 4 to 7 by @dependabot[bot] in #244
- #226 Settings forms edit every source and policy by @GrandArcher in #259
- #183 paginate the measured-prefix list by @GrandArcher in #266
- #233 inbound and mitigation honor live mode, hold_time, and TTL by @GrandArcher in #265
- #228 flap quarantine parks prefixes that keep flipping providers by @GrandArcher in #267
- #196 upgrade from the UI: version check, one-click upgrade, rollback by @GrandArcher in #239
- #217 scale limits and load budgets grow with table size by @GrandArcher in #268
- #234 failure-mode e2e matrix across every injection surface by @GrandArcher in #269
- #126 manual probe: hostname, current vs best, queue the covering prefix by @GrandArcher in #270
- #240 clean up staticcheck, dead code, CHANGELOG bloat; slop checks in lint by @GrandArcher in #271
- #272 pace indirect trace packets and check Optimize setup before spending a token (#274) by @GrandArcher in #276
- #275 fakeTracer race fixed with a mutex by @GrandArcher in #278
- #273 refuse Probe and optimize for a prefix inside an exchange LAN by @GrandArcher in #279
- nightly cleanup 2026-10-13 by @GrandArcher in #277
New Contributors
- @dependabot[bot] made their first contribution in #252
Full Changelog: v0.5.0...v0.6.0
Verifying upgrades
Release binaries are covered by SHA256SUMS; SHA256SUMS.sig is a base64 Ed25519 signature over SHA256SUMS. To use the Settings upgrade (#196), pin the release public key (not a secret):
upgrade:
enabled: true
public_key: "xbP7Os7YIqfBhu36+E+WK0xvTizFyPROA1QCAseqEkA="A release whose signature or checksum does not verify is never switched to. See CONFIG.md.