Skip to content

v2.0.0

Latest

Choose a tag to compare

@onyks-os onyks-os released this 14 Aug 14:51
· 1 commit to main since this release
8beefcb

[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 rootd Daemon: Removed socket daemon gui/rootd.py, gui/api/rootd_client.py, and gui/api/deps.py. FastAPI web application and NetnsController now run directly in-process with root privileges.
  • Mandatory Pydantic Dependency: pydantic promoted to a mandatory core dependency of nse/; eliminated all stdlib fallback dataclasses and stubs.
  • Consolidated Model Hierarchy: Deleted nse/models/base.py. TopologyType and PacketSpec now collapse to a single source of truth in nse.models.test_request.
  • Target Orchestrator Signature: Rewrote run_test_pipeline signature to target standard request-driven API returning list[TraceEvent].
  • Purged Controller State: Removed enqueue_test, release_test, has_test, get_status, get_event_queue, and _tests tracking methods from NetnsController.

Added

  • Trace Harvester Readiness Probe: Added wait_ready() in TraceHarvester using asyncio.Event readiness signal, eliminating hardcoded warm-up delay sleeps.
  • Uniform Naming & Startup Sweep: Created nse.core.naming helper with derive_names() and automated orphan netns/veth startup sweep in NetnsController.
  • Teardown Retry & Subprocess Timeouts: Implemented retry backoff in destroy_netns and enforced timeout= parameters across all subprocess.run calls.
  • Strict Static Typing & Import Boundaries: Enforced mypy --strict across all 22 source files and configured import-linter contract preventing nse/ from importing gui/.
  • MkDocs Web Documentation: Created comprehensive web documentation site powered by MkDocs Material and mkdocstrings.
  • Local CI Automation: Added make ci-local and make docs Makefile targets.