NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4882 most downloaded on PyPI
Stytch python client
Last release 3 months ago
24 Jun 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
6 years old
203 releases · first in 2020
One column per quarter.
Add email otp to b2b by @etaylormcgregor-stytch in https://github.com/stytchauth/stytch-python/pull/225
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.9.0...v11.10.0
Make org_name and org_slug optional in Discovery.Organizations.Create by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/224
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.8.0...v11.9.0
Adds support for GitHub B2B OAuth, Cross-Org Passwords by @jcook-stytch in https://github.com/stytchauth/stytch-python/pull/223
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.7.0...v11.8.0
Add external connection endpoints by @etaylormcgregor-stytch in https://github.com/stytchauth/stytch-python/pull/221
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.6.0...v11.7.0
OIDC improvements by @vincent-stytch in https://github.com/stytchauth/stytch-python/pull/220
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.5.0...v11.6.0
Fix member session return type magic links by @etaylormcgregor-stytch in https://github.com/stytchauth/stytch-python/pull/218
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.4.1...v11.5.0
Add in additional SCIM Attributes to get parity to spec by @bgier-stytch in https://github.com/stytchauth/stytch-python/pull/216
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.4.0...v11.4.1
Add allowed OAuth Tenants by @vincent-stytch in https://github.com/stytchauth/stytch-python/pull/214
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.3.0...v11.4.0
Change chain_id to string by @jennifer-stytch in https://github.com/stytchauth/stytch-python/pull/215
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.2.0...v11.3.0
[AUTH-3740] Sessions migrate endpoint by @etaylormcgregor-stytch in https://github.com/stytchauth/stytch-python/pull/212
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.1.0...v11.2.0
Update slack invite links by @mruhlin-stytch in https://github.com/stytchauth/stytch-python/pull/210
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v11.0.0...v11.1.0
AUTH-3398: Update readme to include B2B samples by @bgier-stytch in https://github.com/stytchauth/stytch-python/pull/208
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v10.1.0...v11.0.0
Support wildcard scopes in M2M auth by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/207
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v10.0.0...v10.1.0
SCIM Singleton by @ollie-stytch in https://github.com/stytchauth/stytch-python/pull/206
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.6.0...v10.0.0
Auth-3345: Add updated_at and created_at to organization and member models by @bgier-stytch in https://github.com/stytchauth/stytch-python/pull/203
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.5.1...v9.6.0
Lazily initialize aiohttp.ClientSession by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/205
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.5.0...v9.5.1
Add identity_provider to SSO connections by @vincent-stytch in https://github.com/stytchauth/stytch-python/pull/202
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.4.0...v9.5.0
Bump jinja2 from 3.1.3 to 3.1.4 by @dependabot in https://github.com/stytchauth/stytch-python/pull/201
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.3.1...v9.4.0
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.3.0...v9.3.1
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.3.0...v9.3.1
Mark access token as optional for OAuth responses by @jennifer-stytch in https://github.com/stytchauth/stytch-python/pull/199
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.2.0...v9.3.0
Include member scim registrations by @taronish-stytch in https://github.com/stytchauth/stytch-python/pull/198
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.1.0...v9.2.0
Zero-downtime session cutover by @vincent-stytch in https://github.com/stytchauth/stytch-python/pull/197
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v9.0.0...v9.1.0
Persist async client session by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/196
This changes the semantics to create a ClientSession only once on startup instead of per-request - while the external API is the same the behavior is not backwards compatible. Are there any cases where callers would want to use (or implicitly depend on) the previous behavior? For example, if they're creating a Stytch client per-request and have a memory leak that prevents the client from getting GC'd, then we'd turn a small memory leak into a much larger one.
Out of an abundance of caution, we're making this a MAJOR version bump to avoid any unintended consequences for existing clients.
This is expected to be a no-op upgrade for clients on v8.7.0. If you use the async API and want to maintain the per-request ClientSession behavior as before, please reach out and tell us about your use case so we can figure out how best to support it.
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.7.0...v9.0.0
Release organization metrics API by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/195
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.6.0...v8.7.0
SCIM Support by @ollie-stytch in https://github.com/stytchauth/stytch-python/pull/194
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.5.1...v8.6.0
Add B2B step-up docs by @jennifer-stytch in https://github.com/stytchauth/stytch-python/pull/193
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.5.0...v8.5.1
Update README.md by @chris-stytch in https://github.com/stytchauth/stytch-python/pull/189
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.4.0...v8.5.0
Add email_address to UpdateMember by @alex-stytch in https://github.com/stytchauth/stytch-python/pull/187
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.3.0...v8.4.0
chore: [AUTH-2594] Publish Member OAuth methods by @max-stytch in https://github.com/stytchauth/stytch-python/pull/186
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.2.0...v8.3.0
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.1.0...v8.2.0
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.1.0...v8.2.0
Autogen update: totp and recovery codes by @taronish-stytch in https://github.com/stytchauth/stytch-python/pull/185
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.0.4...v8.1.0
Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in https://github.com/stytchauth/stytch-python/pull/183
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.0.3...v8.0.4
Make user_agent WebAuthN Factor Optional by @ollie-stytch in https://github.com/stytchauth/stytch-python/pull/182
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.0.2...v8.0.3
Add default value for required roles param in local JWT auth by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/181
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.0.1...v8.0.2
Mark preserve_existing_sessions optional by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/180
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v8.0.0...v8.0.1
The Stytch product will soon support role-based access control (RBAC)! See our RBAC guide at https://stytch.com/docs/b2b/guides/rbac/overview for more
magic_links.email.invite().$METHODRequestOptions field – this is used to supply authorization data for RBAC (see previous point).authenticate_jwt and authenticate_jwt_local now accept an optional AuthorizationCheck parameter for performing RBAC checks. These will use a cached version of the project's RBAC policy in order to make an authZ verdict.LazyCache (which is intended to only be exposed internally that is used for fetching the project's RBAC policy only when needed – by default this expires every 5 minutes, but only refreshes upon receiving a request that will use the value. This means that if your project does not use RBAC, the cache will never fetch the policy.Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.9.0...v8.0.0
Bump minimum supported version to 3.8 by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/178
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.8.0...v7.9.0
Add "dangerously get member" to SDKs and SAML Update by URL and Doc by @vincent-stytch in https://github.com/stytchauth/stytch-python/pull/175
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.7.4...v7.8.0
Add WebAuthnUpdate by @alex-stytch in https://github.com/stytchauth/stytch-python/pull/162
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.7.3...v7.7.4
Add additional fields to B2B Password Reset by Session by @nikhil-stytch in https://github.com/stytchauth/stytch-python/pull/161
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.7.2...v7.7.3
118cff0: Fix B2B local JWT auth logic
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.7.1...v7.7.2
feat: [AUTH-1645] Add additional params to PasswordsSessionReset by @max-stytch in https://github.com/stytchauth/stytch-python/pull/159
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.7.0...v7.7.1
Fix bad import path in README by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/157
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.6.0...v7.7.0
ExchangePrimaryFactor by @alex-stytch in https://github.com/stytchauth/stytch-python/pull/155
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.5.0...v7.6.0
Improve handling of enum values by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/154
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.4.0...v7.5.0
M2M Manual methods by @vincent-stytch in https://github.com/stytchauth/stytch-python/pull/152
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.3.1...v7.4.0
Fix Consumer JWKS URL by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/153
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.3.0...v7.3.1
Run auto-gen before committing M2M manual changes by @vincent-stytch in https://github.com/stytchauth/stytch-python/pull/151
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.2.2...v7.3.0
Correct Usage of Pydantic Validation Error by @max-muoto in https://github.com/stytchauth/stytch-python/pull/149
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.2.1...v7.2.2
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.2.0...v7.2.1
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.2.0...v7.2.1
Add workflow to periodically check for broken links by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/146
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.1.0...v7.2.0
Add B2B OAuth & OTP by @alex-stytch in https://github.com/stytchauth/stytch-python/pull/145
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.0.2...v7.1.0
Custom claims is not always present
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.0.1...v7.0.2
Add missing __init__.py file by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/144
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v7.0.0...v7.0.1
Generate stytch-python completely from API definitions + docs by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/138
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v6.11.0...v7.0.0
Bump pydantic to v2 and pin versions better by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/143
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v6.10.0...v6.11.0
Use GH CLI tool for releases by @logan-stytch in https://github.com/stytchauth/stytch-python/pull/137
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v6.9.0...v6.10.0
[AUTH-732] Add Organizations Member Map by @ollie-stytch in https://github.com/stytchauth/stytch-python/pull/135
Full Changelog: https://github.com/stytchauth/stytch-python/compare/v6.8.0...v6.9.0
6 new endpoints: b2b_client.magic_links.email.discovery.send, b2b_client.magic_links.discovery.authenticate, b2b_client.discovery.organzations.list,b2
b2b_client.magic_links.email.discovery.send, b2b_client.magic_links.discovery.authenticate, b2b_client.discovery.organzations.list,b2b_client.discovery.intermediate_sessions.exchange, b2b_client.discovery.organizations.create, and b2b_client.sessions.exchange.New locale argument on B2B email magic link methods - emails can be sent in English (en), Spanish (es), or Brazilian Portuguese (pt-br)
locale argument on B2B email magic link methods - emails can be sent in English (en), Spanish (es), or Brazilian Portuguese (pt-br)auth_methods and allowed_auth_methods on organizations, and the is_breakglass attributes for membersinvited_by_member_id field for B2B email invitesYour coding agent can read these notes before it upgrades. Set up the MCP server →