Skip to content

release: 1.0-rc — freeze public API, semver discipline #172

Description

@ch4r10t33r

Problem

We went from `0.1.8` to `0.1.15` in a single working session. Each one was a correct release-please cut, but the cadence reads as "still moving fast" to external consumers, and there is no public statement of which surfaces are stable vs. likely to break in the next minor.

Before any zig-libp2p announcement to the broader Zig / libp2p audience we need a 1.0-RC that:

  1. Freezes the `root.zig` public re-exports as the stable surface.
  2. Locks the QUIC + libp2p TLS wire (covered by tests + the cross-impl matrix, but make the commitment explicit).
  3. Documents what's deliberately not stable (Noise XX SSP, async swarm, anything still under Consider std.Io async / co-scheduled swarm (zig-async-style) as follow-on to threaded runtime #57 or feat: Resource Manager (rcmgr) scope-based limits #169).
  4. Adopts a written semver-breakage rule ("breaking changes only with a major") going forward.

Scope

Out of scope

Actual ecosystem-feature parity with go-libp2p (DHT, relay, NAT). 1.0 here means "the lean-consensus / Eth2 subset is stable", not "feature parity with the largest libp2p in the ecosystem".

Acceptance

  • `docs/STABILITY.md` merged.
  • `v1.0.0-rc.1` published via release-please.
  • README announces the freeze; CHANGELOG documents the semver rule.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions