Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b8c07eb
Upgrade Netty and Reactor versions
alzimmermsft Sep 11, 2026
1f7d2ff
Merge in main and resolve merge conflict
alzimmermsft Sep 21, 2026
65963a7
Update versions
alzimmermsft Sep 21, 2026
8739832
Fix build
alzimmermsft Sep 22, 2026
64b0f6f
Merge in main and additional updates
alzimmermsft Sep 24, 2026
a27a718
Merge branch 'main' into MigrateToNetty42AndUpdateReactorAccordingly
alzimmermsft Sep 24, 2026
219ff7c
Remove usage of Netty where it isn't available
alzimmermsft Sep 24, 2026
7be371f
Merge in main and resolve merge conflict
alzimmermsft Sep 29, 2026
b8d5111
Some cleanup
alzimmermsft Sep 29, 2026
03863b0
Merge in main and resolve merge conflict
alzimmermsft Sep 30, 2026
4b4f7c7
Fix azure-core CHANGELOG
alzimmermsft Sep 30, 2026
64bdc59
Merge branch 'main' into MigrateToNetty42AndUpdateReactorAccordingly
alzimmermsft Sep 30, 2026
a314c42
Fix Netty 4.2 migration test compatibility
alzimmermsft Oct 1, 2026
3cc9f7f
More work on fixing dependencies
alzimmermsft Oct 1, 2026
c3e51d3
Undo accidental deletions
alzimmermsft Oct 1, 2026
65dad63
Merge branch 'main' into MigrateToNetty42AndUpdateReactorAccordingly
alzimmermsft Oct 1, 2026
dd6c5dc
Few more dependency fixes
alzimmermsft Oct 1, 2026
658e4fd
Merge branch 'main' into MigrateToNetty42AndUpdateReactorAccordingly
alzimmermsft Oct 5, 2026
4225cff
Fix linting
alzimmermsft Oct 5, 2026
e1bc526
Merge in main and resolve merge conflict
alzimmermsft Oct 7, 2026
193e8ed
Make Analyze job timeout longer
alzimmermsft Oct 7, 2026
f9fec65
Merge branch 'main' into MigrateToNetty42AndUpdateReactorAccordingly
alzimmermsft Oct 13, 2026
22edc6c
Update target Netty version
alzimmermsft Oct 13, 2026
ba908df
Remove unnecessary unreleased dependencies
alzimmermsft Oct 13, 2026
3a1947d
Additional clean up
alzimmermsft Oct 13, 2026
3e02158
Testing cleanup
alzimmermsft Oct 13, 2026
53cb4b0
Fix a few more tests
alzimmermsft Oct 13, 2026
66e2311
More test fixes
alzimmermsft Oct 13, 2026
6da79fc
Fix linting
alzimmermsft Oct 13, 2026
5ab4603
Merge branch 'main' into MigrateToNetty42AndUpdateReactorAccordingly
alzimmermsft Oct 13, 2026
2fa61db
More test fixes
alzimmermsft Oct 13, 2026
6714a08
Merge branch 'main' into MigrateToNetty42AndUpdateReactorAccordingly
alzimmermsft Oct 13, 2026
1b34972
PR feedback
alzimmermsft Oct 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion common/perf-test-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
<!-- Special allowance for performance libraries as they aren't shipped. -->
<include>com.beust:jcommander:[1.82]</include> <!-- {x-include-update;com.beust:jcommander;external_dependency} -->
<include>io.vertx:vertx-codegen:[4.5.32]</include> <!-- {x-include-update;io.vertx:vertx-codegen;external_dependency} -->
<include>io.projectreactor:reactor-core:[3.7.19]</include> <!-- {x-include-update;io.projectreactor:reactor-core;external_dependency} -->
<include>io.projectreactor:reactor-core:[3.8.7]</include> <!-- {x-include-update;io.projectreactor:reactor-core;external_dependency} -->
</includes>
</bannedDependencies>
</rules>
Expand Down
20 changes: 20 additions & 0 deletions docs/contributor/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,26 @@ mvn install -f sdk/appconfiguration/pom.xml -Dgpg.skip -Drevapi.skip -DskipTests
Remove `-DskipTests` from the build commands above. Remove `-Djacoco.skip` as well if you want coverage reports.
Spring integration tests have a separate switch, `-DskipSpringITs=false`, and require their own test setup.

