Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package azure-cli-core for openSUSE:Factory checked in at 2026-01-14 16:22:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/azure-cli-core (Old) and /work/SRC/openSUSE:Factory/.azure-cli-core.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "azure-cli-core" Wed Jan 14 16:22:12 2026 rev:90 rq:1327145 version:2.82.0 Changes: -------- --- /work/SRC/openSUSE:Factory/azure-cli-core/azure-cli-core.changes 2025-12-10 15:32:57.084377066 +0100 +++ /work/SRC/openSUSE:Factory/.azure-cli-core.new.1928/azure-cli-core.changes 2026-01-14 16:22:52.704418447 +0100 @@ -1,0 +2,9 @@ +Tue Jan 13 12:10:34 UTC 2026 - John Paul Adrian Glaubitz <[email protected]> + +- New upstream release + + Version 2.82.0 + + For detailed information about changes see the + HISTORY.rst file provided with this package +- Update Requires from setup.py + +------------------------------------------------------------------- Old: ---- azure_cli_core-2.81.0.tar.gz New: ---- azure_cli_core-2.82.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ azure-cli-core.spec ++++++ --- /var/tmp/diff_new_pack.KnoViS/_old 2026-01-14 16:22:53.432447785 +0100 +++ /var/tmp/diff_new_pack.KnoViS/_new 2026-01-14 16:22:53.436447946 +0100 @@ -24,7 +24,7 @@ %global _sitelibdir %{%{pythons}_sitelib} Name: azure-cli-core -Version: 2.81.0 +Version: 2.82.0 Release: 0 Summary: Microsoft Azure CLI Core Module License: MIT @@ -41,7 +41,7 @@ Requires: %{pythons}-PyJWT >= 2.1.0 Requires: %{pythons}-argcomplete < 4.0 Requires: %{pythons}-argcomplete >= 3.5.2 -Requires: %{pythons}-azure-core >= 1.35.0 +Requires: %{pythons}-azure-core >= 1.37.0 Requires: %{pythons}-azure-core < 2.0.0 Requires: %{pythons}-azure-mgmt-core < 2.0.0 Requires: %{pythons}-azure-mgmt-core >= 1.2.0 ++++++ azure_cli_core-2.81.0.tar.gz -> azure_cli_core-2.82.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/HISTORY.rst new/azure_cli_core-2.82.0/HISTORY.rst --- old/azure_cli_core-2.81.0/HISTORY.rst 2025-11-26 01:50:15.000000000 +0100 +++ new/azure_cli_core-2.82.0/HISTORY.rst 2026-01-06 08:38:42.000000000 +0100 @@ -3,6 +3,11 @@ Release History =============== +2.82.0 +++++++ +* Resolve CVE-2025-66418 (#32506) +* Resolve CVE-2025-66471 (#32506) + 2.81.0 ++++++ * Minor fixes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/PKG-INFO new/azure_cli_core-2.82.0/PKG-INFO --- old/azure_cli_core-2.81.0/PKG-INFO 2025-11-26 01:51:01.304434800 +0100 +++ new/azure_cli_core-2.82.0/PKG-INFO 2026-01-06 08:39:30.013359000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: azure-cli-core -Version: 2.81.0 +Version: 2.82.0 Summary: Microsoft Azure Command-Line Tools Core Module Home-page: https://github.com/Azure/azure-cli Author: Microsoft Corporation @@ -20,7 +20,7 @@ License-File: LICENSE.txt Requires-Dist: argcomplete~=3.5.2 Requires-Dist: azure-cli-telemetry==1.1.0.* -Requires-Dist: azure-core~=1.35.0 +Requires-Dist: azure-core~=1.37.0 Requires-Dist: azure-mgmt-core<2,>=1.2.0 Requires-Dist: cryptography Requires-Dist: distro; sys_platform == "linux" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/azure/cli/core/__init__.py new/azure_cli_core-2.82.0/azure/cli/core/__init__.py --- old/azure_cli_core-2.81.0/azure/cli/core/__init__.py 2025-11-26 01:50:15.000000000 +0100 +++ new/azure_cli_core-2.82.0/azure/cli/core/__init__.py 2026-01-06 08:38:42.000000000 +0100 @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long -__version__ = "2.81.0" +__version__ = "2.82.0" import os import sys @@ -120,6 +120,9 @@ def show_version(self): from azure.cli.core.util import get_az_version_string, show_updates + from azure.cli.core import telemetry + + telemetry.set_command_details(command="", parameters=["--version"]) ver_string, updates_available_components = get_az_version_string() print(ver_string) @@ -239,6 +242,8 @@ command_modules.extend(ALWAYS_LOADED_MODULES) else: # Perform module discovery + from azure.cli.core import telemetry + telemetry.set_command_index_rebuild_triggered(True) command_modules = [] try: mods_ns_pkg = import_module('azure.cli.command_modules') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/azure/cli/core/commands/__init__.py new/azure_cli_core-2.82.0/azure/cli/core/commands/__init__.py --- old/azure_cli_core-2.81.0/azure/cli/core/commands/__init__.py 2025-11-26 01:50:15.000000000 +0100 +++ new/azure_cli_core-2.82.0/azure/cli/core/commands/__init__.py 2026-01-06 08:38:42.000000000 +0100 @@ -512,8 +512,10 @@ EVENT_INVOKER_FILTER_RESULT) from azure.cli.core.commands.events import ( EVENT_INVOKER_PRE_CMD_TBL_TRUNCATE, EVENT_INVOKER_PRE_LOAD_ARGUMENTS, EVENT_INVOKER_POST_LOAD_ARGUMENTS) + from azure.cli.core.util import roughly_parse_command_with_casing # TODO: Can't simply be invoked as an event because args are transformed + command_preserve_casing = roughly_parse_command_with_casing(args) args = _pre_command_table_create(self.cli_ctx, args) self.cli_ctx.raise_event(EVENT_INVOKER_PRE_CMD_TBL_CREATE, args=args) @@ -578,7 +580,7 @@ self.help.show_welcome(subparser) # TODO: No event in base with which to target - telemetry.set_command_details('az') + telemetry.set_command_details('az', command_preserve_casing=command_preserve_casing) telemetry.set_success(summary='welcome') return CommandResultItem(None, exit_code=0) @@ -633,7 +635,8 @@ pass telemetry.set_command_details(self.cli_ctx.data['command'], self.data['output'], self.cli_ctx.data['safe_params'], - extension_name=extension_name, extension_version=extension_version) + extension_name=extension_name, extension_version=extension_version, + command_preserve_casing=command_preserve_casing) if extension_name: self.data['command_extension_name'] = extension_name self.cli_ctx.logging.log_cmd_metadata_extension_info(extension_name, extension_version) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/azure/cli/core/extension/dynamic_install.py new/azure_cli_core-2.82.0/azure/cli/core/extension/dynamic_install.py --- old/azure_cli_core-2.81.0/azure/cli/core/extension/dynamic_install.py 2025-11-26 01:50:15.000000000 +0100 +++ new/azure_cli_core-2.82.0/azure/cli/core/extension/dynamic_install.py 2026-01-06 08:38:42.000000000 +0100 @@ -194,6 +194,7 @@ # extension is already installed and return if yes as the error is not caused by extension not installed. from azure.cli.core.extension import get_extension, ExtensionNotInstalledException from azure.cli.core.extension._resolve import resolve_from_index, NoExtensionCandidatesError + from azure.cli.core.util import roughly_parse_command_with_casing extension_allow_preview = _get_extension_allow_preview_install_config(cli_ctx) try: ext = get_extension(ext_name) @@ -208,7 +209,8 @@ telemetry.set_command_details(command_str, parameters=AzCliCommandInvoker._extract_parameter_names(args), # pylint: disable=protected-access - extension_name=ext_name) + extension_name=ext_name, + command_preserve_casing=roughly_parse_command_with_casing(args)) run_after_extension_installed = _get_extension_run_after_dynamic_install_config(cli_ctx) prompt_info = "" if no_prompt: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/azure/cli/core/profiles/_shared.py new/azure_cli_core-2.82.0/azure/cli/core/profiles/_shared.py --- old/azure_cli_core-2.81.0/azure/cli/core/profiles/_shared.py 2025-11-26 01:50:15.000000000 +0100 +++ new/azure_cli_core-2.82.0/azure/cli/core/profiles/_shared.py 2026-01-06 08:38:42.000000000 +0100 @@ -115,10 +115,10 @@ MGMT_SQLVM = ('azure.mgmt.sqlvirtualmachine', None) MGMT_MANAGEDSERVICES = ('azure.mgmt.managedservices', None) MGMT_NETAPPFILES = ('azure.mgmt.netappfiles', None) - DATA_STORAGE_BLOB = ('azure.multiapi.storagev2.blob', None) - DATA_STORAGE_FILEDATALAKE = ('azure.multiapi.storagev2.filedatalake', None) - DATA_STORAGE_FILESHARE = ('azure.multiapi.storagev2.fileshare', None) - DATA_STORAGE_QUEUE = ('azure.multiapi.storagev2.queue', None) + DATA_STORAGE_BLOB = ('azure.storage.blob', None) + DATA_STORAGE_FILEDATALAKE = ('azure.storage.filedatalake', None) + DATA_STORAGE_FILESHARE = ('azure.storage.fileshare', None) + DATA_STORAGE_QUEUE = ('azure.storage.queue', None) DATA_STORAGE_TABLE = ('azure.data.tables', None) DATA_BATCH = ('azure.batch', None) @@ -204,15 +204,15 @@ ResourceType.DATA_KEYVAULT_ADMINISTRATION_SETTING: None, ResourceType.DATA_KEYVAULT_ADMINISTRATION_BACKUP: '7.5-preview.1', ResourceType.DATA_KEYVAULT_ADMINISTRATION_ACCESS_CONTROL: '7.4', - ResourceType.DATA_STORAGE_BLOB: '2022-11-02', - ResourceType.DATA_STORAGE_FILEDATALAKE: '2021-08-06', - ResourceType.DATA_STORAGE_FILESHARE: '2025-07-05', - ResourceType.DATA_STORAGE_QUEUE: '2018-03-28', + ResourceType.DATA_STORAGE_BLOB: None, + ResourceType.DATA_STORAGE_FILEDATALAKE: None, + ResourceType.DATA_STORAGE_FILESHARE: None, + ResourceType.DATA_STORAGE_QUEUE: None, ResourceType.DATA_STORAGE_TABLE: None, ResourceType.MGMT_SERVICEBUS: None, ResourceType.MGMT_EVENTHUB: None, ResourceType.MGMT_MONITOR: None, - ResourceType.MGMT_MSI: '2023-01-31', + ResourceType.MGMT_MSI: '2024-11-30', ResourceType.MGMT_APPSERVICE: '2024-11-01', ResourceType.MGMT_IOTHUB: None, ResourceType.MGMT_IOTDPS: None, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/azure/cli/core/telemetry.py new/azure_cli_core-2.82.0/azure/cli/core/telemetry.py --- old/azure_cli_core-2.81.0/azure/cli/core/telemetry.py 2025-11-26 01:50:15.000000000 +0100 +++ new/azure_cli_core-2.82.0/azure/cli/core/telemetry.py 2026-01-06 08:38:42.000000000 +0100 @@ -51,6 +51,8 @@ self.feedback = None self.extension_management_detail = None self.raw_command = None + self.command_preserve_casing = None + self.is_cmd_idx_rebuild_triggered = False self.show_survey_message = False self.region_input = None self.region_identified = None @@ -207,6 +209,9 @@ set_custom_properties(result, 'InvokeTimeElapsed', str(self.invoke_time_elapsed)) set_custom_properties(result, 'OutputType', self.output_type) set_custom_properties(result, 'RawCommand', self.raw_command) + set_custom_properties(result, 'CommandPreserveCasing', + self.command_preserve_casing or '') + set_custom_properties(result, 'IsCmdIdxRebuildTriggered', str(self.is_cmd_idx_rebuild_triggered)) set_custom_properties(result, 'Params', ','.join(self.parameters or [])) set_custom_properties(result, 'PythonVersion', platform.python_version()) set_custom_properties(result, 'ModuleCorrelation', self.module_correlation) @@ -437,12 +442,19 @@ @decorators.suppress_all_exceptions() -def set_command_details(command, output_type=None, parameters=None, extension_name=None, extension_version=None): +def set_command_index_rebuild_triggered(is_cmd_idx_rebuild_triggered=False): + _session.is_cmd_idx_rebuild_triggered = is_cmd_idx_rebuild_triggered + + [email protected]_all_exceptions() +def set_command_details(command, output_type=None, parameters=None, extension_name=None, + extension_version=None, command_preserve_casing=None): _session.command = command _session.output_type = output_type _session.parameters = parameters _session.extension_name = extension_name _session.extension_version = extension_version + _session.command_preserve_casing = command_preserve_casing @decorators.suppress_all_exceptions() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/azure/cli/core/util.py new/azure_cli_core-2.82.0/azure/cli/core/util.py --- old/azure_cli_core-2.81.0/azure/cli/core/util.py 2025-11-26 01:50:15.000000000 +0100 +++ new/azure_cli_core-2.82.0/azure/cli/core/util.py 2026-01-06 08:38:42.000000000 +0100 @@ -644,7 +644,7 @@ """ from datetime import date, time, datetime, timedelta from enum import Enum - from azure.core.serialization import attribute_list + from azure.core.serialization import attribute_list, get_backcompat_attr_name if isinstance(obj, dict): result = {k: todict(v, post_processor) for (k, v) in obj.items()} return post_processor(obj, result) if post_processor else result @@ -662,7 +662,7 @@ # azure-core provided new function `attribute_list` to list all attribute names # so that we don't need to use raw __dict__ directly if getattr(obj, "_is_model", False): - result = {to_camel_case(attr): todict(getattr(obj, attr), post_processor) + result = {to_camel_case(get_backcompat_attr_name(obj, attr)): todict(getattr(obj, attr), post_processor) for attr in attribute_list(obj) if hasattr(obj, attr)} return post_processor(obj, result) if post_processor else result if hasattr(obj, '_asdict'): @@ -1281,6 +1281,19 @@ return ' '.join(nouns).lower() +def roughly_parse_command_with_casing(args): + # Roughly parse the command part: <az VM create> --name vm1 + # Similar to knack.invocation.CommandInvoker._rudimentary_get_command, but preserves original casing + # and we don't need to bother with positional args + nouns = [] + for arg in args: + if arg and arg[0] != '-': + nouns.append(arg) + else: + break + return ' '.join(nouns) + + def is_guid(guid): import uuid try: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/azure_cli_core.egg-info/PKG-INFO new/azure_cli_core-2.82.0/azure_cli_core.egg-info/PKG-INFO --- old/azure_cli_core-2.81.0/azure_cli_core.egg-info/PKG-INFO 2025-11-26 01:51:01.000000000 +0100 +++ new/azure_cli_core-2.82.0/azure_cli_core.egg-info/PKG-INFO 2026-01-06 08:39:29.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: azure-cli-core -Version: 2.81.0 +Version: 2.82.0 Summary: Microsoft Azure Command-Line Tools Core Module Home-page: https://github.com/Azure/azure-cli Author: Microsoft Corporation @@ -20,7 +20,7 @@ License-File: LICENSE.txt Requires-Dist: argcomplete~=3.5.2 Requires-Dist: azure-cli-telemetry==1.1.0.* -Requires-Dist: azure-core~=1.35.0 +Requires-Dist: azure-core~=1.37.0 Requires-Dist: azure-mgmt-core<2,>=1.2.0 Requires-Dist: cryptography Requires-Dist: distro; sys_platform == "linux" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/azure_cli_core.egg-info/requires.txt new/azure_cli_core-2.82.0/azure_cli_core.egg-info/requires.txt --- old/azure_cli_core-2.81.0/azure_cli_core.egg-info/requires.txt 2025-11-26 01:51:01.000000000 +0100 +++ new/azure_cli_core-2.82.0/azure_cli_core.egg-info/requires.txt 2026-01-06 08:39:29.000000000 +0100 @@ -1,6 +1,6 @@ argcomplete~=3.5.2 azure-cli-telemetry==1.1.0.* -azure-core~=1.35.0 +azure-core~=1.37.0 azure-mgmt-core<2,>=1.2.0 cryptography humanfriendly~=10.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.81.0/setup.py new/azure_cli_core-2.82.0/setup.py --- old/azure_cli_core-2.81.0/setup.py 2025-11-26 01:50:15.000000000 +0100 +++ new/azure_cli_core-2.82.0/setup.py 2026-01-06 08:38:42.000000000 +0100 @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "2.81.0" +VERSION = "2.82.0" # If we have source, validate that our version numbers match # This should prevent uploading releases with mismatched versions. @@ -45,7 +45,7 @@ DEPENDENCIES = [ 'argcomplete~=3.5.2', 'azure-cli-telemetry==1.1.0.*', - 'azure-core~=1.35.0', + 'azure-core~=1.37.0', 'azure-mgmt-core>=1.2.0,<2', 'cryptography', # On Linux, the distribution (Ubuntu, Debian, etc) and version are logged in telemetry
