.. :changelog:

Release History
===============

0.8.0 (2017-09-07)
++++++++++++++++++

**Disclaimer**

We were using a slightly unorthodox convention for some operation ids. 
Some resource operations were "nested" inside others, e.g. blob auditing policies was nested inside databases as in client.databases.get_blob_auditing_policies(..) 
instead of the flattened ARM standard client.database_blob_auditing_policies.get(...).

This convention has lead to some inconsistencies, makes some APIs difficult to find, and is at odds with future APIs. 
For example if we wanted to implement listing db audit policies by server, continuing the current convention would be 
client.databases.list_blob_auditing_policies_by_server(..) which makes much less sense than the ARM standard which would beclient.database_blob_auditing_policies.list_by_server(...)`.

In order to resolve this and provide a good path moving forward, 
we have renamed the inconsistent operations to follow the ARM standard. 
This is an unfortunate breaking change, but it's best to do now while the SDK is still in preview and since most of these operations were only recently added.

**Breaking changes**

- client.database.get_backup_long_term_retention_policy -> client.backup_long_term_retention_policies.get
- client.database.create_or_update_backup_long_term_retention_policy -> client.backup_long_term_retention_policies.create_or_update

- client.servers.create_backup_long_term_retention_vault -> client.backup_long_term_retention_vaults.create_or_update
- client.servers.get_backup_long_term_retention_vault -> client.backup_long_term_retention_vaults.get

- client.database.list_restore_points -> client.restore_points.list_by_database

- client.servers.create_or_update_connection_policy -> client.server_connection_policies.create_or_update
- client.servers.get_connection_policy -> client.server_connection_policies.get

- client.databases.create_or_update_data_masking_policy -> client.data_masking_policies.create_or_update
- client.databases.get_data_masking_policy -> client.data_masking_policies.get

- client.databases.create_or_update_data_masking_rule -> client.data_masking_rules.create_or_update
- client.databases.get_data_masking_rule -> client.data_masking_rules.get
- client.databases.list_data_masking_rules -> client.data_masking_rules.list_by_database

- client.databases.get_threat_detection_policy -> client.database_threat_detection_policies.get
- client.databases.create_or_update_threat_detection_policy -> client.database_threat_detection_policies.create_or_update

- client.databases.create_or_update_geo_backup_policy -> client.geo_backup_policies.create_or_update
- client.databases.get_geo_backup_policy -> client.geo_backup_policies.get
- client.databases.list_geo_backup_policies -> client.geo_backup_policies.list_by_database

- client.databases.delete_replication_link -> client.replication_links.delete
- client.databases.get_replication_link -> client.replication_links.get
- client.databases.failover_replication_link -> client.replication_links.failover
- client.databases.failover_replication_link_allow_data_loss -> client.replication_links.failover_allow_data_loss
- client.databases.list_replication_links -> client.replication_links.list_by_database

- client.server_azure_ad_administrators.list -> client.server_azure_ad_administrators.list_by_server
- client.servers.get_service_objective -> client.service_objectives.get
- client.servers.list_service_objectives -> client.service_objectives.list_by_server

- client.elastic_pools.list_activity -> client.elastic_pool_activities.list_by_elastic_pool
- client.elastic_pools.list_database_activity -> client.elastic_pool_database_activities.list_by_elastic_pool
- client.elastic_pools.get_database -> client.databases.get_by_elastic_pool
- client.elastic_pools.list_databases -> client.databases.list_by_elastic_pool

- client.recommended_elastic_pools.get_databases -> client.databases.get_by_recommended_elastic_pool
- client.recommended_elastic_pools.list_databases -> client.databases.list_by_recommended_elastic_pool

- client.databases.get_service_tier_advisor -> client.service_tier_advisors.get
- client.databases.list_service_tier_advisors -> client.service_tier_advisors.list_by_database

- client.databases.create_or_update_transparent_data_encryption_configuration -> client.transparent_data_encryptions.create_or_update
- client.databases.get_transparent_data_encryption_configuration -> client.transparent_data_encryptions.get
- client.databases.list_transparent_data_encryption_activity -> client.transparent_data_encryption_activities.list_by_configuration

- client.servers.list_usages -> client.server_usages.list_by_server
- client.databases.list_usages -> client.database_usages.list_by_database

- client.databases.get_blob_auditing_policy -> client.database_blob_auditing_policies.get
- client.databases.create_or_update_blob_auditing_policy -> client.database_blob_auditing_policies.create_or_update

- client.servers.list_encryption_protectors, -> client.encryption_protectors.list_by_server
- client.servers.get_encryption_protector -> client.encryption_protectors.get
- client.servers.create_or_update_encryption_protector -> client.encryption_protectors.create_or_update

- Database blob auditing policy state is required
- Failover group resource now has required properties defined

**Features**

- Add SQL DB, server, and pool PATCH operations
- client.operations.list now returnes a full list of operations and not a limited subset (2014-04-01 to 2015-05-01-preview)

**Fixed bugs**

- Fixed KeyError in server_azure_ad_administrators_operations.get

0.7.1 (2017-06-30)
++++++++++++++++++

- Added support for server connection policies
- Fixed error in databases_operations.create_or_update_threat_detection_policy

0.7.0 (2017-06-28)
++++++++++++++++++

**Features**

- Backup/Restore related: RecoverableDatabase, RestorableDroppedDatabase, BackupLongTermRetentionVault, BackupLongTermRetentionPolicy, and GeoBackupPolicy
- Data Masking rules and policies
- Server communication links

**Breaking changes**

- Renamed enum RestorePointTypes to RestorePointType
- Renamed VnetFirewallRule and related operations to VirtualNetworkRule

0.6.0 (2017-06-13)
++++++++++++++++++

- Updated Servers api version from 2014-04-01 to 2015-05-01-preview, which is SDK compatible and includes support for server managed identity
- Added support for server keys and encryption protectors
- Added support for check server name availability
- Added support for virtual network firewall rules
- Updated server azure ad admin from swagger
- Minor nonfunctional updates to database blob auditing
- Breaking changes DatabaseMetrics and ServerMetrics renamed to DatabaseUsage and ServerUsage. These were misleadingly named because metrics is a different API.
- Added database metrics and elastic pool metrics

0.5.3 (2017-06-01)
++++++++++++++++++

- Update minimal dependency to msrestazure 0.4.8

0.5.2 (2017-05-31)
++++++++++++++++++

**Features**

- Added support for server active directory administrator, failover groups, and virtual network rules
- Minor changes to database auditing support

0.5.1 (2017-04-28)
++++++++++++++++++

**Bugfixes**

- Fix return exception in import/export

0.5.0 (2017-04-19)
++++++++++++++++++

**Breaking changes**

- `SqlManagementClient.list_operations` is now `SqlManagementClient.operations.list`

**New features**

- Added elastic pool capabilities to capabilities API.

**Notes**

* This wheel package is now built with the azure wheel extension

0.4.0 (2017-03-22)
++++++++++++++++++

Capabilities and security policy features.

Also renamed several types and operations for improved clarify and
consistency.

Additions:

* BlobAuditingPolicy APIs (e.g. databases.create_or_update_blob_auditing_policy)
* ThreatDetectionPolicy APIs (e.g. databases.create_or_update_threat_detection_policy)
* databases.list_by_server now supports $expand parameter
* Capabilities APIs (e.g. capabilities.list_by_location)

Classes and enums renamed:

* ServerFirewallRule -> FirewallRule
* DatabaseEditions -> DatabaseEdition
* ElasticPoolEditions -> ElasticPoolEdition
* ImportRequestParameters -> ImportRequest
* ExportRequestParameters -> ExportRequest
* ImportExportOperationResponse -> ImportExportResponse
* OperationMode -> ImportOperationMode
* TransparentDataEncryptionStates -> TransparentDataEncryptionStatus

Classes removed:

* Unused types: UpgradeHint, Schema, Table, Column

Operations renamed:

* servers.get_by_resource_group -> servers.get
* servers.create_or_update_firewall_rule -> firewall_rules.create_or_update, and similar for get, list, and delete
* databases.import -> databases.create_import_operation
* servers.import -> databases.import
* databases.pause_data_warehouse -> databases.pause
* databases.resume_data_warehouse -> databases.resume
* recommended_elastic_pools.list -> recommended_elastic_pools.list_by_server

Operations removed:

* Removed ImportExport operation results APIs since these are handled automatically by Azure async pattern.

0.3.3 (2017-03-14)
++++++++++++++++++

* Add database blob auditing and threat detection operations

0.3.2 (2017-03-08)
++++++++++++++++++

* Add import/export operations
* Expanded documentation of create modes

0.3.1 (2017-03-01)
++++++++++++++++++

* Added ‘filter’ param to list databases

0.3.0 (2017-02-27)
++++++++++++++++++

**Breaking changes**

* Enums:

  * createMode renamed to CreateMode
  * Added ReadScale, SampleName, ServerState

* Added missing Database properties (failover_group_id, restore_point_in_time, read_scale, sample_name)
* Added missing ElasticPoolActivity properties (requested_*)
* Added missing ReplicationLink properties (is_termination_allowed, replication_mode)
* Added missing Server properties (external_administrator_*, state)
* Added operations APIs
* Removed unused Database.upgrade_hint property
* Removed unused RecommendedDatabaseProperties class
* Renamed incorrect RecommendedElasticPool.databases_property to databases
* Made firewall rule start/end ip address required
* Added missing kind property to many resources
* Many doc clarifications

0.2.0 (2016-12-12)
++++++++++++++++++

**Breaking changes**

* Parameters re-ordering (list_database_activity)
* Flatten create_or_update_firewall_rule from "parameters" to "start_ip_address" and "end_ip_address"

0.1.0 (2016-11-02)
++++++++++++++++++

* Initial Release
