* **New Data Resource** `azuredevops_serviceendpoint_bitbucket` [#1200](https://github.com/microsoft/terraform-provider-azuredevops/pull/1200)
BUG FIX:
*`azuredevops_agent_queue` - Fix `name` not set bug. [#1157](https://github.com/microsoft/terraform-provider-azuredevops/pull/1157)
*`azuredevops_serviceendpoint_sonarqube` - Adding nil check to project ID. [#1159](https://github.com/microsoft/terraform-provider-azuredevops/pull/1159)
*`azuredevops_group` - Detect that group has been deleted. [#1196](https://github.com/microsoft/terraform-provider-azuredevops/pull/1196)
* All service connection - Detect that service connection is not fully returned and this appears to be a permission issue. [#1193](https://github.com/microsoft/terraform-provider-azuredevops/pull/1193)
IMPROVEMENTS:
*`azuredevops_wiki` - Add support for delete project type wiki [#1166](https://github.com/microsoft/terraform-provider-azuredevops/pull/1166)
*`azuredevops_repository_policy_max_file_size` - Add support for max file size `50M` [#1168](https://github.com/microsoft/terraform-provider-azuredevops/pull/1168)
*`azuredevops_feed_permission` - Sync permissions after create/update [#1169](https://github.com/microsoft/terraform-provider-azuredevops/pull/1169)
*`azuredevops_build_definition` - Change `name` from optional to required. [#1185](https://github.com/microsoft/terraform-provider-azuredevops/pull/1185)
- Fix `tenant_id` not set as expected. [#1115](https://github.com/microsoft/terraform-provider-azuredevops/pull/1115)
- Fix `tenant_id` not set bug. [#1142](https://github.com/microsoft/terraform-provider-azuredevops/pull/1142)
* **Data Source** `azuredevops_users` - Return empty list if user not found. [#1116](https://github.com/microsoft/terraform-provider-azuredevops/pull/1116)
*`azuredevops_securityrole_assignment` - Detecting role assignment revoke. [#1120](https://github.com/microsoft/terraform-provider-azuredevops/pull/1120)
*`azuredevops_team` - Fix idempotency add members issue. [#1130](https://github.com/microsoft/terraform-provider-azuredevops/pull/1130)
*`azuredevops_serviceendpoint_azurecr` - Expect `serviceprincipalkey` only if ServicePrincipal authentication is used. [#1134](https://github.com/microsoft/terraform-provider-azuredevops/pull/1134)
*`azuredevops_serviceendpoint_azurerm` - Add support for `AzureUSGovernment` and `AzureGermanCloud` clouds. [#1061](https://github.com/microsoft/terraform-provider-azuredevops/pull/1061)
*`azuredevops_variable_group`
- Add validation that variable can have either only `value` attribute or both `is_secret` and `secret_value` attributes. [#1075](https://github.com/microsoft/terraform-provider-azuredevops/pull/1075)
*`azuredevops_serviceendpoint_azurecr` - Add support for `WorkloadIdentityFederation`. [#1105](https://github.com/microsoft/terraform-provider-azuredevops/pull/1105)
*`azuredevops_group_membership` - Fix group entitlement not found error. [#1015](https://github.com/microsoft/terraform-provider-azuredevops/pull/1015)
*`azuredevops_git_repository` - Fix cannot set `default_branch` on update. [#1020](https://github.com/microsoft/terraform-provider-azuredevops/pull/1020)
* Add support for Service Principal, Identity, OIDC etc. authorization [#747](https://github.com/microsoft/terraform-provider-azuredevops/pull/747)
IMPROVEMENTS:
*`azuredevops_check_required_template` - Add support for `githubenterprise` repository type. [#962](https://github.com/microsoft/terraform-provider-azuredevops/pull/962)
*`azuredevops_elastic_pool` - Add support for `project_id`. [#966](https://github.com/microsoft/terraform-provider-azuredevops/pull/966)
*`azuredevops_git_repository` - Fix default branch not set when `init_type=Clean` or `init_type=Fork`. [#946](https://github.com/microsoft/terraform-provider-azuredevops/pull/946)
*`azuredevops_serviceendpoint_azurerm` - Add support for `featuure` to verify the service connection. [#865](https://github.com/microsoft/terraform-provider-azuredevops/pull/865)
*`azuredevops_build_definition` - Add support for `queue_status`. [#916](https://github.com/microsoft/terraform-provider-azuredevops/pull/916)
*`azuredevops_pipeline_authorization` - Enhance authorization status check. [#929](https://github.com/microsoft/terraform-provider-azuredevops/pull/929)
*`azuredevops_agent_queue` - Add support for `name`. [#906](https://github.com/microsoft/terraform-provider-azuredevops/pull/906)
* **Data Resource** `azuredevops_environment` - Add support for fetch environment by name. [#917](https://github.com/microsoft/terraform-provider-azuredevops/pull/917)
BUG FIX:
*`azuredevops_serviceendpoint_azurerm` - Fix resource deleted but state not removed. [#921](https://github.com/microsoft/terraform-provider-azuredevops/pull/921)
*`azuredevops_git_repository_file` - Fix apply for non-project resources fails. [#925](https://github.com/microsoft/terraform-provider-azuredevops/pull/925)
*`azuredevops_build_definition` - Fix `skip_first_run` to work for all repo types. [#928](https://github.com/microsoft/terraform-provider-azuredevops/pull/928)
*`azuredevops_git_repository` - Fix `default_branch` not set when `init_type=Clean` or `init_type=Fork`. [#946](https://github.com/microsoft/terraform-provider-azuredevops/pull/946)
*`azuredevops_pipeline_authorization` - Add support for `repository` authorization [#883](https://github.com/microsoft/terraform-provider-azuredevops/pull/883)
*`azuredevops_elastic_pool` - Support set `time_to_live_minutes` to `0` [#885](https://github.com/microsoft/terraform-provider-azuredevops/pull/885)
*`azuredevops_serviceendpoint_azurerm` - Support export `service_principal_id` [#902](https://github.com/microsoft/terraform-provider-azuredevops/pull/902)
*`azuredevops_build_folder_permissions` - Fix root folder permissions for builds not set [#893](https://github.com/microsoft/terraform-provider-azuredevops/pull/893)
*`azuredevops_project_pipeline_settings` - Fix `enforce_referenced_repo_scoped_token` not set [#898](https://github.com/microsoft/terraform-provider-azuredevops/pull/898)
*`azuredevops_serviceendpoint_azurerm` - Add support for `workload_identity_federation_issuer` and `workload_identity_federation_subject` [#861](https://github.com/microsoft/terraform-provider-azuredevops/pull/861)
*`azuredevops_build_definition` - Add support for `skip_first_run` [#871](https://github.com/microsoft/terraform-provider-azuredevops/pull/871)
* All service connections - Decouple create/read/update/delete from generic functions [#863](https://github.com/microsoft/terraform-provider-azuredevops/pull/863)
* **New Data Resource** `azuredevops_environment` [#838](https://github.com/microsoft/terraform-provider-azuredevops/pull/838)
IMPROVEMENTS:
*`azuredevops_check_branch_control` - Add support for `timeout` [#834](https://github.com/microsoft/terraform-provider-azuredevops/pull/834)
*`azuredevops_check_business_hours` - Add support for `timeout` [#834](https://github.com/microsoft/terraform-provider-azuredevops/pull/834)
*`azuredevops_group ` - Upgrade the API from v5 to v7 [#854](https://github.com/microsoft/terraform-provider-azuredevops/pull/854)
* **Data Resource** `azuredevops_team` - Add support for `top`, custom the number of teams returned [#778](https://github.com/microsoft/terraform-provider-azuredevops/pull/778)
* **Data Resource** `azuredevops_teams` - Add support for `top`, custom the number of teams returned [#778](https://github.com/microsoft/terraform-provider-azuredevops/pull/778)
BUG FIX:
*`azuredevops_git_permissions` - Fix branch name tokenization [#842](https://github.com/microsoft/terraform-provider-azuredevops/pull/842)
BREAKING CHANGE:
Deprecate hash properties, all the hash properties have been removed.
*`azuredevops_project` - Get description from service connection not project [#824](https://github.com/microsoft/terraform-provider-azuredevops/pull/824)
*`azuredevops_check_business_hours` - Resolved description for business hours check. [#831](https://github.com/microsoft/terraform-provider-azuredevops/pull/831)
*`azuredevops_serviceendpoint_azurerm` - Support workload identity. [#818](https://github.com/microsoft/terraform-provider-azuredevops/pull/818)
* **Data Resource** `azuredevops_serviceendpoint_azurerm` - Add support for managed identity and federated workload. [#818](https://github.com/microsoft/terraform-provider-azuredevops/pull/818)
BUG FIX:
*`azuredevops_pipeline_authorization` - Fix resource recreate with `pipeline_id` not configured [#809](https://github.com/microsoft/terraform-provider-azuredevops/pull/809)
*`azuredevops_serviceendpoint_azurerm` - Fix imported resource force recreate bug [#827](https://github.com/microsoft/terraform-provider-azuredevops/pull/827)
*`azuredevops_branch_policy_status_check` - Fixed `filename_patterns` order [#828](https://github.com/microsoft/terraform-provider-azuredevops/pull/828)
*`azuredevops_git_repository` - Set `default_branch` for imported repository [#829](https://github.com/microsoft/terraform-provider-azuredevops/pull/829)
* **New Resource** `azuredevops_pipeline_authorization` - Alternative to `azuredevops_resource_authorization` [#787](https://github.com/microsoft/terraform-provider-azuredevops/pull/787)
* **New Data Resource** `azuredevops_serviceendpoint_npm` [#795](https://github.com/microsoft/terraform-provider-azuredevops/pull/795)
* **New Data Resource** `azuredevops_serviceendpoint_sonarcloud` [#796](https://github.com/microsoft/terraform-provider-azuredevops/pull/796)
IMPROVEMENTS:
*`azuredevops_workitem` - Add support for `area_path` and `iteration_path` [#750](https://github.com/microsoft/terraform-provider-azuredevops/pull/750)
*`azuredevops_check_approval` - Set `timeout` default value [#760](https://github.com/microsoft/terraform-provider-azuredevops/pull/760)
*`azuredevops_git_repository` - Uppercase the name of `readme.md` file [#761](https://github.com/microsoft/terraform-provider-azuredevops/pull/761)
*`azuredevops_project_pipeline_settings` - Add support for `enforce_job_scope_for_release`[#777](https://github.com/microsoft/terraform-provider-azuredevops/pull/777)
* Upgrade API from v6 to v7. [#774](https://github.com/microsoft/terraform-provider-azuredevops/pull/774)
* Upgrade legacy API from v5 to v7. [#785](https://github.com/microsoft/terraform-provider-azuredevops/pull/785)
BUG FIX:
*`azuredevops_branch_policy_min_reviewers` - Fix `on_push_reset_approved_votes` cannot set to `true` [#792](https://github.com/microsoft/terraform-provider-azuredevops/pull/792)
*`azuredevops_project` - Fix state inconsistent after apply [#793](https://github.com/microsoft/terraform-provider-azuredevops/pull/793)
*`azuredevops_serviceendpoint_azurerm` - Add support for resource state migration created prior to v0.4.0. [#754](https://github.com/microsoft/terraform-provider-azuredevops/pull/754)
*`azuredevops_variable_group` - Enhance create state handler. [#756](https://github.com/microsoft/terraform-provider-azuredevops/pull/756)
* **Data Resource** `azuredevops_team` - Support export `descriptor`. [#753](https://github.com/microsoft/terraform-provider-azuredevops/pull/753)
*`azuredevops_git_repository_file` - Create new file if deleted. [#680](https://github.com/microsoft/terraform-provider-azuredevops/pull/680)
*`azuredevops_serviceendpoint_npm` - Fix `access_token` not updated after change. [#708](https://github.com/microsoft/terraform-provider-azuredevops/pull/708)
*`azuredevops_serviceendpoint_artifactory` - Fix unit test. [#725](https://github.com/microsoft/terraform-provider-azuredevops/pull/725)
*`azuredevops_build_folder` - Fix `path` cannot be updated. [#730](https://github.com/microsoft/terraform-provider-azuredevops/pull/730)
IMPROVEMENTS:
*`azuredevops_build_folder_permissions` - Check if the folder exists. [#714](https://github.com/microsoft/terraform-provider-azuredevops/pull/714)
*`azuredevops_branch_policy_auto_reviewers` - Support config minimum number of reviewers. [#672](https://github.com/microsoft/terraform-provider-azuredevops/pull/672)
*`azuredevops_serviceendpoint_azurerm` - Support for `environment` property. [#699](https://github.com/microsoft/terraform-provider-azuredevops/pull/699)
*`azuredevops_agent_pool` - Support for `auto_update` property. [#690](https://github.com/microsoft/terraform-provider-azuredevops/pull/690)
* **Date Resource** `azuredevops_agent_pool` - Support for `auto_update` property. [#690](https://github.com/microsoft/terraform-provider-azuredevops/pull/690)
* **New Data Resource** `azuredevops_serviceendpoint_azurerm` [#623](https://github.com/microsoft/terraform-provider-azuredevops/pull/623)
* **New Data Resource** `azuredevops_serviceendpoint_github` [#627](https://github.com/microsoft/terraform-provider-azuredevops/pull/627)
BUG FIX:
*`azuredevops_project` - Fall back to organization default template if template ID not found. [#626](https://github.com/microsoft/terraform-provider-azuredevops/pull/626)
*`azuredevops_serviceendpoint_kubernetes` - Fix plugin crash when the `cluster_context` attribute was not specified. [#638](https://github.com/microsoft/terraform-provider-azuredevops/pull/638)
*`azuredevops_build_definition_permissions` - Recreate the resource if relate build definition not found. [#644](https://github.com/microsoft/terraform-provider-azuredevops/pull/644)
*`azuredevops_serviceendpoint_artifactory` - Fix token lost when update other properties. [#656](https://github.com/microsoft/terraform-provider-azuredevops/pull/656)
IMPROVEMENTS:
*`azuredevops_variable_group` - Support custom Key Vault secrets search depth. [#654](https://github.com/microsoft/terraform-provider-azuredevops/pull/654)
*`azuredevops_team` - Support export team `descriptor`. [#648](https://github.com/microsoft/terraform-provider-azuredevops/pull/648)
* Upgrade Terraform Plugin SDK to `v2.23.0` - [#587](https://github.com/microsoft/terraform-provider-azuredevops/issues/587)
* **New Data Resource** `azuredevops_build_definitions ` [#562](https://github.com/microsoft/terraform-provider-azuredevops/issues/562)
BUG FIX:
*`azuredevops_serviceendpoint_kubernetes` - Does not update `service_account` values when changed. [#576](https://github.com/microsoft/terraform-provider-azuredevops/issues/576)
*`azuredevops_serviceendpoint_azurerm` - Support for management group scope. [#527](https://github.com/microsoft/terraform-provider-azuredevops/issues/527)
*`azuredevops_branch_policy_build_validation"` - Adding `DefaultBranch` into `match_type` setting. [#305](https://github.com/microsoft/terraform-provider-azuredevops/issues/305)
*`azuredevops_branch_policy_min_reviewers"` - Adding `DefaultBranch` into `match_type` setting. [#305](https://github.com/microsoft/terraform-provider-azuredevops/issues/305)
*`azuredevops_branch_policy_auto_reviewers"` - Adding `DefaultBranch` into `match_type` setting. [#305](https://github.com/microsoft/terraform-provider-azuredevops/issues/305)
*`azuredevops_branch_policy_work_item_linking"` - Adding `DefaultBranch` into `match_type` setting. [#305](https://github.com/microsoft/terraform-provider-azuredevops/issues/305)
*`azuredevops_branch_policy_comment_resolution"` - Adding `DefaultBranch` into `match_type` setting. [#305](https://github.com/microsoft/terraform-provider-azuredevops/issues/305)
*`azuredevops_branch_policy_merge_types"` - Adding `DefaultBranch` into `match_type` setting. [#305](https://github.com/microsoft/terraform-provider-azuredevops/issues/305)
*`azuredevops_branch_policy_status_check"` - Adding `DefaultBranch` into `match_type` setting. [#305](https://github.com/microsoft/terraform-provider-azuredevops/issues/305)
*`azuredevops_project_pipeline_settings` - Replace deprecated APIs with latest SDK APIs. [#609](https://github.com/microsoft/terraform-provider-azuredevops/issues/609)
* Upgrade Terraform Plugin SDK to `v2.11.0` - [#587](https://github.com/microsoft/terraform-provider-azuredevops/issues/587)
BREAKING CHANGE:
*`azuredevops_serviceendpoint_servicefabric` - Remove sensitive data hashes. [#613](https://github.com/microsoft/terraform-provider-azuredevops/issues/613)
*`azuredevops_serviceconnection_azurerm` - Service principal secret will not be updated when update other settings. [#495](https://github.com/microsoft/terraform-provider-azuredevops/issues/495)
-`path` cannot end with backslash. [#513](https://github.com/microsoft/terraform-provider-azuredevops/issues/513)
*`azuredevops_git_repository` - `default_branch` cannot set with initialize type `Uninitialized`. [#498](https://github.com/microsoft/terraform-provider-azuredevops/issues/498)
*`azuredevops_variable_group` - Support search top 500 Key Vault secrets. [#388](https://github.com/microsoft/terraform-provider-azuredevops/issues/388)
- Refactor the implementation of `SecurityNamespace` and the according helper functions. [#149](https://github.com/microsoft/terraform-provider-azuredevops/pull/149)
- All permission resources will now clear the `Id` on a `Read` operation when the connected ACLs not found. [#149](https://github.com/microsoft/terraform-provider-azuredevops/pull/149)
* All service endpoint - Service endpoint `project_id` only support project ID, project name is no longer supported since v0.2.0. [#494](https://github.com/microsoft/terraform-provider-azuredevops/issues/494)
* **New Data Resource** `azuredevops_groups ` [#483](https://github.com/microsoft/terraform-provider-azuredevops/issues/483)
IMPROVEMENTS:
*`azuredevops_build_definition`
- Support scheduled triggers. [#445](https://github.com/microsoft/terraform-provider-azuredevops/issues/445)
- Default agent pool has been updated from `Hosted Ubuntu 1604` to `Azure Pipelines`. [#466](https://github.com/microsoft/terraform-provider-azuredevops/issues/466)
*`azuredevops_serviceendpoint_azuredevops` - Extension [Configurable Pipeline Runner](https://marketplace.visualstudio.com/items?itemName=CSE-DevOps.RunPipelines) should be installed as documented. [#454](https://github.com/microsoft/terraform-provider-azuredevops/issues/454)
*`azuredevops_git_repository` - `initialization` should be ignored when importing as documented. [#467](https://github.com/microsoft/terraform-provider-azuredevops/issues/467)
*`azuredevops_branch_policy_status_check` - Support new property `genre`. [#472](https://github.com/microsoft/terraform-provider-azuredevops/issues/472)
* **Data Resource** `azuredevops_users` - Support export user IDs. [#400](https://github.com/microsoft/terraform-provider-azuredevops/issues/400)
* **Data Resource** `azuredevops_group` - Allow generic groups to be returned when searching the organization. [#485](https://github.com/microsoft/terraform-provider-azuredevops/issues/485)
BUG FIX:
*`azuredevops_user_entitlement` -
-`principal_name` Suppress case sensitive. [#446](https://github.com/microsoft/terraform-provider-azuredevops/issues/446)
- If user status is `Delete` or `None`, this resource will be removed from `.tfstate`. [#447](https://github.com/microsoft/terraform-provider-azuredevops/issues/447)
* All service endpoints:
- Enhance service endpoint status handler. [#474](https://github.com/microsoft/terraform-provider-azuredevops/issues/474)
- Compatible with when `Authorizaiton` is not returned by service. [#460](https://github.com/microsoft/terraform-provider-azuredevops/issues/460)
* **Resource** `azuredevops_repository_policy_author_email_pattern` - Remove `settings` and `scope`, policy `scope` can be set by [repository ID](https://github.com/microsoft/terraform-provider-azuredevops/blob/master/website/docs/r/repository_policy_author_email_pattern.html.markdown) [#436](https://github.com/microsoft/terraform-provider-azuredevops/issues/436)
* **Resource** `azuredevops_repository_policy_file_path_pattern` - Remove `settings` and `scope`, policy `scope` can be set by [repository ID](https://github.com/microsoft/terraform-provider-azuredevops/blob/master/website/docs/r/repository_policy_file_path_pattern.html.markdown) [#436](https://github.com/microsoft/terraform-provider-azuredevops/issues/436)
*`resource_git_repository` - Support import private repository. [#236](https://github.com/microsoft/terraform-provider-azuredevops/issues/236)
*`azuredevops_git_permissions` - Can create permissions on non-existent branches. [#411](https://github.com/microsoft/terraform-provider-azuredevops/issues/411)
*`azuredevops_git_repository` - Changing the `init_type` will recreate the repository. [#406](https://github.com/microsoft/terraform-provider-azuredevops/issues/406)
*`azuredevops_serviceendpoint_azurerm` - Credentials can be updated without recreate. [#387](https://github.com/microsoft/terraform-provider-azuredevops/issues/387)
*`azuredevops_serviceendpoint_azurecr` - Fix container registry name cannot be updated. [#391](https://github.com/microsoft/terraform-provider-azuredevops/issues/391)
`azuredevops_group` - `scope` will be suppressed during `plan` and `apply` [#345](https://github.com/microsoft/terraform-provider-azuredevops/issues/345)
* All service endpoints - Description accept any string between 0~1024 in length [#295](https://github.com/microsoft/terraform-provider-azuredevops/issues/295)
*`azuredevops_git_repository` - Support import Azure Git repository resource [#43](https://github.com/microsoft/terraform-provider-azuredevops/issues/43)
*`azuredevops_serviceendpoint_azurecr` - Support expose service principal ID [#317](https://github.com/microsoft/terraform-provider-azuredevops/issues/317)
*`azuredevops_serviceendpoint_github` - Compatible with GitHub App service connection [#326](https://github.com/microsoft/terraform-provider-azuredevops/issues/326)
*`azuredevops_serviceendpoint_azurecr` - Fix unable to update the description [#312](https://github.com/microsoft/terraform-provider-azuredevops/issues/312)
*`azuredevops_serviceendpoint_azurecr` - Change docker registry login server to lowercase [#277](https://github.com/microsoft/terraform-provider-azuredevops/issues/277)
* All service endpoint resources - Add resource status check during creation and deletion [#261](https://github.com/microsoft/terraform-provider-azuredevops/issues/261)
*`azuredevops_variable_group` - Key vault variables will be verified with Azure key vault secrets [#252](https://github.com/microsoft/terraform-provider-azuredevops/issues/252)
`azuredevops_serviceendpoint_kubernetes` - Support `cluster_admin` in Kubernetes service connections [#218](https://github.com/microsoft/terraform-provider-azuredevops/issues/218)
* All resources - remove from `.tfstate` if project has been deleted [#25](https://github.com/microsoft/terraform-provider-azuredevops/issues/25)
* Data source `azuredevops_build_definition` - support export `origin` and `origin_id` [#177](https://github.com/microsoft/terraform-provider-azuredevops/issues/177)
* Data source `azuredevops_project` - add `project_id` for data source configuration [#163](https://github.com/microsoft/terraform-provider-azuredevops/issues/163)
*`azuredevops_branch_policy_build_validation` - add `filename_patterns` support for repository build policy [#62](https://github.com/microsoft/terraform-provider-azuredevops/issues/62)
* Data Resource `azuredevops_group` support search for project collection groups [#200](https://github.com/microsoft/terraform-provider-azuredevops/issues/200)
* All service connection resources - Terraform crashes when the service connection description is set to an empty string [#60](https://github.com/microsoft/terraform-provider-azuredevops/issues/60)
* Resource import - set the project ID to `project_id` [#172](https://github.com/microsoft/terraform-provider-azuredevops/issues/172)
*`azuredevops_build_definition` - build Definition creation failed when repository type is GitHub [#65](https://github.com/microsoft/terraform-provider-azuredevops/issues/65)
*`azuredevops_serviceendpoint_github` - GitHub service connection API breaking change [#72](https://github.com/microsoft/terraform-provider-azuredevops/issues/72)
*`azuredevops_git_repository` - `initialization` is a required configuration [#54](https://github.com/microsoft/terraform-provider-azuredevops/issues/54)
*`azuredevops_project` - rename `project_name` to `name` [#179](https://github.com/microsoft/terraform-provider-azuredevops/issues/179)
* The Azure DevOps provider can be used to configure Azure DevOps project in [Microsoft Azure](https://azure.microsoft.com/en-us/) using [Azure DevOps Service REST API](https://docs.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-5.1)