Skip to content

Commit f9438d9

Browse files
author
Lei Jin
committed
release-2024-03-05
1 parent 3a27e6a commit f9438d9

File tree

100 files changed

+62977
-32590
lines changed

Some content is hidden

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

100 files changed

+62977
-32590
lines changed

ChangeLog.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,74 @@
1+
## 11.4.0 - March 2024
2+
#### Az.Accounts 2.16.0
3+
* Added a preview feature to detect secrets and sensitive information from the output of Azure PowerShell cmdlets to prevent leakage. Enable it by 'Set-AzConfig -DisplaySecretsWarning True'. Learn more at https://go.microsoft.com/fwlink/?linkid=2258844
4+
* Fixed 'CacheDirectory' and 'CacheFile' out-of-sync issue in AzureRmContextSettings.json and the customers are not allowed to change these 2 properties.
5+
* Redirected device code login messages from warning stream to information stream if use device authentication in 'Connect-AzAccount'.
6+
7+
#### Az.Cdn 3.1.2
8+
* Fixed the case sensitive issue when do preparing migration steps for 'Start-AzFrontDoorCdnProfilePrepareMigration'
9+
10+
#### Az.Compute 7.1.2
11+
* Fixed 'New-AzVM' when a source image is specified to avoid an error on the 'Version' value.
12+
13+
#### Az.CosmosDB 1.14.1
14+
* Fixed validation issues in same-account collection/container/graph and database/table/Gremlin restores, affecting the following cmdlets:
15+
- Restore-AzCosmosDBSqlDatabase
16+
- Restore-AzCosmosDBSqlContainer
17+
- Restore-AzCosmosDBMongoDBDatabase
18+
- Restore-AzCosmosDBMongoDBCollection
19+
- Restore-AzCosmosDBGremlinDatabase
20+
- Restore-AzCosmosDBGremlinGraph
21+
- Restore-AzCosmosDBTable
22+
* Upgraded SDK 'Azure.Security.KeyVault.Keys' TO 4.6.0-beta.1.
23+
* Added breaking change message for ListConnectionStrings changes
24+
25+
#### Az.DataFactory 1.18.2
26+
* Supported Snowflake V2 in ADF
27+
28+
#### Az.KeyVault 5.2.1
29+
* Supported 'HsmPlatform' in 'KeyAttributes'.
30+
31+
#### Az.LogicApp 1.5.1
32+
* Removed the *.deps.json file that caused false positive security alerts. [#23603]
33+
34+
#### Az.Monitor 5.1.0
35+
* Added support for the Metric Data Plane
36+
37+
#### Az.RedisCache 1.9.0
38+
* Upgraded API version to 2023-08-01
39+
* Added support for flush operation
40+
* Added support for update channels
41+
* Added support for Microsoft Entra Authentication
42+
43+
#### Az.Resources 6.16.0
44+
* Added breaking change warnings for Azure Policy cmdlets.
45+
* Added 'AuxTenant' parameter in 'New-AzResourceGroupDeployment'to support cross-tenant deployment.
46+
* Fixed bug with custom types and deployments whatif. [#13245]
47+
* Fixed bug with nullable array parameters & outputs.
48+
* Fixed bug with TemplateParameterUri not downloading parameters correctly.
49+
50+
#### Az.Security 1.6.0
51+
* Added new cmdlets for Security Connectors
52+
* Added new cmdlets for ApiCollections Security
53+
54+
#### Az.StackHCI 2.3.1
55+
* Updated 'Set-AzStackHCI' to use HTTP PATCH for updating cluster resource instead of HTTP PUT and to only send updated properties.
56+
57+
#### Az.StackHCIVM 1.0.1
58+
* Reported image download progress
59+
60+
#### Az.Storage 6.1.2
61+
* Fixed parser logic when downloading blob from managed disk account with Sas Uri and bearer token on Linux and MacOS
62+
- 'Get-AzStorageBlobContent'
63+
* Added warning messages for upcoming breaking changes in Queue cmdlets for removing references to 'Microsoft.Azure.Storage.Queue'
64+
- 'New-AzStorageQueue'
65+
- 'Get-AzStorageQueue'
66+
- 'New-AzStorageQueueSASToken'
67+
* Added warning messages for an upcoming breaking change when uploading a file using SAS token without read permission
68+
- 'Set-AzStorageFileContent'
69+
* Added warning messages for an upcoming breaking change when upgrading a Storage account to StorageV2
70+
- 'Set-AzStorageAccount'
71+
172
## 11.3.1 - February 2024
273
#### Az.Resources 6.15.1
374
* Fixed deadlock in Bicep CLI execution. [#24133]

documentation/SyntaxChangeLog/SyntaxChangeLog-Az11.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
## 11.4.0 - March 2024
2+
#### Az.Accounts 2.16.0
3+
* Modified cmdlet `Clear-AzConfig`
4+
- Added parameter `-DisplaySecretsWarning`
5+
* Modified cmdlet `Get-AzConfig`
6+
- Added parameter `-DisplaySecretsWarning`
7+
* Modified cmdlet `Update-AzConfig`
8+
- Added parameter `-DisplaySecretsWarning`
9+
#### Az.Monitor 5.1.0
10+
* Added cmdlet `Get-AzMetricsBatch`
11+
#### Az.RedisCache 1.9.0
12+
* Modified cmdlet `New-AzRedisCache`
13+
- Added parameter `-UpdateChannel`
14+
* Modified cmdlet `Set-AzRedisCache`
15+
- Added parameter `-UpdateChannel`
16+
* Added cmdlet `Clear-AzRedisCache`, `Get-AzRedisCacheAccessPolicy`, `Get-AzRedisCacheAccessPolicyAssignment`, `New-AzRedisCacheAccessPolicy`, `New-AzRedisCacheAccessPolicyAssignment`, `Remove-AzRedisCacheAccessPolicy`, `Remove-AzRedisCacheAccessPolicyAssignment`
17+
#### Az.Resources 6.16.0
18+
* Modified cmdlet `New-AzResourceGroupDeployment`
19+
- Added parameter `-AuxTenant`
20+
#### Az.Security 1.6.0
21+
* Added cmdlet `Get-AzSecurityApiCollection`, `Get-AzSecurityConnector`, `Get-AzSecurityConnectorAzureDevOpsOrg`, `Get-AzSecurityConnectorAzureDevOpsOrgAvailable`, `Get-AzSecurityConnectorAzureDevOpsProject`, `Get-AzSecurityConnectorAzureDevOpsRepo`, `Get-AzSecurityConnectorDevOpsConfiguration`, `Get-AzSecurityConnectorGitHubOwner`, `Get-AzSecurityConnectorGitHubOwnerAvailable`, `Get-AzSecurityConnectorGitHubRepo`, `Get-AzSecurityConnectorGitLabGroup`, `Get-AzSecurityConnectorGitLabGroupAvailable`, `Get-AzSecurityConnectorGitLabProject`, `Get-AzSecurityConnectorGitLabSubgroup`, `Invoke-AzSecurityApiCollectionApimOffboard`, `Invoke-AzSecurityApiCollectionApimOnboard`, `New-AzSecurityAwsEnvironmentObject`, `New-AzSecurityAwsOrganizationalDataMasterObject`, `New-AzSecurityAwsOrganizationalDataMemberObject`, `New-AzSecurityAzureDevOpsScopeEnvironmentObject`, `New-AzSecurityConnector`, `New-AzSecurityConnectorActionableRemediationObject`, `New-AzSecurityConnectorDevOpsConfiguration`, `New-AzSecurityCspmMonitorAwsOfferingObject`, `New-AzSecurityCspmMonitorAzureDevOpsOfferingObject`, `New-AzSecurityCspmMonitorGcpOfferingObject`, `New-AzSecurityCspmMonitorGithubOfferingObject`, `New-AzSecurityCspmMonitorGitLabOfferingObject`, `New-AzSecurityDefenderCspmAwsOfferingObject`, `New-AzSecurityDefenderCspmGcpOfferingObject`, `New-AzSecurityDefenderForContainersAwsOfferingObject`, `New-AzSecurityDefenderForContainersGcpOfferingObject`, `New-AzSecurityDefenderForDatabasesAwsOfferingObject`, `New-AzSecurityDefenderForDatabasesGcpOfferingObject`, `New-AzSecurityDefenderForServersAwsOfferingObject`, `New-AzSecurityDefenderForServersGcpOfferingObject`, `New-AzSecurityGcpOrganizationalDataMemberObject`, `New-AzSecurityGcpOrganizationalDataOrganizationObject`, `New-AzSecurityGcpProjectEnvironmentObject`, `New-AzSecurityGitHubScopeEnvironmentObject`, `New-AzSecurityGitLabScopeEnvironmentObject`, `New-AzSecurityInformationProtectionAwsOfferingObject`, `Remove-AzSecurityConnector`, `Remove-AzSecurityConnectorDevOpsConfiguration`, `Update-AzSecurityConnector`, `Update-AzSecurityConnectorAzureDevOpsOrg`, `Update-AzSecurityConnectorAzureDevOpsProject`, `Update-AzSecurityConnectorAzureDevOpsRepo`, `Update-AzSecurityConnectorDevOpsConfiguration`
22+
123
## 11.3.1 - February 2024
224

325
## 11.3.0 - February 2024
@@ -50,3 +72,4 @@
5072

5173

5274

75+

documentation/breaking-changes/upcoming-breaking-changes.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@
2020
- Parameter `DisableErrorRecordsPersistence` will be deprecated, a new parameter `EnableErrorRecordsPersistence` will be added instead. Writing error records to file system will become opt-in instead of opt-out. This change will happen around May 2024
2121
- This change is expected to take effect from Az.Accounts version: 2.X and Az version: 12.0.0
2222

23+
## Az.CosmosDB
24+
25+
### `Get-AzCosmosDBAccountKey`
26+
27+
- Cmdlet breaking-change will happen to all parameter sets
28+
- Output type for -Type ConnectionStrings will be changed to List<DatabaseAccountConnectionString> in next major version.
29+
- This change is expected to take effect from Az.CosmosDB version: 2.0.0 and Az version: 12.0.0
30+
2331
## Az.KeyVault
2432

2533
### `Invoke-AzKeyVaultKeyOperation`
@@ -61,6 +69,104 @@
6169
- The following properties are being added to the output type : 'ResourceType'
6270
- This change is expected to take effect from Az.RecoveryServices version: 7.0.0 and Az version: 12.0.0
6371

72+
## Az.Resources
73+
74+
### `Get-AzPolicyAssignment`
75+
76+
- Cmdlet breaking-change will happen to all parameter sets
77+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment' is changing
78+
- The following properties in the output type are being deprecated : 'Properties'
79+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'EnforcementMode' 'Metadata' 'NonComplianceMessages' 'NotScopes' 'Parameters' 'PolicyDefinitionId' 'Scope'
80+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
81+
82+
### `Get-AzPolicyDefinition`
83+
84+
- Cmdlet breaking-change will happen to all parameter sets
85+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyDefinition' is changing
86+
- The following properties in the output type are being deprecated : 'Properties'
87+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Mode' 'Parameters' 'PolicyRule' 'PolicyType'
88+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
89+
90+
### `Get-AzPolicyExemption`
91+
92+
- Cmdlet breaking-change will happen to all parameter sets
93+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyExemption' is changing
94+
- The following properties in the output type are being deprecated : 'Properties'
95+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'ExemptionCategory' 'ExpiresOn' 'Metadata' 'PolicyAssignmentId' 'PolicyDefinitionReferenceIds'
96+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
97+
98+
### `Get-AzPolicySetDefinition`
99+
100+
- Cmdlet breaking-change will happen to all parameter sets
101+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicySetDefinition' is changing
102+
- The following properties in the output type are being deprecated : 'Properties'
103+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Parameters' 'PolicyDefinitionGroups' 'PolicyDefinitions' 'PolicyType'
104+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
105+
106+
### `New-AzPolicyAssignment`
107+
108+
- Cmdlet breaking-change will happen to all parameter sets
109+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment' is changing
110+
- The following properties in the output type are being deprecated : 'Properties'
111+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'EnforcementMode' 'Metadata' 'NonComplianceMessages' 'NotScopes' 'Parameters' 'PolicyDefinitionId' 'Scope'
112+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
113+
114+
### `New-AzPolicyDefinition`
115+
116+
- Cmdlet breaking-change will happen to all parameter sets
117+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyDefinition' is changing
118+
- The following properties in the output type are being deprecated : 'Properties'
119+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Mode' 'Parameters' 'PolicyRule' 'PolicyType'
120+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
121+
122+
### `New-AzPolicyExemption`
123+
124+
- Cmdlet breaking-change will happen to all parameter sets
125+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyExemption' is changing
126+
- The following properties in the output type are being deprecated : 'Properties'
127+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'ExemptionCategory' 'ExpiresOn' 'Metadata' 'PolicyAssignmentId' 'PolicyDefinitionReferenceIds'
128+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
129+
130+
### `New-AzPolicySetDefinition`
131+
132+
- Cmdlet breaking-change will happen to all parameter sets
133+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicySetDefinition' is changing
134+
- The following properties in the output type are being deprecated : 'Properties'
135+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Parameters' 'PolicyDefinitionGroups' 'PolicyDefinitions' 'PolicyType'
136+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
137+
138+
### `Set-AzPolicyAssignment`
139+
140+
- Cmdlet breaking-change will happen to all parameter sets
141+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment' is changing
142+
- The following properties in the output type are being deprecated : 'Properties'
143+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'EnforcementMode' 'Metadata' 'NonComplianceMessages' 'NotScopes' 'Parameters' 'PolicyDefinitionId' 'Scope'
144+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
145+
146+
### `Set-AzPolicyDefinition`
147+
148+
- Cmdlet breaking-change will happen to all parameter sets
149+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyDefinition' is changing
150+
- The following properties in the output type are being deprecated : 'Properties'
151+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Mode' 'Parameters' 'PolicyRule' 'PolicyType'
152+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
153+
154+
### `Set-AzPolicyExemption`
155+
156+
- Cmdlet breaking-change will happen to all parameter sets
157+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyExemption' is changing
158+
- The following properties in the output type are being deprecated : 'Properties'
159+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'ExemptionCategory' 'ExpiresOn' 'Metadata' 'PolicyAssignmentId' 'PolicyDefinitionReferenceIds'
160+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
161+
162+
### `Set-AzPolicySetDefinition`
163+
164+
- Cmdlet breaking-change will happen to all parameter sets
165+
- The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicySetDefinition' is changing
166+
- The following properties in the output type are being deprecated : 'Properties'
167+
- The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Parameters' 'PolicyDefinitionGroups' 'PolicyDefinitions' 'PolicyType'
168+
- This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0
169+
64170
## Az.Sql
65171

66172
### `New-AzSqlDatabaseFailoverGroup`
@@ -75,3 +181,38 @@
75181
- The default value of FailoverPolicy will change from Automatic to Manual
76182
- This change is expected to take effect from Az.Sql version: 5.0.0 and Az version: 12.0.0
77183

184+
## Az.Storage
185+
186+
### `Get-AzStorageQueue`
187+
188+
- Cmdlet breaking-change will happen to all parameter sets
189+
- The child property CloudQueue and EncodeMessage from deprecated v11 SDK will be removed. Use child property QueueClient instead of CloudQueue.
190+
- This change is expected to take effect from Az.Storage version: 6.0.0 and Az version: 11.0.0
191+
192+
### `New-AzStorageQueue`
193+
194+
- Cmdlet breaking-change will happen to all parameter sets
195+
- The child property CloudQueue and EncodeMessage from deprecated v11 SDK will be removed. Use child property QueueClient instead of CloudQueue.
196+
- This change is expected to take effect from Az.Storage version: 6.0.0 and Az version: 11.0.0
197+
198+
### `New-AzStorageQueueSASToken`
199+
200+
- Parameter breaking-change will happen to all parameter sets
201+
- `-Protocol`
202+
- The type of parameter Protocol will be changed from SharedAccessProtocol to string.
203+
- This change is expected to take effect from Az.Storage version: 7.0.0 and Az version: 12.0.0
204+
205+
### `Set-AzStorageAccount`
206+
207+
- Parameter breaking-change will happen to all parameter sets
208+
- `-UpgradeToStorageV2`
209+
- A prompt that needs users' confirmation will be added when upgrading a storage account from StorageV1 or BlobStorage to StorageV2. Suppress it with -Force.
210+
- This change is expected to take effect from Az.Storage version: 7.0.0 and Az version: 12.0.0
211+
212+
### `Set-AzStorageFileContent`
213+
214+
- Parameter breaking-change will happen to all parameter sets
215+
- `-Path`
216+
- When uploading using SAS token without Read permission, the destination path will be taken as a file path, instead of a directory path previously.
217+
- This change is expected to take effect from Az.Storage version: 7.0.0 and Az version: 12.0.0
218+

setup/generate.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ if( (-not (get-command -ea 0 light)) -or (-not (get-command -ea 0 heat)) -or (-n
3737
$outputName ="Az-Cmdlets"
3838

3939
# generate the product name from the current month/year.
40-
$productName = "Microsoft Azure PowerShell - February 2024"
40+
$productName = "Microsoft Azure PowerShell - March 2024"
4141

4242
# where to put temp files
4343
$tmp = Join-Path $env:temp azure-cmdlets-tmp

src/Accounts/Accounts/Az.Accounts.psd1

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44
# Generated by: Microsoft Corporation
55
#
6-
# Generated on: 1/30/2024
6+
# Generated on: 2/29/2024
77
#
88

99
@{
@@ -12,7 +12,7 @@
1212
# RootModule = ''
1313

1414
# Version number of this module.
15-
ModuleVersion = '2.15.1'
15+
ModuleVersion = '2.16.0'
1616

1717
# Supported PSEditions
1818
CompatiblePSEditions = 'Core', 'Desktop'
@@ -147,13 +147,9 @@ PrivateData = @{
147147
# IconUri = ''
148148

149149
# ReleaseNotes of this module
150-
ReleaseNotes = '* Upgraded the reference of Azure PowerShell Common to 1.3.90-preview.
151-
* Upgraded Azure.Identity to 1.10.3 [#23018].
152-
- Renamed token cache from ''msal.cache'' to ''msal.cache.cae'' or ''masl.cache.nocae''.
153-
* Enabled Continue Access Evaluation (CAE) for all Service Principals login methods.
154-
* Supported signing in with Microsoft Account (MSA) via Web Account Manager (WAM). Enable it by ''Set-AzConfig -EnableLoginByWam True''.
155-
* Adjusted output format to be more user-friendly for ''Get-AzContext/Tenant/Subscription'' and ''Invoke-AzRestMethod''.
156-
* Fixed the multiple ''x-ms-unique-id'' values issue.'
150+
ReleaseNotes = '* Added a preview feature to detect secrets and sensitive information from the output of Azure PowerShell cmdlets to prevent leakage. Enable it by ''Set-AzConfig -DisplaySecretsWarning True''. Learn more at https://go.microsoft.com/fwlink/?linkid=2258844
151+
* Fixed ''CacheDirectory'' and ''CacheFile'' out-of-sync issue in AzureRmContextSettings.json and the customers are not allowed to change these 2 properties.
152+
* Redirected device code login messages from warning stream to information stream if use device authentication in ''Connect-AzAccount''.'
157153

158154
# Prerelease string of this module
159155
# Prerelease = ''

src/Accounts/Accounts/ChangeLog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
-->
2020

2121
## Upcoming Release
22+
23+
## Version 2.16.0
2224
* Added a preview feature to detect secrets and sensitive information from the output of Azure PowerShell cmdlets to prevent leakage. Enable it by `Set-AzConfig -DisplaySecretsWarning $true`. Learn more at https://go.microsoft.com/fwlink/?linkid=2258844
2325
* Fixed `CacheDirectory` and `CacheFile` out-of-sync issue in AzureRmContextSettings.json and the customers are not allowed to change these 2 properties.
2426
* Redirected device code login messages from warning stream to information stream if use device authentication in `Connect-AzAccount`.

src/Accounts/Accounts/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
// You can specify all the values or you can default the Build and Revision Numbers
4444
// by using the '*' as shown below:
4545

46-
[assembly: AssemblyVersion("2.15.1")]
47-
[assembly: AssemblyFileVersion("2.15.1")]
46+
[assembly: AssemblyVersion("2.16.0")]
47+
[assembly: AssemblyFileVersion("2.16.0")]
4848
#if !SIGN
4949
[assembly: InternalsVisibleTo("Microsoft.Azure.PowerShell.Cmdlets.Accounts.Test")]
5050
#endif

0 commit comments

Comments
 (0)