Capítulo 4 de 43

Chapter 4: Releases & Versioning

Core Idea

Radix Primitives ships per-component semver releases (each primitive versions independently) rather than one monolithic library version — this chapter summarizes the versioning approach and the handful of milestone changes worth knowing, not the full changelog (45+ dated entries in the source, mostly individual bug-fix PRs).

Key Concepts

  • Per-primitive versioning: each component (Dialog, Select, etc.) has its own semver line; a release note batch often bumps many components together with different patch/minor numbers.
  • radix-ui unified package: the current recommended install; individually-versioned @radix-ui/react-* packages still exist and are still updated, but the unified package is the primary distribution going forward (see Introduction chapter).
  • React 19 / RSC compatibility: a milestone batch (2024) brought full React 19 and React Server Components compatibility across all primitives simultaneously.

Key Takeaways

  1. When bumping Radix in a project, check the specific primitive's own version history if you hit a regression — versions are independent per component, not global.
  2. Cross-cutting fixes (Escape-key propagation, roving-focus vs. browser hotkeys, hideWhenDetached interaction blocking, pinned react-remove-scroll) tend to land as coordinated multi-primitive releases — worth re-reading the "All primitives" entries specifically when upgrading a major version.
  3. For the exact PR/fix for a specific bug, consult the live changelog at radix-ui.com/primitives/docs/overview/releases or the GitHub repo directly — this skill intentionally does not mirror the full PR-level history.

Connects To

  • Introduction: the radix-ui unified package this changelog tracks.