Skip to content

Commit 30b1089

Browse files
committed
Updated UPGRADING.md doc
1 parent 1e44613 commit 30b1089

1 file changed

Lines changed: 7 additions & 71 deletions

File tree

UPGRADING.md

Lines changed: 7 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@ A guide to migrating the Auth0 Python SDK from v5 to v6.
1111
- [`ConnectionAttributeIdentifier` split into three types](#connectionattributeidentifier-split-into-three-types)
1212
- [`PhoneProviderProtectionBackoffStrategyEnum` value renamed](#phoneproviderprotectionbackoffstrategyenum-value-renamed)
1313
- [`ListRolesOffsetPaginatedResponseContent` pagination fields now required](#listrolesoffsetpaginatedresponsecontent-pagination-fields-now-required)
14-
- [New features](#new-features)
15-
- [Network ACL: `auth0_managed` field](#network-acl-auth0_managed-field)
16-
- [Organizations: role members endpoint](#organizations-role-members-endpoint)
17-
- [Organizations: third-party client access](#organizations-third-party-client-access)
18-
- [Other additions](#other-additions)
1914

2015
## Overall changes
2116

@@ -61,8 +56,11 @@ from:
6156
- `UpdateConnectionOptions`
6257

6358
Any code reading or setting this field on the above types will need to
64-
remove that usage; passing it will simply be dropped as an unrecognized
65-
field.
59+
remove that usage. Note that these models are configured with
60+
`extra="allow"`, so passing `federated_connections_access_tokens` is **not**
61+
silently dropped — it is retained on the model and still serialized into the
62+
outbound request. Remove the field explicitly rather than relying on the SDK
63+
to strip it.
6664

6765
### `read:federated_connections_tokens` / `delete:federated_connections_tokens` scopes removed
6866

@@ -101,14 +99,14 @@ It is replaced by three narrower types, one per attribute:
10199
# v5
102100
from auth0.management.types import ConnectionAttributeIdentifier
103101

104-
identifier = ConnectionAttributeIdentifier(active=True, default_method="email")
102+
identifier = ConnectionAttributeIdentifier(active=True, default_method="email_otp")
105103
```
106104

107105
```python
108106
# v6
109107
from auth0.management.types import EmailAttributeIdentifier
110108

111-
identifier = EmailAttributeIdentifier(active=True, default_method="email")
109+
identifier = EmailAttributeIdentifier(active=True, default_method="email_otp")
112110
```
113111

114112
`EmailAttributeIdentifier` has the same shape as the old
@@ -157,65 +155,3 @@ Deserializing a role-list response that is missing any of these fields now
157155
raises `pydantic.ValidationError` instead of silently defaulting to `None`.
158156
This matches the Management API, which always returns these fields for this
159157
endpoint.
160-
161-
## New features
162-
163-
### Network ACL: `auth0_managed` field
164-
165-
`NetworkAclMatch` gains an optional `auth0_managed: Optional[List[str]]`
166-
field (serialized as `auth0_managed`), available on both the `match` and
167-
`not_match` rule blocks. Use it to reference Auth0-managed lists when
168-
matching or excluding traffic:
169-
170-
```python
171-
from auth0.management.types import NetworkAclMatch
172-
173-
match = NetworkAclMatch(auth_0_managed=["tor-exit-nodes"])
174-
```
175-
176-
The Python attribute is `auth_0_managed`; it serializes to `auth0_managed`
177-
over the wire. Both spellings are accepted as the constructor keyword.
178-
179-
### Organizations: role members endpoint
180-
181-
New sub-clients `organizations.roles` and `organizations.roles.members`
182-
expose `GET /api/v2/organizations/{id}/roles/{role_id}/members`:
183-
184-
```python
185-
for member in client.organizations.roles.members.list(id="org_id", role_id="role_id"):
186-
print(member)
187-
```
188-
189-
This returns a `SyncPager`/`AsyncPager` of `RoleMember`, wrapping
190-
`ListOrganizationRoleMembersResponseContent`.
191-
192-
### Organizations: third-party client access
193-
194-
`create()`/`update()` and all organization response types gain
195-
`third_party_client_access: Optional[OrganizationThirdPartyClientAccessEnum]`
196-
(`Literal["block", "allow"]`), controlling whether third-party clients can
197-
access the organization.
198-
199-
### Other additions
200-
201-
- **Grants**: `UserGrant.organization_id: Optional[str]` (read-only), returned
202-
from `GET /grants`.
203-
- **Connections**: `discovery_url` / `oidc_metadata` are now available on
204-
`samlp` connections (previously OIDC-only), via new `ConnectionsDiscoveryUrl`
205-
/ `ConnectionsOidcMetadata` on `ConnectionPropertiesOptions` and
206-
`UpdateConnectionOptions`.
207-
- **Event Streams**: new event-type values `connection.created`,
208-
`connection.deleted`, `connection.updated` on `EventStreamEventTypeEnum`,
209-
`EventStreamDeliveryEventTypeEnum`, `EventStreamSubscribeEventsEventTypeEnum`,
210-
and `EventStreamTestEventTypeEnum`; new
211-
`EventStreamCloudEventConnection{Created,Deleted,Updated}*` payload types;
212-
and `EventStreamSubscribeEventsResponseContent` extended with the
213-
connection event variants.
214-
- **Token Vault**: new `grants: Optional[List[TokenVaultPrivilegedAccessGrant]]`
215-
on the privileged-access credential/public-key types.
216-
`TokenVaultPrivilegedAccessGrant`: `{connection: str, scopes: List[str]}`.
217-
- **Errors**: new error body types `NotFoundErrorBody`/`NotFoundErrorBodyError`
218-
and `TooManyRequestsErrorBody`/`TooManyRequestsErrorBodyError`.
219-
- **CloudEvent**: `specversion` is now typed as
220-
`EventStreamCloudEventSpecVersionEnum` (`Literal["1.0"]` + `Any` fallback)
221-
instead of `str`, across group/org/user CloudEvent types.

0 commit comments

Comments
 (0)