Skip to content

Commit d7254df

Browse files
Merge branch 'feature/storage/content-validation' into feature/storage/content-validation-content-length-override
2 parents 7632ef5 + 09b8e15 commit d7254df

6,743 files changed

Lines changed: 280038 additions & 154670 deletions

File tree

Some content is hidden

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

.github/CODEOWNERS

Lines changed: 95 additions & 92 deletions
Large diffs are not rendered by default.

.github/copilot-instructions.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Prompt for GitHub Copilot
22

3+
> **Note**: For general AI agent guidance and repository overview, see [AGENTS.md](https://github.com/Azure/azure-sdk-for-java/blob/main/AGENTS.md) at the repository root. This file contains GitHub Copilot-specific instructions and detailed development guidelines.
4+
35
You are a highly experienced software engineer with expertise in
46

57
- Java (https://www.java.com)
@@ -103,7 +105,7 @@ Always attempt to browse the following resources and incorporate relevant inform
103105
- https://github.com/Azure/azure-sdk/blob/main/docs/policies/repostructure.md
104106
- https://azure.github.io/azure-sdk/java_introduction.html
105107
- https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md
106-
- https://github.com/Azure/azure-sdk-for-java/wiki/Building
108+
- https://github.com/Azure/azure-sdk-for-java/blob/main/docs/contributor/building.md
107109

108110
When reviewing documentation URLs (especially Azure SDK documentation), extract key points, principles, and examples to inform your responses.
109111
Always cite the specific sections of documentation you've referenced in your responses.
@@ -206,4 +208,4 @@ Ask the user for clarification if repository path or configuration file is ambig
206208

207209
## SDK release
208210

209-
For detailed workflow instructions, see [SDK Release](../eng/common/instructions/copilot/sdk-release.instructions.md).
211+
For detailed workflow instructions, see [SDK Release](https://github.com/Azure/azure-sdk-for-java/blob/main/.github/skills/azsdk-common-sdk-release/SKILL.md).

.github/skills/azsdk-common-prepare-release-plan/SKILL.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
distribution: shared
77
description: "Create and manage release plan work items for Azure SDK releases across languages. **UTILITY SKILL**. USE FOR: \"create release plan\", \"update release plan\", \"link SDK PR to plan\", \"namespace approval\", \"check release plan status\". DO NOT USE FOR: SDK code generation, pipeline troubleshooting, API review feedback. INVOKES: azure-sdk-mcp:azsdk_create_release_plan, azure-sdk-mcp:azsdk_get_release_plan, azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan."
88
compatibility:
9-
requires: "azure-sdk-mcp server, API spec PR in Azure/azure-rest-api-specs"
9+
requires: "azure-sdk-mcp server, API spec PR, or TypeSpec project path"
1010
---
1111

1212
# Prepare Release Plan
@@ -26,8 +26,8 @@ compatibility:
2626

2727
## Steps
2828

29-
1. **Prerequisites** — Check for API spec PR; prompt if unavailable.
30-
2. **Check Existing** — Query by plan number or spec PR link.
29+
1. **Prerequisites** — Check for API spec PR link or a TypeSpec project path; prompt if unavailable.
30+
2. **Check Existing** — Query by release plan number or spec PR link (do not query by work item ID).
3131
3. **Gather Info** — Collect Service Tree IDs, timeline. See [details](references/release-plan-details.md).
3232
4. **Create** — Run `azure-sdk-mcp:azsdk_create_release_plan`.
3333
5. **Namespace** — For mgmt plane first releases, link approval issue.
@@ -36,9 +36,10 @@ compatibility:
3636
## Examples
3737

3838
- "Create a release plan for my spec PR"
39+
- "Create a release plan for my TypeSpec project"
3940
- "Link my SDK PR to release plan"
4041

4142
## Troubleshooting
4243

4344
- Requires `azure-sdk-mcp` server; no CLI fallback.
44-
- If creation fails, verify spec PR URL and Service Tree IDs.
45+
- If creation fails, verify Service Tree IDs and the provided spec PR URL or TypeSpec project path.

.github/skills/azsdk-common-sdk-release/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ compatibility:
2222

2323
1. **Collect Info** — Get `packageName` and `language` from the user. Optionally get `branch` (defaults to main).
2424
2. **Check Readiness** — Run `azure-sdk-mcp:azsdk_release_sdk` with `checkReady: true` to verify API review approval, changelog, package name approval, and release date.
25+
- If APIView approval is pending display the link or guidance to find the link if not provided.
2526
3. **Review Results** — If not ready, display failing checks and guide user to resolve.
2627
4. **Trigger Release** — Once ready, run `azure-sdk-mcp:azsdk_release_sdk` with `checkReady: false`. Show pipeline link and inform user they must approve the release stage.
2728

.github/workflows/event-processor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
uses: azure/login@v3
3636
if: ${{ github.event_name == 'issues' && github.event.action == 'opened' }}
3737
with:
38-
client-id: a6dd2dfe-7352-41a7-9020-05301c3bca1a
38+
client-id: e4cb9fd5-0875-4ca1-bc43-56196f5dfb8f
3939
tenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
4040
allow-no-subscriptions: true
4141

.vscode/cspell.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
"sdk/cosmos/azure-cosmos-spark_4-1_2-13/**",
112112
"sdk/cosmos/azure-cosmos-spark-account-data-resolver-sample/**",
113113
"sdk/cosmos/fabric-cosmos-spark-auth_3/**",
114+
"sdk/cosmos/fabric-cosmos-spark-auth_4-0_2-13/**",
114115
"sdk/cosmos/azure-cosmos-encryption/**",
115116
"sdk/cosmos/azure-cosmos-spark_3_2-12/**",
116117
"sdk/spring/azure-spring-data-cosmos/**",
@@ -278,6 +279,7 @@
278279
"Deserialization",
279280
"destfile",
280281
"Dcheckstyle",
282+
"Dexec",
281283
"Dgenerate",
282284
"Dinclude",
283285
"Dincludes",
@@ -293,6 +295,7 @@
293295
"doclinting",
294296
"doctitle",
295297
"dlocal",
298+
"Dmdep",
296299
"dtlk",
297300
"dtlksd",
298301
"dummyrg",
@@ -314,6 +317,7 @@
314317
"FOURX",
315318
"filereports",
316319
"gapra",
320+
"gitmcp",
317321
"gltf",
318322
"gmavenplus",
319323
"gson",
@@ -341,6 +345,7 @@
341345
"Iscsi",
342346
"jacksonavro",
343347
"jacoco",
348+
"javac",
344349
"javadoc",
345350
"javadocs",
346351
"Jdbc",
@@ -1492,6 +1497,10 @@
14921497
"FILLER",
14931498
"foundry",
14941499
"FOUNDRY",
1500+
"genai",
1501+
"GENAI",
1502+
"HDOMNI",
1503+
"SSML",
14951504
"Unpooled",
14961505
"viseme",
14971506
"VISEME",

AGENTS.md

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
# AGENTS.md
2+
3+
This file provides guidance for AI agents (e.g., GitHub Copilot, Model Context Protocol servers, or other LLM-based assistants) interacting with the Azure SDK for Java repository.
4+
5+
## Repository Purpose
6+
7+
The Azure SDK for Java provides developers with libraries for accessing Azure services. The SDK is organized into client libraries, with each library corresponding to an Azure service. The repository follows a specific structure:
8+
9+
- **Client Libraries**: Located in `/sdk` directory, containing individual service clients
10+
- **Data plane Libraries**: Libraries with Maven group `com.azure`
11+
- **Management Libraries**: Libraries with Maven group `com.azure.resourcemanager`
12+
- **Spring Libraries**: Libraries with Maven group `com.azure.spring`
13+
14+
## Repository Structure
15+
16+
```
17+
/sdk/ # Individual service client libraries
18+
/eng/ # Engineering system files and automation
19+
/doc/ # Documentation
20+
/samples/ # Sample code and tutorials
21+
/.github/ # GitHub-specific configuration
22+
/copilot-instructions.md # Detailed Copilot-specific instructions
23+
```
24+
25+
## Agent Capabilities
26+
27+
### Supported Actions
28+
29+
AI agents interacting with this repository can assist with:
30+
31+
1. **Code Generation and Modification**
32+
- Creating new client libraries following Azure SDK design guidelines
33+
- Adding features to existing libraries
34+
- Writing unit and integration tests
35+
- Refactoring code while maintaining backward compatibility
36+
37+
2. **Documentation**
38+
- Writing and updating README files
39+
- Creating JavaDoc comments for public APIs
40+
- Updating CHANGELOG files
41+
- Creating code samples and snippets
42+
43+
3. **Issue Triage and PR Review**
44+
- Analyzing and categorizing issues
45+
- Suggesting labels and assignees
46+
- Reviewing pull requests for adherence to guidelines
47+
- Identifying potential breaking changes
48+
49+
4. **Build and Test Automation**
50+
- Running Maven builds
51+
- Executing unit tests
52+
- Analyzing test failures
53+
- Checking code style with Checkstyle and SpotBugs
54+
55+
5. **SDK Release Support**
56+
- Checking package release readiness
57+
- Updating version numbers following semantic versioning
58+
- Verifying API review status
59+
60+
### Boundaries and Limitations
61+
62+
Agents should **NOT**:
63+
64+
- Disable or modify Checkstyle or SpotBugs rules to resolve linting issues
65+
- Re-record tests as a fix to failing tests
66+
- Make breaking changes to GA'd APIs without explicit approval
67+
- Turn off security checks or introduce security vulnerabilities
68+
- Suggest third-party alternatives to Azure SDK packages in official samples
69+
70+
## Key Workflows
71+
72+
### Building the SDK
73+
74+
```bash
75+
# Build all modules
76+
mvn clean install -DskipTests
77+
78+
# Build a specific module
79+
mvn -f sdk/{service}/pom.xml clean install -DskipTests
80+
81+
# Run tests for a specific module
82+
mvn -f sdk/{service}/pom.xml test
83+
```
84+
85+
### Running Code Quality Checks
86+
87+
```bash
88+
# Run Checkstyle
89+
mvn checkstyle:check
90+
91+
# Run SpotBugs
92+
mvn spotbugs:check
93+
94+
# Run both style checks
95+
mvn checkstyle:check spotbugs:check
96+
```
97+
98+
### Testing
99+
100+
```bash
101+
# Run unit tests for a specific module (playback by default)
102+
mvn -f sdk/{service}/pom.xml test
103+
104+
# Run live tests for a specific module (requires Azure resources and environment variables)
105+
AZURE_TEST_MODE=LIVE mvn -f sdk/{service}/pom.xml -Dmaven.wagon.http.pool=false --batch-mode --fail-at-end test
106+
107+
# See eng/common/TestResources/New-TestResources.ps1 for setting up test resources
108+
```
109+
110+
### Versioning
111+
112+
- Version files are located in `/eng/versioning/`
113+
- Follow semantic versioning: `major.minor.patch[-beta.N]`
114+
- Use the `update_versions.py` script for version updates
115+
- See [CONTRIBUTING.md](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md) for detailed versioning guidelines
116+
117+
### SDK Generation
118+
119+
Many client libraries are generated from OpenAPI specifications using AutoRest:
120+
121+
```bash
122+
# Typical codegen command
123+
autorest --version=3.9.7 --java --use=@autorest/java@4.1.59 \
124+
--input-file=<spec-file> --namespace=<namespace> --output-folder=<output>
125+
```
126+
127+
## Design Guidelines
128+
129+
All contributions must follow the [Azure SDK Design Guidelines for Java](https://azure.github.io/azure-sdk/java_introduction.html).
130+
131+
### Core Principles
132+
133+
- **Idiomatic**: Use natural Java patterns (try-with-resources, Streams, Optional)
134+
- **Consistent**: Follow consistent naming and design patterns across all libraries
135+
- **Approachable**: Provide clear documentation and intuitive APIs
136+
- **Diagnosable**: Include comprehensive logging and telemetry
137+
- **Dependable**: Ensure reliability through robust error handling and retries
138+
139+
### API Design Requirements
140+
141+
- Service client classes with "Client" suffix
142+
- Fluent builder patterns for client instantiation
143+
- Synchronous and asynchronous clients (async suffixed with "AsyncClient")
144+
- Options bags for additional parameters (e.g., `<MethodName>Options`)
145+
- Standard verbs: create, upsert, set, get, list, delete
146+
- Comprehensive JavaDoc for all public APIs
147+
148+
### Java Compatibility
149+
150+
- **Baseline**: Java 8
151+
- **Testing**: Up to latest Java LTS (currently Java 21)
152+
- **Best Practices**: Use modern Java features where appropriate
153+
154+
## CI/CD Pipeline
155+
156+
The repository uses Azure Pipelines for continuous integration:
157+
158+
- Each service has a `ci.yml` file defining its build pipeline
159+
- PRs must pass all CI checks before merging
160+
- Daily builds publish to the dev feed at [Azure Artifacts](https://dev.azure.com/azure-sdk/public/_packaging?_a=feed&feed=azure-sdk-for-java)
161+
162+
## Security and Compliance
163+
164+
- Never commit secrets or credentials
165+
- Use Azure Identity for authentication in samples
166+
- Follow secure coding practices
167+
- Report security issues to <secure@microsoft.com>
168+
- See [SECURITY.md](https://github.com/Azure/azure-sdk-for-java/blob/main/SECURITY.md) for more information
169+
170+
## Contributing
171+
172+
See [CONTRIBUTING.md](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md) for detailed contribution guidelines, including:
173+
174+
- Pull request requirements
175+
- Code review process
176+
- Testing requirements
177+
- Documentation standards
178+
- Version management
179+
180+
## Agent-Specific Instructions
181+
182+
For detailed GitHub Copilot-specific instructions, including behavior guidelines, data sources, and SDK-specific patterns, see [.github/copilot-instructions.md](https://github.com/Azure/azure-sdk-for-java/blob/main/.github/copilot-instructions.md).
183+
184+
## Resources
185+
186+
### Documentation
187+
188+
- [Azure SDK for Java Documentation](https://aka.ms/java-docs)
189+
- [Azure for Java Developers](https://docs.microsoft.com/java/azure/)
190+
- [Azure SDK Design Guidelines](https://azure.github.io/azure-sdk/)
191+
- [Java Guidelines](https://azure.github.io/azure-sdk/java_introduction.html)
192+
- [Building the SDK](https://github.com/Azure/azure-sdk-for-java/blob/main/docs/contributor/building.md)
193+
194+
### Repository Links
195+
196+
- [Latest Releases](https://azure.github.io/azure-sdk/releases/latest/java.html)
197+
- [GitHub Issues](https://github.com/Azure/azure-sdk-for-java/issues)
198+
- [Stack Overflow](https://stackoverflow.com/questions/tagged/azure-java-sdk)
199+
- [Support](https://github.com/Azure/azure-sdk-for-java/blob/main/SUPPORT.md)
200+
201+
### External References
202+
203+
- [Maven](https://maven.apache.org/)
204+
- [JUnit 5](https://junit.org/junit5/)
205+
- [Semantic Versioning](https://semver.org/)
206+
- [Azure Artifacts Dev Feed](https://dev.azure.com/azure-sdk/public/_packaging?_a=feed&feed=azure-sdk-for-java)
207+
208+
## Feedback and Questions
209+
210+
- For issues or feature requests, file a [GitHub Issue](https://github.com/Azure/azure-sdk-for-java/issues/new/choose)
211+
- For questions, use [Stack Overflow with the `azure-java-sdk` tag](https://stackoverflow.com/questions/tagged/azure-java-sdk)
212+
- For contributions, see [CONTRIBUTING.md](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md)
213+
214+
---
215+
216+
This file aligns with the [AGENTS.md standard](https://agents.md) and provides a comprehensive guide for AI agents interacting with the Azure SDK for Java repository.

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ For details on contributing to this repository, see the [contributing guide](htt
6969

7070
The consolidated documentation hub for contributors (building, testing, versioning, release checklist, etc.) is at [`docs/`](https://github.com/Azure/azure-sdk-for-java/blob/main/docs/README.md).
7171

72+
> **For AI Agents**: If you're an AI agent (e.g., GitHub Copilot, MCP server, or LLM assistant) working with this repository, please refer to [AGENTS.md](https://github.com/Azure/azure-sdk-for-java/blob/main/AGENTS.md) for guidance on repository structure, workflows, and best practices for agent interactions.
73+
7274
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, view [Microsoft's CLA](https://cla.microsoft.com).
7375

7476
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
@@ -82,7 +84,7 @@ Many people all over the world have helped make this project better. You'll wan
8284
- [What are some good first issues for new contributors to the repo?](https://github.com/azure/azure-sdk-for-java/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
8385
- [How to build and test your change](https://github.com/Azure/azure-sdk-for-java/blob/main/docs/contributor/building.md)
8486
- [How you can make a change happen!](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md#pull-requests)
85-
- Frequently Asked Questions (FAQ) and Conceptual Topics in the detailed [Azure SDK for Java wiki](https://github.com/azure/azure-sdk-for-java/wiki).
87+
- Frequently Asked Questions (FAQ) and Conceptual Topics in the detailed [Azure SDK for Java wiki](https://github.com/Azure/azure-sdk-for-java/tree/main/docs).
8688

8789
### Reporting security issues and security bugs
8890

common/perf-test-core/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,22 +74,22 @@
7474
<dependency>
7575
<groupId>com.azure</groupId>
7676
<artifactId>azure-core-http-netty</artifactId>
77-
<version>1.16.3</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
77+
<version>1.16.4</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
7878
</dependency>
7979
<dependency>
8080
<groupId>com.azure</groupId>
8181
<artifactId>azure-core-http-okhttp</artifactId>
82-
<version>1.13.3</version> <!-- {x-version-update;com.azure:azure-core-http-okhttp;dependency} -->
82+
<version>1.13.4</version> <!-- {x-version-update;com.azure:azure-core-http-okhttp;dependency} -->
8383
</dependency>
8484
<dependency>
8585
<groupId>com.azure</groupId>
8686
<artifactId>azure-core-http-jdk-httpclient</artifactId>
87-
<version>1.1.3</version> <!-- {x-version-update;com.azure:azure-core-http-jdk-httpclient;dependency} -->
87+
<version>1.1.4</version> <!-- {x-version-update;com.azure:azure-core-http-jdk-httpclient;dependency} -->
8888
</dependency>
8989
<dependency>
9090
<groupId>com.azure</groupId>
9191
<artifactId>azure-core-http-vertx</artifactId>
92-
<version>1.1.3</version> <!-- {x-version-update;com.azure:azure-core-http-vertx;dependency} -->
92+
<version>1.1.4</version> <!-- {x-version-update;com.azure:azure-core-http-vertx;dependency} -->
9393
</dependency>
9494
<dependency>
9595
<groupId>io.vertx</groupId>

docs/spring/Spring-Cloud-Azure-Timeline.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ This wiki page is used to track the timeline for Spring Cloud Azure. So we can g
1515
4. In "java - spring - compatibility - tests" pipeline, it will tests versions from sdk/spring/spring-cloud-azure-supported-spring.json file which supportedStatus is `SUPPORTED`, so when the supported version changed, this page should be updated.
1616

1717
## Timeline
18+
- **2026-04-29**: Released spring-cloud-azure-dependencies:6.3.0, which depends on: SpringBoot:3.5.14 and SpringCloud:2025.0.2.
1819
- **2026-04-17**: Released spring-cloud-azure-dependencies:7.2.0, which depends on: SpringBoot:4.0.5 and SpringCloud:2025.1.1.
1920
- **2026-03-25**: Released spring-cloud-azure-dependencies:6.2.0, which depends on: SpringBoot:3.5.5 and SpringCloud:2025.0.0.
2021
- **2026-03-11**: Released spring-cloud-azure-dependencies:7.1.0, which depends on: SpringBoot:4.0.3 and SpringCloud:2025.1.0.

0 commit comments

Comments
 (0)