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-02-09 13:43:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/azure-cli-core (Old) and /work/SRC/openSUSE:Factory/.azure-cli-core.new.1670 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "azure-cli-core" Mon Feb 9 13:43:17 2026 rev:91 rq:1332001 version:2.83.0 Changes: -------- --- /work/SRC/openSUSE:Factory/azure-cli-core/azure-cli-core.changes 2026-01-14 16:22:52.704418447 +0100 +++ /work/SRC/openSUSE:Factory/.azure-cli-core.new.1670/azure-cli-core.changes 2026-02-09 13:43:26.540120536 +0100 @@ -1,0 +2,9 @@ +Fri Feb 6 09:29:44 UTC 2026 - John Paul Adrian Glaubitz <[email protected]> + +- New upstream release + + Version 2.83.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.82.0.tar.gz New: ---- azure_cli_core-2.83.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ azure-cli-core.spec ++++++ --- /var/tmp/diff_new_pack.3nwzPy/_old 2026-02-09 13:43:27.360154657 +0100 +++ /var/tmp/diff_new_pack.3nwzPy/_new 2026-02-09 13:43:27.364154823 +0100 @@ -1,7 +1,7 @@ # # spec file for package azure-cli-core # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %global _sitelibdir %{%{pythons}_sitelib} Name: azure-cli-core -Version: 2.82.0 +Version: 2.83.0 Release: 0 Summary: Microsoft Azure CLI Core Module License: MIT @@ -41,8 +41,8 @@ Requires: %{pythons}-PyJWT >= 2.1.0 Requires: %{pythons}-argcomplete < 4.0 Requires: %{pythons}-argcomplete >= 3.5.2 -Requires: %{pythons}-azure-core >= 1.37.0 Requires: %{pythons}-azure-core < 2.0.0 +Requires: %{pythons}-azure-core >= 1.38.0 Requires: %{pythons}-azure-mgmt-core < 2.0.0 Requires: %{pythons}-azure-mgmt-core >= 1.2.0 Requires: %{pythons}-azure-nspkg >= 3.0.0 @@ -54,7 +54,7 @@ Requires: %{pythons}-knack >= 0.11.0 Requires: %{pythons}-microsoft-security-utilities-secret-masker >= 1.0.0~b4 Requires: %{pythons}-msal < 2.0.0 -Requires: %{pythons}-msal >= 1.34.0~b1 +Requires: %{pythons}-msal >= 1.35.0~b1 Requires: %{pythons}-msal-extensions < 2.0.0 Requires: %{pythons}-msal-extensions >= 1.2.0 Requires: %{pythons}-packaging >= 20.9 ++++++ azure_cli_core-2.82.0.tar.gz -> azure_cli_core-2.83.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/HISTORY.rst new/azure_cli_core-2.83.0/HISTORY.rst --- old/azure_cli_core-2.82.0/HISTORY.rst 2026-01-06 08:38:42.000000000 +0100 +++ new/azure_cli_core-2.83.0/HISTORY.rst 2026-01-27 08:23:53.000000000 +0100 @@ -3,6 +3,14 @@ Release History =============== +2.83.0 +++++++ +* Resolve CVE-2025-69277 (#32610) +* Resolve CVE-2026-21441 (#32617) +* Resolve CVE-2025-12084 (#32662) +* Resolve CVE-2026-21226 (#32635) +* Replace GitHub URLs with AME Storage for network isolated requirements (#32677) + 2.82.0 ++++++ * Resolve CVE-2025-66418 (#32506) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/PKG-INFO new/azure_cli_core-2.83.0/PKG-INFO --- old/azure_cli_core-2.82.0/PKG-INFO 2026-01-06 08:39:30.013359000 +0100 +++ new/azure_cli_core-2.83.0/PKG-INFO 2026-01-27 08:24:42.918434900 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: azure-cli-core -Version: 2.82.0 +Version: 2.83.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.37.0 +Requires-Dist: azure-core~=1.38.0 Requires-Dist: azure-mgmt-core<2,>=1.2.0 Requires-Dist: cryptography Requires-Dist: distro; sys_platform == "linux" @@ -29,8 +29,8 @@ Requires-Dist: knack~=0.11.0 Requires-Dist: microsoft-security-utilities-secret-masker~=1.0.0b4 Requires-Dist: msal-extensions==1.2.0 -Requires-Dist: msal[broker]==1.34.0b1; sys_platform == "win32" -Requires-Dist: msal==1.34.0b1; sys_platform != "win32" +Requires-Dist: msal[broker]==1.35.0b1; sys_platform == "win32" +Requires-Dist: msal==1.35.0b1; sys_platform != "win32" Requires-Dist: packaging>=20.9 Requires-Dist: pkginfo>=1.5.0.1 Requires-Dist: psutil>=5.9; sys_platform != "cygwin" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/azure/cli/core/__init__.py new/azure_cli_core-2.83.0/azure/cli/core/__init__.py --- old/azure_cli_core-2.82.0/azure/cli/core/__init__.py 2026-01-06 08:38:42.000000000 +0100 +++ new/azure_cli_core-2.83.0/azure/cli/core/__init__.py 2026-01-27 08:23:53.000000000 +0100 @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long -__version__ = "2.82.0" +__version__ = "2.83.0" import os import sys @@ -26,6 +26,8 @@ EXCLUDED_PARAMS = ['self', 'raw', 'polling', 'custom_headers', 'operation_config', 'content_version', 'kwargs', 'client', 'no_wait'] EVENT_FAILED_EXTENSION_LOAD = 'MainLoader.OnFailedExtensionLoad' +# Marker used by CommandIndex.get() to signal top-level tab completion optimization +TOP_LEVEL_COMPLETION_MARKER = '__top_level_completion__' # [Reserved, in case of future usage] # Modules that will always be loaded. They don't expose commands but hook into CLI core. @@ -208,6 +210,24 @@ self.cmd_to_loader_map = {} self.loaders = [] + def _create_stub_commands_for_completion(self, command_names): + """Create stub commands for top-level tab completion optimization. + + Stub commands allow argcomplete to parse command names without loading modules. + + :param command_names: List of command names to create stubs for + """ + from azure.cli.core.commands import AzCliCommand + + def _stub_handler(*_args, **_kwargs): + """Stub command handler used only for argument completion.""" + return None + + for cmd_name in command_names: + if cmd_name not in self.command_table: + # Stub commands only need names for argcomplete parser construction. + self.command_table[cmd_name] = AzCliCommand(self, cmd_name, _stub_handler) + def _update_command_definitions(self): for cmd_name in self.command_table: loaders = self.cmd_to_loader_map[cmd_name] @@ -434,9 +454,16 @@ index_result = command_index.get(args) if index_result: index_modules, index_extensions = index_result + + if index_modules == TOP_LEVEL_COMPLETION_MARKER: + self._create_stub_commands_for_completion(index_extensions) + _update_command_table_from_extensions([], ALWAYS_LOADED_EXTENSIONS) + return self.command_table + # Always load modules and extensions, because some of them (like those in # ALWAYS_LOADED_EXTENSIONS) don't expose a command, but hooks into handlers in CLI core _update_command_table_from_modules(args, index_modules) + # The index won't contain suppressed extensions _update_command_table_from_extensions([], index_extensions) @@ -484,7 +511,6 @@ else: logger.debug("No module found from index for '%s'", args) - # No module found from the index. Load all command modules and extensions logger.debug("Loading all modules and extensions") _update_command_table_from_modules(args) @@ -580,6 +606,23 @@ self.cloud_profile = cli_ctx.cloud.profile self.cli_ctx = cli_ctx + def _get_top_level_completion_commands(self): + """Get top-level command names for tab completion optimization. + + Returns marker and list of top-level commands (e.g., 'network', 'vm') for creating + stub commands without module loading. Returns None if index is empty, triggering + fallback to full module loading. + + :return: tuple of (TOP_LEVEL_COMPLETION_MARKER, list of top-level command names) or None + """ + index = self.INDEX.get(self._COMMAND_INDEX) or {} + if not index: + logger.debug("Command index is empty, will fall back to loading all modules") + return None + top_level_commands = list(index.keys()) + logger.debug("Top-level completion: %d commands available", len(top_level_commands)) + return TOP_LEVEL_COMPLETION_MARKER, top_level_commands + def get(self, args): """Get the corresponding module and extension list of a command. @@ -599,6 +642,9 @@ # Make sure the top-level command is provided, like `az version`. # Skip command index for `az` or `az --help`. if not args or args[0].startswith('-'): + # For top-level completion (az [tab]) + if not args and self.cli_ctx.data.get('completer_active'): + return self._get_top_level_completion_commands() return None # Get the top-level command, like `network` in `network vnet create -h` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/azure/cli/core/cloud.py new/azure_cli_core-2.83.0/azure/cli/core/cloud.py --- old/azure_cli_core-2.82.0/azure/cli/core/cloud.py 2026-01-06 08:38:42.000000000 +0100 +++ new/azure_cli_core-2.83.0/azure/cli/core/cloud.py 2026-01-27 08:23:53.000000000 +0100 @@ -373,7 +373,7 @@ active_directory_graph_resource_id='https://graph.windows.net/', microsoft_graph_resource_id='https://graph.microsoft.com/', active_directory_data_lake_resource_id='https://datalake.azure.net/', - vm_image_alias_doc='https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json', + vm_image_alias_doc='https://azcliprod.blob.core.windows.net/cli/vm/aliases.json', media_resource_id='https://rest.media.azure.net', ossrdbms_resource_id='https://ossrdbms-aad.database.windows.net', app_insights_resource_id='https://api.applicationinsights.io', @@ -410,7 +410,7 @@ active_directory_resource_id='https://management.core.chinacloudapi.cn/', active_directory_graph_resource_id='https://graph.chinacloudapi.cn/', microsoft_graph_resource_id='https://microsoftgraph.chinacloudapi.cn', - vm_image_alias_doc='https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json', + vm_image_alias_doc='https://azcliprod.blob.core.windows.net/cli/vm/aliases.json', media_resource_id='https://rest.media.chinacloudapi.cn', ossrdbms_resource_id='https://ossrdbms-aad.database.chinacloudapi.cn', app_insights_resource_id='https://api.applicationinsights.azure.cn', @@ -444,7 +444,7 @@ active_directory_resource_id='https://management.core.usgovcloudapi.net/', active_directory_graph_resource_id='https://graph.microsoftazure.us/', microsoft_graph_resource_id='https://graph.microsoft.us/', - vm_image_alias_doc='https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json', + vm_image_alias_doc='https://azcliprod.blob.core.windows.net/cli/vm/aliases.json', media_resource_id='https://rest.media.usgovcloudapi.net', ossrdbms_resource_id='https://ossrdbms-aad.database.usgovcloudapi.net', app_insights_resource_id='https://api.applicationinsights.us', @@ -479,7 +479,7 @@ active_directory_resource_id='https://management.core.cloudapi.de/', active_directory_graph_resource_id='https://graph.cloudapi.de/', microsoft_graph_resource_id='https://graph.microsoft.de', - vm_image_alias_doc='https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json', + vm_image_alias_doc='https://azcliprod.blob.core.windows.net/cli/vm/aliases.json', media_resource_id='https://rest.media.cloudapi.de', ossrdbms_resource_id='https://ossrdbms-aad.database.cloudapi.de', portal='https://portal.microsoftazure.de'), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/azure/cli/core/commands/arm.py new/azure_cli_core-2.83.0/azure/cli/core/commands/arm.py --- old/azure_cli_core-2.82.0/azure/cli/core/commands/arm.py 2026-01-06 08:38:42.000000000 +0100 +++ new/azure_cli_core-2.83.0/azure/cli/core/commands/arm.py 2026-01-27 08:23:53.000000000 +0100 @@ -21,7 +21,7 @@ from knack.arguments import CLICommandArgument, ignore_type from knack.introspection import extract_args_from_signature from knack.log import get_logger -from knack.util import todict, CLIError +from knack.util import CLIError logger = get_logger(__name__) EXCLUDED_NON_CLIENT_PARAMS = list(set(EXCLUDED_PARAMS) - set(['self', 'client'])) @@ -479,6 +479,7 @@ def verify_property(instance, condition): + from azure.cli.core.util import todict from jmespath import compile as compile_jmespath result = todict(instance) jmes_query = compile_jmespath(condition) @@ -759,9 +760,6 @@ def assign_identity(cli_ctx, getter, setter, identity_role=None, identity_scope=None): - import time - from azure.core.exceptions import HttpResponseError - # get resource = getter() resource = setter(resource) @@ -769,36 +767,43 @@ # create role assignment: if identity_scope: principal_id = resource.identity.principal_id + create_role_assignment(cli_ctx, principal_id, identity_role, identity_scope) - identity_role_id = resolve_role_id(cli_ctx, identity_role, identity_scope) - assignments_client = get_mgmt_service_client(cli_ctx, ResourceType.MGMT_AUTHORIZATION).role_assignments - RoleAssignmentCreateParameters = get_sdk(cli_ctx, ResourceType.MGMT_AUTHORIZATION, - 'RoleAssignmentCreateParameters', mod='models', - operation_group='role_assignments') - parameters = RoleAssignmentCreateParameters(role_definition_id=identity_role_id, principal_id=principal_id, - principal_type=None) - - logger.info("Creating an assignment with a role '%s' on the scope of '%s'", identity_role_id, identity_scope) - retry_times = 36 - assignment_name = _gen_guid() - for retry_time in range(0, retry_times): - try: - assignments_client.create(scope=identity_scope, role_assignment_name=assignment_name, - parameters=parameters) - break - except HttpResponseError as ex: - if ex.error.code == 'RoleAssignmentExists': - logger.info('Role assignment already exists') - break - if retry_time < retry_times and ' does not exist in the directory ' in ex.message: - time.sleep(5) - logger.warning('Retrying role assignment creation: %s/%s', retry_time + 1, - retry_times) - continue - raise return resource +def create_role_assignment(cli_ctx, principal_id, identity_role=None, identity_scope=None): + import time + from azure.core.exceptions import HttpResponseError + + identity_role_id = resolve_role_id(cli_ctx, identity_role, identity_scope) + assignments_client = get_mgmt_service_client(cli_ctx, ResourceType.MGMT_AUTHORIZATION).role_assignments + RoleAssignmentCreateParameters = get_sdk(cli_ctx, ResourceType.MGMT_AUTHORIZATION, + 'RoleAssignmentCreateParameters', mod='models', + operation_group='role_assignments') + parameters = RoleAssignmentCreateParameters(role_definition_id=identity_role_id, principal_id=principal_id, + principal_type=None) + + logger.info("Creating an assignment with a role '%s' on the scope of '%s'", identity_role_id, identity_scope) + retry_times = 36 + assignment_name = _gen_guid() + for retry_time in range(0, retry_times): + try: + assignments_client.create(scope=identity_scope, role_assignment_name=assignment_name, + parameters=parameters) + break + except HttpResponseError as ex: + if ex.error.code == 'RoleAssignmentExists': + logger.info('Role assignment already exists') + break + if retry_time < retry_times and ' does not exist in the directory ' in ex.message: + time.sleep(5) + logger.warning('Retrying role assignment creation: %s/%s', retry_time + 1, + retry_times) + continue + raise + + def resolve_role_id(cli_ctx, role, scope): import uuid client = get_mgmt_service_client(cli_ctx, ResourceType.MGMT_AUTHORIZATION).role_definitions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/azure/cli/core/commands/command_operation.py new/azure_cli_core-2.83.0/azure/cli/core/commands/command_operation.py --- old/azure_cli_core-2.82.0/azure/cli/core/commands/command_operation.py 2026-01-06 08:38:42.000000000 +0100 +++ new/azure_cli_core-2.83.0/azure/cli/core/commands/command_operation.py 2026-01-27 08:23:53.000000000 +0100 @@ -462,7 +462,7 @@ @staticmethod def _get_provisioning_state(instance): - from knack.util import todict + from azure.cli.core.util import todict result = todict(instance) provisioning_state = result.get('provisioning_state', result.get('provisioningState', None)) if not provisioning_state: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/azure/cli/core/profiles/_shared.py new/azure_cli_core-2.83.0/azure/cli/core/profiles/_shared.py --- old/azure_cli_core-2.82.0/azure/cli/core/profiles/_shared.py 2026-01-06 08:38:42.000000000 +0100 +++ new/azure_cli_core-2.83.0/azure/cli/core/profiles/_shared.py 2026-01-27 08:23:53.000000000 +0100 @@ -107,6 +107,7 @@ MGMT_MAPS = ('azure.mgmt.maps', None) MGMT_POLICYINSIGHTS = ('azure.mgmt.policyinsights', None) MGMT_RDBMS = ('azure.mgmt.rdbms', None) + MGMT_POSTGRESQL = ('azure.mgmt.postgresql', None) MGMT_REDIS = ('azure.mgmt.redis', None) MGMT_SEARCH = ('azure.mgmt.search', None) MGMT_SERVICEFABRIC = ('azure.mgmt.servicefabric', None) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/azure/cli/core/util.py new/azure_cli_core-2.83.0/azure/cli/core/util.py --- old/azure_cli_core-2.82.0/azure/cli/core/util.py 2026-01-06 08:38:42.000000000 +0100 +++ new/azure_cli_core-2.83.0/azure/cli/core/util.py 2026-01-27 08:23:53.000000000 +0100 @@ -52,6 +52,12 @@ "sys", "test2", "test3", "user4", "user5" ] +# AME Storage Account URL for version checking and VM image aliases (Network Isolation) +# Files are stored as: +# - https://azcliprod.blob.core.windows.net/cli/{package}/setup.py (CLI versions) +# - https://azcliprod.blob.core.windows.net/cli/vm/aliases.json (VM image aliases) +AME_STORAGE_BASE_URL = "https://azcliprod.blob.core.windows.net/cli" + def handle_exception(ex): # pylint: disable=too-many-locals, too-many-statements, too-many-branches # For error code, follow guidelines at https://docs.python.org/2/library/sys.html#sys.exit, @@ -291,14 +297,23 @@ ] -def get_latest_from_github(package_path='azure-cli'): +def get_latest_version_from_ame_storage(package_path='azure-cli'): + """Get the latest version from AME Storage Account. + + This replaces get_latest_from_github() due to network isolation requirements. + The setup.py files are uploaded to AME Storage Account during release pipeline. + + Args: + package_path: Package name, e.g., 'azure-cli', 'azure-cli-core', 'azure-cli-telemetry', 'azure-cli-testsdk' + """ try: import requests - git_url = "https://raw.githubusercontent.com/Azure/azure-cli/main/src/{}/setup.py".format(package_path) - response = requests.get(git_url, timeout=10) + storage_url = "{}/{}/setup.py".format(AME_STORAGE_BASE_URL, package_path) + + response = requests.get(storage_url, timeout=10) if response.status_code != 200: logger.info("Failed to fetch the latest version from '%s' with status code '%s' and reason '%s'", - git_url, response.status_code, response.reason) + storage_url, response.status_code, response.reason) return None for line in response.iter_lines(): txt = line.decode('utf-8', errors='ignore') @@ -307,16 +322,28 @@ if match: return match.group(1) except Exception as ex: # pylint: disable=broad-except - logger.info("Failed to get the latest version from '%s'. %s", git_url, str(ex)) + logger.info("Failed to get the latest version from '%s'. %s", storage_url, str(ex)) return None -def _update_latest_from_github(versions): - if not check_connectivity(url='https://raw.githubusercontent.com', max_retries=0): +def get_latest_from_github(package_path='azure-cli'): + """Deprecated: Use get_latest_version_from_ame_storage() instead. + + This function is kept for backward compatibility but now reads from AME Storage Account. + """ + return get_latest_version_from_ame_storage(package_path) + + +def _update_latest_from_ame_storage(versions): + """Update versions from AME Storage Account. + + This replaces _update_latest_from_github() due to network isolation requirements. + """ + if not check_connectivity(url=AME_STORAGE_BASE_URL, max_retries=0): return versions, False success = True for pkg in ['azure-cli-core', 'azure-cli-telemetry']: - version = get_latest_from_github(pkg) + version = get_latest_version_from_ame_storage(pkg) if not version: success = False else: @@ -328,6 +355,14 @@ return versions, success +def _update_latest_from_github(versions): + """Deprecated: Use _update_latest_from_ame_storage() instead. + + This function is kept for backward compatibility but now reads from AME Storage Account. + """ + return _update_latest_from_ame_storage(versions) + + def get_cached_latest_versions(versions=None): """ Get the latest versions from a cached file""" import datetime @@ -343,7 +378,7 @@ if cache_versions and cache_versions['azure-cli']['local'] == versions['azure-cli']['local']: return cache_versions.copy(), True - versions, success = _update_latest_from_github(versions) + versions, success = _update_latest_from_ame_storage(versions) VERSIONS['versions'] = versions VERSIONS[_VERSION_UPDATE_TIME] = str(datetime.datetime.now()) return versions.copy(), success @@ -369,7 +404,7 @@ versions = _get_local_versions() # get the versions from pypi - versions, success = get_cached_latest_versions(versions) if use_cache else _update_latest_from_github(versions) + versions, success = get_cached_latest_versions(versions) if use_cache else _update_latest_from_ame_storage(versions) updates_available_components = [] def _print(val=''): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/azure_cli_core.egg-info/PKG-INFO new/azure_cli_core-2.83.0/azure_cli_core.egg-info/PKG-INFO --- old/azure_cli_core-2.82.0/azure_cli_core.egg-info/PKG-INFO 2026-01-06 08:39:29.000000000 +0100 +++ new/azure_cli_core-2.83.0/azure_cli_core.egg-info/PKG-INFO 2026-01-27 08:24:42.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: azure-cli-core -Version: 2.82.0 +Version: 2.83.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.37.0 +Requires-Dist: azure-core~=1.38.0 Requires-Dist: azure-mgmt-core<2,>=1.2.0 Requires-Dist: cryptography Requires-Dist: distro; sys_platform == "linux" @@ -29,8 +29,8 @@ Requires-Dist: knack~=0.11.0 Requires-Dist: microsoft-security-utilities-secret-masker~=1.0.0b4 Requires-Dist: msal-extensions==1.2.0 -Requires-Dist: msal[broker]==1.34.0b1; sys_platform == "win32" -Requires-Dist: msal==1.34.0b1; sys_platform != "win32" +Requires-Dist: msal[broker]==1.35.0b1; sys_platform == "win32" +Requires-Dist: msal==1.35.0b1; sys_platform != "win32" Requires-Dist: packaging>=20.9 Requires-Dist: pkginfo>=1.5.0.1 Requires-Dist: psutil>=5.9; sys_platform != "cygwin" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/azure_cli_core.egg-info/requires.txt new/azure_cli_core-2.83.0/azure_cli_core.egg-info/requires.txt --- old/azure_cli_core-2.82.0/azure_cli_core.egg-info/requires.txt 2026-01-06 08:39:29.000000000 +0100 +++ new/azure_cli_core-2.83.0/azure_cli_core.egg-info/requires.txt 2026-01-27 08:24:42.000000000 +0100 @@ -1,6 +1,6 @@ argcomplete~=3.5.2 azure-cli-telemetry==1.1.0.* -azure-core~=1.37.0 +azure-core~=1.38.0 azure-mgmt-core<2,>=1.2.0 cryptography humanfriendly~=10.0 @@ -19,10 +19,10 @@ psutil>=5.9 [:sys_platform != "win32"] -msal==1.34.0b1 +msal==1.35.0b1 [:sys_platform == "linux"] distro [:sys_platform == "win32"] -msal[broker]==1.34.0b1 +msal[broker]==1.35.0b1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure_cli_core-2.82.0/setup.py new/azure_cli_core-2.83.0/setup.py --- old/azure_cli_core-2.82.0/setup.py 2026-01-06 08:38:42.000000000 +0100 +++ new/azure_cli_core-2.83.0/setup.py 2026-01-27 08:23:53.000000000 +0100 @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "2.82.0" +VERSION = "2.83.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.37.0', + 'azure-core~=1.38.0', 'azure-mgmt-core>=1.2.0,<2', 'cryptography', # On Linux, the distribution (Ubuntu, Debian, etc) and version are logged in telemetry @@ -55,8 +55,8 @@ 'knack~=0.11.0', 'microsoft-security-utilities-secret-masker~=1.0.0b4', 'msal-extensions==1.2.0', - 'msal[broker]==1.34.0b1; sys_platform == "win32"', - 'msal==1.34.0b1; sys_platform != "win32"', + 'msal[broker]==1.35.0b1; sys_platform == "win32"', + 'msal==1.35.0b1; sys_platform != "win32"', 'packaging>=20.9', 'pkginfo>=1.5.0.1', # psutil can't install on cygwin: https://github.com/Azure/azure-cli/issues/9399
