Skip to content

v0.3.0 Release Notes

Release Date: 2026-10-15

Adds @plexusone/host at 0.3.0. The other packages are unchanged.

Highlights

  • Applications export their pages once. An application exports an AppModule, its routes and what it adds to the chrome, and reads where it runs from useAppContext(). It never imports a shell.
  • Stacks bring their own chrome. createHost({ app, shell }) provides the session, the router under /orgs/:org, organization selection, and not-found and no-access pages, with the stack's Shell around the application. Swapping the shell changes only the chrome.
  • Run an application on its own. DevShell is a neutral shell, and devSession runs the application's interface with no backend: createHost({ app, devSession: true }).
  • Test it as it is hosted. renderApp from @plexusone/host/testing renders the application in a memory router with a fixture session and any shell; conformanceProblems names what keeps a module from being hostable.

Requirements

  • @plexusone/shell and @plexusone/auth 0.2.1 or later.
  • React 19, and react-router 7 or 8. React Router 8 has no react-router-dom; @plexusone/host imports react-router, which an application on 7 also has.
  • @testing-library/react only for @plexusone/host/testing.

Installation

pnpm add @plexusone/host @plexusone/auth @plexusone/shell react-router

See @plexusone/host and Writing an application.

Not in this release

  • One build with several applications (createHost({ apps })).