Skip to content

v0.11.0

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Mar 03:29
· 3 commits to main since this release
db97d9b

New collector

  • Added RouteViews locix.fra collector to the supported collectors list
  • Added RouteViews ixpn.lagos collector to the supported collectors list
  • Added RouteViews decix.fra collector to the supported collectors list

API improvements

  • Added live SSE notifications at GET {root}/events
    • Emits new_file events with BrokerItem JSON payloads
    • Returns 503 when the updater service is disabled in the current process
  • Added Prometheus metrics endpoint at GET {root}/metrics
    • Exposes bgpkit_broker_http_requests_total counter
    • Exposes bgpkit_broker_http_requests_duration_seconds histogram
    • Exposes bgpkit_broker_http_requests_pending gauge for active connections

SDK improvements

  • Added optional sse feature for subscribing to live broker notifications
    • Added BgpkitBroker::subscribe_new_files() async subscription API
    • Added SseSubscriptionOptions for client-side filtering by project, collector, and data type
    • Note: The bgpkit-broker live CLI command now uses SSE instead of NATS
  • Added result caching for SDK queries
    • Added BgpkitBroker::cache_dir() builder method to enable disk caching
    • Cache key generated from SHA256 hash of query parameters
    • Cache files stored as JSON in specified directory
    • Allows offline usage and reduces API calls during development
    • Different broker instances share cache if query parameters match

Code improvements

  • Started the local API before the first updater pass completes so existing databases remain queryable during startup
  • Stored canonical url and ts_end values in local database file metadata instead of reconstructing them on read
  • Parameterized local database search and meta queries to avoid string interpolation in SQL
  • Centralized timestamp, collector, project, data type, and page validation shared by SDK, API, and SSE paths
  • Seeded default item types when initializing a local broker database
  • Removed NATS notification feature and async-nats dependency to reduce attack surface

Security

  • Removed NATS feature and async-nats dependency
    • Eliminated 9 transitive dependency vulnerabilities (aws-lc-sys, quinn-proto, bytes, time)
    • Updated bgpkit-broker live command to use SSE subscription instead of NATS
    • Removed environment variables: BGPKIT_BROKER_NATS_URL, BGPKIT_BROKER_NATS_USER, BGPKIT_BROKER_NATS_PASSWORD, BGPKIT_BROKER_NATS_ROOT_SUBJECT
  • Updated dependencies via cargo update to pull in security fixes