Skip to content

Commit 1b63e0b

Browse files
authored
Prepare for v3.0.0 (#1843)
Prepare for v3.0.0 - Next Major Release
1 parent 5f16452 commit 1b63e0b

File tree

453 files changed

+38522
-40049
lines changed

Some content is hidden

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

453 files changed

+38522
-40049
lines changed

Diff for: .github/workflows/builds.yml

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Build Check
2+
3+
on:
4+
schedule:
5+
- cron: '0 12 * * *'
6+
7+
jobs:
8+
RunOnLinux:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
- name: Grant Permission
13+
run: sudo chmod +x ./mvnw
14+
- uses: actions/setup-java@v3
15+
with:
16+
distribution: 'corretto'
17+
java-version: '11'
18+
- name: Run Tests
19+
run: ./mvnw -B -ntp clean test
20+
21+
RunOnMacOs:
22+
runs-on: macos-latest
23+
steps:
24+
- uses: actions/checkout@v3
25+
- name: Grant Permission
26+
run: sudo chmod +x ./mvnw
27+
- uses: actions/setup-java@v3
28+
with:
29+
distribution: 'corretto'
30+
java-version: '11'
31+
- name: Run Tests
32+
run: ./mvnw -B -ntp clean test
33+
34+
RunOnWindows:
35+
runs-on: windows-latest
36+
steps:
37+
- uses: actions/checkout@v3
38+
- uses: actions/setup-java@v3
39+
with:
40+
distribution: 'corretto'
41+
java-version: '11'
42+
- name: Run Tests
43+
run: ./mvnw.cmd -B -ntp clean test

Diff for: .github/workflows/maven.yml

+38-12
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
# This workflow is designed to build PRs for AHC. Note that it does not actually publish AHC, just builds and test it.
22
# Docs: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
33

4-
name: Test PR
4+
name: Build PR
55

66
on:
7+
push:
8+
branches:
9+
- main
710
pull_request:
8-
branches: [ main ]
911

1012
workflow_dispatch:
1113
inputs:
@@ -15,15 +17,39 @@ on:
1517
default: 'Github Actions'
1618

1719
jobs:
18-
build:
20+
RunOnLinux:
1921
runs-on: ubuntu-latest
2022
steps:
21-
- uses: actions/checkout@v3
22-
- name: Set up JDK 8
23-
uses: actions/setup-java@v3
24-
with:
25-
distribution: 'corretto'
26-
java-version: 8
27-
architecture: x64
28-
- name: Build and test with Maven
29-
run: mvn -ntp -B test -Ptest-output
23+
- uses: actions/checkout@v3
24+
- name: Grant Permission
25+
run: sudo chmod +x ./mvnw
26+
- uses: actions/setup-java@v3
27+
with:
28+
distribution: 'corretto'
29+
java-version: '11'
30+
- name: Run Tests
31+
run: ./mvnw -B -ntp clean test
32+
33+
RunOnMacOs:
34+
runs-on: macos-latest
35+
steps:
36+
- uses: actions/checkout@v3
37+
- name: Grant Permission
38+
run: sudo chmod +x ./mvnw
39+
- uses: actions/setup-java@v3
40+
with:
41+
distribution: 'corretto'
42+
java-version: '11'
43+
- name: Run Tests
44+
run: ./mvnw -B -ntp clean test
45+
46+
RunOnWindows:
47+
runs-on: windows-latest
48+
steps:
49+
- uses: actions/checkout@v3
50+
- uses: actions/setup-java@v3
51+
with:
52+
distribution: 'corretto'
53+
java-version: '11'
54+
- name: Run Tests
55+
run: ./mvnw.cmd -B -ntp clean test

Diff for: .mvn/wrapper/maven-wrapper.jar

58.5 KB
Binary file not shown.

Diff for: .mvn/wrapper/maven-wrapper.properties

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
distributionUrl=https://maven-central.storage-download.googleapis.com/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
18+
wrapperUrl=https://maven-central.storage-download.googleapis.com/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar

Diff for: .travis.yml

-22
This file was deleted.

Diff for: CHANGES.md

+13-10
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,20 @@
1010
## From 2.0 to 2.1
1111

1212
* AHC 2.1 targets Netty 4.1.
13-
* `org.asynchttpclient.HttpResponseHeaders` was [dropped](https://github.com/AsyncHttpClient/async-http-client/commit/f4786f3ac7699f8f8664e7c7db0b7097585a0786) in favor of `io.netty.handler.codec.http.HttpHeaders`.
14-
* `org.asynchttpclient.cookie.Cookie` was [dropped](https://github.com/AsyncHttpClient/async-http-client/commit/a6d659ea0cc11fa5131304d8a04a7ba89c7a66af) in favor of `io.netty.handler.codec.http.cookie.Cookie` as AHC's cookie parsers were contributed to Netty.
13+
* `org.asynchttpclient.HttpResponseHeaders` was [dropped](https://github.com/AsyncHttpClient/async-http-client/commit/f4786f3ac7699f8f8664e7c7db0b7097585a0786) in favor
14+
of `io.netty.handler.codec.http.HttpHeaders`.
15+
* `org.asynchttpclient.cookie.Cookie` was [dropped](https://github.com/AsyncHttpClient/async-http-client/commit/a6d659ea0cc11fa5131304d8a04a7ba89c7a66af) in favor
16+
of `io.netty.handler.codec.http.cookie.Cookie` as AHC's cookie parsers were contributed to Netty.
1517
* AHC now has a RFC6265 `CookieStore` that is enabled by default. Implementation can be changed in `AsyncHttpClientConfig`.
1618
* `AsyncHttpClient` now exposes stats with `getClientStats`.
17-
* `AsyncHandlerExtensions` was [dropped](https://github.com/AsyncHttpClient/async-http-client/commit/1972c9b9984d6d9f9faca6edd4f2159013205aea) in favor of default methods in `AsyncHandler`.
19+
* `AsyncHandlerExtensions` was [dropped](https://github.com/AsyncHttpClient/async-http-client/commit/1972c9b9984d6d9f9faca6edd4f2159013205aea) in favor of default methods
20+
in `AsyncHandler`.
1821
* `WebSocket` and `WebSocketListener` methods were renamed to mention frames
1922
* `AsyncHttpClientConfig` various changes:
20-
* new `getCookieStore` now lets you configure a CookieStore (enabled by default)
21-
* new `isAggregateWebSocketFrameFragments` now lets you disable WebSocket fragmented frames aggregation
22-
* new `isUseLaxCookieEncoder` lets you loosen cookie chars validation
23-
* `isAcceptAnyCertificate` was dropped, as it didn't do what its name stated
24-
* new `isUseInsecureTrustManager` lets you use a permissive TrustManager, that would typically let you accept self-signed certificates
25-
* new `isDisableHttpsEndpointIdentificationAlgorithm` disables setting `HTTPS` algorithm on the SSLEngines, typically disables SNI and HTTPS hostname verification
26-
* new `isAggregateWebSocketFrameFragments` lets you disable fragmented WebSocket frames aggregation
23+
* new `getCookieStore` now lets you configure a CookieStore (enabled by default)
24+
* new `isAggregateWebSocketFrameFragments` now lets you disable WebSocket fragmented frames aggregation
25+
* new `isUseLaxCookieEncoder` lets you loosen cookie chars validation
26+
* `isAcceptAnyCertificate` was dropped, as it didn't do what its name stated
27+
* new `isUseInsecureTrustManager` lets you use a permissive TrustManager, that would typically let you accept self-signed certificates
28+
* new `isDisableHttpsEndpointIdentificationAlgorithm` disables setting `HTTPS` algorithm on the SSLEngines, typically disables SNI and HTTPS hostname verification
29+
* new `isAggregateWebSocketFrameFragments` lets you disable fragmented WebSocket frames aggregation

Diff for: README.md

+2-35
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Async Http Client [![Build Status](https://travis-ci.org/AsyncHttpClient/async-http-client.svg?branch=master)](https://travis-ci.org/AsyncHttpClient/async-http-client) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.asynchttpclient/async-http-client/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.asynchttpclient/async-http-client/)
1+
# Async Http Client [![Build](https://github.com/AsyncHttpClient/async-http-client/actions/workflows/builds.yml/badge.svg)](https://github.com/AsyncHttpClient/async-http-client/actions/workflows/builds.yml) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.asynchttpclient/async-http-client/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.asynchttpclient/async-http-client/)
22

33
Follow [@AsyncHttpClient](https://twitter.com/AsyncHttpClient) on Twitter.
44

@@ -7,31 +7,9 @@ The library also supports the WebSocket Protocol.
77

88
It's built on top of [Netty](https://github.com/netty/netty). It's currently compiled on Java 8 but runs on Java 9 too.
99

10-
## New Maintainer!
11-
12-
[Aayush (hyperxpro)](https://twitter.com/HyperXPro) has gracefully decided to take over maintainership from [Tom](https://github.com/TomGranot), and is available for your questions. Please mention him in your issues and PRs from now on!
13-
1410
## Installation
1511

1612
Binaries are deployed on Maven Central.
17-
18-
Import the AsyncHttpClient Bill of Materials (BOM) to add dependency management for AsyncHttpClient artifacts to your project:
19-
20-
```xml
21-
22-
<dependencyManagement>
23-
<dependencies>
24-
<dependency>
25-
<groupId>org.asynchttpclient</groupId>
26-
<artifactId>async-http-client-bom</artifactId>
27-
<version>LATEST_VERSION</version>
28-
<type>pom</type>
29-
<scope>import</scope>
30-
</dependency>
31-
</dependencies>
32-
</dependencyManagement>
33-
```
34-
3513
Add a dependency on the main AsyncHttpClient artifact:
3614

3715
```xml
@@ -40,12 +18,11 @@ Add a dependency on the main AsyncHttpClient artifact:
4018
<dependency>
4119
<groupId>org.asynchttpclient</groupId>
4220
<artifactId>async-http-client</artifactId>
21+
<version>3.0.0-SNAPSHOT</version>
4322
</dependency>
4423
</dependencies>
4524
```
4625

47-
The `async-http-client-extras-*` and other modules can also be added without having to specify the version for each dependency, because they are all managed via the BOM.
48-
4926
## Version
5027

5128
AHC doesn't use SEMVER, and won't.
@@ -275,16 +252,6 @@ public void onError(Throwable t){
275252
}).build()).get();
276253
```
277254

278-
## Reactive Streams
279-
280-
AsyncHttpClient has built-in support for reactive streams.
281-
282-
You can pass a request body as a `Publisher<ByteBuf>` or a `ReactiveStreamsBodyGenerator`.
283-
284-
You can also pass a `StreamedAsyncHandler<T>` whose `onStream` method will be notified with a `Publisher<HttpResponseBodyPart>`.
285-
286-
See tests in package `org.asynchttpclient.reactivestreams` for examples.
287-
288255
## WebDAV
289256

290257
AsyncHttpClient has build in support for the WebDAV protocol.

Diff for: bom/pom.xml

-107
This file was deleted.

0 commit comments

Comments
 (0)