Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, this project adheres to Semantic Versioning, commits follow Conventional Commits, and this changelog is generated by Structured Changelog.
Unreleased¶
v0.4.0 - 2026-10-20¶
Highlights¶
@plexusone/console0.1.0: the organization console's pages, to connect and manage an organization's services, served by SystemAuth under/console- Product switchers list applications in catalog order everywhere, and carry the sidebar state and theme to the application they open
Added¶
@plexusone/console:consoleApplists an organization's connections with their account, rotation and expiry, tests, replaces, renames and disconnects them, and offers a gallery and a wizard built from each service's manifest (9bdc143)createConsoleApp({ nextSteps })links a connection to the products that use it, after connecting and on each usable connection (1a8729e)- The console adds
connection_idto the return address, so the linking application can select the connection just made (ff92711) createHostacceptsbasenameto serve an application under a path such as/console(5e2e513)carryPreferencesandadoptCarriedPreferencescarry the sidebar state and theme between applications as a URL fragment;ProductSwitcherlinks carry them (91708c1)
Changed¶
ProductSwitcherhighlights the current application in its catalog place instead of moving it first; an application the catalog does not list still comes first (07f5e9e)
Documentation¶
@plexusone/consolepackage guide andcreateHost'sbasename(10b56ea)- Console next steps (
8514a17) - Shell guide covers the switcher's order and carrying the sidebar and theme; composition and README updated
- v0.4.0 release notes
Tests¶
- Cover the console's list, gallery, wizard, returned connection and next steps (
4227bd2) - Cover routing relative to the basename (
f368cee) - Cover the switcher's stable order (
5365a3e) - Resolve workspace packages by exact name, so subpath exports such as
@plexusone/host/testingresolve to their own source (aae9977)
v0.3.1 - 2026-10-15¶
Highlights¶
renderAppfrom@plexusone/host/testingworks with pages that calluseAppContextfrom@plexusone/host
Upgrade Guide¶
- Use
@plexusone/host0.3.1; the other packages are unchanged
Fixed¶
- The main and testing entries of
@plexusone/hostshare one app context; in 0.3.0 each bundle had its own, souseAppContextthrew insiderenderApp(a3b7160)
Documentation¶
- The releasing guide says to sign in right before publishing and to check staging before concluding a publish failed (
767472c)
Tests¶
- A test loads the built entries and checks they share the app context (
b6e0379)
v0.3.0 - 2026-10-15¶
Highlights¶
@plexusone/host: an application exports its pages as anAppModuleand never imports a shell; a stack hosts it with its ownShellthroughcreateHost, and the same module runs on its own inDevShellDevShelland a development session run an application's interface with no backend@plexusone/host/testingrenders an application ascreateHostwould, for the application's own tests
Upgrade Guide¶
@plexusone/hostis new at 0.3.0; it needs@plexusone/shelland@plexusone/auth0.2.1 or later, React 19, andreact-router7 or 8. The other packages are unchanged
Added¶
AppModule,AppContext,useAppContextandShell(05744c3)DevShell,devSessionanddevSessionClient(ae98737)createHost,HostRoutesandHostSession: the session, the router under/orgs/:org, choosing an organization, not-found and no-access pages, and the sign-in redirect (e296d1f)renderAppandconformanceProblemsin@plexusone/host/testing(eebf56c)
Documentation¶
- The
@plexusone/hostpackage page and a guide to writing an application (0866f1b) - INIT-SYSTEMFORGEWEB-001 adds the app contract and hosting (
9b2a53b)
Tests¶
- Hosting an example application in DevShell and, unchanged, in another stack's shell; routing, navigation, switching organizations and conformance (
0f7a80e)
v0.2.3 - 2026-10-15¶
Highlights¶
@plexusone/shellrenders navigation in an application onSessionProvideralone
Upgrade Guide¶
- Use
@plexusone/shell0.2.3; the other packages are unchanged
Fixed¶
- Sidebar items no longer require a
TenantProvider: items without roles always show, and items with roles are hidden when noTenantProvidercan check them (8bc0142)
v0.2.2 - 2026-10-15¶
Highlights¶
@plexusone/uiloads: 0.2.1's exports named files its build does not write, so neither import nor require worked, and@plexusone/shellcould not load
Upgrade Guide¶
- Use
@plexusone/ui0.2.2;@plexusone/shell0.2.1 accepts it through its^0.2.1peer range. Other packages are unchanged at 0.2.1
Fixed¶
@plexusone/uiexports point at the ESM.jsand CommonJS.cjsfiles the build writes (eba8cad)@plexusone/chatno longer exports astyles.cssthat nothing builds (af4c4f8)
Infrastructure¶
- The build checks that every package entry point loads with import() and require(), so CI fails on a broken export (
a2e8571)
v0.2.1 - 2026-10-15¶
Highlights¶
- Every package has a README and links to its repository and documentation on npm
Fixed¶
- Package pages on npm showed no README, and five packages had no repository link (
a8766af)
Infrastructure¶
- 0.2.1 is the first release published for every package;
@plexusone/api-client0.2.0 was the only 0.2.0 published
v0.2.0 - 2026-10-15¶
Highlights¶
- A session over the relying-party BFF in
@plexusone/auth:SessionProvideranduseSessionread/bff/session, with memberships keyed by organization ID, a role per application, and the deployment's app catalog - Shell chrome for composed applications: a product switcher from the app catalog, a controlled organization switcher, a session profile menu, named slots, and a light, dark and system theme
- Organization management pages and a chat package with AI SDK integration
- Packages are published under the
@plexusonescope, publicly, and require React 19
Upgrade Guide¶
- Import from
@plexusone/*instead of@systemforge/*, and use React 19 - Pass Profile and Settings entries to
UserMenuinuserActionsif you relied on the defaults - For a SystemForge relying party, wrap the application in
SessionProviderand passapp,organizationIdandonOrganizationChangetoAppShell
Added¶
SessionProvider,useSession,SessionClient,toSession,membershipForandorganizationLabelin@plexusone/auth; sign-in is a redirect to the BFF and sign-out a same-origin POST (f2f7adc)ProductSwitcherand theswitcherAppsrule: the current application first, then the catalog applications the person holds a role in for the current organization (9916412)OrganizationSwitcher, a controlled organization picker keyed by organization ID (9807784)- Named slots in
NavbarandAppShell:brand,command,actions, withapp,organizationIdandonOrganizationChangeturning on the switchers, andbreadcrumbspassed through (1c2c10c) ProfileMenu: who is signed in, the current organization and the role in this application, the application'sprofileItems, and sign out; the navbar uses it underSessionProvider(e72116b)useTheme,ThemeToggle,applyStoredThemeandshowThemeToggle: light, dark and system themes applied as thedarkclass, surviving unavailable storage (8509c3f)- Sun, moon and monitor icons in
@plexusone/ui(ad5c59a) OrganizationMembersPage,OrganizationInvitationsPageandOrganizationSettingsPagein@plexusone/pages, with theMemberRole,OrgSettingsTab,OrgMemberandOrgInvitationtypes (48ea9c9)@plexusone/chatwith AI SDK integration (cc736f3)@plexusone/ui, the shared component library the shell is built on (d899623)
Changed¶
- BREAKING: The npm scope is
@plexusone, renamed from@systemforge(1ec1707) - BREAKING: CoreForge is renamed SystemForge (
5ca5210) - BREAKING:
UserMenuno longer adds Profile and Settings links by default; pass them inuserActions(a9c85c7) - BREAKING: React 19 is required (
4a2a31c) - Internal ranges are caret ranges on the released version, and every package publishes publicly (
126fcb0)
Fixed¶
Navbar,UserMenuandOrgSwitcherrender without anAuthProviderorTenantProviderinstead of throwing (297a105)AuthProviderno longer re-fetches the user in a loop (2f31398)- React hooks errors in the ProductGraph telemetry hooks (
50f906c)
Documentation¶
- A guide to composing applications in one build or on one host each, and sections on the session, switchers, slots, profile menu and theme (
64fab04) - The
AppShellprops table lists the props it has (351ac49) - Specs moved to
docs/specs/initiatives/, with INIT-SYSTEMFORGEWEB-001 for the shell foundations (746951a)
Tests¶
- Session adapter, client and provider, both switchers, slots, profile menu and theme; tests resolve workspace packages to their source (
5bc92f8)
Infrastructure¶
- The release workflow runs only when started by hand; packages are published with pnpm (
b7c5719)
v0.1.0 - 2026-04-27¶
Highlights¶
- Initial release of SystemForge Web component library monorepo
- ProductGraph telemetry integration with session management and OTel compliance
- Multi-tenant primitives with organization context and tenant isolation
Added¶
- Monorepo setup with pnpm workspaces and Turborepo (
5f055db) - ESLint and Prettier configuration for consistent code style (
c1e86d4) - Vitest testing framework configuration (
1f736e2) - GitHub Actions CI/CD workflows (
bdee74f) - Changesets for versioning and changelog generation (
e6dea5e) @systemforge/authpackage with JWT/OAuth/OIDC authentication primitives (4b1d2be)@systemforge/tenantpackage with TenantProvider and useOrganization hooks (e1db48a)@systemforge/api-clientpackage with typed HTTP client utilities (6d36fc1)@systemforge/telemetrypackage with TelemetryProvider, ErrorBoundary, and hooks (98e11f7)@systemforge/design-tokenspackage with CSS custom properties (a14ba33)@systemforge/shellpackage with AppShell layout components (570bff9)@systemforge/pagespackage with default page components (404, 500, Loading) (4f643aa)- ProductGraphAdapter with session management (30-min timeout) and event batching (
ddee117) - ProductGraph hooks: ComponentPathProvider, useStateTracker, JourneyProvider (
ec194bc) - ProductGraph hooks: useScrollTracker, useClickTracker, useAPITracker, usePageLeaveTracker (
ec194bc) - ProductGraph adapter and hook exports with TypeScript types (
205b8e6)
Documentation¶
- Project documentation with architecture overview (
25a249d) - MkDocs documentation site with Material theme (
311a4f8) - ProductGraph integration design documents (PRD, TRD, PLAN, TASKS) (
9363c0f)
Infrastructure¶
- Shared pnpm workflows from grokify/.github (
bb07c1d)