Repository navigation
Fixed
-
Every Azure SDK or HTTP error and every connection error that reaches the CLI now prints a one-line
error:message with a hint and exits with code2, as documented, instead of a traceback with exit code1. New hints cover 400 (check arguments and that the Microsoft.App provider is registered), 404 (check the app name,--resource-groupand--subscription), 409 (another operation in progress), any other HTTP status, other Azure SDK errors, and connection failures or timeouts (check network, proxy and DNS). Only the first line of the Azure message is shown. Errors that are not from Azure or the network (programming bugs) still raise normally. -
If the
--csvfile cannot be written (missing folder, permission denied and other OS errors), acasentry printserror: cannot write CSV to <path>: <reason>and exits with code2instead of a traceback. The CSV is written before any--applychange, so a CSV failure means nothing was applied. -
identity --applyandlockdown --applyno longer send the whole app back to Azure. They send narrow JSON merge-patch updates (onlyidentity, or onlyingress.external/ingress.ipSecurityRestrictions) built from a fresh read just before the update, so concurrent changes to other settings are not overwritten. The Container Apps API has no ETag / If-Match support, so a concurrent edit of the same IP rule list can still race; a 412 response, if Azure ever returns one, prints a clean error. -
A failure while polling an update no longer resubmits the change; polling resumes from the continuation token.
-
identity --applydecides the new identity type from a fresh read of the app, not from the earlier listing, and does nothing if a system-assigned identity was added in the meantime. -
lockdown --allow-ipon an app with Deny IP rules is now refused when the plan is built (exit2, nothing applied). Previously a CIDR already present as a Deny rule produced "Nothing to change" and exit0. -
An apply error with an empty message no longer crashes the per-resource summary.
-
New IP rule names (
acasentry-allow-N) never collide with existing rule names. -
Transient error detection uses exception types (connection errors and their subclasses,
URLError), so Graph network errors are retried.
Changed
--applyexit codes:1now means some changes applied and some failed; if every change failed (nothing applied) the exit code is2.rbactable and CSV gainSCOPE_IDandPRINCIPAL_IDcolumns at the end, so rows stay distinct when scope or principal names repeat.- SECURITY.md: the repository is public, so vulnerabilities are reported through the Security tab's Report a vulnerability (GitHub private vulnerability reporting).