Skip to content

Commit f62a6ca

Browse files
committed
Merge branch 'dev' into splitresource
2 parents cc025d4 + 9a57ac3 commit f62a6ca

563 files changed

Lines changed: 290795 additions & 216391 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build_scripts/windows/scripts/build.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ if "%ARCH%"=="x86" (
3030
echo Please set ARCH to "x86" or "x64"
3131
goto ERROR
3232
)
33-
set PYTHON_VERSION=3.13.7
33+
set PYTHON_VERSION=3.13.9
3434

3535
set WIX_DOWNLOAD_URL="https://azurecliprod.blob.core.windows.net/msi/wix310-binaries-mirror.zip"
3636
set PYTHON_DOWNLOAD_URL="https://www.python.org/ftp/python/%PYTHON_VERSION%/python-%PYTHON_VERSION%-embed-%PYTHON_ARCH%.zip"

scripts/release/debian/build.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,14 @@ set -exv
1515
ls -Rl /mnt/artifacts
1616

1717
WORKDIR=`cd $(dirname $0); cd ../../../; pwd`
18-
PYTHON_VERSION="3.13.7"
18+
PYTHON_VERSION="3.13.9"
1919
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
2020

2121
# Update APT packages
2222
apt-get update
2323
# uuid-dev is used to build _uuid module: https://github.com/python/cpython/pull/3796
24-
apt-get install -y libssl-dev libffi-dev python3-dev zlib1g-dev uuid-dev wget debhelper
24+
# libbz2-dev is used to install bz2 module: https://github.com/Azure/azure-cli/pull/32163
25+
apt-get install -y libssl-dev libffi-dev python3-dev zlib1g-dev uuid-dev wget debhelper libbz2-dev
2526
# Git is not strictly necessary, but it would allow building an experimental package
2627
# with dependency which is currently only available in its git repo feature branch.
2728
apt-get install -y git

src/azure-cli-core/HISTORY.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Release History
44
===============
55

