diff --git a/CHANGELOG.md b/CHANGELOG.md index 6971bbc..fc26fb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,27 @@ All notable changes to PeerCortex are documented here. --- +## v0.7.1 — 2026-07-18 + +### Fixed +- **Network country field was always empty** — `/api/lookup`'s country derivation depended on two data sources that were never actually wired up, so `network.country` came back blank for every ASN regardless of source data quality. Now falls back to PeeringDB's organization-level country data (the same source already powering the network coverage map). Confirmed by the daily quality audit: previously 100% of sampled ASNs flagged `country_empty`. +- **RPKI validation query was subtly wrong** — a doubled CIDR suffix and an incorrect containment operator in the local Postgres RPKI check could misreport validation results. +- **ASPA verification algorithm corrected**, along with several places where the app was silently falling back to fake/placeholder data instead of surfacing a real error. +- **Bogon check** now correctly treats a database-unavailable error as "unavailable" instead of misreporting it as a real bogon result. +- Null-safety fix for lookups when PostgreSQL is temporarily unreachable. +- Fixed a startup crash triggered by an `Authorization: undefined` header when no PeeringDB API key is configured. +- Corrected the ASPA RFC citation and a broken submission-instructions link on the adoption tracker page. + +### Changed +- **13 previously unreachable API routes reconnected** (webhooks, hijack alerts, PDF export, ASPA adoption stats, IPv6 adoption) — then, once confirmed that none had any real caller, the now-redundant thin route glue was cleanly removed while keeping the underlying, independently-tested feature modules (hijack detection, PDF rendering, ASPA forecasting) intact for a future proper cutover. +- Removed a dependency carrying a critical RCE advisory and bumped `node-cron` to drop a transitive `uuid` vulnerability. + +### Technical +- Large internal refactor: the monolithic `server.js` was decomposed into focused modules under `server/routes/` and `src/features/` (caches, PeeringDB client, RPKI/ASPA services, lookup/validate handlers, etc.) — no intended behavior change, verified with a smoke-test regression harness plus the full 215-test suite. +- Added a CI build-verify workflow (syntax check, dangling-`require()` check, typecheck, build, test) that now runs on every push. + +--- + ## v0.7.0 — 2026-04-29 ### Added diff --git a/package.json b/package.json index 56fd9bc..450d556 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "peercortex", - "version": "0.7.0", + "version": "0.7.1", "description": "AI-Powered Network Intelligence Platform — MCP Server for PeeringDB, RIPE Stat, BGP analysis, RPKI monitoring, and peering automation. Powered by local Ollama.", "main": "dist/mcp-server/index.js", "types": "dist/mcp-server/index.d.ts",