### Test-only Java module dependencies

On JDK 9 and later, tests run as part of their library's named module. When tests directly use classes
from a dependency that the production module does not read, add a narrow `--add-reads` option to the
package's `javaModulesSurefireArgLine` property. Failsafe inherits this property through
`javaModulesFailsafeArgLine`.

For example, tests using Netty's `HttpResponseStatus` need to read the explicit `io.netty.codec.http`
module in Netty 4.2:

```xml
<javaModulesSurefireArgLine>
--add-reads com.azure.ai.documentintelligence=io.netty.codec.http
</javaModulesSurefireArgLine>
```

Keep these test-only reads out of production `module-info.java` descriptors. Preserve any existing
options in the property, and add reads for each module directly used by the tests. These options are
only applied by the Java 9+ build profile and do not affect Java 8 test runs.

### Build selected client libraries

Select libraries from the root reactor by their Maven coordinates. For example, build App Configuration
Expand Down
1 change: 1 addition & 0 deletions eng/pipelines/templates/jobs/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@ jobs:

- job: 'Analyze'
condition: and(succeeded(), ne(variables['Skip.Analyze'], 'true'))
timeoutInMinutes: 120

pool:
name: $(LINUXPOOL)
Expand Down
37 changes: 20 additions & 17 deletions eng/versioning/external_dependencies.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,22 +44,25 @@ commons-net:commons-net;3.9.0
io.cloudevents:cloudevents-api;2.2.0
io.cloudevents:cloudevents-core;2.2.0
io.fabric8:kubernetes-client;6.12.1
io.netty:netty-buffer;4.1.138.Final
io.netty:netty-common;4.1.138.Final
io.netty:netty-codec;4.1.138.Final
io.netty:netty-codec-http;4.1.138.Final
io.netty:netty-codec-http2;4.1.138.Final
io.netty:netty-handler;4.1.138.Final
io.netty:netty-handler-proxy;4.1.138.Final
io.netty:netty-resolver;4.1.138.Final
io.netty:netty-resolver-dns;4.1.138.Final
io.netty:netty-buffer;4.2.19.Final
io.netty:netty-common;4.2.19.Final
io.netty:netty-codec-base;4.2.19.Final
io.netty:netty-codec-http;4.2.19.Final
io.netty:netty-codec-http2;4.2.19.Final
io.netty:netty-codec-http3;4.2.19.Final
io.netty:netty-handler;4.2.19.Final
io.netty:netty-handler-proxy;4.2.19.Final
io.netty:netty-resolver;4.2.19.Final
io.netty:netty-resolver-dns;4.2.19.Final
io.netty:netty-resolver-dns-native-macos;4.2.19.Final
io.netty:netty-tcnative-boringssl-static;2.0.84.Final
io.netty:netty-transport;4.1.138.Final
io.netty:netty-transport-native-epoll;4.1.138.Final
io.netty:netty-transport-native-unix-common;4.1.138.Final
io.netty:netty-transport-native-kqueue;4.1.138.Final
io.projectreactor.netty:reactor-netty-http;1.2.18
io.projectreactor:reactor-core;3.7.19
io.netty:netty-transport;4.2.19.Final
io.netty:netty-transport-classes-epoll;4.2.19.Final
io.netty:netty-transport-native-epoll;4.2.19.Final
io.netty:netty-transport-native-unix-common;4.2.19.Final
io.netty:netty-transport-native-kqueue;4.2.19.Final
io.projectreactor.netty:reactor-netty-http;1.3.7
io.projectreactor:reactor-core;3.8.7
io.vertx:vertx-codegen;4.5.32
io.vertx:vertx-core;4.5.32
javax.websocket:javax.websocket-api;1.1
Expand Down Expand Up @@ -124,7 +127,7 @@ io.opentelemetry:opentelemetry-bom;1.65.0
io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry;2.31.1-alpha
io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter;2.31.1
io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0;2.31.1-alpha
io.projectreactor:reactor-test;3.7.19
io.projectreactor:reactor-test;3.8.7
io.github.hakky54:logcaptor;2.9.3
com.squareup.okio:okio;3.18.1
com.squareup.okio:okio-jvm;3.18.1
Expand Down Expand Up @@ -205,7 +208,7 @@ org.revapi:revapi-reporter-json;0.5.1
org.revapi:revapi-maven-plugin;0.15.1

