Repository navigation
chore: update version and changelog - #481
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
October 21, 2026 20:28
a3e360f to
250410d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
seamless-auth-api@0.19.4
Patch Changes
b4faddd: Completing registration with a magic link now claims the account the same way the email code does (GHSA-9xg2-j8fg-427c).
emailVerified), since opening the link proves it.If
phone_otpis inlogin_methods, review accounts that finished registration by magic link on an earlier version and whose phone was verified before their email: the phone may not be the owner's. Accounts that never hadphone_otpenabled are not affected.b8e8c71: OAuth provider configuration can no longer reach server secrets or internal addresses (GHSA-qx82-28gf-w744).
clientSecretEnvmust name an env var ending in_CLIENT_SECRET(for exampleGOOGLE_CLIENT_SECRET). Writes throughPATCH /system-config/adminand/system-config/oauth-providersthat name anything else answer400 { "error": "Invalid OAuth provider" }with the reasons, and a stored provider that names anything else fails at sign-in without reading the variable.http(s). In production they must behttps, and token, userinfo, JWKS and GitHub email requests connect only to public addresses. The check runs in the connection's own DNS lookup, so a host name cannot resolve one way for the check and another for the request, and IPv6 forms that carry an IPv4 address (NAT64, 6to4, IPv4-mapped and IPv4-compatible) are judged by that address. List an on-premises IdP in the newOAUTH_PROVIDER_PRIVATE_HOSTS. Link-local addresses are refused even when listed.authorizationUrlthat is nothttp(s)(httpsin production) is refused when stored and when sign-in starts.Upgrade note: rename a provider secret variable that does not end in
_CLIENT_SECRETbefore upgrading, and add an internal IdP's host toOAUTH_PROVIDER_PRIVATE_HOSTS. Destination checks apply withNODE_ENV=production, as the published image sets; development mode (the bundleddocker-compose.yml) leaves them off so local stacks can reach a provider on a private address.c6d5e61: Adding someone to an organization requires an administrator (GHSA-v2q2-q246-8chm).
POST /organizations/{organizationId}/membersnow requiresadmin:write, the same asPOST /admin/organizations/{organizationId}/members, and answers403otherwise. Any account could create an organization and then add other accounts by email without their consent, which also told it which addresses have accounts. Self-service adds return in v0.20 as invitations the member accepts.GET /organizations/{organizationId}/membersand the member returned byPATCH /organizations/{organizationId}/members/{userId}show the member'sphoneand globalrolesonly toadmin:readcallers. Others getphone: nullandroles: []; organization roles and scopes are unchanged.Breaking for apps that let non-administrators call
addOrganizationMemberfrom@seamless-auth/client: those calls now fail with403. The admin dashboard and the CLI use the admin routes and are unaffected.Earlier versions did not record who added a member. If self-service organizations were in use, review
organization_membershipsfor members of organizations that a non-administrator created.55c82cf: Passkey sign-in challenges belong to the sign-in attempt that asked for them (GHSA-v9q2-hcqj-ggqr).
POST /webauthn/login/startstores its challenge against the pre-auth token's attempt (jti) and replaces only that attempt's earlier challenge. Starting another attempt for the same account, which only needs its email address, no longer invalidates the challenge the owner is answering.POST /webauthn/login/finishchecks the assertion against its own attempt's challenge.jtiis refused on login start with400.webauthn_challengesgainsattempt_id. Passkey sign-ins in progress during the upgrade have to start again.Registration and step-up challenges are unchanged: both already need an access session.