[2.0.0] - 2026-08-13
Single-Process In-Process Architecture, Pydantic Hard Dependency, Deterministic Verdict Oracle, and Strict Static Typing.
Breaking Changes
- Elimination of
rootdDaemon: Removed socket daemongui/rootd.py,gui/api/rootd_client.py, andgui/api/deps.py. FastAPI web application andNetnsControllernow run directly in-process with root privileges. - Mandatory Pydantic Dependency:
pydanticpromoted to a mandatory core dependency ofnse/; eliminated all stdlib fallback dataclasses and stubs. - Consolidated Model Hierarchy: Deleted
nse/models/base.py.TopologyTypeandPacketSpecnow collapse to a single source of truth innse.models.test_request. - Target Orchestrator Signature: Rewrote
run_test_pipelinesignature to target standard request-driven API returninglist[TraceEvent]. - Purged Controller State: Removed
enqueue_test,release_test,has_test,get_status,get_event_queue, and_teststracking methods fromNetnsController.
Added
- Trace Harvester Readiness Probe: Added
wait_ready()inTraceHarvesterusingasyncio.Eventreadiness signal, eliminating hardcoded warm-up delay sleeps. - Uniform Naming & Startup Sweep: Created
nse.core.naminghelper withderive_names()and automated orphan netns/veth startup sweep inNetnsController. - Teardown Retry & Subprocess Timeouts: Implemented retry backoff in
destroy_netnsand enforcedtimeout=parameters across allsubprocess.runcalls. - Strict Static Typing & Import Boundaries: Enforced
mypy --strictacross all 22 source files and configuredimport-lintercontract preventingnse/from importinggui/. - MkDocs Web Documentation: Created comprehensive web documentation site powered by MkDocs Material and
mkdocstrings. - Local CI Automation: Added
make ci-localandmake docsMakefile targets.