* set subscription id and tenant id in telemetry if it's null
* set telemetry sub id and tenant id to AzureRMCmdlet.EndProcessing
* remove RequireDefaultContext
* Impelement secrets detection for Az modules
* Move some implementation from common to Az.Accounts and revise/rename ISanitizerSettings interface.
* Rename telemetry property name
* Make DefaultProviderResolver public due to reference needed in Az.Accounts
* Add IgnoredProperties in ISanitizerService to filter out special properties that may cause performance concern like lazy load properties.
* Return null for AzurePSSanitizer when AzureSession is not properly initialized
* Skip indexed properties in the object traverse
* Update sanitizer and move providers out to Az.Accounts
* get breaking change attribute for all parameters instead of static parameters only, in this way breaking change attribute for dynamic parameters are able to be displayed
* delete unused method
* Define and implement DeepCloneable interface for Azure* class such as AzureContext
1. Define and implementation `IDeepCloneable` interface
2. Remove unused codes in `DefaultProfile`
* Address the review comments
* Address review comments
* disable error records persistence
* split RecordDebugMessage and FlushDebugMessages
* invoke RecordDebugMessages only when write error and throw terminating error
* combine if condition in a bool function
* Uppercase first letter for method name
* support version upgrade notification
* update the migration guides link
* remove check by user
* update warning message
* move warning logic to UpgradeNotificationHelper
* update string match and newline character
* rename FrequencyService methods
---------
Co-authored-by: NanxiangLiu <33285578+Nickcandy@users.noreply.github.com>
* Change the default warning message of CmdletPreviewAttribute and allow setting ETA
* polish
* add frequency control
* polish
* polish
* change date format to short date in breaking change attribute
* polish
* deprecate methods to ensure version as a must (#383)
Co-authored-by: Hongtu Zhang (FA Talent) <v-hongtzhang@microsoft.com>
* Hongtu/version must (#384)
* deprecate methods to ensure version as a must
* add GetAttributeSpecificVersion method in base breaking change attribute
---------
Co-authored-by: Hongtu Zhang (FA Talent) <v-hongtzhang@microsoft.com>
* Hongtu/version must (#386)
* deprecate methods to ensure version as a must
* add GetAttributeSpecificVersion method in base breaking change attribute
* change parameter type from string to Version
---------
Co-authored-by: Hongtu Zhang (FA Talent) <v-hongtzhang@microsoft.com>
* create new attributes with version instead of modifying existing attributes
* add resource of BreakingChangesAttributesInEffectByAzVersion
* Hongtu/attribute0518 (#387)
* Update Newtonsoft.Json from 10.0.3 to 13.0.2 (#385)
* create new attributes with version instead of modifying existing attributes
* add resource of BreakingChangesAttributesInEffectByAzVersion
---------
Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com>
Co-authored-by: Hongtu Zhang (FA Talent) <v-hongtzhang@microsoft.com>
* change internal to public
* remove az version to string
* Hongtu/attribute0518 (#388)
* Update Newtonsoft.Json from 10.0.3 to 13.0.2 (#385)
* create new attributes with version instead of modifying existing attributes
* add resource of BreakingChangesAttributesInEffectByAzVersion
* change internal to public
* remove az version to string
---------
Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com>
Co-authored-by: Hongtu Zhang (FA Talent) <v-hongtzhang@microsoft.com>
* change internal to public
* Hongtu/attribute0518 (#389)
* Update Newtonsoft.Json from 10.0.3 to 13.0.2 (#385)
* create new attributes with version instead of modifying existing attributes
* add resource of BreakingChangesAttributesInEffectByAzVersion
* change internal to public
* remove az version to string
* change internal to public
---------
Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com>
Co-authored-by: Hongtu Zhang (FA Talent) <v-hongtzhang@microsoft.com>
* add az version output when cmdlets are obsolate
* Hongtu/attribute0518 (#391)
* Update Newtonsoft.Json from 10.0.3 to 13.0.2 (#385)
* create new attributes with version instead of modifying existing attributes
* add resource of BreakingChangesAttributesInEffectByAzVersion
* change internal to public
* remove az version to string
* change internal to public
* add az version output when cmdlets are obsolate
---------
Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com>
Co-authored-by: Hongtu Zhang (FA Talent) <v-hongtzhang@microsoft.com>
* add \n to terminal warning output of az version
* change resources.resx
* change back common.csproj
* change to public resources
* change generic
* remove azversion from old attribute
* change obsolete to class level
* add comments
---------
Co-authored-by: xtR0d666 <69706194+xtR0d666@users.noreply.github.com>
Co-authored-by: Hongtu Zhang (FA Talent) <v-hongtzhang@microsoft.com>
Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com>
Removed the trailing dot in survey message to address URL wrapping issue in CloudShell
Co-authored-by: NanxiangLiu <33285578+Nickcandy@users.noreply.github.com>
* Support ArmMetadata with API version 2022-09-01
The new format of ArmMetadata found here
https://management.azure.com/metadata/endpoints?api-version=2022-09-01
* Address review comments
Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com>
* Update src/Authentication.Abstractions/AzureEnvironment.cs
Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com>
---------
Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com>
Currently, we use $Host.runspace.version for PowerShell version. It is the PowerShell engine version, and should be same as the $psversiontable.psversion, but runspace will be null in some cases for example when developers directly use PowerShell SDK as below.
```
# $sp = [runspaceFactory]::CreateRunspace() # Create an space with default host
# $ps = [powershell]::create() # create an powershell object
# $ps.Runspace = $sp
# $sp.Open()
# $ps.AddScript{Get-host}.Invoke() # runspace is null for such an case
```