Public plan toward stabilising yew-nav-link at 1.0. Anything here is a
target, not a promise; the GitHub milestones track the
authoritative cutline of each release.
Released. Status: closed; no further patches. The active line is 0.10.x.
- 0.9.0 dropped the macros feature.
- 0.9.1 replaced the multi-page demo with a single-file SPA, fixed the
use_breadcrumbssegment-loop shadow binding, and SPDX-tagged every source file. - 0.9.2 surfaced
BreadcrumbLabelProviderat the crate root. - 0.9.3 made
BreadcrumbLabelProviderContextpart of the public API so consumers can actually inject a provider (the trait alone was reachable but inert). - 0.9.4 fixed
normalize_path./..resolution, madeurlencoding_decodeUTF-8 aware, and stoppedpagination_pagepanics on adversarial inputs.
Released 2026-05-10. Status: maintained.
The breaking-change pass before 1.0 — four targeted breakages consumers upgrade through in one hop:
NavErroris#[non_exhaustive], leaving room for new variants under semver-minor.BreadcrumbLabelProviderContext's tuple field is private; construct via::newand read via.provider().- The orphan
route_params.rsmodule is removed; migrate touse_route::<R>()with aRoutableenum. - Active
NavLinkemitsaria-current="page"on the rendered<a>for screen-reader-correct active state.
The line's MSRV is Rust 1.96 (rust-version in Cargo.toml), enforced by
CI's MSRV matrix on Linux/macOS/Windows.
Subsequent 0.10.x patches address CI, dependency bumps, and documentation only — no public API changes.
Target window: earliest 2026-08, after 0.10.x has spent at least one quarter in the ecosystem with no public API changes. Status: dependent on 0.10 feedback.
The 1.0 commitment is small and deliberately boring:
- Public API freeze. Every name re-exported from
lib.rsbecomes a semver-stable surface; subsequent breaking changes require a 2.0. - Documented backwards-compatibility window in
SECURITY.mdanddocs/REQUIREMENTS.md: how long 1.x receives security patches. - Migration guide from 0.x in
CHANGELOG.mdfor the major bump.
Nothing about 1.0 is meant to be flashy. It is the version we keep shipping for years.
Tracked in GitHub Discussions, not committed to:
- SSR support: yew-router supports it, but the active-state hooks have not been tested under SSR.
- Optional
axum-router-style integration helpers for projects that generate theirRoutableenum from a backend. - A standalone
aria-currentconsumer hook for projects that build their own link components but want yew-nav-link's matching algorithm.
Open an issue with the enhancement label and a clear use case. Concrete,
narrow proposals beat large redesigns; we will steer toward what existing
consumers actually need.