General Breaking changes
This version uses a next-generation code generator that might introduce breaking changes.
- Model signatures now use only keyword-argument syntax. All positional arguments must be re-written as keyword-arguments. To keep auto-completion in most cases, models are now generated for Python 2 and Python 3. Python 3 uses the "*" syntax for keyword-only arguments.
- Enum types now use the "str" mixin (class AzureEnum(str, Enum)) to improve the behavior when unrecognized enum values are encountered.
While this is not a breaking change, the distinctions are important, and are documented here:
https://docs.python.org/3/library/enum.html#others
At a glance:
- "is" should not be used at all.
- "format" will return the string value, where "%s" string formatting will return NameOfEnum.stringvalue. Format syntax should be prefered.
- New Long Running Operation:
- Return type changes from msrestazure.azure_operation.AzureOperationPoller to msrest.polling.LROPoller. External API is the same.
- Return type is now always a msrest.polling.LROPoller, regardless of the optional parameters used.
- The behavior has changed when using raw=True. Instead of returning the initial call result as ClientRawResponse, without polling, now this returns an LROPoller. After polling, the final resource will be returned as a ClientRawResponse.
- New polling parameter. The default behavior is Polling=True which will poll using ARM algorithm. When Polling=False, the response of the initial call will be returned without polling.
- polling parameter accepts instances of subclasses of msrest.polling.PollingMethod.
- add_done_callback will no longer raise if called after polling is finished, but will instead execute the callback right away.
General Breaking changes
This version uses a next-generation code generator that might introduce breaking changes if from some import. In summary, some modules were incorrectly visible/importable and have been renamed. This fixed several issues caused by usage of classes that were not supposed to be used in the first place.
- HanaManagementClient cannot be imported from azure.mgmt.hanaonazure.hana_management_client anymore (import from azure.mgmt.hanaonazure works like before)
- HanaManagementClientConfiguration import has been moved from azure.mgmt.hanaonazure.hana_management_client to azure.mgmt.hanaonazure
- A model MyClass from a "models" sub-module cannot be imported anymore using azure.mgmt.hanaonazure.models.my_class (import from azure.mgmt.hanaonazure.models works like before)
- An operation class MyClassOperations from an operations sub-module cannot be imported anymore using azure.mgmt.hanaonazure.operations.my_class_operations (import from azure.mgmt.hanaonazure.operations works like before)
Last but not least, HTTP connection pooling is now enabled by default. You should always use a client as a context manager, or call close(), or use no more than one client per process.
General Breaking changes
This version uses a next-generation code generator that might introduce breaking changes if you were importing from the v20xx_yy_zz API folders. In summary, some modules were incorrectly visible/importable and have been renamed. This fixed several issues caused by usage of classes that were not supposed to be used in the first place.
- NetworkManagementClient cannot be imported from azure.mgmt.network.v20xx_yy_zz.network_management_client anymore (import from azure.mgmt.network.v20xx_yy_zz works like before)
- NetworkManagementClientConfiguration import has been moved from azure.mgmt.network.v20xx_yy_zz.network_management_client to azure.mgmt.network.v20xx_yy_zz
- A model MyClass from a "models" sub-module cannot be imported anymore using azure.mgmt.network.v20xx_yy_zz.models.my_class (import from azure.mgmt.network.v20xx_yy_zz.models works like before)
- An operation class MyClassOperations from an operations sub-module cannot be imported anymore using azure.mgmt.network.v20xx_yy_zz.operations.my_class_operations (import from azure.mgmt.network.v20xx_yy_zz.operations works like before)
Last but not least, HTTP connection pooling is now enabled by default. You should always use a client as a context manager, or call close(), or use no more than one client per process.