4.8.0 (2024-11-12)
This version and all future versions will support Python 3.13.
Features Added
- Added response headers directly to SDK item point operation responses. See PR 35791.
- SDK will now retry all ServiceRequestErrors (failing outgoing requests) before failing. Default number of retries is 3. See PR 36514.
- Added Retry Policy for Container Recreate in the Python SDK. See PR 36043
- Added option to disable write payload on writes. See PR 37365
- Added get feed ranges API. See PR 37687
- Added feed range support in
query_items_change_feed
. See PR 37687 - Added provisional helper APIs for managing session tokens. See PR 36971
- Added ability to get feed range for a partition key. See PR 36971
Breaking Changes
- Item-level point operations will now return
CosmosDict
andCosmosList
response types.
Responses will still be able to be used directly as previously, but will now have access to their response headers without need for a response hook. See PR 35791.
For more information on this, see our README section here.
Bugs Fixed
- Consolidated Container Properties Cache to be in the Client to cache partition key definition and container rid to avoid unnecessary container reads. See PR 35731.
- Fixed bug with client hangs when running into WriteForbidden exceptions. See PR 36514.
- Added retry handling logic for DatabaseAccountNotFound exceptions. See PR 36514.
- Fixed SDK regex validation that would not allow for item ids to be longer than 255 characters. See PR 36569.
- Fixed issue where 'NoneType' object has no attribute error was raised when a session retry happened during a query. See PR 37578.
- Fixed issue where passing subpartition partition key values as a tuple in a query would raise an error. See PR 38136
- Batch requests will now be properly considered as Write operation. See PR 38365.
Other Changes
- Getting offer thoughput when it has not been defined in a container will now give a 404/10004 instead of just a 404. See PR 36043
- Incomplete Partition Key Extractions in documents for Subpartitioning now gives 400/1001 instead of just a 400. See PR 36043
- SDK will now make database account calls every 5 minutes to refresh location cache. See PR 36514.