Skip to main content
Documentation

Roadmap

Compose native Web UI with TSX, deliver HTML first, and run interaction when needed. Alpha16–18 plan compilation and safe delivery, function components, then component-level streaming.

01 / release line

From shipped evidence to v1.0 freeze.

Alpha16–18 are planning targets, not released capabilities, with no fixed dates. Current source and publication status below remain derived from release records. RC and stable need independent real-use, install/upgrade and security admission even after these milestones.

Alpha admission — v1.0.0-alpha.1

0.43.x is the stable maintenance line; the 1.0 alpha line is current.

The stable maintenance line closed at 0.43.3. The current 1.0 alpha line serves 1.0.0-alpha.15 on npm's per-package latest dist-tag, with 1.0.0-alpha.15 as the repository baseline. 1.0 Alpha is the new baseline: Element and Router as the public core, Create as the supported entry, UI as experimental — with no supported migration from 0.x.

Per-package npm latest: protocol v1.0.0-alpha.15 · element v1.0.0-alpha.15 · compiler v1.0.0-alpha.15 · router v1.0.0-alpha.15 · create v1.0.0-alpha.15 · ui v1.0.0-alpha.15

v1.0.0-alpha.1BASELINEPublic Alpha admission

Start real application use with the public baseline: independently consumable Element and Router with Native/Lit application flows. Element and Router are the public core, Create is the supported entry, UI is experimental. 1.0 Alpha is a fresh baseline with no supported migration from 0.x.

published to npm under the @alpha dist-tag — verify the live dist-tags with npm view @openelement/create dist-tags
v1.0.0-alpha.16Compilation and safe delivery

The browser still executes Part Programs, so the backend must prepare for new composition. Generate direct DOM mount/claim/update/dispose, separate public and private output, extend existing server functions with async/full-await composition, and target zero JS only where there is no actual client need. Keep existing behavior and cleanup. Full function authoring belongs to Alpha17; new component defer to Alpha18. ADR-0174 formally accepts the generated-code/runtime direction and amends ADR-0148; implementation remains pending. ADR-0171 records the output-safety direction.

Planning target; release depends on validation
v1.0.0-alpha.17Function components and composition

Use Signals and setup-once for stateful composition without an extra host: props, children, conditions, keyed lists, explicit CE exports and independent precompiled component packages. Validate one recommended entry, starters, docs and migration; general upgrade tooling and URL-prefix removal are separate work. OpenElement has no React Hooks and promises no Hooks/React compatibility; old classes remain compatible without an immediate rewrite. ADR-0173 formally accepts the composition direction and amends ADR-0143; implementation and consumer validation remain pending. The distribution contract is not frozen.

Planning target; recommendation changes after author and consumer validation
v1.0.0-alpha.18Component-level streaming

Extend existing route/field channels to deferred component subtrees, coordinating CSS, scripts, failures, bounded resources, cancellation and navigation/HTML morph. Isolate stale responses and measure real deployment benefits, full-await and HTML fallback. No arbitrary nesting, forced termination of any user task, or universally script-free dynamic insertion is promised. Extend ADR-0158 resource/component contracts; material protocol changes get a successor record.

Planning target; default enablement requires correctness and benefit evidence
v1.0 RC / StableSeparately admitted releases

Freeze contracts and dependencies after Alpha evidence; require at least fourteen days of RC soak, install/upgrade/security qualification and human GO. Element and Router do not mandate a package count.

unscheduled

02 / product boundary

Scope is explicit.

Current capability, excluded promises and the visual contract are kept separate.

in product

In product

  • JSX-first application API
  • Declarative Shadow DOM rendering
  • Routes, layouts, content, islands, and i18n
  • Loaders and actions with progressive-enhancement forms
  • CSRF floor on the action surface
  • Nitro server output (Node + Workers) and SPA mode
  • Locale-prefixed routing with Document and head ownership
  • Verified package and release boundaries

out of current scope

Out of current scope

  • Hub product language
  • Registry Hub as a current product promise
  • RPC, CEM, and interop adapter package promises
  • Generic auth, ORM, or database platform claims
  • Old package-count public graph language

design rule

Design rule

The public site is a working demonstration of the framework’s static-first output.

03 / decision matrix

Roadmap language stays inside the product boundary.

Ship, prove and freeze are evidence states rather than marketing labels.

ShipOnly public contracts reflected in docs, generated pages, and package surfaces.
ProveUse CI, build checks, and docs scans as release evidence before expanding claims.
FreezeMove toward v1.0 after the element, application and build contracts are stable, readable, and boring to verify.

04 / system visual

The package graph is part of the release artifact.

Published package ownership and the public architecture must remain mechanically identical.

package matrix

product boundary

Elementscustom elements, DSD rendering, and component contracts
UIOpen Props primitives used by this website and consumers
Frameworkroutes, layouts, content, islands, i18n, and router build
Protocolspublic boundary declarations and package compatibility language

release discipline

v1.0 posture

  • No driftMarketing language, docs, package exports, and CI gates must agree.
  • Retired stays retiredArchived Hub-era promises and webpack-era shortcuts stay out of the current public product line.
  • Scope in the openUsers should understand what is shipped, current, planned, and explicitly out of scope.