Repository navigation
Tags
Tags
chore(release): prepare DomainKit (#179) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.22.1` | `0.23.0` | | `@domainkit/capsuledb` | `0.22.1` | `0.23.0` | | `@domainkit/react` | `0.22.1` | `0.23.0` | ## Changelogs ### `2026-11-03-b4e91a.md` <details> <summary>Show Bumped Packages (3)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | minor | | `npm:@domainkit/capsuledb` | minor | | `npm:@domainkit/react` | minor | </details> #### Require Effect 4.1.2 and CapsuleDB 0.6 DomainKit, its React controllers, and its PostgreSQL adapter require Effect 4.1.2 or newer within Effect 4. The development, SQL client, test, snippet, registry, and packed-consumer dependencies use Effect 4.1.2 together. The PostgreSQL adapter requires CapsuleDB `>=0.6.0 <0.7.0`, with development, examples, and packed consumers pinned to the published CapsuleDB 0.6.0 release. Hosts continue to supply the SQL client. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.23.0` | `npm` | | `@domainkit/capsuledb` | `0.23.0` | `npm` | | `@domainkit/react` | `0.23.0` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#179) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.22.1` | `0.23.0` | | `@domainkit/capsuledb` | `0.22.1` | `0.23.0` | | `@domainkit/react` | `0.22.1` | `0.23.0` | ## Changelogs ### `2026-11-03-b4e91a.md` <details> <summary>Show Bumped Packages (3)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | minor | | `npm:@domainkit/capsuledb` | minor | | `npm:@domainkit/react` | minor | </details> #### Require Effect 4.1.2 and CapsuleDB 0.6 DomainKit, its React controllers, and its PostgreSQL adapter require Effect 4.1.2 or newer within Effect 4. The development, SQL client, test, snippet, registry, and packed-consumer dependencies use Effect 4.1.2 together. The PostgreSQL adapter requires CapsuleDB `>=0.6.0 <0.7.0`, with development, examples, and packed consumers pinned to the published CapsuleDB 0.6.0 release. Hosts continue to supply the SQL client. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.23.0` | `npm` | | `@domainkit/capsuledb` | `0.23.0` | `npm` | | `@domainkit/react` | `0.23.0` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#179) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.22.1` | `0.23.0` | | `@domainkit/capsuledb` | `0.22.1` | `0.23.0` | | `@domainkit/react` | `0.22.1` | `0.23.0` | ## Changelogs ### `2026-11-03-b4e91a.md` <details> <summary>Show Bumped Packages (3)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | minor | | `npm:@domainkit/capsuledb` | minor | | `npm:@domainkit/react` | minor | </details> #### Require Effect 4.1.2 and CapsuleDB 0.6 DomainKit, its React controllers, and its PostgreSQL adapter require Effect 4.1.2 or newer within Effect 4. The development, SQL client, test, snippet, registry, and packed-consumer dependencies use Effect 4.1.2 together. The PostgreSQL adapter requires CapsuleDB `>=0.6.0 <0.7.0`, with development, examples, and packed consumers pinned to the published CapsuleDB 0.6.0 release. Hosts continue to supply the SQL client. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.23.0` | `npm` | | `@domainkit/capsuledb` | `0.23.0` | `npm` | | `@domainkit/react` | `0.23.0` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#176) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.22.0` | `0.22.1` | | `@domainkit/react` | `0.22.0` | `0.22.1` | | `@domainkit/capsuledb` | `0.22.0` | `0.22.1` | ## Changelogs ### `zone-suggestions-hold-the-name.md` <details> <summary>Show Bumped Packages (1)</summary> | Package | Bump | | --- | --- | | `npm:@domainkit/react` | patch | </details> #### Suggest the zone that holds a typed name `Connect.suggestionsFor` now offers a zone that already holds the typed name before anything else, deepest first, compared on whole labels. `probe.example.com` offers `example.com`, and a zone that only shares letters with the name, such as `shop.com` for `probe.example.sh`, is no longer offered. When no zone holds the name, the field still completes a zone typed part way, either from its start or after a subdomain, and a finished name that no connected zone holds offers nothing. `Connect.completionOf` keeps the typed subdomain when it completes a name its zone already holds. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.22.1` | `npm` | | `@domainkit/react` | `0.22.1` | `npm` | | `@domainkit/capsuledb` | `0.22.1` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#176) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.22.0` | `0.22.1` | | `@domainkit/react` | `0.22.0` | `0.22.1` | | `@domainkit/capsuledb` | `0.22.0` | `0.22.1` | ## Changelogs ### `zone-suggestions-hold-the-name.md` <details> <summary>Show Bumped Packages (1)</summary> | Package | Bump | | --- | --- | | `npm:@domainkit/react` | patch | </details> #### Suggest the zone that holds a typed name `Connect.suggestionsFor` now offers a zone that already holds the typed name before anything else, deepest first, compared on whole labels. `probe.example.com` offers `example.com`, and a zone that only shares letters with the name, such as `shop.com` for `probe.example.sh`, is no longer offered. When no zone holds the name, the field still completes a zone typed part way, either from its start or after a subdomain, and a finished name that no connected zone holds offers nothing. `Connect.completionOf` keeps the typed subdomain when it completes a name its zone already holds. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.22.1` | `npm` | | `@domainkit/react` | `0.22.1` | `npm` | | `@domainkit/capsuledb` | `0.22.1` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#176) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.22.0` | `0.22.1` | | `@domainkit/react` | `0.22.0` | `0.22.1` | | `@domainkit/capsuledb` | `0.22.0` | `0.22.1` | ## Changelogs ### `zone-suggestions-hold-the-name.md` <details> <summary>Show Bumped Packages (1)</summary> | Package | Bump | | --- | --- | | `npm:@domainkit/react` | patch | </details> #### Suggest the zone that holds a typed name `Connect.suggestionsFor` now offers a zone that already holds the typed name before anything else, deepest first, compared on whole labels. `probe.example.com` offers `example.com`, and a zone that only shares letters with the name, such as `shop.com` for `probe.example.sh`, is no longer offered. When no zone holds the name, the field still completes a zone typed part way, either from its start or after a subdomain, and a finished name that no connected zone holds offers nothing. `Connect.completionOf` keeps the typed subdomain when it completes a name its zone already holds. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.22.1` | `npm` | | `@domainkit/react` | `0.22.1` | `npm` | | `@domainkit/capsuledb` | `0.22.1` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#174) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.21.0` | `0.22.0` | | `@domainkit/react` | `0.21.0` | `0.22.0` | | `@domainkit/capsuledb` | `0.21.0` | `0.22.0` | ## Changelogs ### `callback-recovery-default.md` <details> <summary>Show Bumped Packages (2)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | minor | | `npm:@domainkit/react` | minor | </details> #### Return customers to the application after a provider callback `Server.layer` and `Server.toWebHandler` redirect live, authenticated cancellation and completion failure to the validated saved `returnTo` or `defaultReturnTo`. The URL carries `domainkit=cancelled|restart|inspect` and `domainkit-provider=<provider id>`, preserving other query parameters and the fragment. Hosts relying on a typed error response for these classified outcomes must handle the redirect hint or select their own destination with `Options.callback`. A policy returning `undefined` uses this default; an explicit destination still wins. Invalid or expired flows, host authentication failures, and faults before classification remain errors. `CallbackRecovery.Model`, `read`, and `write` expose the shared browser-safe URL contract from `domainkit`, `domainkit/CallbackRecovery`, and `domainkit/client`. `Connect.useRecovery()` in `@domainkit/react` reads the hint after hydration and dismisses it without navigation. The message catalog supplies recovery copy, and the registry domain flow and domain field show retry or account inspection guidance. A hint authorizes no operation and never replays a grant. A cancelled or failed reconnect includes optional `connectionId` metadata and the `domainkit-connection` parameter. The registry retries that existing connection rather than creating a second account, preserving the domains it serves. The host still authorizes reconnect requests. Successful default callbacks clear recovery parameters. React strips them when deriving the current page's default return destination, so another connect or reconnect control cannot carry an old cancellation alert through a successful attempt. Explicit host-selected destinations retain their policy semantics. Classified callback recovery records finite outcome, provider, and reason tags on the current span and in logs: Info for cancellation, Warning for failure. Logs omit raw errors, callback URLs, state, grant codes, and credentials, retaining failure observability when the browser redirects. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.22.0` | `npm` | | `@domainkit/react` | `0.22.0` | `npm` | | `@domainkit/capsuledb` | `0.22.0` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#174) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.21.0` | `0.22.0` | | `@domainkit/react` | `0.21.0` | `0.22.0` | | `@domainkit/capsuledb` | `0.21.0` | `0.22.0` | ## Changelogs ### `callback-recovery-default.md` <details> <summary>Show Bumped Packages (2)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | minor | | `npm:@domainkit/react` | minor | </details> #### Return customers to the application after a provider callback `Server.layer` and `Server.toWebHandler` redirect live, authenticated cancellation and completion failure to the validated saved `returnTo` or `defaultReturnTo`. The URL carries `domainkit=cancelled|restart|inspect` and `domainkit-provider=<provider id>`, preserving other query parameters and the fragment. Hosts relying on a typed error response for these classified outcomes must handle the redirect hint or select their own destination with `Options.callback`. A policy returning `undefined` uses this default; an explicit destination still wins. Invalid or expired flows, host authentication failures, and faults before classification remain errors. `CallbackRecovery.Model`, `read`, and `write` expose the shared browser-safe URL contract from `domainkit`, `domainkit/CallbackRecovery`, and `domainkit/client`. `Connect.useRecovery()` in `@domainkit/react` reads the hint after hydration and dismisses it without navigation. The message catalog supplies recovery copy, and the registry domain flow and domain field show retry or account inspection guidance. A hint authorizes no operation and never replays a grant. A cancelled or failed reconnect includes optional `connectionId` metadata and the `domainkit-connection` parameter. The registry retries that existing connection rather than creating a second account, preserving the domains it serves. The host still authorizes reconnect requests. Successful default callbacks clear recovery parameters. React strips them when deriving the current page's default return destination, so another connect or reconnect control cannot carry an old cancellation alert through a successful attempt. Explicit host-selected destinations retain their policy semantics. Classified callback recovery records finite outcome, provider, and reason tags on the current span and in logs: Info for cancellation, Warning for failure. Logs omit raw errors, callback URLs, state, grant codes, and credentials, retaining failure observability when the browser redirects. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.22.0` | `npm` | | `@domainkit/react` | `0.22.0` | `npm` | | `@domainkit/capsuledb` | `0.22.0` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#174) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `domainkit` | `0.21.0` | `0.22.0` | | `@domainkit/react` | `0.21.0` | `0.22.0` | | `@domainkit/capsuledb` | `0.21.0` | `0.22.0` | ## Changelogs ### `callback-recovery-default.md` <details> <summary>Show Bumped Packages (2)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | minor | | `npm:@domainkit/react` | minor | </details> #### Return customers to the application after a provider callback `Server.layer` and `Server.toWebHandler` redirect live, authenticated cancellation and completion failure to the validated saved `returnTo` or `defaultReturnTo`. The URL carries `domainkit=cancelled|restart|inspect` and `domainkit-provider=<provider id>`, preserving other query parameters and the fragment. Hosts relying on a typed error response for these classified outcomes must handle the redirect hint or select their own destination with `Options.callback`. A policy returning `undefined` uses this default; an explicit destination still wins. Invalid or expired flows, host authentication failures, and faults before classification remain errors. `CallbackRecovery.Model`, `read`, and `write` expose the shared browser-safe URL contract from `domainkit`, `domainkit/CallbackRecovery`, and `domainkit/client`. `Connect.useRecovery()` in `@domainkit/react` reads the hint after hydration and dismisses it without navigation. The message catalog supplies recovery copy, and the registry domain flow and domain field show retry or account inspection guidance. A hint authorizes no operation and never replays a grant. A cancelled or failed reconnect includes optional `connectionId` metadata and the `domainkit-connection` parameter. The registry retries that existing connection rather than creating a second account, preserving the domains it serves. The host still authorizes reconnect requests. Successful default callbacks clear recovery parameters. React strips them when deriving the current page's default return destination, so another connect or reconnect control cannot carry an old cancellation alert through a successful attempt. Explicit host-selected destinations retain their policy semantics. Classified callback recovery records finite outcome, provider, and reason tags on the current span and in logs: Info for cancellation, Warning for failure. Logs omit raw errors, callback URLs, state, grant codes, and credentials, retaining failure observability when the browser redirects. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `domainkit` | `0.22.0` | `npm` | | `@domainkit/react` | `0.22.0` | `npm` | | `@domainkit/capsuledb` | `0.22.0` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(release): prepare DomainKit (#165) ## Summary All bumped packages. | Package | From | To | | --- | --- | --- | | `@domainkit/react` | `0.20.1` | `0.21.0` | | `@domainkit/capsuledb` | `0.20.1` | `0.21.0` | | `domainkit` | `0.20.1` | `0.21.0` | ## Changelogs ### `provider-registration-settings.md` <details> <summary>Show Bumped Packages (1)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | minor | </details> #### Derive provider registration requirements before connecting Use `Server.registrationSettings({ providers, callbackBaseUrl })` to derive secret-free Cloudflare OAuth and Vercel Integration callback and authentication requirements from configured definitions, without credentials, identity, storage, or network access. Custom interactive providers can supply optional registration metadata; token-only providers return no settings. Interactive starts reject empty credentials and malformed setup fields with redacted, field-specific `InvalidInput` errors before redirecting or writing a continuation. Vercel resolves its required credentials before redirect and again at completion to support rotation. Config resolution errors name the field without exposing the underlying configuration error. Configured callback bases must be HTTP(S) URLs without credentials, query, or fragment; emulator mount paths remain supported. ### `provider-callback-recovery.md` <details> <summary>Show Bumped Packages (1)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | minor | </details> #### Choose authenticated callback destinations Opt in through `Server.Options.callback` to select a same-origin destination from sanitized `Connected`, `Cancelled`, or `Failed` outcomes, or return `undefined` to preserve the default response. `Server.CallbackOutcome` provides the schema and type; `Connect.completeOutcome` exposes the shared locked completion result to Effect hosts while `Connect.complete` retains its result/error contract. The completion lock verifies live owner, actor, and provider binding before classifying provider parameters. Invalid flow races answer with the same HTTP refusal and invoke no policy or exchange. Cancellation recognizes only `access_denied` and retains expiry, spending, and retry behavior. Connected means durable account access, not DNS readiness; failures can leave partial persistence and require inspection. Policy receives no raw callback data, secrets, or storage rows. ### `runtime-dependencies.md` <details> <summary>Show Bumped Packages (1)</summary> | Package | Bump | | --- | --- | | `npm:domainkit` | patch | </details> #### Update OAuth and domain parsing dependencies DomainKit uses oauth4webapi 3.8.8 and tldts 7.4.18 for provider authorization and domain parsing. Development and validation use Effect 4.0.2; the supported Effect peer range starts at 4.0.0. ## Publish The following packages will be published if merged: | Package | Version | Registry | | --- | --- | --- | | `@domainkit/react` | `0.21.0` | `npm` | | `@domainkit/capsuledb` | `0.21.0` | `npm` | | `domainkit` | `0.21.0` | `npm` | Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
PreviousNext