6+
2.79.0
7+
++++++
8+
* Resolve CVE-2025-9230 (#32315)
9+
* Resolve CVE-2025-9232 (#32315)
10+
611
2.78.0
712
++++++
813
* Minor fixes

src/azure-cli-core/azure/cli/core/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# --------------------------------------------------------------------------------------------
55
# pylint: disable=line-too-long
66

7-
__version__ = "2.78.0"
7+
__version__ = "2.79.0"
88

99
import os
1010
import sys

src/azure-cli-core/azure/cli/core/breaking_change.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
logger = get_logger()
1717

18-
NEXT_BREAKING_CHANGE_RELEASE = '2.79.0'
18+
NEXT_BREAKING_CHANGE_RELEASE = '2.80.0'
1919
NEXT_BREAKING_CHANGE_DATE = 'Nov 2025'
2020
DEFAULT_BREAKING_CHANGE_TAG = '[Breaking Change]'
2121

src/azure-cli-core/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from codecs import open
99
from setuptools import setup, find_packages
1010

11-
VERSION = "2.78.0"
11+
VERSION = "2.79.0"
1212

1313
# If we have source, validate that our version numbers match
1414
# This should prevent uploading releases with mismatched versions.

src/azure-cli/HISTORY.rst

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,65 @@
33
Release History
44
===============
55

6+
2.79.0
7+
++++++
8+
9+
**ACR**
10+
11+
* `az acr create/update`: Remove preview flag for `--role-assignment-mode` (#32212)
12+
* `az acr check-health`: Remove preview flag for `--repository` (#32212)
13+
* `az acr task create/update`: Remove preview flag for `--source-acr-auth-id` (#32212)
14+
* `az acr build/run`: Remove preview flag for `--source-acr-auth-id` (#32212)
15+
* `az acr config content-trust`: Add deprecation notice (#32196)
16+
* `az acr config content-trust show/update`: Add deprecation notice (#32196)
17+
18+
**AKS**
19+
20+
* `az aks update`: Add support to remove existing certificates by setting the value of `--custom-ca-trust-certificates` to an empty file (#32201)
21+
* `az aks create/update`: Add `--acns-advanced-networkpolicies` parameter to support enabling advanced networking policies (`None`, `L7` or `FQDN`) (#32265)
22+
23+
**ARM**
24+
25+
* `az resource list`: Include `provisioningState` property in table output (#32156)
26+
27+
**Backup**
28+
29+
* `az backup vault deleted-vault`: Implementing List and Undelete for Deleted Backup Vaults (#32306)
30+
31+
**Compute**
32+
33+
* `az vm availability-set update`: Add new parameter `--enable-all-instance-down` to support setting scheduled events profile (#32285)
34+
* `az vm availability-set update`: Add new parameter `--scheduled-events-api-version` to support setting scheduled events profile (#32285)
35+
36+
**Container app**
37+
38+
* `az containerapp`: Update Api-version to 2025-07-01 (#32179)
39+
* `az containerapp env http-route-config`: Add command group to manage environment level http routing (#32240)
40+
* `az containerapp env premium-ingress`: Add command group to configure premium ingress settings for the environment (#32240)
41+
* Fix #32107: `az containerapp registry show`: Fix NoneType error when container app doesn't have any registry server (#32270)
42+
43+
**HDInsight**
44+
45+
* `az hdinsight create`: Support creating Entra-enabled clusters and creating clusters with WASB + MSI (#32273)
46+
* `az hdinsight credentials update`: Update cluster credentials (#32273)
47+
* `az hdinsight credentials show`: Show current cluster credentials (#32273)
48+
49+
**Network**
50+
51+
* `az network application-gateway create/update`: Add parameter `--enable-fips` (#32339)
52+
53+
**SQL**
54+
55+
* `az sql db update`: Prevent overwrite of SLO when updating from serverless to provisioned (#32292)
56+
* `az db ltr-backup/ltr-policy`: Remove preview tag for time-based immutability (#32297)
57+
58+
**Storage**
59+
60+
* `az storage account network-security-perimeter-configuration list/show/reconcile`: Add support for network-security-perimeter (#32294)
61+
* `az storage file list`: Fix file list for nfs shares, as `--include` is not supported (#32268)
62+
* `az storage account create/update`: Add `--enable-blob-geo-priority-replication` to support Geo SLA (#32331)
63+
* `az storage account or-policy create/update`: Add `--priority-replication` to support OR SLA (#32331)
64+
665
2.78.0
766
++++++
867

src/azure-cli/azure/cli/__main__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from knack.log import get_logger
1818

1919
__author__ = "Microsoft Corporation <python@microsoft.com>"
20-
__version__ = "2.78.0"
20+
__version__ = "2.79.0"
2121

2222

2323
logger = get_logger(__name__)

src/azure-cli/azure/cli/command_modules/acr/_archive_utils.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,21 @@ def _pack_source_code(source_location, tar_file_path, docker_file_path, docker_f
6666
original_docker_file_name = os.path.basename(docker_file_path.replace("\\", os.sep))
6767
ignore_list, ignore_list_size = _load_dockerignore_file(source_location, original_docker_file_name)
6868
common_vcs_ignore_list = {'.git', '.gitignore', '.bzr', 'bzrignore', '.hg', '.hgignore', '.svn'}
69+
# Directories that should be completely excluded (no recursive descent) for performance reasons.
70+
# These typically contain large numbers of files that are not needed for container build context.
71+
build_ignore_dirs = {'.venv'}
6972

7073
def _ignore_check(tarinfo, parent_ignored, parent_matching_rule_index):
71-
# ignore common vcs dir or file
72-
if tarinfo.name in common_vcs_ignore_list:
74+
# Ignore common VCS dirs/files by basename so nested instances are handled.
75+
if os.path.basename(tarinfo.name) in common_vcs_ignore_list:
7376
logger.warning("Excluding '%s' based on default ignore rules", tarinfo.name)
7477
return True, parent_matching_rule_index
7578

79+
# Exclude performance-heavy directories entirely (no traversal) regardless of .dockerignore.
80+
if tarinfo.isdir() and os.path.basename(tarinfo.name) in build_ignore_dirs:
81+
logger.warning("Excluding '%s' directory for performance", os.path.basename(tarinfo.name))
82+
return True, parent_matching_rule_index
83+
7684
if ignore_list is None:
7785
# if .dockerignore doesn't exists, inherit from parent
7886
# eg, it will ignore the files under .git folder.
@@ -100,7 +108,8 @@ def _ignore_check(tarinfo, parent_ignored, parent_matching_rule_index):
100108
arcname="",
101109
parent_ignored=False,
102110
parent_matching_rule_index=ignore_list_size,
103-
ignore_check=_ignore_check)
111+
ignore_check=_ignore_check,
112+
build_ignore_dirs=build_ignore_dirs)
104113

105114
# Add the Dockerfile if it's specified.
106115
# In the case of run, there will be no Dockerfile.
@@ -182,7 +191,8 @@ def _load_dockerignore_file(source_location, original_docker_file_name):
182191
return ignore_list, len(ignore_list)
183192

184193

185-
def _archive_file_recursively(tar, name, arcname, parent_ignored, parent_matching_rule_index, ignore_check):
194+
def _archive_file_recursively(tar, name, arcname, parent_ignored, parent_matching_rule_index,
195+
ignore_check, build_ignore_dirs):
186196
# create a TarInfo object from the file
187197
tarinfo = tar.gettarinfo(name, arcname)
188198

@@ -201,12 +211,13 @@ def _archive_file_recursively(tar, name, arcname, parent_ignored, parent_matchin
201211
else:
202212
tar.addfile(tarinfo)
203213

204-
# even the dir is ignored, its child items can still be included, so continue to scan
205-
if tarinfo.isdir():
214+
# Even if a dir is ignored by .dockerignore, its children might still be included (Docker semantics),
215+
# so we continue scanning unless it is in our build_ignore_dirs set (performance skip list).
216+
if tarinfo.isdir() and os.path.basename(tarinfo.name) not in build_ignore_dirs:
206217
for f in os.listdir(name):
207218
_archive_file_recursively(tar, os.path.join(name, f), os.path.join(arcname, f),
208219
parent_ignored=ignored, parent_matching_rule_index=matching_rule_index,
209-
ignore_check=ignore_check)
220+
ignore_check=ignore_check, build_ignore_dirs=build_ignore_dirs)
210221

211222

212223
def check_remote_source_code(source_location):

src/azure-cli/azure/cli/command_modules/acr/_help.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -898,6 +898,12 @@
898898
- name: Get the storage usage for an Azure Container Registry.
899899
text: >
900900
az acr show-usage -n myregistry
901+
- name: Get the current amount of storage used by the registry based on the included storage of its SKU (in bytes).
902+
text: >
903+
az acr show-usage -n myregistry --query "value[?name=='Size'] | [0]"
904+
- name: Get the current amount of storage used by the registry and the maximum storage capacity allowed.
905+
text: >
906+
az acr show-usage -n myregistry --query "value[?name=='MaximumStorageCapacity'] | [0]"
901907
"""
902908

903909
helps['acr task'] = """

0 commit comments

Comments
 (0)