Adopt flowscope 0.22 (bundles 0.21): version bump, migration & inherited fixes #132
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
roadmap
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
marcpardo/netring#132
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
flowscope 0.22.0 published 2026-07-03 (it bundles the never-published 0.21.0 — one bump absorbs both waves). netring is on 0.20. This issue tracks the version bump + migration; the new-capability adoption rides the existing roadmap issues (#127 #128 #130 #121 #120 #122 #124), each updated with the concrete 0.22 APIs.
Breaking changes that hit netring (verified against master)
flowscope::parser_kindsremoved (flowscope#139). All five builtinProtocol::NAMEconstants use it:src/protocol/builtin/{icmp,tls,dns,tls_handshake,http}.rs(e.g.icmp.rs:21). Migrate to the per-modulePARSER_KINDconstants (unchanged) orParserKind::as_str()— slugs are byte-identical, no wire change.OwnedAnomaly::newtakes typedDetectorKind(flowscope#133).src/anomaly/eve_sink.rs:103builds with a&'static strkind → wrap inDetectorKind::Other(kind). Serialization is byte-identical (each variant emits the 0.20 slug), so EVE/NDJSON consumers are unaffected.DetectorScore::name()→kind() -> DetectorKind(flowscope#131/#133). netring re-exportsDetectorScore(src/anomaly/mod.rs:65, prelude) — auditdetector_macro.rsand thepattern_detector!examples; downstream impls ofDetectorScoremust rename.FlowEvent::Packet/Event::Packetare variant-level#[non_exhaustive]+ gainsource_idx: Option<u32>(flowscope#121). Match sites need..(src/monitor/run.rs:1796,2532,2770); netring-side synthetic construction (src/async_adapters/session_stream.rs:484,754,790tests) must go throughflowscope::test_helpers::events.QuicUdpParseris stateful (flowscope#135) — netring already callsQuicUdpParser::new()(src/protocol/builtin/quic.rs:41), so this compiles as-is, but note it now keeps per-DCID CRYPTO reassembly state (bounded: 1024 conns, 5 s TTL); itson_tickmust keep being driven (datagram streams already do).Fixes netring inherits by bumping (worth release-note callouts + tests)
on_icmp_error/IcmpErrorpath was silently blind to ICMPv6 Destination Unreachable (incl. Address Unreachable) and mislabeled v6 Time Exceeded. Add a regression test on the netring side; this likely changes observed event streams for IPv6-heavy deployments (in the good direction).TlsFingerprint/ QUIC-SNI features. NewTlsClientHello::{key_share_groups, pq_key_share}+TlsHandshake::pq_key_shareare worth surfacing onTlsFingerprint.v4_only()/v6_only()are now true family filters — check the.icmp_v4_only()/.icmp_v6_only()builder docs still describe reality.Cheap wins to take in the same bump
DetectorKind::attack_technique()— prereq for #127 (ATT&CK tagging); the EVE writer already emitsanomaly.attack_techniqueupstream, so netring'sEveSinkparity is worth checking.flowscope::fingerprintunified namespace — prereq for #128; also consider re-exporting it as netring's one fingerprint import site.correlate::BandwidthByKey<K>+Attribution+ByteSemantics— the upstream half of #130 now exists.dns::NameMap(pDNS, provenance-tagged, TTL-driven) — the natural enrichment store for #120's DNS handler.correlateprimitives (EwmaVar,FirstSeen,CountingBloomFilter,Cusum/PageHinkley,DdSketch/WindowedQuantiles) — feed #121/#122; no netring action needed beyond the re-export audit ofnetring::correlate.Process
Same lockstep pattern as the 0.20 bump (#108): bump + mechanical migration first (this issue), capability adoption as separate PRs under their own issues.
docs/migration-0.20-to-0.21.md+docs/migration-0.21-to-0.22.mdupstream are the reference. Run the netring migration doc (docs/MIGRATING_0.28_TO_0.29.md) for whatever surfaces change.Done in
cda7a3d(0.29.0). Bumped flowscope 0.20 → 0.22;flownow pullsflowscope/analysis. Adopts typedDetectorKind(+ATT&CK),Detector/DetectorRegistry,app_proto,NameMap,BandwidthByKey,WindowedQuantiles,IpFragmentReassembler. All downstream mechanical breaks fixed;just cigreen.