Releases: Azure/ALZ-Bicep
v0.11.0
Summary
This release does bring a couple of slight "breaking changes" (see below section for details) however, aside from this there are a few key call outs to note:
- Updates around PowerShell & CLI deployment snippets from @JamJarchitect in #312
- Add support for Policy Set Definitions (Initiatives) Groups thanks to @vedagudipati in #364
- Fix issues with Azure Policies for China (Mooncake) thanks to @jtracey93 in #377 #378 #369
- Various documentation enhancements from @jfaurskov @johnlokerse @coolhome
- Changed
mgDiagSettingsAll.bicep
to be targeted to Management Groups instead of Tenant level deployment thanks to @lachaves in #372 - Fix bug with uniqueness of custom role definition GUIDs and names that is required when deploying multiple ALZs in the same tenant, for scenario like canary thanks to @DaFitRobsta in #379
Breaking Changes
As mentioned above there are a couple of "slight" breaking changes that are introduced with this release.
Breaking Change 1 - mgDiagSettingsAll.bicep
deployment scope change from Tenant to Management Group
This change was made based on customer feedback around using least privileged access in #338, which we agreed was valid and the right thing to do, hence the change.
Handling this change is as simple as changing the deployment scoping from Tenant to Management Group e.g. from New-AzTenantDeployment
to New-AzManagementGroupDeployment
.
The module README in the module documents the commands to use for PowerShell or Az CLI
Breaking Change 2 - customRoleDefinitions.bicep
now has more unique GUIDs and Role Names based on Management Group ID/Name
This change was reported as a bug in #362 which meant if you followed our canary guidance you would not have been able to create the custom role definitions in each of the Management Group hierarchies as the GUIDs and names for the custom role definitions were not based on the Management Group ID/Name they were being deployed on.
We have now changed this so they are based on the Management Group ID/Name so they can be deployed across as many Management Group hierarchies in the same AAD Tenant 👍
What is the breaking change?
If you redeploy the latest version of the customRoleDefinitons.bicep
you will get a set of new roles based on the new GUID and Name uniqueness that is based on the Management Group ID/Name you deploy them to, as detailed in the module README
So, this will not break anything, but it will just create a duplicate set of role definitions on your Management Group.
You should look to migrate all assignments of the old custom role definitions to the newly created ones, in this release, to ensure you can adopt scenarios like canary later on in your ALZ journey 👍
What's Changed
- Azure China Cloud - Policy Refactoring by @JamJarchitect in #351
- Update Policy Library for Azure China (automated) by @github-actions in #352
- Fix bicep example for parLandingZoneMgChildren by @coolhome in #353
- Updated markdowns to correspond with the Bicep files by @johnlokerse in #331
- Update Policy Library for Azure China (automated) by @github-actions in #361
- Update Policy Library (automated) by @github-actions in #360
- Support for groups as part of policy Initiatives by @vedagudipati in #364
- Update Policy Library (automated) by @github-actions in #366
- Add metadata filtering to China
.github/scripts/Invoke-PolicyToBicep-China.ps1
by @jtracey93 in #369 - Guidance Update - Policies to Built-In by @jfaurskov in #363
- Response to FRs - Issues #267 and #290 - POC in RG Name and Deployment Snippets by @JamJarchitect in #312
- Change deployment scope for MG Diagnostics #338 by @lachaves in #372
- Update Policy Library (automated) by @github-actions in #373
- Feature: Add ability to exclude policy set/initiative child definitions for China policies by @jtracey93 in #377
- Update Policy Library for Azure China (automated) by @github-actions in #378
- fix: Update role ID and name by @DaFitRobsta in #379
- Release
v0.11.0
prep by @jtracey93 in #380
New Contributors
- @coolhome made their first contribution in #353
- @vedagudipati made their first contribution in #364
Full Changelog: v0.10.6...v0.11.0
v0.10.6
Summary
This is mainly a hygiene update on the ALZ-Bicep Core Team side focussed on policy where we have fixed our custom policy definition automation since the upstream enterprise-scale repo work was completed in PR 1022 and also some performance/optimization enhancements by moving to loadJsonContent()
as a Bicep function across all our policy definition modules in this repo.
We have also therefore pulled in the latest policy changes from the upstream repo and made them available in the customPolicyDefinitions.bicep
module. But there was only metadata changes from PR 1039 and also a new Azure Firewall Category from PR 1066. Thanks @JamJarchitect for your work here 👍
Also, as mentioned above, in PR #343 @KevinRabun has moved us to using loadJsonContent()
across all our ALZ policy definitions modules which provides some very subtle but welcomed performance and optimization enhancements especially around max file sizes etc. Thanks @KevinRabun 👍
Breaking Changes
None
What's Changed
- Azure Commercial Cloud - Update Policy Library - ADO #22240 by @JamJarchitect in #345
- Update json file loading to use loadJsonContent by @KevinRabun in #343
- Update Policy Library (automated) by @github-actions & @jtracey93 in #346
- Prep for release of v0.10.6 by @jtracey93 in #349
- Azure Commercial Cloud - Policy Update Issue in Workflow by @JamJarchitect in #350
New Contributors
- @KevinRabun made their first contribution in #343 🥳🥳🥳🥳🥳
Full Changelog: v0.10.5...v0.10.6
v0.10.5
We only just cut version
v0.10.4
but we found a bug and have fixed, hence the new release. Please still checkout thev0.10.4
release notes
Breaking Changes
None
However, please still review v0.10.0 release notes if using a version older than
v0.10.0
What's Changed
- Fix #334 - fix deployment errors related to Network.DNS.Proxy in
vwanConnectivity.bicep
module by @jfaurskov in #335 - Bump PSRule.Azure Baseline to Azure.GA_2022_09 by @jtracey93 in #333
Full Changelog: v0.10.4...v0.10.5
v0.10.4
Breaking Changes
None
However, please still review v0.10.0 release notes if using a version older than
v0.10.0
What's Changed
- doc: Added subnet disclaimer by @DaFitRobsta in #322
- capture definitionReferenceId that starts with number. by @eureka-gh in #324
- Add
.editorconfig
support by @jtracey93 in #325 - Add AZ Support for VPN & ER GW PIPs by @jhajduk-microsoft & @jtracey93 in #306
- Management Group Diagnostic Settings Enablement - New Module by @lachaves & @jtracey93 in #321
New Contributors
- @eureka-gh made their first contribution in #324
- @jhajduk-microsoft made their first contribution in #306
- @lachaves made their first contribution in #321
Full Changelog: v0.10.3...v0.10.4
v0.10.3
Breaking Changes
None
However, please still review v0.10.0 release notes if using a version older than
v0.10.0
What's Changed
- Add Azure Enablement Show Videos to docs & Update FAQ RE #300 by @jtracey93 in #309
- fixed typo in subPlacementAl by @floschmsft in #310
- Add PSRule To ALZ Bicep Testing by @jtracey93 in #313
- Enable GitHub to ADO WIT Sync by @jtracey93 in #315
- chore: bicepconfig.json linter update by @DaFitRobsta in #318
bicepconfig.json
files updated to use latest rules available in latest Bicep releasev0.10.61
- Please ensure you update to the latest Bicep release following the instructions here
New Contributors
- @floschmsft made their first contribution in #310
- @DaFitRobsta made their first contribution in #318
Thank you both 🥳
Full Changelog: v0.10.2...v0.10.3
v0.10.2
Breaking Changes
None
However, please still review v0.10.0 release notes if using a version older than
v0.10.0
What's Changed
- Update geo codes for Azure Backup by @krowlandson in #305
New Contributors
- @krowlandson made their first contribution in #305
Full Changelog: v0.10.1...v0.10.2
v0.10.1
Breaking Changes
None
However, please still review v0.10.0 release notes if using a version older than
v0.10.0
What's Changed
- New Orchestration Module:
subPlacementAll
by @jtracey93 in #298- Created from Feature Request #295
- Include encryption
keySource
for automation account to resolve what-if noise by @olljanat in #299
Full Changelog: v0.10.0...v0.10.1
v0.10.0
Breaking Changes
- In
privateDnsZones
module the Private DNS Zones vNet linking name has been made unique to ensure can be used multiple times for vNets with the same names.- Old
name
Bicep Code:name: '${privateDnsZoneName}/${privateDnsZoneName}'
- New
name
Bicep Code:name: '${privateDnsZoneName}/${take('link-${uniqueString(parVirtualNetworkIdToLink)}', 80)}'
- Old
What should we do?
If possible, move to the new naming format as this enables easier future expansion into other regions etc., if planned. You will need to remove the existing vNet links on each Private DNS Zone for the hub vNet or other vNet you may have specified.
You may also choose not to pull in this latest change to this specific module if you wish. However, be aware that if trying to link another vNet to the Private DNS Zone using the privateDnsZones
module you will be unable to with the Old name
bicep code (as shown above) due to the vNet link name will be the same, irrespective of the vNet name; which the new code does now use to create the name for the vNet link 👍
Important: If you run the
privateDnsZones
module, or another module likehubNetworking
that calls theprivateDnsZones
module, over the top without being aware of these changes, you will likely see a deployment failure for the Private DNS Zone vNet links as it will try to re-create new vNet links for the same vNet but with different Private DNS Zone vNet link names, which is not possible in the platform as it will create a duplicate config.
What's Changed
- Update Policy Library for Azure China (automated) by @github-actions in #289
- Use latest API versions in all modules by @olljanat & @jtracey93 in #293
- Also updated tests in ADO to use location from Key Vault completely, isntead of hardcoded to
eastus
in some places
- Also updated tests in ADO to use location from Key Vault completely, isntead of hardcoded to
- Update docs and PR template to close #247 by @jtracey93 in #296
- Added using latest API versions for resources to PR template and Contribution Guide
Full Changelog: v0.9.3...v0.10.0
v0.9.3
Breaking Changes
None
What's Changed
-
Update
Invoke-PolicyToBicep.ps1
Scripts to Handle-
's,'
apostrophes + Fix #254 by @jtracey93 in #288- A number of changes to the
Invoke-PolicyToBicep.ps1
script to support more characters in inputs based on some customer scenarios seen recently - This PR reduces the size of the generated ARM template for the
customPolicyDefinitions.bicep
from2.8 MB
to around800 KB
by optimizing how we load parameters for Policy Imitative Definitions as highlighted in #254 - Important: No changes to policies are made
- A number of changes to the
-
Various Docs Enhancements, Typo Fixes & Updates by @jtracey93 in #286
-
Add Azure function to remove used subscriptions by @jfaurskov in #287
- Used internally for test clean-ups
New Contributors
Full Changelog: v0.9.2...v0.9.3
v0.9.2
Breaking Changes
None.
However, as part of PR #280 the Azure Backup Private DNS Zone bug was fixed (as detailed in #279). So, if you deploy the hubNetworking
or privateDnsZones
modules over the top of an existing deployment of ALZ-Bicep in an incremental mode (which is default and recommended) you will get a new Private DNS Zone for Azure Backup but the old, incorrectly named one, will still exist and should be manually cleaned up.
What's Changed
-
Add MG Flexibility Feature & Intermediate Root MG Parent Flexibility by @jtracey93 in #276
- See the Child Landing Zone Management Groups Flexibility section in the
managementGroups
module README
- See the Child Landing Zone Management Groups Flexibility section in the
-
Azure backup DNS zone geo code fix and docs by @jtracey93 in #280
- See the Geo Zone Codes section in the
privateDnsZones
module README
- See the Geo Zone Codes section in the
-
Add validation pipeline for mooncake by @jfaurskov in #268
-
Remove subscription selection from hubPeeredSpoke module readme by @jfaurskov in #272
-
Add ALZ Resource Types Script and Update Workflow by @jtracey93 in #273
-
Patch policy library for Azure China by @faister in #253
- Added support for ALZ Default Policy Assignments for Mooncake (Azure China)
-
Fixed typos by @boclifton-MSFT in #278
-
Implementation of correct output id, added example command for search on SPN name by @johnlokerse in #281
IMPORTANT: Please still review v0.9.0 release notes if you haven't upgraded to
v0.9.0
already
New Contributors
- @boclifton-MSFT made their first contribution in #278
Full Changelog: v0.9.1...v0.9.2