diff --git a/.github/workflows/maven-v1-pulls.yml b/.github/workflows/maven-v1-pulls.yml
index 012ea9a0dc..9590e56e0a 100644
--- a/.github/workflows/maven-v1-pulls.yml
+++ b/.github/workflows/maven-v1-pulls.yml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- java: [ 8 ]
+ java: [ 11, 17 ]
steps:
- uses: actions/checkout@v2
diff --git a/.github/workflows/maven-v1.yml b/.github/workflows/maven-v1.yml
index 7c64f53d3e..f25c175485 100644
--- a/.github/workflows/maven-v1.yml
+++ b/.github/workflows/maven-v1.yml
@@ -3,6 +3,8 @@ name: Build Test Deploy 1.5
on:
push:
branches: [ "1.5" ]
+ pull_request:
+ branches: [ "1.5" ]
jobs:
build:
@@ -10,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- java: [ 8 ]
+ java: [ 11, 17 ]
steps:
- uses: actions/checkout@v2
@@ -31,13 +33,20 @@ jobs:
- name: Build with Maven and Gradle
run: |
./mvnw -B -Dhttps.protocols=TLSv1.2 verify --file pom.xml
- export MY_POM_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
- echo "POM VERSION" ${MY_POM_VERSION}
- if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
+ export MY_JAVA_VERSION=`java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1`
+ echo "JAVA VERSION" ${MY_JAVA_VERSION}
+ if [[ ${MY_JAVA_VERSION} == "11" ]];
then
- ./mvnw -B -Dhttps.protocols=TLSv1.2 clean deploy
+ export MY_POM_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
+ echo "POM VERSION" ${MY_POM_VERSION}
+ if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
+ then
+ ./mvnw -B -Dhttps.protocols=TLSv1.2 clean deploy
+ else
+ echo "not deploying release: " ${MY_POM_VERSION}
+ fi
else
- echo "not deploying release: " ${MY_POM_VERSION}
+ echo "not deploying on java version: " ${MY_JAVA_VERSION}
fi
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
index c6feb8bb6f..bf82ff01c6 100644
Binary files a/.mvn/wrapper/maven-wrapper.jar and b/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index 6637cedb28..30052152b2 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -1 +1,18 @@
-distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
\ No newline at end of file
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar
diff --git a/modules/swagger-annotations/pom.xml b/modules/swagger-annotations/pom.xml
index beb988b988..318cf7b97d 100644
--- a/modules/swagger-annotations/pom.xml
+++ b/modules/swagger-annotations/pom.xml
@@ -10,21 +10,25 @@
io.swagger
swagger-annotations
1.6.10-SNAPSHOT
- bundle
swagger-annotations
src/main/java
install
- org.apache.felix
- maven-bundle-plugin
- ${felix-version}
- true
+ biz.aQute.bnd
+ bnd-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
-
- io.swagger.annotations
-
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+ io.swagger.annotations
+
+
@@ -125,4 +129,4 @@
-
\ No newline at end of file
+
diff --git a/modules/swagger-core/pom.xml b/modules/swagger-core/pom.xml
index 4b846dfcb5..e9e8a4727f 100644
--- a/modules/swagger-core/pom.xml
+++ b/modules/swagger-core/pom.xml
@@ -8,7 +8,6 @@
4.0.0
swagger-core
- bundle
swagger-core
src/main/java
@@ -28,31 +27,38 @@
- org.apache.felix
- maven-bundle-plugin
- ${felix-version}
- true
+ biz.aQute.bnd
+ bnd-maven-plugin
-
-
- io.swagger.converter,
- io.swagger.core,
- io.swagger.core.filter,
- io.swagger.core.util,
- io.swagger.reader,
- io.swagger.config,
- io.swagger.model,
- io.swagger.util
-
- javax.validation.constraints;version="[1.1,3)",*
-
+
+ Import-Package: javax.validation.constraints;version="[1.1,3)",*
+ Export-Package: \
+ io.swagger.converter,\
+ io.swagger.core,\
+ io.swagger.core.filter,\
+ io.swagger.core.util,\
+ io.swagger.reader,\
+ io.swagger.config,\
+ io.swagger.model,\
+ io.swagger.util
+
org.apache.maven.plugins
maven-jar-plugin
- 2.6
+
+ default-jar
+
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+ io.swagger.core
+
+
+
+
test-jar
@@ -63,6 +69,10 @@
+
+ jakarta.xml.bind
+ jakarta.xml.bind-api
+
org.apache.commons
commons-lang3
diff --git a/modules/swagger-hibernate-validations/pom.xml b/modules/swagger-hibernate-validations/pom.xml
index c26b5f6965..bb0cd82cf5 100644
--- a/modules/swagger-hibernate-validations/pom.xml
+++ b/modules/swagger-hibernate-validations/pom.xml
@@ -31,24 +31,43 @@
- org.apache.felix
- maven-bundle-plugin
- ${felix-version}
- true
+ biz.aQute.bnd
+ bnd-maven-plugin
-
-
- io.swagger.converter,
- io.swagger.core,
- io.swagger.core.util,
- io.swagger.reader,
- io.swagger.config,
- io.swagger.models
-
- javax.validation.constraints;version="[1.1,3)",*
-
+
+ Import-Package: javax.validation.constraints;version="[1.1,3)",*
+ Export-Package: \
+ io.swagger.converter,\
+ io.swagger.core,\
+ io.swagger.core.util,\
+ io.swagger.reader,\
+ io.swagger.config,\
+ io.swagger.models
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ default-jar
+
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+ io.swagger.validator
+
+
+
+
+
+
+ test-jar
+
+
+
+
diff --git a/modules/swagger-jaxrs/pom.xml b/modules/swagger-jaxrs/pom.xml
index 1db1adbfb6..88766ad9fb 100644
--- a/modules/swagger-jaxrs/pom.xml
+++ b/modules/swagger-jaxrs/pom.xml
@@ -9,7 +9,6 @@
4.0.0
swagger-jaxrs
- bundle
swagger-jaxrs
src/main/java
@@ -29,25 +28,41 @@
- org.apache.felix
- maven-bundle-plugin
- ${felix-version}
- true
+ biz.aQute.bnd
+ bnd-maven-plugin
-
-
- io.swagger.jaxrs,
- io.swagger.jaxrs.config,
- io.swagger.jaxrs.ext,
- io.swagger.jaxrs.listing
-
-
- javax.ws.rs*;version="[1.1,3)",
- *
-
-
+
+ Import-Package: javax.ws.rs*;version="[1.1,3)",*
+ Export-Package: \
+ io.swagger.jaxrs,\
+ io.swagger.jaxrs.config,\
+ io.swagger.jaxrs.ext,\
+ io.swagger.jaxrs.listing
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ default-jar
+
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+ io.swagger.jaxrs
+
+
+
+
+
+
+ test-jar
+
+
+
+
org.codehaus.mojo
build-helper-maven-plugin
@@ -68,25 +83,6 @@
-
- org.apache.maven.plugins
- maven-failsafe-plugin
- ${failsafe-plugin-version}
-
-
-
- integration-test
- verify
-
-
-
- ${jetty.port}
-
-
-
-
-
-
org.eclipse.jetty
jetty-maven-plugin
@@ -96,10 +92,18 @@
${jetty.port}
a
${jetty.port.stop}
+
+ jar
+
true
${project.basedir}/src/test/webapp
+
+ jakarta.xml.bind
+ jakarta.xml.bind-api
+ ${jakarta.xml.bind-api-version}
+
com.sun.jersey
jersey-servlet
@@ -126,6 +130,24 @@
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+ ${failsafe-plugin-version}
+
+
+
+ integration-test
+ verify
+
+
+
+ ${jetty.port}
+
+
+
+
+
@@ -207,22 +229,20 @@
test
- com.jayway.restassured
+ io.rest-assured
rest-assured
+ ${rest-assured-version}
test
org.mockito
- mockito-all
+ mockito-core
+ ${mockito-version}
+ test
commons-io
commons-io
-
- 0.50
- 0.00
- 4
-
diff --git a/modules/swagger-jaxrs/src/test/java/io/swagger/SwaggerContextServiceTest.java b/modules/swagger-jaxrs/src/test/java/io/swagger/SwaggerContextServiceTest.java
index 6978d7d8e6..9954cc60d5 100644
--- a/modules/swagger-jaxrs/src/test/java/io/swagger/SwaggerContextServiceTest.java
+++ b/modules/swagger-jaxrs/src/test/java/io/swagger/SwaggerContextServiceTest.java
@@ -17,8 +17,8 @@
import javax.servlet.ServletContext;
import static io.swagger.jaxrs.config.SwaggerContextService.*;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.*;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
@@ -50,7 +50,7 @@ void initMock() {
bc.setDescription("Bean Config test 2");
beanConfigScanner2 = bc;
}
-
+
void stubWithPathBasedConfigInitParam() {
when(servletContext1.getAttribute(SCANNER_ID_PREFIX + "/url1")).thenReturn(beanConfigScanner1);
@@ -301,7 +301,7 @@ public void initializeAndGetConfigBasedOnPath() {
.withServletConfig(servletConfig1)
.withBasePath("/url1")
.initConfig();
-
+
new SwaggerContextService()
.withServletConfig(servletConfig2)
.withBasePath("url2")
diff --git a/modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java b/modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java
index 4f1fbc46cb..f5f0e49b44 100644
--- a/modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java
+++ b/modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java
@@ -1,10 +1,10 @@
package io.swagger.functional.test;
-import static com.jayway.restassured.RestAssured.given;
+import static io.restassured.RestAssured.given;
import static org.testng.Assert.assertEquals;
import com.fasterxml.jackson.databind.SerializationFeature;
-import com.jayway.restassured.http.ContentType;
+import io.restassured.http.ContentType;
import io.swagger.util.Json;
import io.swagger.util.Yaml;
@@ -17,7 +17,7 @@
/**
* Created by rbolles on 2/16/16.
*
- * An functional integration test that runs during maven's integration-test phase,
+ * A functional integration test that runs during maven's integration-test phase,
* uses RestAssured to define REST API tests, and Jetty's Maven plugin to serve a simple
* sample app just prior to the integration-test phase starting.
*/
diff --git a/modules/swagger-jersey2-jaxrs/pom.xml b/modules/swagger-jersey2-jaxrs/pom.xml
index b823650ada..afcd744618 100644
--- a/modules/swagger-jersey2-jaxrs/pom.xml
+++ b/modules/swagger-jersey2-jaxrs/pom.xml
@@ -9,7 +9,6 @@
4.0.0
swagger-jersey2-jaxrs
- bundle
swagger-jersey2-jaxrs (Jersey 2.x support)
src/main/java
@@ -29,16 +28,24 @@
- org.apache.felix
- maven-bundle-plugin
- ${felix-version}
- true
+ biz.aQute.bnd
+ bnd-maven-plugin
org.apache.maven.plugins
maven-jar-plugin
- 2.6
+
+ default-jar
+
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+ io.swagger.jersey
+
+
+
+
test-jar
diff --git a/modules/swagger-models/pom.xml b/modules/swagger-models/pom.xml
index 62d0af2da1..dfb6d2c491 100644
--- a/modules/swagger-models/pom.xml
+++ b/modules/swagger-models/pom.xml
@@ -9,7 +9,6 @@
4.0.0
swagger-models
- bundle
swagger-models
src/main/java
@@ -29,23 +28,42 @@
- org.apache.felix
- maven-bundle-plugin
- ${felix-version}
- true
+ biz.aQute.bnd
+ bnd-maven-plugin
-
-
- io.swagger.models.auth,
- io.swagger.models.parameters,
- io.swagger.models.properties,
- io.swagger.models.refs,
- io.swagger.models.utils,
- io.swagger.models
-
-
+
+ Export-Package: \
+ io.swagger.models.auth,\
+ io.swagger.models.parameters,\
+ io.swagger.models.properties,\
+ io.swagger.models.refs,\
+ io.swagger.models.utils,\
+ io.swagger.models
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ default-jar
+
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+ io.swagger.models
+
+
+
+
+
+
+ test-jar
+
+
+
+
@@ -87,7 +105,7 @@
org.powermock
- powermock-api-mockito
+ powermock-api-mockito2
junit
@@ -100,11 +118,6 @@
test
-
- org.mockito
- mockito-core
- test
-
asm
asm
@@ -117,7 +130,5 @@
0.0
41
- 1.6.4
- 1.10.19
diff --git a/modules/swagger-models/src/test/java/io/swagger/models/properties/PropertyBuilderTest.java b/modules/swagger-models/src/test/java/io/swagger/models/properties/PropertyBuilderTest.java
index a56c599f99..24918d9b24 100644
--- a/modules/swagger-models/src/test/java/io/swagger/models/properties/PropertyBuilderTest.java
+++ b/modules/swagger-models/src/test/java/io/swagger/models/properties/PropertyBuilderTest.java
@@ -5,7 +5,7 @@
import io.swagger.models.ModelImpl;
import io.swagger.models.properties.PropertyBuilder.PropertyId;
import io.swagger.models.properties.StringProperty.Format;
-import org.mockito.Matchers;
+import org.mockito.ArgumentMatchers;
import org.mockito.Mockito;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
@@ -277,7 +277,7 @@ public void testMergeWithUUIDProperty() {
// given
uuidProperty = Mockito.spy(uuidProperty);
- Mockito.doThrow(new RuntimeException()).when(uuidProperty)._enum(Matchers.anyString());
+ Mockito.doThrow(new RuntimeException()).when(uuidProperty)._enum(ArgumentMatchers.anyString());
// when
PropertyBuilder.merge(uuidProperty, args);
@@ -314,7 +314,7 @@ public void testMergeWithDateProperty() {
// given
dateProperty = Mockito.spy(dateProperty);
- Mockito.doThrow(new RuntimeException()).when(dateProperty)._enum(Matchers.anyString());
+ Mockito.doThrow(new RuntimeException()).when(dateProperty)._enum(ArgumentMatchers.anyString());
// when
PropertyBuilder.merge(dateProperty, args);
@@ -336,7 +336,7 @@ public void testMergeWithDateTimeProperty() {
// given
dateTimeProperty = Mockito.spy(dateTimeProperty);
- Mockito.doThrow(new RuntimeException()).when(dateTimeProperty)._enum(Matchers.anyString());
+ Mockito.doThrow(new RuntimeException()).when(dateTimeProperty)._enum(ArgumentMatchers.anyString());
// when
PropertyBuilder.merge(dateTimeProperty, args);
diff --git a/modules/swagger-models/src/test/java/org/testng/internal/ObjectFactoryImpl.java b/modules/swagger-models/src/test/java/org/testng/internal/ObjectFactoryImpl.java
new file mode 100644
index 0000000000..b028d1e455
--- /dev/null
+++ b/modules/swagger-models/src/test/java/org/testng/internal/ObjectFactoryImpl.java
@@ -0,0 +1,10 @@
+package org.testng.internal;
+
+/**
+ * see comment in PowerMock issue 1118:
+ * Added as a work-around to PowerMock issue 1118:
+ * "TestNG 7.7 cannot load PowerMockTestCase class". Remove when that is resolved.
+ *
+ */
+public class ObjectFactoryImpl extends org.testng.internal.objects.ObjectFactoryImpl {
+}
diff --git a/pom.xml b/pom.xml
index 1a444a5980..7148596327 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,7 +112,7 @@
org.apache.maven.plugins
maven-source-plugin
- 2.1.2
+ 3.2.1
attach-sources
@@ -126,7 +126,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 2.7
+ 3.5.0
true
1.7
@@ -149,16 +149,12 @@
maven-compiler-plugin
- 3.0
-
- 1.7
- 1.7
-
+ 3.10.1
org.apache.maven.plugins
maven-jar-plugin
- 2.4
+ 3.3.0
**/logback.xml
@@ -176,90 +172,12 @@
org.apache.maven.plugins
maven-site-plugin
- 2.1
+ 3.12.0
org.apache.maven.plugins
maven-release-plugin
- 2.1
-
-
- org.jacoco
- jacoco-maven-plugin
-
-
- default-prepare-agent
-
- prepare-agent
-
-
-
- default-report
- prepare-package
-
- report
-
-
-
- default-check
-
- check
-
-
-
-
-
-
- **/io/swagger/config/FilterFactory.*
- **/io/swagger/model/ApiInfo.*
- **/io/swagger/util/Yaml.*
- **/io/swagger/jackson/*
- **/io/swagger/jackson/mixin/*
- **/io/swagger/converter/ModelConverters.*
-
-
- **/io/swagger/jaxrs/json/JacksonJsonProvider.*
- **/io/swagger/jaxrs/listing/ApiListingResource.*
- **/io/swagger/jaxrs/listing/SwaggerSerializers.*
- **/io/swagger/jaxrs/config/WebXMLReader.*
- **/io/swagger/jaxrs/config/DefaultJaxrsScanner.*
- **/io/swagger/jaxrs/config/DefaultJaxrsConfig.*
-
-
- **/io/swagger/servlet/config/WebXMLReader.*
- **/io/swagger/servlet/config/ServletScanner.*
- **/io/swagger/servlet/config/DefaultServletConfig.*
- **/io/swagger/servlet/listing/ApiDeclarationServlet.*
- **/*ServletReaderExtension$*.*
-
-
-
- BUNDLE
-
-
- COMPLEXITY
- COVEREDRATIO
- ${coverage.complexity.minimum}
-
-
- CLASS
- MISSEDCOUNT
- ${coverage.missed.classes}
-
-
-
-
- CLASS
-
-
- LINE
- COVEREDRATIO
- ${coverage.line.minimum}
-
-
-
-
-
+ 2.5.3
@@ -289,9 +207,56 @@
${enforcer-plugin-version}
- org.jacoco
- jacoco-maven-plugin
- 0.7.2.201409121644
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0-M9
+
+ ${project.build.outputDirectory}
+ --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED
+
+
+
+ biz.aQute.bnd
+ bnd-maven-plugin
+ ${bnd-version}
+
+ ="1.1.1";\
+ uses:="\
+ javax.ws.rs,\
+ javax.ws.rs.core,\
+ javax.ws.rs.ext,\
+ javax.ws.rs.client,\
+ javax.ws.rs.container",\
+ osgi.contract;\
+ osgi.contract=JavaServlet;\
+ version:List="2.5";\
+ uses:="\
+ javax.servlet,\
+ javax.servlet.annotation,\
+ javax.servlet.descriptor,\
+ javax.servlet.http"
+ -cdiannotations:
+ ]]>
+
+
+
+
+ bnd-process
+
+
+
@@ -375,7 +340,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 2.9
+ 3.5.0
true
true
@@ -397,7 +362,7 @@
org.apache.maven.plugins
maven-project-info-reports-plugin
- 2.6
+ 2.9
@@ -415,11 +380,6 @@
maven-plugin-tools-api
2.1
-
- org.apache.felix
- maven-bundle-plugin
- ${felix-version}
-
org.slf4j
slf4j-ext
@@ -445,17 +405,11 @@
test
- com.jayway.restassured
+ io.rest-assured
rest-assured
${rest-assured-version}
test
-
- org.mockito
- mockito-all
- ${mockito-version}
- test
-
javax.servlet
servlet-api
@@ -568,7 +522,7 @@
org.glassfish.hk2.external
javax.inject
- 2.2.0
+ 2.4.0
org.hibernate
@@ -603,52 +557,56 @@
org.powermock
- powermock-api-mockito
+ powermock-api-mockito2
${powermock.version}
-
- org.mockito
- mockito-core
- ${mockito-version}
-
asm
asm
3.3.1
+
+ jakarta.xml.bind
+ jakarta.xml.bind-api
+ ${jakarta.xml.bind-api-version}
+
- 1.8.1
- 2.12.1
+ 7
+ 1.9.2
+ 2.12.2
- 3.3.0
+ 6.4.0
2.5
- 1.13
- 2.26
- 2.14.0
- 2.14.0
- 1.33
- 1.4.4
+ 1.19.4
+ 2.39
+ 2.14.2
+ 2.14.2
+ 2.0
+ 1.4.5
0.10.2
- 31.0.1-android
+ 31.1-android
3.21.0-GA
- 6.14.3
- 1.9.5
- 2.9.0
- 2.18.1
+ 7.7.1
+ 2.28.2
+ 5.3.0
+ 2.22.2
1.0.0
3.12.0
- 1.7.22
- 9.2.14.v20151106
+ 1.7.36
+ 9.4.49.v20220914
2.5
0.90
0.90
0
2.11.0
- 1.4
- 2.19.1
+ 3.2.1
+ 2.22.2
1.1.0.Final
+ 2.0.9
+ 5.1.1
+ 2.3.3