# External Dependency Exceptions
# This section is for external dependencies whose versions were different than
# This section is for external dependencies whose versions were different from
# what was defined in the parent pom.
# Format;
# <some unique identifier, area name preferred>_groupId:artifactId;dependency-version
Expand Down
8 changes: 4 additions & 4 deletions eng/versioning/supported_external_dependency_versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,10 @@
],
"reactor_2025":
[
{ "io.projectreactor.netty:reactor-netty": "1.3.0-M2" },
{ "io.projectreactor.netty:reactor-netty-http": "1.3.0-M2" },
{ "io.projectreactor:reactor-core": "3.8.0-M2" },
{ "io.projectreactor:reactor-test": "3.8.0-M2" }
{ "io.projectreactor.netty:reactor-netty": "1.3.0" },
{ "io.projectreactor.netty:reactor-netty-http": "1.3.0" },
{ "io.projectreactor:reactor-core": "3.8.0" },
{ "io.projectreactor:reactor-test": "3.8.0" }
],
"reactor_2024":
[
Expand Down
3 changes: 3 additions & 0 deletions eng/versioning/version_client.txt
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,9 @@ io.clientcore:optional-dependency-tests;1.0.0-beta.1;1.0.0-beta.1
# In the pom, the version update tag after the version should name the unreleased package and the dependency version:
# <!-- {x-version-update;unreleased_com.azure:azure-core;dependency} -->

unreleased_com.azure:azure-core;1.61.0-beta.1
unreleased_com.azure:azure-core-http-netty;1.17.0-beta.1
unreleased_com.azure:azure-core-test;1.27.0-beta.20
unreleased_com.azure.v2:azure-core;2.0.0-beta.1
unreleased_com.azure.v2:azure-identity;2.0.0-beta.1
unreleased_com.azure.v2:azure-data-appconfiguration;2.0.0-beta.1
Expand Down
32 changes: 16 additions & 16 deletions sdk/ai/azure-ai-agents/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,42 +63,42 @@
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.60.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
<version>1.61.0-beta.1</version> <!-- {x-version-update;unreleased_com.azure:azure-core;dependency} -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-netty</artifactId>
<version>1.16.8</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
<version>1.17.0-beta.1</version> <!-- {x-version-update;unreleased_com.azure:azure-core-http-netty;dependency} -->
</dependency>
<dependency>
<groupId>io.projectreactor.netty</groupId>
<artifactId>reactor-netty-http</artifactId>
<version>1.2.18</version> <!-- {x-version-update;io.projectreactor.netty:reactor-netty-http;external_dependency} -->
<version>1.3.7</version> <!-- {x-version-update;io.projectreactor.netty:reactor-netty-http;external_dependency} -->
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
<version>4.1.138.Final</version> <!-- {x-version-update;io.netty:netty-codec-http;external_dependency} -->
<version>4.2.19.Final</version> <!-- {x-version-update;io.netty:netty-codec-http;external_dependency} -->
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
<version>4.1.138.Final</version> <!-- {x-version-update;io.netty:netty-transport;external_dependency} -->
<version>4.2.19.Final</version> <!-- {x-version-update;io.netty:netty-transport;external_dependency} -->
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-common</artifactId>
<version>4.1.138.Final</version> <!-- {x-version-update;io.netty:netty-common;external_dependency} -->
<version>4.2.19.Final</version> <!-- {x-version-update;io.netty:netty-common;external_dependency} -->
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
<version>4.1.138.Final</version> <!-- {x-version-update;io.netty:netty-codec;external_dependency} -->
<artifactId>netty-codec-base</artifactId>
<version>4.2.19.Final</version> <!-- {x-version-update;io.netty:netty-codec-base;external_dependency} -->
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
<version>4.1.138.Final</version> <!-- {x-version-update;io.netty:netty-buffer;external_dependency} -->
<version>4.2.19.Final</version> <!-- {x-version-update;io.netty:netty-buffer;external_dependency} -->
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
Expand Down Expand Up @@ -133,7 +133,7 @@
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-test</artifactId>
<version>1.27.0-beta.19</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
<version>1.27.0-beta.20</version> <!-- {x-version-update;unreleased_com.azure:azure-core-test;dependency} -->
<scope>test</scope>
</dependency>

Expand All @@ -150,12 +150,12 @@
<bannedDependencies>
<includes>
<include>com.openai:openai-java:[4.69.0]</include> <!-- {x-include-update;com.openai:openai-java;external_dependency} -->
<include>io.projectreactor.netty:reactor-netty-http:[1.2.18]</include> <!-- {x-include-update;io.projectreactor.netty:reactor-netty-http;external_dependency} -->
<include>io.netty:netty-codec-http:[4.1.138.Final]</include> <!-- {x-include-update;io.netty:netty-codec-http;external_dependency} -->
<include>io.netty:netty-transport:[4.1.138.Final]</include> <!-- {x-include-update;io.netty:netty-transport;external_dependency} -->
<include>io.netty:netty-common:[4.1.138.Final]</include> <!-- {x-include-update;io.netty:netty-common;external_dependency} -->
<include>io.netty:netty-codec:[4.1.138.Final]</include> <!-- {x-include-update;io.netty:netty-codec;external_dependency} -->
<include>io.netty:netty-buffer:[4.1.138.Final]</include> <!-- {x-include-update;io.netty:netty-buffer;external_dependency} -->
<include>io.projectreactor.netty:reactor-netty-http:[1.3.7]</include> <!-- {x-include-update;io.projectreactor.netty:reactor-netty-http;external_dependency} -->
<include>io.netty:netty-codec-http:[4.2.19.Final]</include> <!-- {x-include-update;io.netty:netty-codec-http;external_dependency} -->
<include>io.netty:netty-transport:[4.2.19.Final]</include> <!-- {x-include-update;io.netty:netty-transport;external_dependency} -->
<include>io.netty:netty-common:[4.2.19.Final]</include> <!-- {x-include-update;io.netty:netty-common;external_dependency} -->
<include>io.netty:netty-codec-base:[4.2.19.Final]</include> <!-- {x-include-update;io.netty:netty-codec-base;external_dependency} -->
<include>io.netty:netty-buffer:[4.2.19.Final]</include> <!-- {x-include-update;io.netty:netty-buffer;external_dependency} -->
<include>com.squareup.okhttp3:okhttp:[4.12.0]</include> <!-- {x-include-update;com.squareup.okhttp3:okhttp;external_dependency} -->
<include>com.squareup.okio:okio-jvm:[3.18.1]</include> <!-- {x-include-update;com.squareup.okio:okio-jvm;external_dependency} -->
</includes>
Expand Down
1 change: 1 addition & 0 deletions sdk/ai/azure-ai-agents/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
requires io.netty.transport;
requires io.netty.common;
requires io.netty.codec;
requires io.netty.codec.compression;
requires io.netty.buffer;
requires okhttp3;
requires okio;
Expand Down
1 change: 1 addition & 0 deletions sdk/attestation/azure-security-attestation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
<javaModulesSurefireArgLine>
--add-opens com.azure.security.attestation/com.azure.security.attestation=ALL-UNNAMED
--add-opens com.azure.security.attestation/com.azure.security.attestation.models=ALL-UNNAMED
--add-reads com.azure.security.attestation=org.bouncycastle.provider
</javaModulesSurefireArgLine>

<spotbugs.skip>false</spotbugs.skip>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ public void buildWithHttpProxyFromEnvConfiguration() throws IOException {
Configuration configuration = Configuration.from(new TestConfigurationSource()
.put(Configuration.HTTP_PROXY,
"http://" + PROXY_USER_INFO + proxyEndpoint.getHost() + ":" + proxyEndpoint.getPort())
.put(Configuration.HTTPS_PROXY, "")
.put("java.net.useSystemProxies", "true"));

HttpClient httpClient = new JdkHttpClientBuilder().configuration(configuration).build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,53 +234,35 @@ public void invalidHttpPortEnvironmentConfigDefault(String port) {
private static Stream<Arguments> loadFromEnvironmentSupplier() {
return Stream.of(
// Basic Azure HTTPS proxy.
Arguments.of(
setJavaSystemProxyPrerequisiteToTrue(
new TestConfigurationSource().put(Configuration.HTTPS_PROXY, AZURE_HTTPS_PROXY_HOST_ONLY)),
PROXY_HOST, 443, null, null, null),
Arguments.of(setJavaSystemProxyPrerequisiteToTrue(AZURE_HTTPS_PROXY_HOST_ONLY, null, true), PROXY_HOST, 443,
null, null, null),

// Username only Azure HTTPS proxy.
Arguments.of(
setJavaSystemProxyPrerequisiteToTrue(
new TestConfigurationSource().put(Configuration.HTTPS_PROXY, AZURE_HTTPS_PROXY_WITH_USERNAME)),
PROXY_HOST, 443, null, null, null),
Arguments.of(setJavaSystemProxyPrerequisiteToTrue(AZURE_HTTPS_PROXY_WITH_USERNAME, null, true), PROXY_HOST,
443, null, null, null),

// Complete Azure HTTPS proxy.
Arguments.of(
setJavaSystemProxyPrerequisiteToTrue(
new TestConfigurationSource().put(Configuration.HTTPS_PROXY, AZURE_HTTPS_PROXY_WITH_USER_AND_PASS)),
Arguments.of(setJavaSystemProxyPrerequisiteToTrue(AZURE_HTTPS_PROXY_WITH_USER_AND_PASS, null, true),
PROXY_HOST, 443, FAKE_PROXY_USER_PLACEHOLDER, FAKE_PROXY_PASSWORD_PLACEHOLDER, null),

// Azure HTTPS proxy with non-proxying hosts.
Arguments.of(
setJavaSystemProxyPrerequisiteToTrue(
new TestConfigurationSource().put(Configuration.HTTPS_PROXY, AZURE_HTTPS_PROXY_HOST_ONLY)
.put(Configuration.NO_PROXY, NON_PROXY_HOSTS)),
Arguments.of(setJavaSystemProxyPrerequisiteToTrue(AZURE_HTTPS_PROXY_HOST_ONLY, NON_PROXY_HOSTS, true),
PROXY_HOST, 443, null, null, "(" + NON_PROXY_HOSTS + ")"),

// Basic Azure HTTP proxy.
Arguments.of(
setJavaSystemProxyPrerequisiteToTrue(
new TestConfigurationSource().put(Configuration.HTTP_PROXY, AZURE_HTTP_PROXY_HOST_ONLY)),
PROXY_HOST, 80, null, null, null),
Arguments.of(setJavaSystemProxyPrerequisiteToTrue(AZURE_HTTP_PROXY_HOST_ONLY, null, false), PROXY_HOST, 80,
null, null, null),

// Username only Azure HTTP proxy.
Arguments.of(
setJavaSystemProxyPrerequisiteToTrue(
new TestConfigurationSource().put(Configuration.HTTP_PROXY, AZURE_HTTP_PROXY_WITH_USERNAME)),
PROXY_HOST, 80, null, null, null),
Arguments.of(setJavaSystemProxyPrerequisiteToTrue(AZURE_HTTP_PROXY_WITH_USERNAME, null, false), PROXY_HOST,
80, null, null, null),

// Complete Azure HTTP proxy.
Arguments.of(
setJavaSystemProxyPrerequisiteToTrue(
new TestConfigurationSource().put(Configuration.HTTP_PROXY, AZURE_HTTP_PROXY_WITH_USER_AND_PASS)),
Arguments.of(setJavaSystemProxyPrerequisiteToTrue(AZURE_HTTP_PROXY_WITH_USER_AND_PASS, null, false),
PROXY_HOST, 80, FAKE_PROXY_USER_PLACEHOLDER, FAKE_PROXY_PASSWORD_PLACEHOLDER, null),

// Azure HTTP proxy with non-proxying hosts.
Arguments.of(
setJavaSystemProxyPrerequisiteToTrue(
new TestConfigurationSource().put(Configuration.HTTP_PROXY, AZURE_HTTP_PROXY_HOST_ONLY)
.put(Configuration.NO_PROXY, NON_PROXY_HOSTS)),
Arguments.of(setJavaSystemProxyPrerequisiteToTrue(AZURE_HTTP_PROXY_HOST_ONLY, NON_PROXY_HOSTS, false),
PROXY_HOST, 80, null, null, "(" + NON_PROXY_HOSTS + ")"),

/*
Expand Down Expand Up @@ -442,10 +424,8 @@ private static Stream<Arguments> nonProxyHostsSupplier() {
/*
* This emulates loading an environment formatted proxy.
*/
TestConfigurationSource envSource
= new TestConfigurationSource().put(Configuration.HTTPS_PROXY, "http://localhost:7777")
.put(Configuration.NO_PROXY, noProxyNonProxyHosts);
Configuration environmentProxyConfiguration = setJavaSystemProxyPrerequisiteToTrue(envSource);
Configuration environmentProxyConfiguration
= setJavaSystemProxyPrerequisiteToTrue("http://localhost:7777", noProxyNonProxyHosts, true);

Pattern environmentProxyConfigurationPattern
= compile(fromConfiguration(environmentProxyConfiguration).getNonProxyHosts(), Pattern.CASE_INSENSITIVE);
Expand Down Expand Up @@ -505,7 +485,22 @@ public void sanitizeJavaHttpNonProxyHostsDoesNotSplitEscapedPipes() {
assertEquals("(" + nonProxyHosts + ")", ProxyOptions.sanitizeNoProxy(nonProxyHosts));
}

private static Configuration setJavaSystemProxyPrerequisiteToTrue(TestConfigurationSource source) {
return Configuration.from(EMPTY_SOURCE, EMPTY_SOURCE, source.put(JAVA_SYSTEM_PROXY_PREREQUISITE, "true"));
private static Configuration setJavaSystemProxyPrerequisiteToTrue(String proxy, String nonProxyHosts,
boolean isHttps) {
TestConfigurationSource testSource = new TestConfigurationSource().put(JAVA_SYSTEM_PROXY_PREREQUISITE, "true")
// Use empty string when non-proxy hosts is null or empty to ensure that the environment configuration
// doesn't attempt to fall back to loading from System.properties or System.env.
.put(Configuration.NO_PROXY, CoreUtils.isNullOrEmpty(nonProxyHosts) ? "" : nonProxyHosts);

if (isHttps) {
testSource.put(Configuration.HTTPS_PROXY, proxy);
} else {
testSource.put(Configuration.HTTP_PROXY, proxy)
// Same as with non-proxy hosts, set HTTPS_PROXY to empty when testing HTTP_PROXY as HTTPS is checked
// first and could fall back to loading from System.properties or System.env.
.put(Configuration.HTTPS_PROXY, "");
}

return Configuration.from(EMPTY_SOURCE, EMPTY_SOURCE, testSource);
}
}
1 change: 1 addition & 0 deletions sdk/clientcore/cspell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ words:
- "erroronmissingdir"
- "fqcn"
- "httpheadename"
- "jpms"
- "lmolkova"
- "replayablity"
- "serializables"
Expand Down
4 changes: 4 additions & 0 deletions sdk/clientcore/http-netty4/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@
### Bugs Fixed

### Other Changes

- Upgraded Netty to `4.2.19.Final`, using I/O handler factories for event loops while preserving pooled buffer allocation
unless `io.netty.allocator.type` is explicitly configured.
- Preserved HTTP/2 response decompression with Netty's separate compression module when using Java modules.
Loading
Loading