diff --git a/.changeset/billing-plan-features.md b/.changeset/billing-plan-features.md deleted file mode 100644 index dc4ad4d..0000000 --- a/.changeset/billing-plan-features.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@codelitdev/billing": minor ---- - -`createBilling` takes `planFeatures`, the feature keys each paid plan includes (for example `{ business: ["learner_sso"] }`), and the engine gains `hasFeature(billableEntityId, feature)`. In `cloud` mode it is true only when the entity's entitled paid plan (the same rules as `commercialState().activePaidPlan`) includes the feature. In `oss` mode it is always true. An unknown feature, no paid plan, or any error reading state is false. In `cloud` mode a `planFeatures` key with no offer throws `plan_features_invalid`. - -**Product changes for this release** - -- Declare `planFeatures` and gate features with `billing.hasFeature(...)` instead of keeping a separate plan-to-feature map. Plans do not inherit, so list a feature on every plan that includes it. diff --git a/.changeset/domain-verification.md b/.changeset/domain-verification.md deleted file mode 100644 index 60e42ea..0000000 --- a/.changeset/domain-verification.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@codelitdev/platform": minor ---- - -Adds custom-domain verification to the root export: `normalizeHostname`, `isApexHostname`, `issueOwnershipToken`, `createDnsResolver` and `createDomainVerification` (`ownershipRecord`, `verifyOwnership`, `verifyRouting`). It keeps the behaviour FrontLit and CourseLit each carry today: the TXT value is the bare token, tokens are 16 hex bytes, CNAME chains are followed with loop protection, and an apex may use CNAME flattening or A records that match a configured set. Lookups go through an injectable resolver that can pin trusted DNS servers and times out after 5 seconds by default. The package now depends on `tldts` for public-suffix handling. - -**Product changes for this release** - -- FrontLit (`domains/queries.ts`) and CourseLit (`school-hosts.ts`, `school-host.ts`) can replace their copies with this. Apex/`www` pairing and one-domain-per-school stay in the apps. -- `normalizeHostname` replaces CourseLit's `normalizeCustomHostname`. It also rejects public suffixes and IP literals by default, and `isApexHostname` now uses the public suffix list rather than counting labels. diff --git a/packages/billing/CHANGELOG.md b/packages/billing/CHANGELOG.md index 7f44fd2..318cd8c 100644 --- a/packages/billing/CHANGELOG.md +++ b/packages/billing/CHANGELOG.md @@ -1,5 +1,15 @@ # @codelitdev/billing +## 0.11.0 + +### Minor Changes + +- d698e6a: `createBilling` takes `planFeatures`, the feature keys each paid plan includes (for example `{ business: ["learner_sso"] }`), and the engine gains `hasFeature(billableEntityId, feature)`. In `cloud` mode it is true only when the entity's entitled paid plan (the same rules as `commercialState().activePaidPlan`) includes the feature. In `oss` mode it is always true. An unknown feature, no paid plan, or any error reading state is false. In `cloud` mode a `planFeatures` key with no offer throws `plan_features_invalid`. + + **Product changes for this release** + + - Declare `planFeatures` and gate features with `billing.hasFeature(...)` instead of keeping a separate plan-to-feature map. Plans do not inherit, so list a feature on every plan that includes it. + ## 0.10.0 No changes in this release. diff --git a/packages/billing/package.json b/packages/billing/package.json index 8327e4e..8dc591e 100644 --- a/packages/billing/package.json +++ b/packages/billing/package.json @@ -1,6 +1,6 @@ { "name": "@codelitdev/billing", - "version": "0.10.0", + "version": "0.11.0", "description": "Provider-neutral billing engine for CodeLit products", "author": "CodeLit", "type": "module", diff --git a/packages/design-system/CHANGELOG.md b/packages/design-system/CHANGELOG.md index d7f5a90..328862d 100644 --- a/packages/design-system/CHANGELOG.md +++ b/packages/design-system/CHANGELOG.md @@ -1,5 +1,9 @@ # @codelitdev/design-system +## 0.11.0 + +No changes in this release. + ## 0.10.0 No changes in this release. diff --git a/packages/design-system/package.json b/packages/design-system/package.json index 7eba9a3..f6dd663 100644 --- a/packages/design-system/package.json +++ b/packages/design-system/package.json @@ -1,6 +1,6 @@ { "name": "@codelitdev/design-system", - "version": "0.10.0", + "version": "0.11.0", "description": "Shared CodeLit design tokens, Tailwind preset, and React primitives for CourseLit, MediaLit, SendLit, and FrontLit.", "license": "Apache-2.0", "author": "CodeLit", diff --git a/packages/mcp-server-kit/CHANGELOG.md b/packages/mcp-server-kit/CHANGELOG.md index cdcb4e2..e9c52c5 100644 --- a/packages/mcp-server-kit/CHANGELOG.md +++ b/packages/mcp-server-kit/CHANGELOG.md @@ -1,5 +1,12 @@ # @codelitdev/mcp-server-kit +## 0.11.0 + +### Patch Changes + +- Updated dependencies [b20ef9f] + - @codelitdev/platform@0.11.0 + ## 0.10.0 ### Patch Changes diff --git a/packages/mcp-server-kit/package.json b/packages/mcp-server-kit/package.json index 4eb1d38..15c9d74 100644 --- a/packages/mcp-server-kit/package.json +++ b/packages/mcp-server-kit/package.json @@ -1,6 +1,6 @@ { "name": "@codelitdev/mcp-server-kit", - "version": "0.10.0", + "version": "0.11.0", "description": "Stateless MCP 2026-07-28 endpoint, auth hooks, and error mapping for CodeLit products", "author": "CodeLit", "type": "module", @@ -38,7 +38,7 @@ "zod-to-json-schema": "^3.25.2" }, "peerDependencies": { - "@codelitdev/platform": ">=0.10.0" + "@codelitdev/platform": ">=0.11.0" }, "devDependencies": { "@codelitdev/platform": "workspace:*", diff --git a/packages/oauth-server-kit/CHANGELOG.md b/packages/oauth-server-kit/CHANGELOG.md index 2d2c750..30445f7 100644 --- a/packages/oauth-server-kit/CHANGELOG.md +++ b/packages/oauth-server-kit/CHANGELOG.md @@ -1,5 +1,9 @@ # @codelitdev/oauth-server-kit +## 0.11.0 + +No changes in this release. + ## 0.10.0 ### Minor Changes diff --git a/packages/oauth-server-kit/package.json b/packages/oauth-server-kit/package.json index bc891b7..4bf9cc2 100644 --- a/packages/oauth-server-kit/package.json +++ b/packages/oauth-server-kit/package.json @@ -1,6 +1,6 @@ { "name": "@codelitdev/oauth-server-kit", - "version": "0.10.0", + "version": "0.11.0", "description": "Lean Better Auth OAuth authentication framework for web, mobile, REST, and MCP surfaces.", "author": "CodeLit", "license": "MIT", diff --git a/packages/observability/CHANGELOG.md b/packages/observability/CHANGELOG.md index 92aaf64..3e74cc9 100644 --- a/packages/observability/CHANGELOG.md +++ b/packages/observability/CHANGELOG.md @@ -1,5 +1,9 @@ # @codelitdev/observability +## 0.11.0 + +No changes in this release. + ## 0.10.0 No changes in this release. diff --git a/packages/observability/package.json b/packages/observability/package.json index 6e28b4b..93fa0e0 100644 --- a/packages/observability/package.json +++ b/packages/observability/package.json @@ -1,6 +1,6 @@ { "name": "@codelitdev/observability", - "version": "0.10.0", + "version": "0.11.0", "description": "Provider-neutral logging and optional telemetry for CodeLit products", "author": "CodeLit", "type": "module", diff --git a/packages/platform-cli/CHANGELOG.md b/packages/platform-cli/CHANGELOG.md index 9c91d54..780e37a 100644 --- a/packages/platform-cli/CHANGELOG.md +++ b/packages/platform-cli/CHANGELOG.md @@ -1,5 +1,9 @@ # @codelitdev/platform-cli +## 0.11.0 + +No changes in this release. + ## 0.10.0 No changes in this release. diff --git a/packages/platform-cli/package.json b/packages/platform-cli/package.json index cd80827..550ee9f 100644 --- a/packages/platform-cli/package.json +++ b/packages/platform-cli/package.json @@ -1,6 +1,6 @@ { "name": "@codelitdev/platform-cli", - "version": "0.10.0", + "version": "0.11.0", "description": "Create, check, and sync CodeLit Platform products", "author": "CodeLit", "type": "module", diff --git a/packages/platform-cli/src/preset.json b/packages/platform-cli/src/preset.json index 96c956f..dd3e5b3 100644 --- a/packages/platform-cli/src/preset.json +++ b/packages/platform-cli/src/preset.json @@ -5,42 +5,42 @@ }, "packages": { "@codelitdev/platform": { - "recommended": "0.10.0", + "recommended": "0.11.0", "supported": ">=0.1.0-alpha.0 <2", "minimumSecure": "0.1.0-alpha.0" }, "@codelitdev/observability": { - "recommended": "0.10.0", + "recommended": "0.11.0", "supported": ">=0.1.0-alpha.0 <2", "minimumSecure": "0.1.0-alpha.0" }, "@codelitdev/mcp-server-kit": { - "recommended": "0.10.0", + "recommended": "0.11.0", "supported": ">=0.1.0-alpha.0 <2", "minimumSecure": "0.1.0-alpha.0" }, "@codelitdev/platform-conformance": { - "recommended": "0.10.0", + "recommended": "0.11.0", "supported": ">=0.1.0-alpha.0 <2", "minimumSecure": "0.1.0-alpha.0" }, "@codelitdev/platform-cli": { - "recommended": "0.10.0", + "recommended": "0.11.0", "supported": ">=0.1.0-alpha.0 <2", "minimumSecure": "0.1.0-alpha.0" }, "@codelitdev/billing": { - "recommended": "0.10.0", + "recommended": "0.11.0", "supported": ">=0.1.0-alpha.4 <1", "minimumSecure": "0.1.0-alpha.4" }, "@codelitdev/oauth-server-kit": { - "recommended": "0.10.0", + "recommended": "0.11.0", "supported": ">=0.1.0-alpha.2 <1", "minimumSecure": "0.1.0-alpha.2" }, "@codelitdev/design-system": { - "recommended": "0.10.0", + "recommended": "0.11.0", "supported": ">=0.1.0-alpha.7 <1", "minimumSecure": "0.1.0-alpha.7" } diff --git a/packages/platform-conformance/CHANGELOG.md b/packages/platform-conformance/CHANGELOG.md index a488bce..09eec2b 100644 --- a/packages/platform-conformance/CHANGELOG.md +++ b/packages/platform-conformance/CHANGELOG.md @@ -1,5 +1,12 @@ # @codelitdev/platform-conformance +## 0.11.0 + +### Patch Changes + +- Updated dependencies [b20ef9f] + - @codelitdev/platform@0.11.0 + ## 0.10.0 ### Patch Changes diff --git a/packages/platform-conformance/package.json b/packages/platform-conformance/package.json index 7742421..2e19282 100644 --- a/packages/platform-conformance/package.json +++ b/packages/platform-conformance/package.json @@ -1,6 +1,6 @@ { "name": "@codelitdev/platform-conformance", - "version": "0.10.0", + "version": "0.11.0", "description": "Shared HTTP conformance suites for CodeLit Platform products", "author": "CodeLit", "type": "module", @@ -37,7 +37,7 @@ "tag": "latest" }, "peerDependencies": { - "@codelitdev/platform": ">=0.10.0" + "@codelitdev/platform": ">=0.11.0" }, "devDependencies": { "@codelitdev/platform": "workspace:*", diff --git a/packages/platform/CHANGELOG.md b/packages/platform/CHANGELOG.md index 7bb70cf..1f53a0a 100644 --- a/packages/platform/CHANGELOG.md +++ b/packages/platform/CHANGELOG.md @@ -1,5 +1,21 @@ # @codelitdev/platform +## 0.11.0 + +### Minor Changes + +- b20ef9f: Adds custom-domain verification to the root export: `normalizeHostname`, `isApexHostname`, `issueOwnershipToken`, `createDnsResolver` and `createDomainVerification` (`ownershipRecord`, `verifyOwnership`, `verifyRouting`). It keeps the behaviour FrontLit and CourseLit each carry today: the TXT value is the bare token, tokens are 16 hex bytes, CNAME chains are followed with loop protection, and an apex may use CNAME flattening or A records that match a configured set. Lookups go through an injectable resolver that can pin trusted DNS servers and times out after 5 seconds by default. The package now depends on `tldts` for public-suffix handling. + + **Product changes for this release** + + - FrontLit (`domains/queries.ts`) and CourseLit (`school-hosts.ts`, `school-host.ts`) can replace their copies with this. Apex/`www` pairing and one-domain-per-school stay in the apps. + - `normalizeHostname` replaces CourseLit's `normalizeCustomHostname`. It also rejects public suffixes and IP literals by default, and `isApexHostname` now uses the public suffix list rather than counting labels. + +### Patch Changes + +- Updated dependencies [d698e6a] + - @codelitdev/billing@0.11.0 + ## 0.10.0 ### Patch Changes diff --git a/packages/platform/package.json b/packages/platform/package.json index c938a8e..e949390 100644 --- a/packages/platform/package.json +++ b/packages/platform/package.json @@ -1,6 +1,6 @@ { "name": "@codelitdev/platform", - "version": "0.10.0", + "version": "0.11.0", "description": "Composition kernel for CodeLit Platform products", "author": "CodeLit", "type": "module", @@ -56,7 +56,7 @@ "typescript": "^5.9.3" }, "peerDependencies": { - "@codelitdev/billing": ">=0.10.0", + "@codelitdev/billing": ">=0.11.0", "drizzle-orm": "^0.45.2" }, "peerDependenciesMeta": {