From 98e59d4ba0957dd8ffa636d676e0b3f4f818dd68 Mon Sep 17 00:00:00 2001 From: ekklesia Date: Thu, 8 Oct 2026 17:26:13 -0500 Subject: [PATCH] chore(release): prepare 0.2.0 Every platform workspace package and every public @ekklesia/* package declares 0.2.0, and the deploy README's image build example names it. templates/module keeps its own version. 0.2.0, not 0.1.3: before 1.0 a minor version is the breaking one (docs/development/releases.md, ADR 0054), and since 0.1.2 main has broken modules, module authors, and operators: - #64 (ADR 0048): one generic image; installed modules live outside it; - #66, #72 (ADR 0049, 0050): modules install as Module Package v1, and move to the Module Database ABI; - #71: the manifest v8 cutover; v7 manifests are refused; - #79 (ADR 0053): the curated SDK drops defineModuleSchema and the legacy ModuleDatabase type; plus #67 (AGPL), #74, #77 (licensing, native targets), and the public package train (#80, #81). It is also the first package train to publish: 0.1.2 never will be. Because 0.2.0 is outside ^0.1.0, the same change moves to ^0.2.0: - the standalone fixture's @ekklesia ranges and its exact module-pack pin; - the compatibility ranges of the modules built for this release: the template, the standalone fixture, and the native proof module; - the test fixtures that model a module of the current release, or the current platform's versions; - the module-development guide's examples, and the release guide, which now names what a minor bump moves. Co-Authored-By: Claude Opus 5.5 --- apps/api/package.json | 2 +- apps/api/tests/api-http.integration.ts | 18 ++++++++--------- apps/api/tests/device-pairing.integration.ts | 2 +- apps/api/tests/lifecycle.test.ts | 8 ++++---- apps/api/tests/module-database.integration.ts | 8 ++++---- core/package.json | 2 +- .../db-facade/ekklesia.module.json | 4 ++-- core/tests/module-migration-discovery.test.ts | 4 ++-- .../tests/module-package-verification.test.ts | 4 ++-- core/tests/postgres-migration.integration.ts | 2 +- .../tests/support/migration-module-fixture.ts | 2 +- core/tests/support/module-package-fixture.ts | 4 ++-- deploy/README.md | 4 ++-- docs/development/releases.md | 20 +++++++++++++------ docs/module-development/README.md | 20 +++++++++---------- package.json | 2 +- packages/contracts/package.json | 2 +- packages/design-tokens/package.json | 2 +- packages/module-database/package.json | 2 +- packages/module-pack/package.json | 2 +- .../native-module/ekklesia.module.json | 4 ++-- .../module-pack/tests/native-target.test.ts | 4 ++-- .../tests/support/fixture-module.ts | 2 +- packages/module-sdk/package.json | 2 +- packages/module-ui-build/package.json | 2 +- packages/module-ui-host/package.json | 2 +- packages/module-ui-sdk/package.json | 2 +- packages/typescript-config/package.json | 2 +- packages/ui/package.json | 2 +- surfaces/shell/package.json | 2 +- templates/module/ekklesia.module.json | 4 ++-- .../standalone-module/ekklesia.module.json | 4 ++-- tests/fixtures/standalone-module/package.json | 16 +++++++-------- 33 files changed, 85 insertions(+), 77 deletions(-) diff --git a/apps/api/package.json b/apps/api/package.json index eb7fcdd..ca8cb1b 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/api", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "private": true, "type": "module", diff --git a/apps/api/tests/api-http.integration.ts b/apps/api/tests/api-http.integration.ts index 14e4f0f..c673f1f 100644 --- a/apps/api/tests/api-http.integration.ts +++ b/apps/api/tests/api-http.integration.ts @@ -221,9 +221,9 @@ async function applyCoreMigrations(url: string): Promise { const aggregate = await discoverAllMigrations({ coreMigrationsDirectory, moduleDiscovery: { - moduleSdkVersion: "0.1.0", + moduleSdkVersion: "0.2.0", modulesDirectory: emptyModulesDirectory, - platformVersion: "0.1.0", + platformVersion: "0.2.0", }, }); // Phase 4A's and Phase 4C pass 1's committed migrations must not have drifted while building @@ -339,7 +339,7 @@ async function createGatedRouteModule( writeFile( path.join(moduleDirectory, "ekklesia.module.json"), JSON.stringify({ - compatibility: { moduleSdk: "^0.1.0", platform: "^0.1.0" }, + compatibility: { moduleSdk: "^0.2.0", platform: "^0.2.0" }, entrypoints: { server: "./dist/server/index.js" }, id, manifestVersion: 8, @@ -390,7 +390,7 @@ async function createFixtureModule( id, name: `${id} module`, version: "0.1.0", - compatibility: { platform: "^0.1.0", moduleSdk: "^0.1.0" }, + compatibility: { platform: "^0.2.0", moduleSdk: "^0.2.0" }, permissions: [], entrypoints: { server: "./dist/server/index.js" }, ...manifestOverrides, @@ -521,7 +521,7 @@ async function createUiModule( writeFile( path.join(moduleDirectory, "ekklesia.module.json"), JSON.stringify({ - compatibility: { moduleSdk: "^0.1.0", platform: "^0.1.0" }, + compatibility: { moduleSdk: "^0.2.0", platform: "^0.2.0" }, entrypoints: { server: "./dist/server/index.js", ui: "./dist/ui/index.js" }, id, manifestVersion: 8, @@ -2592,9 +2592,9 @@ describe.sequential("live API — installed module permission end-to-end", () => const report = await diagnoseEkklesia({ coreMigrationsDirectory, moduleDiscovery: { - moduleSdkVersion: "0.1.0", + moduleSdkVersion: "0.2.0", modulesDirectory, - platformVersion: "0.1.0", + platformVersion: "0.2.0", }, runtimeRange: ">=0.0.0", runtimeVersion: process.versions.node, @@ -3906,9 +3906,9 @@ describe.sequential("live API — module lifecycle governs what actually runs", const aggregate = await discoverAllMigrations({ coreMigrationsDirectory, moduleDiscovery: { - moduleSdkVersion: "0.1.0", + moduleSdkVersion: "0.2.0", modulesDirectory, - platformVersion: "0.1.0", + platformVersion: "0.2.0", }, }); expect(aggregate.discoveredModules.map((module) => module.manifest.id)).toEqual(["calendar"]); diff --git a/apps/api/tests/device-pairing.integration.ts b/apps/api/tests/device-pairing.integration.ts index af953a7..99f6d4b 100644 --- a/apps/api/tests/device-pairing.integration.ts +++ b/apps/api/tests/device-pairing.integration.ts @@ -118,7 +118,7 @@ async function createDisplayModuleDirectory(): Promise { writeFile( path.join(moduleDirectory, "ekklesia.module.json"), JSON.stringify({ - compatibility: { moduleSdk: "^0.1.0", platform: "^0.1.0" }, + compatibility: { moduleSdk: "^0.2.0", platform: "^0.2.0" }, entrypoints: { display: { artifact: "./dist/ui/display.js", permission: displayPermission }, server: "./dist/server/index.js", diff --git a/apps/api/tests/lifecycle.test.ts b/apps/api/tests/lifecycle.test.ts index 1a8f0a9..0df2d83 100644 --- a/apps/api/tests/lifecycle.test.ts +++ b/apps/api/tests/lifecycle.test.ts @@ -108,7 +108,7 @@ async function createFixtureModule( id, name: `${id} module`, version: "0.1.0", - compatibility: { platform: "^0.1.0", moduleSdk: "^0.1.0" }, + compatibility: { platform: "^0.2.0", moduleSdk: "^0.2.0" }, permissions: [], entrypoints: { server: "./dist/server/index.js" }, ...manifestOverrides, @@ -267,7 +267,7 @@ function fakeDiscoveredModule( ): DiscoveredModule { const manifest = parseModuleManifest({ capabilities: [], - compatibility: { moduleSdk: "^0.1.0", platform: "^0.1.0" }, + compatibility: { moduleSdk: "^0.2.0", platform: "^0.2.0" }, entrypoints: { server: "./dist/does-not-exist/index.js" }, id, manifestVersion: 8, @@ -1435,9 +1435,9 @@ describe("Ekklesia API module runtime startup and shutdown", () => { const recorder = createEventRecorder(); await createWorkingFixtureModule(modulesDirectory, "calendar", recorder, { withRoute: true }); const discovered = await (await import("@ekklesia/core/modules")).discoverModules({ - moduleSdkVersion: "0.1.0", + moduleSdkVersion: "0.2.0", modulesDirectory, - platformVersion: "0.1.0", + platformVersion: "0.2.0", }); mockPoolAndAuth(); mockSuccessfulServe(); diff --git a/apps/api/tests/module-database.integration.ts b/apps/api/tests/module-database.integration.ts index b78dfe2..bbc6a93 100644 --- a/apps/api/tests/module-database.integration.ts +++ b/apps/api/tests/module-database.integration.ts @@ -212,9 +212,9 @@ async function applyCoreMigrations(url: string): Promise { const aggregate = await discoverAllMigrations({ coreMigrationsDirectory, moduleDiscovery: { - moduleSdkVersion: "0.1.0", + moduleSdkVersion: "0.2.0", modulesDirectory: emptyModulesDirectory, - platformVersion: "0.1.0", + platformVersion: "0.2.0", }, }); expect(aggregate.migrations.map((entry) => entry.identity)).toEqual([ @@ -241,9 +241,9 @@ async function applyMigrationsWithModule(url: string): Promise { const aggregate = await discoverAllMigrations({ coreMigrationsDirectory, moduleDiscovery: { - moduleSdkVersion: "0.1.0", + moduleSdkVersion: "0.2.0", modulesDirectory: fixtureModulesDirectory, - platformVersion: "0.1.0", + platformVersion: "0.2.0", }, }); // Core migrations aggregate first, exactly once each, and always before any module migration. diff --git a/core/package.json b/core/package.json index e849bee..8b6f9cb 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/core", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "private": true, "type": "module", diff --git a/core/tests/fixtures/module-database-integration/db-facade/ekklesia.module.json b/core/tests/fixtures/module-database-integration/db-facade/ekklesia.module.json index 87b8587..4d6ee80 100644 --- a/core/tests/fixtures/module-database-integration/db-facade/ekklesia.module.json +++ b/core/tests/fixtures/module-database-integration/db-facade/ekklesia.module.json @@ -5,8 +5,8 @@ "description": "Test-only installed module fixture proving ModuleDatabase against real PostgreSQL. Never discovered by production startup, Doctor, or normal migration aggregation — only apps/api/tests/module-database.integration.ts points discovery at it explicitly.", "version": "0.1.0", "compatibility": { - "platform": "^0.1.0", - "moduleSdk": "^0.1.0" + "platform": "^0.2.0", + "moduleSdk": "^0.2.0" }, "permissions": [ { diff --git a/core/tests/module-migration-discovery.test.ts b/core/tests/module-migration-discovery.test.ts index a48529e..8b14cc3 100644 --- a/core/tests/module-migration-discovery.test.ts +++ b/core/tests/module-migration-discovery.test.ts @@ -35,9 +35,9 @@ async function createModulesDirectory(): Promise { function discoveryOptions(modulesDirectory: string) { return { - moduleSdkVersion: "0.1.0", + moduleSdkVersion: "0.2.0", modulesDirectory, - platformVersion: "0.1.0", + platformVersion: "0.2.0", }; } diff --git a/core/tests/module-package-verification.test.ts b/core/tests/module-package-verification.test.ts index 1f0460f..8529c6a 100644 --- a/core/tests/module-package-verification.test.ts +++ b/core/tests/module-package-verification.test.ts @@ -18,8 +18,8 @@ import { const platform = { databaseRuntime: { "drizzle-orm": "0.45.2" }, - moduleSdkVersion: "0.1.2", - platformVersion: "0.1.2", + moduleSdkVersion: "0.2.0", + platformVersion: "0.2.0", } as const; const temporaryDirectories: string[] = []; diff --git a/core/tests/postgres-migration.integration.ts b/core/tests/postgres-migration.integration.ts index 2e7c98c..87147e6 100644 --- a/core/tests/postgres-migration.integration.ts +++ b/core/tests/postgres-migration.integration.ts @@ -1905,7 +1905,7 @@ describe.sequential("live PostgreSQL migration timeout precedence", () => { describe.sequential("live PostgreSQL retained history for an uninstalled module", () => { const repositoryRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", ".."); const templateModule = path.join(repositoryRoot, "templates", "module"); - const versions = { moduleSdkVersion: "0.1.0", platformVersion: "0.1.0" } as const; + const versions = { moduleSdkVersion: "0.2.0", platformVersion: "0.2.0" } as const; async function coreWithoutNewestMigration(directory: string): Promise { const target = path.join(directory, "core-drizzle"); diff --git a/core/tests/support/migration-module-fixture.ts b/core/tests/support/migration-module-fixture.ts index 33102b1..3968e83 100644 --- a/core/tests/support/migration-module-fixture.ts +++ b/core/tests/support/migration-module-fixture.ts @@ -54,7 +54,7 @@ export function manifestFor( id, name: `${id} module`, version: "0.1.0", - compatibility: { platform: "^0.1.0", moduleSdk: "^0.1.0" }, + compatibility: { platform: "^0.2.0", moduleSdk: "^0.2.0" }, ...(options.dependencies ? { dependencies: options.dependencies } : {}), capabilities: [], permissions: [], diff --git a/core/tests/support/module-package-fixture.ts b/core/tests/support/module-package-fixture.ts index 5ad5e00..ff1f81f 100644 --- a/core/tests/support/module-package-fixture.ts +++ b/core/tests/support/module-package-fixture.ts @@ -180,9 +180,9 @@ export async function modulePackageFixture( runtime: { node: ">=20" }, provenance: { revision: "86ae907f59458508e3277666cdd214f5bd7c1078", - packager: { name: "@ekklesia/module-pack", version: "0.1.2" }, + packager: { name: "@ekklesia/module-pack", version: "0.2.0" }, }, - incorporates: { "@ekklesia/module-sdk": "0.1.2" }, + incorporates: { "@ekklesia/module-sdk": "0.2.0" }, files: listed, }; const metadata = options.metadata ? options.metadata(baseMetadata) : baseMetadata; diff --git a/deploy/README.md b/deploy/README.md index 14c739d..de38dbb 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -500,10 +500,10 @@ finds its files: ```sh docker build \ --file deploy/Dockerfile \ - --build-arg VERSION=0.1.2 \ + --build-arg VERSION=0.2.0 \ --build-arg REVISION="$(git rev-parse HEAD)" \ --build-arg SOURCE=https://git.example.org/your-org/ekklesia \ - --tag ekklesia:0.1.2 \ + --tag ekklesia:0.2.0 \ . ``` diff --git a/docs/development/releases.md b/docs/development/releases.md index 968dc31..2faaca1 100644 --- a/docs/development/releases.md +++ b/docs/development/releases.md @@ -25,8 +25,16 @@ version set ─▶ build ─▶ test ─▶ pack the public package train ─▶ 1. **Version set.** A `chore(release): prepare X` pull request sets the release version: the root `package.json`, every platform workspace package (the module template versions as a module, not with the platform), the image build example in `deploy/README.md`, and the standalone fixture's - exact `@ekklesia/module-pack` pin (`tests/fixtures/standalone-module/package.json`). The tag - must point at a commit that carries the version it names. + exact `@ekklesia/module-pack` pin and `@ekklesia/*` ranges + (`tests/fixtures/standalone-module/package.json`). The tag must point at a commit that carries + the version it names. + + A minor version (0.x → 0.(x+1)) is a breaking release before 1.0, so manifests that declare + `compatibility.platform` and `compatibility.moduleSdk` as `^0.x.0` no longer match it. In the + same pull request, move to the new range every module built for this release (the template, the + standalone fixture, the native proof module), the test fixtures that model a module of the + current release or the current platform, and the module-development guide's examples. A patch + version changes none of these. 2. **Build and test.** `pnpm verify`, the integration suite, and the deploy smoke, as for any change. 3. **Pack the public package train.** `pnpm packages:release` (below). 4. **Standalone consumer proof.** A module outside the repository consumes exactly those @@ -111,17 +119,17 @@ registry and is not a registry catalog. ```json { "packageTrain": 1, - "version": "0.1.2", + "version": "0.2.0", "source": { "modified": false, "revision": "" }, "packages": [ { - "file": "ekklesia-contracts-0.1.2.tgz", + "file": "ekklesia-contracts-0.2.0.tgz", "integrity": "sha512-", "name": "@ekklesia/contracts", "role": "implementation", "sha256": "", "size": 87379, - "version": "0.1.2" + "version": "0.2.0" } ] } @@ -343,7 +351,7 @@ public owners, a publisher team, and an outsider. In CI it publishes the very ar ### The first publication -The first train published is the **next** platform release version, not 0.1.2. The `v0.1.2` tag +The first train published is **0.2.0**, the next platform release, not 0.1.2. The `v0.1.2` tag predates the curated SDK and this release tooling, so packages built now and called 0.1.2 would claim to be source that 0.1.2 never contained. diff --git a/docs/module-development/README.md b/docs/module-development/README.md index 740b94d..1494695 100644 --- a/docs/module-development/README.md +++ b/docs/module-development/README.md @@ -76,7 +76,7 @@ entrypoints. A module in its own repository depends on the published packages in > **Status:** the packages are published by release > ([ADR 0053](../architecture/decisions/0053-standalone-module-development-packages.md), > [Releases and the public package train](../development/releases.md)). The first published train -> is the next platform release after 0.1.2. +> is 0.2.0, the platform release after 0.1.2. A module does not need an Ekklesia checkout. Do not clone Ekklesia and put your module in its `modules/` directory: your module is its own repository, and it depends on Ekklesia's @@ -131,17 +131,17 @@ import it yourself, because what it exports is the platform's, not a supported a "build": "tsc --project tsconfig.build.json && ekklesia-build-module-ui" }, "dependencies": { - "@ekklesia/module-database": "^0.1.2", - "@ekklesia/module-sdk": "^0.1.2", - "@ekklesia/module-ui-sdk": "^0.1.2", - "@ekklesia/ui": "^0.1.2", + "@ekklesia/module-database": "^0.2.0", + "@ekklesia/module-sdk": "^0.2.0", + "@ekklesia/module-ui-sdk": "^0.2.0", + "@ekklesia/ui": "^0.2.0", "react": "19.2.8", "react-dom": "19.2.8" }, "devDependencies": { - "@ekklesia/module-pack": "0.1.2", - "@ekklesia/module-ui-build": "^0.1.2", - "@ekklesia/typescript-config": "^0.1.2", + "@ekklesia/module-pack": "0.2.0", + "@ekklesia/module-ui-build": "^0.2.0", + "@ekklesia/typescript-config": "^0.2.0", "typescript": "7.0.2" } } @@ -366,8 +366,8 @@ without executing module code: "name": "Calendar", "version": "0.1.0", "compatibility": { - "platform": "^0.1.0", - "moduleSdk": "^0.1.0" + "platform": "^0.2.0", + "moduleSdk": "^0.2.0" }, "dependencies": { "modules": { diff --git a/package.json b/package.json index bb70c0b..62e3385 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ekklesia", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "private": true, "type": "module", diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 6015187..c3a878f 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/contracts", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "type": "module", "files": [ diff --git a/packages/design-tokens/package.json b/packages/design-tokens/package.json index 0f6b7ab..9426ec6 100644 --- a/packages/design-tokens/package.json +++ b/packages/design-tokens/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/design-tokens", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "type": "module", "files": [ diff --git a/packages/module-database/package.json b/packages/module-database/package.json index c0363d3..b693c26 100644 --- a/packages/module-database/package.json +++ b/packages/module-database/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/module-database", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "type": "module", "files": [ diff --git a/packages/module-pack/package.json b/packages/module-pack/package.json index f22719d..5972c96 100644 --- a/packages/module-pack/package.json +++ b/packages/module-pack/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/module-pack", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "type": "module", "files": [ diff --git a/packages/module-pack/tests/fixtures/native-module/ekklesia.module.json b/packages/module-pack/tests/fixtures/native-module/ekklesia.module.json index 1f23b21..b164239 100644 --- a/packages/module-pack/tests/fixtures/native-module/ekklesia.module.json +++ b/packages/module-pack/tests/fixtures/native-module/ekklesia.module.json @@ -5,8 +5,8 @@ "description": "A minimal native module: its backend uses sharp, so it packages for linux-x64-glibc.", "version": "0.1.0", "compatibility": { - "platform": "^0.1.0", - "moduleSdk": "^0.1.0" + "platform": "^0.2.0", + "moduleSdk": "^0.2.0" }, "database": { "abi": 1 diff --git a/packages/module-pack/tests/native-target.test.ts b/packages/module-pack/tests/native-target.test.ts index 2c16a56..07bcc55 100644 --- a/packages/module-pack/tests/native-target.test.ts +++ b/packages/module-pack/tests/native-target.test.ts @@ -183,8 +183,8 @@ describe.runIf(onTargetHost)("the linux-x64-glibc target, proven with sharp", () extractTo, platform: { databaseRuntime: { "drizzle-orm": "0.45.2" }, - moduleSdkVersion: "0.1.2", - platformVersion: "0.1.2", + moduleSdkVersion: "0.2.0", + platformVersion: "0.2.0", }, }), ).resolves.toMatchObject({ moduleId: "native-proof", target: "linux-x64-glibc" }); diff --git a/packages/module-pack/tests/support/fixture-module.ts b/packages/module-pack/tests/support/fixture-module.ts index 9a11292..08a298a 100644 --- a/packages/module-pack/tests/support/fixture-module.ts +++ b/packages/module-pack/tests/support/fixture-module.ts @@ -109,7 +109,7 @@ export async function fixtureModule(options: FixtureModuleOptions = {}): Promise id, name: `${id} module`, version, - compatibility: { platform: "^0.1.0", moduleSdk: "^0.1.0" }, + compatibility: { platform: "^0.2.0", moduleSdk: "^0.2.0" }, ...(options.databaseAbi === 1 ? { database: { abi: 1 } } : {}), capabilities: [], permissions: [], diff --git a/packages/module-sdk/package.json b/packages/module-sdk/package.json index f2fb6ab..461065c 100644 --- a/packages/module-sdk/package.json +++ b/packages/module-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/module-sdk", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "type": "module", "files": [ diff --git a/packages/module-ui-build/package.json b/packages/module-ui-build/package.json index 113747f..16496dd 100644 --- a/packages/module-ui-build/package.json +++ b/packages/module-ui-build/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/module-ui-build", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "type": "module", "files": [ diff --git a/packages/module-ui-host/package.json b/packages/module-ui-host/package.json index 49bd196..680e2cb 100644 --- a/packages/module-ui-host/package.json +++ b/packages/module-ui-host/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/module-ui-host", - "version": "0.1.2", + "version": "0.2.0", "private": true, "license": "AGPL-3.0-or-later", "type": "module", diff --git a/packages/module-ui-sdk/package.json b/packages/module-ui-sdk/package.json index 08bff28..e0321c0 100644 --- a/packages/module-ui-sdk/package.json +++ b/packages/module-ui-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/module-ui-sdk", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "type": "module", "files": [ diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json index 9b3c69f..bdf92ed 100644 --- a/packages/typescript-config/package.json +++ b/packages/typescript-config/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/typescript-config", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "files": [ "base.json", diff --git a/packages/ui/package.json b/packages/ui/package.json index e5699b3..000c2c0 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/ui", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "type": "module", "files": [ diff --git a/surfaces/shell/package.json b/surfaces/shell/package.json index 0fce3cf..3c9c64f 100644 --- a/surfaces/shell/package.json +++ b/surfaces/shell/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/shell", - "version": "0.1.2", + "version": "0.2.0", "license": "AGPL-3.0-or-later", "private": true, "type": "module", diff --git a/templates/module/ekklesia.module.json b/templates/module/ekklesia.module.json index 9ca6b02..b979771 100644 --- a/templates/module/ekklesia.module.json +++ b/templates/module/ekklesia.module.json @@ -5,8 +5,8 @@ "description": "A minimal Ekklesia module template with backend behavior and optional primary and display UI.", "version": "0.1.0", "compatibility": { - "platform": "^0.1.0", - "moduleSdk": "^0.1.0" + "platform": "^0.2.0", + "moduleSdk": "^0.2.0" }, "database": { "abi": 1 diff --git a/tests/fixtures/standalone-module/ekklesia.module.json b/tests/fixtures/standalone-module/ekklesia.module.json index e292023..c5c80d7 100644 --- a/tests/fixtures/standalone-module/ekklesia.module.json +++ b/tests/fixtures/standalone-module/ekklesia.module.json @@ -5,8 +5,8 @@ "description": "Proves a module builds, packages, and verifies from published Ekklesia packages alone.", "version": "0.1.0", "compatibility": { - "platform": "^0.1.0", - "moduleSdk": "^0.1.0" + "platform": "^0.2.0", + "moduleSdk": "^0.2.0" }, "database": { "abi": 1 diff --git a/tests/fixtures/standalone-module/package.json b/tests/fixtures/standalone-module/package.json index cfc0431..98e94e2 100644 --- a/tests/fixtures/standalone-module/package.json +++ b/tests/fixtures/standalone-module/package.json @@ -13,18 +13,18 @@ "typecheck": "tsc --noEmit --project tsconfig.json && tsc --noEmit --project tsconfig.ui.json" }, "dependencies": { - "@ekklesia/design-tokens": "^0.1.2", - "@ekklesia/module-database": "^0.1.2", - "@ekklesia/module-sdk": "^0.1.2", - "@ekklesia/module-ui-sdk": "^0.1.2", - "@ekklesia/ui": "^0.1.2", + "@ekklesia/design-tokens": "^0.2.0", + "@ekklesia/module-database": "^0.2.0", + "@ekklesia/module-sdk": "^0.2.0", + "@ekklesia/module-ui-sdk": "^0.2.0", + "@ekklesia/ui": "^0.2.0", "react": "19.2.8", "react-dom": "19.2.8" }, "devDependencies": { - "@ekklesia/module-pack": "0.1.2", - "@ekklesia/module-ui-build": "^0.1.2", - "@ekklesia/typescript-config": "^0.1.2", + "@ekklesia/module-pack": "0.2.0", + "@ekklesia/module-ui-build": "^0.2.0", + "@ekklesia/typescript-config": "^0.2.0", "@types/node": "24.13.3", "@types/react": "19.2.18", "@types/react-dom": "19.2.4", -- 2.54.0