Migration and Versioning
Compatibility rules for package consumers and maintainers.
EnterUI follows the workspace release policy documented in Changesets. Public contracts include exported component names, prop names, CSS entry points, documented class names, and documented CSS variables.
#Semver Rules
- Patch: bug fixes, tests, docs, non-breaking accessibility semantics, and package metadata fixes.
- Minor: new components, new props, new variants, new CSS variables, and additive exports.
- Major: removed exports, renamed props, changed default behavior, removed CSS classes, removed CSS variables, or migration-required markup contract changes.
#Migration Steps
- Read the package changelog and Changesets release notes.
- Update
@froggdesign/enter-uiand@froggdesign/themetogether when theme variables are involved. - Run typecheck and app build.
- Run keyboard checks for critical dialogs, menus, forms, and tables.
- Verify visual regressions separately in the consuming app.
#API Stability Rules
- Prefer additive props over replacing existing props.
- Keep
classNameand native element prop pass-through behavior. - Keep controlled and uncontrolled behavior documented for stateful components.
- Do not deep import internal modules. Use the package public entry point.
- Add a Changesets entry for every public package change.
#Known Limitations
- EnterUI does not ship an app-level focus management policy. Product apps own route transitions, skip links, page titles, and live-region strategy outside component scope.
- Portal content requires browser or jsdom tests for open-state assertions.
- Button does not currently expose a first-class
loadingprop. Usedisabledand explicit content until a loading API is added.
