Skip to content

Latest commit

 

History

History
80 lines (57 loc) · 7.13 KB

ROADMAP.md

File metadata and controls

80 lines (57 loc) · 7.13 KB

Surgewave Roadmap

Auto-generated from the Surgewave Project board. The Project is the canonical source for roadmap items, priorities, and version targets; this file is regenerated by scripts/generate-roadmap.mjs (CI: .github/workflows/roadmap-sync.yml) so the roadmap is also readable offline. Edits to this file are overwritten on the next sync — open / triage / move items on the Project instead.

For what's already shipped, see GitHub Releases (the authoritative changelog) and the per-feature ADRs under docs/architecture/.

Field conventions live in docs/contributing/project-board.md.

Next up

M6 — first stable

  • #5 G3 — Public benchmarks on identical hardware area:broker track:performance

Backlog

M1 — Hygiene: CI, dependencies, licences

M2 — Multi-tenancy & data mesh

  • #35 Tenants/Namespaces backend (/api/tenants) — MultiTenancy page is Preview
  • #36 Data-Mesh backend (/api/data-mesh) — DataMesh catalog is Preview
  • #67 Multi-instance Control: shared/replicated RBAC + alerting store

M3 — Streams & client parity

  • #42 Streams: cross-instance rebalancing for StreamsConsumer
  • #43 Native client: multi-broker bootstrap & failover
  • #44 StreamsProducer: transactional changelog writes
  • #45 Confluent compat: real partition assignment callbacks in Consumer

M4 — Protocol plugins & transport

  • Kuestenlogik/Surgewave.Connectors#9 G17 — Flink connector area:connect
  • #24 QUIC transport benchmark on real LAN/WAN area:broker track:transport
  • #25 QUIC retransmit statistics area:observability track:transport
  • #62 Surgewave.Client schema introspection for Bowire discovery (adopt Client.SchemaRegistry, drop Confluent)
  • #70 Config decoupling: native IConfiguration canonical, Kafka-style properties as an optional compat mapping layer
  • Kuestenlogik/Surgewave.Ai#8 G26 — AI pipeline cost tracking

M5 — Correctness & durability

  • #119 bug(clustering): topic configuration never reaches brokers that only host replicas
  • #162 feat(clustering): fence a broker that is reachable but not serving
  • #179 bug(tests): the replication stall is undone by the metadata log, so the failover class passes by luck area:clustering
  • #180 perf(clustering): re-election and ISR propagation are too slow to assert on within 60s area:clustering

M6 — first stable

  • #4 G1 — Native non-.NET clients (Python, Go, Rust) area:multi
  • #6 G4 — Real Jepsen run area:clustering track:cluster-correctness
  • #7 G12 — Cluster-linking-grade geo-replication area:clustering
  • #26 Branch protection for external PRs area:multi
  • #27 Getting-started video (5-minute demo) area:docs
  • #66 Fine-grained role authorization on the broker REST/gRPC surface
  • #153 Extract the client-side runtime (Core / Protocol / Transport / Client) into its own repository area:multi
  • #155 Publish reference assemblies for the commercial packages so their code compiles without shipping the implementation area:plugin-sdk

Later


Generated 2026-10-21 from Project #4.