Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
884312e
Fix JsonCTemplatePolicy template size inflation
vhvb1989 Aug 15, 2025
cf3f48a
[RDBMS] `az postgres flexible-server create/update/restore`: Premium …
nasc17 Aug 15, 2025
9f420e7
{Compute} `az vm create`: Fix API version when fetching virtual netwo…
necusjz Aug 18, 2025
24128ee
re-do fix before the policy
vhvb1989 Aug 18, 2025
30a3d83
{Network} StandardV2 Sku and Public IP V6 for Nat Gateway and Public …
cxznmhdcxz Aug 19, 2025
3c8e330
[App Service] `az functionapp flex-migration`: Create commands to mig…
kamperiadis Aug 20, 2025
77ef1c5
[Packaging] Support Python 3.13 (#31895)
bebound Aug 20, 2025
125ab87
{CI} Disable `partnercenter` extension test (#31967)
bebound Aug 21, 2025
3cc5311
{Storage} Remove DATA_STORAGE and DATA_COSMOS_TABLE client type refer…
calvinhzy Aug 21, 2025
5392a52
[Packaging] Bump embedded Python to 3.13.7 (#31928)
bebound Aug 21, 2025
f793596
[Core] Add global policy arguments `--acquire-policy-token` and `--ch…
evelyn-ys Aug 21, 2025
5679cd8
{AKS} Vendor new SDK and bump API version to 2025-07-01 (#31972)
FumingZhang Aug 21, 2025
58c8b02
[RDBMS] `az postgres flexible-server update`: BUG FIX, bypass fabric …
nasc17 Aug 21, 2025
f87bc09
{Compute} `az vmss start`: Migrate to CodeGen based (#31909)
naga-nandyala Aug 21, 2025
604774c
[Compute] `az disk create/grant-access`: Support Confidential VM OS D…
yanzhudd Aug 22, 2025
2efe55a
[AKS] `az aks create/update`: Change `--enable-azure-container-storag…
nearora-msft Aug 22, 2025
cba0459
Fix JsonCTemplatePolicy template size inflation
vhvb1989 Aug 15, 2025
1a08ae7
re-do fix before the policy
vhvb1989 Aug 18, 2025
495e314
Fix style issues and improve bicep template handling
vhvb1989 Aug 22, 2025
6332ab9
Resolve merge conflicts after style fixes
vhvb1989 Aug 22, 2025
05a8699
Fix template_for_deployment variable undefined error for template_uri…
vhvb1989 Aug 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .azure-pipelines/breaking-change-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ jobs:
fetchDepth: 0
fetchTags: true
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13
- template: ${{ variables.Pipeline.Workspace }}/.azure-pipelines/templates/azdev_setup.yml
- bash: |
set -ev
Expand Down
12 changes: 6 additions & 6 deletions azure-pipelines-full-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ variables:
- template: ${{ variables.Pipeline.Workspace }}/.azure-pipelines/templates/variables.yml

jobs:
- job: AutomationFullTestPython39ProfileLatest
displayName: Automation Full Test Python39 Profile Latest
- job: AutomationFullTestPython312ProfileLatest
displayName: Automation Full Test Python312 Profile Latest
timeoutInMinutes: 9999
strategy:
maxParallel: 8
Expand All @@ -43,15 +43,15 @@ jobs:
steps:
- template: .azure-pipelines/templates/automation_test.yml
parameters:
pythonVersion: '3.9'
pythonVersion: '3.12'
profile: 'latest'
instance_cnt: '8'
instance_idx: '$(Instance_idx)'
fullTest: true
jobName: 'FullTest'

- job: AutomationFullTestPython312ProfileLatest
displayName: Automation Full Test Python312 Profile Latest
- job: AutomationFullTestPython313ProfileLatest
displayName: Automation Full Test Python313 Profile Latest
timeoutInMinutes: 9999
strategy:
maxParallel: 8
Expand All @@ -77,7 +77,7 @@ jobs:
steps:
- template: .azure-pipelines/templates/automation_test.yml
parameters:
pythonVersion: '3.12'
pythonVersion: '3.13'
profile: 'latest'
instance_cnt: '8'
instance_idx: '$(Instance_idx)'
Expand Down
62 changes: 31 additions & 31 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,9 @@ jobs:

steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13

- bash: ./scripts/ci/dependency_check.sh
displayName: 'Verify src/azure-cli/requirements.py3.Linux.txt'
Expand All @@ -146,9 +146,9 @@ jobs:

steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13

- bash: ./scripts/ci/dependency_check.sh
displayName: 'Verify src/azure-cli/requirements.py3.Darwin.txt'
Expand All @@ -161,9 +161,9 @@ jobs:

steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13

- task: BatchScript@1
inputs:
Expand All @@ -178,9 +178,9 @@ jobs:
name: ${{ variables.ubuntu_pool }}
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13
- template: .azure-pipelines/templates/azdev_setup.yml
- bash: |
set -ev
Expand Down Expand Up @@ -433,9 +433,9 @@ jobs:
name: ${{ variables.ubuntu_pool }}
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13

- task: PipAuthenticate@1
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/release')
Expand Down Expand Up @@ -468,10 +468,10 @@ jobs:
displayName: Test Python Wheels
strategy:
matrix:
Python39:
python.version: '3.9'
Python312:
python.version: '3.12'
Python313:
python.version: '3.13'
dependsOn: BuildPythonWheel
condition: succeeded()
pool:
Expand Down Expand Up @@ -508,10 +508,10 @@ jobs:
name: ${{ variables.ubuntu_pool }}
strategy:
matrix:
Python39:
python.version: '3.9'
Python312:
python.version: '3.12'
Python313:
python.version: '3.13'
steps:
- template: .azure-pipelines/templates/automation_test.yml
parameters:
Expand All @@ -525,10 +525,10 @@ jobs:
name: ${{ variables.ubuntu_pool }}
strategy:
matrix:
Python39:
python.version: '3.9'
Python312:
python.version: '3.12'
Python313:
python.version: '3.13'
steps:
- template: .azure-pipelines/templates/automation_test.yml
parameters:
Expand All @@ -545,10 +545,10 @@ jobs:
name: ${{ variables.ubuntu_pool }}
strategy:
matrix:
Python39:
python.version: '3.9'
Python312:
python.version: '3.12'
Python313:
python.version: '3.13'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python $(python.version)'
Expand All @@ -568,8 +568,8 @@ jobs:
name: ${{ variables.ubuntu_pool }}
strategy:
matrix:
Python312:
python.version: '3.12'
Python313:
python.version: '3.13'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python $(python.version)'
Expand Down Expand Up @@ -661,7 +661,7 @@ jobs:
set -ev
# Force relink python@3.xx in Homebrew to resolve the conflict with pre-installed python 3.xx on macOS-12 image
# See: https://github.com/Azure/azure-cli/issues/29054
python_version=3.12
python_version=3.13
brew unlink python@$python_version && brew link --overwrite python@$python_version

echo == Remove pre-installed azure-cli ==
Expand Down Expand Up @@ -1039,9 +1039,9 @@ jobs:
name: ${{ variables.ubuntu_multi_core_pool }}
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13
- template: .azure-pipelines/templates/azdev_setup.yml
- bash: |
set -ev
Expand All @@ -1055,9 +1055,9 @@ jobs:
name: ${{ variables.ubuntu_pool }}
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13
- template: .azure-pipelines/templates/azdev_setup.yml
- bash: |
set -ev
Expand All @@ -1070,10 +1070,10 @@ jobs:
displayName: "PerformanceCheck"
strategy:
matrix:
Python39:
python.version: '3.9'
Python312:
python.version: '3.12'
Python313:
python.version: '3.13'
pool:
name: ${{ variables.ubuntu_pool }}
steps:
Expand Down Expand Up @@ -1101,9 +1101,9 @@ jobs:
name: ${{ variables.ubuntu_multi_core_pool }}
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13
- template: .azure-pipelines/templates/azdev_setup.yml
- bash: |
set -ev
Expand All @@ -1124,9 +1124,9 @@ jobs:
name: ${{ variables.ubuntu_pool }}
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.12'
displayName: 'Use Python 3.13'
inputs:
versionSpec: 3.12
versionSpec: 3.13
- template: .azure-pipelines/templates/azdev_setup.yml
- bash: |
set -ev
Expand Down
2 changes: 1 addition & 1 deletion build_scripts/windows/scripts/build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ if "%ARCH%"=="x86" (
echo Please set ARCH to "x86" or "x64"
goto ERROR
)
set PYTHON_VERSION=3.12.10
set PYTHON_VERSION=3.13.7

set WIX_DOWNLOAD_URL="https://azurecliprod.blob.core.windows.net/msi/wix310-binaries-mirror.zip"
set PYTHON_DOWNLOAD_URL="https://www.python.org/ftp/python/%PYTHON_VERSION%/python-%PYTHON_VERSION%-embed-%PYTHON_ARCH%.zip"
Expand Down
2 changes: 1 addition & 1 deletion doc/command_guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ Follow the [Error Handling Guidelines](https://github.com/Azure/azure-cli/blob/d

## Coding Practices

- All code must support Python 3.9 ~ 3.12
- All code must support Python 3.9 ~ 3.13
- PRs to Azure/azure-cli and Azure/azure-cli-extensions must pass CI
- Code must pass style checks with pylint and pep8
- (*) All commands should have tests
2 changes: 1 addition & 1 deletion doc/extensions/authoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ See [Extension Metadata](metadata.md) for more information.

### Test your extension on Python 3

- The Azure CLI supports Python 3.9 ~ 3.12 so verify that your extension does the same.
- The Azure CLI supports Python 3.9 ~ 3.13 so verify that your extension does the same.
- You can create virtual environments for different versions and run your extension in them.
- e.g. `python3.9 -m venv env38` and `python3.10 -m venv env310`.

Expand Down
4 changes: 2 additions & 2 deletions doc/install_linux_prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ Some native Linux packages are required when installing the CLI with:
- Interactive installation script
- `pip`

Current supported Python versions are Python 3.9 ~ 3.12.
Current supported Python versions are Python 3.9 ~ 3.13.

The commands to run to install the dependencies for some common distributions are listed below.

### Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, Debian 11, Debian 12
### Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, Debian 11, Debian 12
```
sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev build-essential
```
Expand Down
6 changes: 6 additions & 0 deletions linter_exclusions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,9 @@ aks create:
node_provisioning_default_pools:
rule_exclusions:
- option_length_too_long
container_storage_version:
rule_exclusions:
- option_length_too_long
aks enable-addons:
parameters:
workspace_resource_id:
Expand Down Expand Up @@ -380,6 +383,9 @@ aks update:
node_provisioning_default_pools:
rule_exclusions:
- option_length_too_long
container_storage_version:
rule_exclusions:
- option_length_too_long
aks update-credentials:
parameters:
aad_server_app_secret:
Expand Down
6 changes: 4 additions & 2 deletions scripts/ci/test_extensions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ exit_code=0
# Disable alias temporarily: https://github.com/Azure/azure-cli/pull/27717
# hybridaks is going to be deprecated: https://github.com/Azure/azure-cli/pull/29838
# db-up is going to be deprecated: https://github.com/Azure/azure-cli/pull/29887
ignore_list='azure-cli-ml fzf arcappliance arcdata connectedk8s k8s-extension alias hybridaks db-up'
# serviceconnector-passwordless's dependency is not compatible with 3.13 https://github.com/Azure/azure-cli/pull/31895
# partnercenter is not compatible with latest pydantic: https://github.com/Azure/azure-cli/pull/31967
ignore_list='azure-cli-ml fzf arcappliance arcdata connectedk8s k8s-extension alias hybridaks db-up serviceconnector-passwordless partnercenter'

# Does not exit if az extension add fails until all extensions have been tested
set +e
Expand Down Expand Up @@ -61,7 +63,7 @@ az self-test --debug
if [ $? != 0 ]
then
exit_code=1
echo "Failed to verify:" $ext
echo "Failed to verify"
fi

exit $exit_code
8 changes: 4 additions & 4 deletions scripts/regression_test/regression_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
displayName: "Use Python 3.12"
versionSpec: '3.13'
displayName: "Use Python 3.13"
- task: AzureCLI@2
displayName: 'update version'
inputs:
Expand Down Expand Up @@ -89,8 +89,8 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
displayName: "Use Python 3.12"
versionSpec: '3.13'
displayName: "Use Python 3.13"
- task: AzureCLI@2
displayName: 'Checkout Target Branch'
inputs:
Expand Down
2 changes: 1 addition & 1 deletion scripts/release/debian/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ set -exv
ls -Rl /mnt/artifacts

WORKDIR=`cd $(dirname $0); cd ../../../; pwd`
PYTHON_VERSION="3.12.10"
PYTHON_VERSION="3.13.7"
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

# Update APT packages
Expand Down
2 changes: 1 addition & 1 deletion scripts/release/homebrew/docker/formula_generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
CLI_VERSION = os.environ['CLI_VERSION']
HOMEBREW_UPSTREAM_URL = os.environ['HOMEBREW_UPSTREAM_URL']
HOMEBREW_FORMULAR_LATEST = "https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/a/azure-cli.rb"
PYTHON_VERSION = '3.12'
PYTHON_VERSION = '3.13'


def main():
Expand Down
3 changes: 2 additions & 1 deletion src/azure-cli-core/azure/cli/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def __init__(self, **kwargs):
from azure.cli.core.breaking_change import register_upcoming_breaking_change_info
from azure.cli.core.commands import register_cache_arguments
from azure.cli.core.commands.arm import (
register_ids_argument, register_global_subscription_argument)
register_ids_argument, register_global_subscription_argument, register_global_policy_argument)
from azure.cli.core.cloud import get_active_cloud
from azure.cli.core.commands.transform import register_global_transforms
from azure.cli.core._session import ACCOUNT, CONFIG, SESSION, INDEX, VERSIONS
Expand Down Expand Up @@ -90,6 +90,7 @@ def __init__(self, **kwargs):
register_global_transforms(self)
register_global_subscription_argument(self)
register_ids_argument(self) # global subscription must be registered first!
register_global_policy_argument(self)
register_cache_arguments(self)
register_upcoming_breaking_change_info(self)

Expand Down
3 changes: 3 additions & 0 deletions src/azure-cli-core/azure/cli/core/aaz/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ def __init__(self, ctx, credential, **kwargs):
base_url = self._build_base_url(ctx, **kwargs)
if not base_url:
raise CloudEndpointNotSetException()
if not kwargs.get('custom_hook_policy'):
from azure.cli.core.sdk.policies import get_custom_hook_policy
kwargs['custom_hook_policy'] = get_custom_hook_policy(ctx.cli_ctx)
super().__init__(
base_url=base_url,
config=self._build_configuration(ctx, credential, **kwargs),
Expand Down
Loading
Loading