1.0.0 — 2026-09-05

  • Select 1.0.0 as the first public Hex release target and adopt Semantic Versioning for the stable component, stylesheet, fallback, and package contracts.
  • Preserve the earlier 0.1.0 qualification records as historical evidence; the 1.0.0 archive, 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.0 archive.
  • 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.0 candidate.
  • 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.0 release 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.