1.0.0 — 2026-09-05
- Select
1.0.0as the first public Hex release target and adopt Semantic Versioning for the stable component, stylesheet, fallback, and package contracts. - Preserve the earlier
0.1.0qualification records as historical evidence; the1.0.0archive, clean-consumer trial, CI, review, gallery identity, Hex publication, and public tag remain distinct release gates. Publish the checksum-bound package and generated documentation to Hex; retain public tag verification as the separate next gate.
Milestone F Phase 6 — unreleased
- Add deterministic release and health manifests with canonical identity, hashed local assets, complete static health targets, and secret rejection.
- Keep pull-request CI verification non-publishing, deploy the stateless controller-rendered gallery as an immutable Fly.io release, strengthen canonical smoke, and document image-identified rollback and recovery.
- Reconcile all 38 Milestone F requirements while keeping qualification blocked on exact-revision clean reproducibility, manual accessibility, deployed-source review, and final CI; SpecLed, Fly health, and canonical deployment smoke pass independently.
Milestone F Phase 5 — unreleased
- Add committed-input candidate builds with output inventories and a disposable
clean-checkout runner for the internal
0.1.0archive. - Add an isolated Phoenix consumer that installs the actual archive through a temporary signed Hex repository, compiles representative public HEEx, and serves the packaged stylesheet without a path dependency or consumer asset tooling.
- Record candidate qualification as blocked while mandatory manual, CI, integration, and SpecLed gates remain unresolved. No Hex publication, public tag, platform certification, marketplace listing, or upstream affiliation is claimed.
Milestone F Phase 3 — unreleased
- Publish complete component/API, installation, capability/fallback, controller,
Dstar, LiveView, upgrade, rollback, and provenance guidance for the internal
0.1.0candidate. - Keep gallery tooling, application transport, state, routes, runtime scripts, CI, deployment, and manual review outside the package API and release claims.
- Compile and render transport-shaped examples through the same public imports; no new component family or package JavaScript runtime is introduced.
Milestone E Phase 6 — unreleased
- Complete the A–E catalogue audit, composition navigation/breadcrumbs and all Motion/Media publication smoke routes.
- Group all six public modules in ExDoc and add a compiled composition guide covering native semantics, bounded work, ownership, fallback and provenance.
- Add final cross-engine gallery and fixed 1/8/24-item budget acceptance, retaining explicit manual, CI, local runner and publication limitations.
Milestone E Phase 5 — unreleased
- Add responsive Image Gallery with validated keyed media, native responsive hints, explicit alt intent, escaped/keyed trusted captions and real destinations.
- Compose existing native Dialog lightboxes with bounded contain images, complete captions, explicit close and inherited focus/dismissal; no slideshow state.
- Add the full local image-gallery composition, component reference, static export coverage and reviewed origin-effect deferral. No component runtime.
Milestone E Phase 4 — unreleased
- Add named native Scroll Indicator with scoped, neutral-fallback decoration.
- Add structured Cover Flow over Carousel with gated image-only depth and flat fallbacks.
- Add both reference pages, real composition examples, provenance and three-engine evidence.
All notable changes to ShadcnUI will be documented in this file.
Unreleased
Add static-first Marquee with a native finite-preview checkbox, persistent stop/reset/replay and a safe inert decorative duplicate. Add keyed Stagger with visible defaults, explicit wrappers and a one-second entrance budget.
Publish the Motion category, both complete references and a native motion- preferences composition, including no-script theme-preserving static export.
Add native Carousel with a named scroll region, keyed ordered content, real fragment index, closed snap/alignment and focus-first oversized-card access. Deliver the Media reference and local media-browser composition immediately, with no component runtime, generated controls, clones or slide state.
Keep gallery reference grids within narrow viewports and verify actual no-script static navigation through directory redirects and local images.
Establish Milestone E capability evidence, shared internal media/motion contracts and scoped suppression without new public components or runtime. Add the capability gallery page, closed local media export and no-script theme/motion inspection, with three-engine foundation and static-export tests.
Correct dark destructive-button contrast, wrap narrow Drawer headers to keep exits reachable, and exclude stale copied assets from the gallery export.
Complete the Milestone D catalogue with seven dedicated overlay/supplemental references, a reviewed three-engine capability matrix, and four local-only compositions. Include canonical routes, complete ordinary alternatives, deterministic publication, public API guidance and release-boundary evidence.
Add link-owned Hover Card with a constrained noninteractive HEEx preview, ordinary navigation fallbacks, and no interest events or client loading.
Add CSS-first Tooltip with one text-labelled native trigger, a protected accessible description, and explicit supplemental-only fallbacks.
Add Dropdown Actions with stable text-labelled native controls, optional groups/separators, native form attributes, and explicit non-menu ownership.
Add native nonmodal Popover with protected invoker relationships, logical anchor placement, auto/manual modes, and bounded progressive fallbacks.
Add a native modal Drawer with logical start/end/bottom presentation, protected commands and focus relationships, and an explicit ordinary-page fallback.
Add native Dialog with declarative invocation, closed dismissal and focus policies, explicit fallback and exit regions, and browser-owned modality.
Add consequential Alert Dialog with fixed close-request dismissal, least-destructive cancel focus, and a caller-owned native action region.
Complete Milestone C with native Accordion, destination Navigation Menu, Header and Section Header compositions, Scroll Area, Separator, and honestly named Radio Panels with progressive CSS fallbacks and no package JavaScript.
Add Disclosure, Navigation, and Content Surfaces gallery categories, seven component reference pages, and controller-rendered documentation, settings, and application-shell compositions to the deterministic static export.
Add Milestone C semantic comparison guidance, pinned provenance mappings, browser fallback coverage, and independently distributable candidate evidence.
Complete Milestone B with the closed Forms gallery, 15 focused component pages, sign-in/profile/settings compositions, a harmless native-submission fixture, static fallback evidence, provenance, and milestone acceptance.
Initialize the independent Mix package and SpecLed workspace.
Define Milestones A through F for the component library and online gallery.
Establish the transport-neutral public import and release-file boundary.
Pin and document the reviewed unscripted/ui source provenance and MIT notice.
Add the native Button component with closed variants, sizes, slots, and presentation-only loading state.
Add the passive Badge component with four closed semantic variants and no link, button, selection, or dismissal behavior.
Add the Alert component with explicit announcement policy, composable icon and actions regions, and caller-owned lifecycle behavior.
Add the Card component with deterministic composable regions and no inferred navigation, selection, data, or workflow behavior.
Add the initials-first Avatar component with optional caller-owned imagery, closed sizes, and bounded stack presentation.
Add the decorative Skeleton component with closed geometry, protected hidden semantics, and a static reduced-motion fallback.
Add the separate controller-rendered Foundation gallery, closed catalogue, one reference page per component, local fingerprinted assets, and deterministic static export.
Add GitHub Pages publication metadata, consumer and maintainer guidance, grouped ExDoc configuration, and the audited internal
0.1.0release boundary.Add the shared Milestone B form normalization and deterministic accessibility contract plus Field, Label, Help, Field Errors, and Error Summary primitives.
Add the native text-like Input component with closed types, native constraints, optional presentational regions, and caller-owned pending state.
Add the native Textarea component with closed resize policies, escaped content, and capability-gated CSS content sizing over a stable native fallback.
Add the native Checkbox component with explicit boolean sentinel and repeated- value modes, shared relationships, and caller-owned checked state.
Add the native Radio Group component with validated stable option identity, fieldset semantics, scalar selection, and group or option disabled states.
Add Switch as a track-and-thumb presentation of the native boolean Checkbox contract with an explicit accessible-label rule for hidden labels.
Add Native Select with validated stable option and optgroup data, scalar and repeated-value modes, and the browser's visible classic picker as its floor.
Add Enhanced Select as an opt-in standards-based presentation over the same native value, option, accessibility, fallback, and submission contract.
Add Slider as a native range-input foundation with shared FormField relationships, resilient presentation, and no duplicated value state.
Add distinct native Progress and Meter foundations with validated ranges, explicit accessible names, and caller-owned lifecycle semantics.