diff --git a/jooby/pom.xml b/jooby/pom.xml
index 456b63bce1..cae9f4a495 100644
--- a/jooby/pom.xml
+++ b/jooby/pom.xml
@@ -6,7 +6,7 @@
io.jooby
jooby-project
- 3.11.7
+ 3.11.8
jooby
jooby
diff --git a/modules/jooby-apt/pom.xml b/modules/jooby-apt/pom.xml
index d4e3bfb29e..2fc3b42c94 100644
--- a/modules/jooby-apt/pom.xml
+++ b/modules/jooby-apt/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-apt
jooby-apt
diff --git a/modules/jooby-avaje-inject/pom.xml b/modules/jooby-avaje-inject/pom.xml
index d040ba68f3..b5ec8e3ac8 100644
--- a/modules/jooby-avaje-inject/pom.xml
+++ b/modules/jooby-avaje-inject/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-avaje-inject
jooby-avaje-inject
diff --git a/modules/jooby-avaje-jsonb/pom.xml b/modules/jooby-avaje-jsonb/pom.xml
index 21b6dcf939..0ac5017da2 100644
--- a/modules/jooby-avaje-jsonb/pom.xml
+++ b/modules/jooby-avaje-jsonb/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-avaje-jsonb
jooby-avaje-jsonb
diff --git a/modules/jooby-avaje-validator/pom.xml b/modules/jooby-avaje-validator/pom.xml
index fbd2c3a387..fbd5922283 100644
--- a/modules/jooby-avaje-validator/pom.xml
+++ b/modules/jooby-avaje-validator/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-avaje-validator
jooby-avaje-validator
diff --git a/modules/jooby-awssdk-v1/pom.xml b/modules/jooby-awssdk-v1/pom.xml
index f0c4facfac..79d8a166e2 100644
--- a/modules/jooby-awssdk-v1/pom.xml
+++ b/modules/jooby-awssdk-v1/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-awssdk-v1
jooby-awssdk-v1
diff --git a/modules/jooby-awssdk-v2/pom.xml b/modules/jooby-awssdk-v2/pom.xml
index cfd7b12226..fe71fe50ec 100644
--- a/modules/jooby-awssdk-v2/pom.xml
+++ b/modules/jooby-awssdk-v2/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-awssdk-v2
jooby-awssdk-v2
diff --git a/modules/jooby-bom/pom.xml b/modules/jooby-bom/pom.xml
index 463c586e34..0c92abd2b8 100644
--- a/modules/jooby-bom/pom.xml
+++ b/modules/jooby-bom/pom.xml
@@ -7,14 +7,14 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
io.jooby
jooby-bom
jooby-bom
pom
- 3.11.7
+ 3.11.8
Jooby (Bill of Materials)
https://jooby.io
diff --git a/modules/jooby-caffeine/pom.xml b/modules/jooby-caffeine/pom.xml
index 4fbffbf3e1..3a1ebe7930 100644
--- a/modules/jooby-caffeine/pom.xml
+++ b/modules/jooby-caffeine/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-caffeine
jooby-caffeine
diff --git a/modules/jooby-camel/pom.xml b/modules/jooby-camel/pom.xml
index 3b0308e560..793306eb43 100644
--- a/modules/jooby-camel/pom.xml
+++ b/modules/jooby-camel/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-camel
jooby-camel
diff --git a/modules/jooby-cli/pom.xml b/modules/jooby-cli/pom.xml
index f88caab387..fbb6276d96 100644
--- a/modules/jooby-cli/pom.xml
+++ b/modules/jooby-cli/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-cli
jooby-cli
diff --git a/modules/jooby-commons-email/pom.xml b/modules/jooby-commons-email/pom.xml
index c6d6a6c66a..deb096f8eb 100644
--- a/modules/jooby-commons-email/pom.xml
+++ b/modules/jooby-commons-email/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-commons-email
jooby-commons-email
diff --git a/modules/jooby-conscrypt/pom.xml b/modules/jooby-conscrypt/pom.xml
index 5b79fa9f46..66de9112d2 100644
--- a/modules/jooby-conscrypt/pom.xml
+++ b/modules/jooby-conscrypt/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-conscrypt
jooby-conscrypt
diff --git a/modules/jooby-db-scheduler/pom.xml b/modules/jooby-db-scheduler/pom.xml
index 3d8097494e..5504d638fc 100644
--- a/modules/jooby-db-scheduler/pom.xml
+++ b/modules/jooby-db-scheduler/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-db-scheduler
jooby-db-scheduler
diff --git a/modules/jooby-distribution/pom.xml b/modules/jooby-distribution/pom.xml
index 6b8031e1cf..5df538d94c 100644
--- a/modules/jooby-distribution/pom.xml
+++ b/modules/jooby-distribution/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-distribution
jooby-distribution
diff --git a/modules/jooby-ebean/pom.xml b/modules/jooby-ebean/pom.xml
index 78edb85019..9164bfc626 100644
--- a/modules/jooby-ebean/pom.xml
+++ b/modules/jooby-ebean/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-ebean
jooby-ebean
diff --git a/modules/jooby-flyway/pom.xml b/modules/jooby-flyway/pom.xml
index 43802925e0..62d9ee071f 100644
--- a/modules/jooby-flyway/pom.xml
+++ b/modules/jooby-flyway/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-flyway
jooby-flyway
diff --git a/modules/jooby-freemarker/pom.xml b/modules/jooby-freemarker/pom.xml
index 5ffcf45982..85665ccefc 100644
--- a/modules/jooby-freemarker/pom.xml
+++ b/modules/jooby-freemarker/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-freemarker
jooby-freemarker
diff --git a/modules/jooby-gradle-setup/pom.xml b/modules/jooby-gradle-setup/pom.xml
index a4b6e25a1c..65a81886c4 100644
--- a/modules/jooby-gradle-setup/pom.xml
+++ b/modules/jooby-gradle-setup/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-gradle-setup
jooby-gradle-setup
diff --git a/modules/jooby-graphiql/pom.xml b/modules/jooby-graphiql/pom.xml
index 840c9835cc..f63b210d8a 100644
--- a/modules/jooby-graphiql/pom.xml
+++ b/modules/jooby-graphiql/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-graphiql
jooby-graphiql
diff --git a/modules/jooby-graphql/pom.xml b/modules/jooby-graphql/pom.xml
index 177c3e2468..5f8dfcf2d0 100644
--- a/modules/jooby-graphql/pom.xml
+++ b/modules/jooby-graphql/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-graphql
jooby-graphql
diff --git a/modules/jooby-gson/pom.xml b/modules/jooby-gson/pom.xml
index 2eaa3401d3..7222ea2063 100644
--- a/modules/jooby-gson/pom.xml
+++ b/modules/jooby-gson/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-gson
jooby-gson
diff --git a/modules/jooby-guice/pom.xml b/modules/jooby-guice/pom.xml
index a5ede3a5d0..03e3d75b05 100644
--- a/modules/jooby-guice/pom.xml
+++ b/modules/jooby-guice/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-guice
jooby-guice
diff --git a/modules/jooby-handlebars/pom.xml b/modules/jooby-handlebars/pom.xml
index 623d366580..10aa82d115 100644
--- a/modules/jooby-handlebars/pom.xml
+++ b/modules/jooby-handlebars/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-handlebars
jooby-handlebars
diff --git a/modules/jooby-hibernate-validator/pom.xml b/modules/jooby-hibernate-validator/pom.xml
index 29faa5af1d..a058400ca5 100644
--- a/modules/jooby-hibernate-validator/pom.xml
+++ b/modules/jooby-hibernate-validator/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-hibernate-validator
jooby-hibernate-validator
diff --git a/modules/jooby-hibernate/pom.xml b/modules/jooby-hibernate/pom.xml
index ade04c7576..c19219650d 100644
--- a/modules/jooby-hibernate/pom.xml
+++ b/modules/jooby-hibernate/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-hibernate
jooby-hibernate
diff --git a/modules/jooby-hikari/pom.xml b/modules/jooby-hikari/pom.xml
index c4de2fe539..e9fdd67e78 100644
--- a/modules/jooby-hikari/pom.xml
+++ b/modules/jooby-hikari/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-hikari
jooby-hikari
diff --git a/modules/jooby-jackson/pom.xml b/modules/jooby-jackson/pom.xml
index 8fd7305538..20417ed0aa 100644
--- a/modules/jooby-jackson/pom.xml
+++ b/modules/jooby-jackson/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-jackson
jooby-jackson
diff --git a/modules/jooby-jasypt/pom.xml b/modules/jooby-jasypt/pom.xml
index 861aa074c9..ff0c21fbdb 100644
--- a/modules/jooby-jasypt/pom.xml
+++ b/modules/jooby-jasypt/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-jasypt
jooby-jasypt
diff --git a/modules/jooby-jdbi/pom.xml b/modules/jooby-jdbi/pom.xml
index 2e0c1f74f9..fe3d6ca4a5 100644
--- a/modules/jooby-jdbi/pom.xml
+++ b/modules/jooby-jdbi/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-jdbi
jooby-jdbi
diff --git a/modules/jooby-jetty/pom.xml b/modules/jooby-jetty/pom.xml
index c58f318289..623bf06fae 100644
--- a/modules/jooby-jetty/pom.xml
+++ b/modules/jooby-jetty/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-jetty
jooby-jetty
diff --git a/modules/jooby-jstachio/pom.xml b/modules/jooby-jstachio/pom.xml
index 97f81a7d91..957912ed4b 100644
--- a/modules/jooby-jstachio/pom.xml
+++ b/modules/jooby-jstachio/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-jstachio
jooby-jstachio
diff --git a/modules/jooby-jte/pom.xml b/modules/jooby-jte/pom.xml
index 67359eb05e..3ae7a876ab 100644
--- a/modules/jooby-jte/pom.xml
+++ b/modules/jooby-jte/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-jte
jooby-jte
diff --git a/modules/jooby-jwt/pom.xml b/modules/jooby-jwt/pom.xml
index ce2c1cc001..6fba8d152d 100644
--- a/modules/jooby-jwt/pom.xml
+++ b/modules/jooby-jwt/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-jwt
jooby-jwt
diff --git a/modules/jooby-kafka/pom.xml b/modules/jooby-kafka/pom.xml
index 1d11efd5ec..07850eb984 100644
--- a/modules/jooby-kafka/pom.xml
+++ b/modules/jooby-kafka/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-kafka
jooby-kafka
diff --git a/modules/jooby-kotlin/pom.xml b/modules/jooby-kotlin/pom.xml
index 38df42ad05..e730e4978b 100644
--- a/modules/jooby-kotlin/pom.xml
+++ b/modules/jooby-kotlin/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-kotlin
jooby-kotlin
diff --git a/modules/jooby-log4j/pom.xml b/modules/jooby-log4j/pom.xml
index d6e78fe02e..95f122a1bd 100644
--- a/modules/jooby-log4j/pom.xml
+++ b/modules/jooby-log4j/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-log4j
jooby-log4j
diff --git a/modules/jooby-logback/pom.xml b/modules/jooby-logback/pom.xml
index 1866f47f68..8e0ba5c593 100644
--- a/modules/jooby-logback/pom.xml
+++ b/modules/jooby-logback/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-logback
jooby-logback
diff --git a/modules/jooby-maven-plugin/pom.xml b/modules/jooby-maven-plugin/pom.xml
index 51aa522658..90d0c9bc8b 100644
--- a/modules/jooby-maven-plugin/pom.xml
+++ b/modules/jooby-maven-plugin/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-maven-plugin
jooby-maven-plugin
diff --git a/modules/jooby-metrics/pom.xml b/modules/jooby-metrics/pom.xml
index 9cd1f36146..175f9d7bc8 100644
--- a/modules/jooby-metrics/pom.xml
+++ b/modules/jooby-metrics/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-metrics
jooby-metrics
diff --git a/modules/jooby-mutiny/pom.xml b/modules/jooby-mutiny/pom.xml
index 9cec40670f..741f28e717 100644
--- a/modules/jooby-mutiny/pom.xml
+++ b/modules/jooby-mutiny/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-mutiny
jooby-mutiny
diff --git a/modules/jooby-netty/pom.xml b/modules/jooby-netty/pom.xml
index 338a24311c..ab4b851c9c 100644
--- a/modules/jooby-netty/pom.xml
+++ b/modules/jooby-netty/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-netty
jooby-netty
diff --git a/modules/jooby-openapi/pom.xml b/modules/jooby-openapi/pom.xml
index ea7dd625f5..de9cfade27 100644
--- a/modules/jooby-openapi/pom.xml
+++ b/modules/jooby-openapi/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-openapi
jooby-openapi
diff --git a/modules/jooby-pac4j/pom.xml b/modules/jooby-pac4j/pom.xml
index 57e54975fd..43dceaa20e 100644
--- a/modules/jooby-pac4j/pom.xml
+++ b/modules/jooby-pac4j/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-pac4j
jooby-pac4j
diff --git a/modules/jooby-pebble/pom.xml b/modules/jooby-pebble/pom.xml
index f4969d7441..a75acdedc2 100644
--- a/modules/jooby-pebble/pom.xml
+++ b/modules/jooby-pebble/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-pebble
jooby-pebble
diff --git a/modules/jooby-pebble/src/main/java/io/jooby/pebble/PebbleModule.java b/modules/jooby-pebble/src/main/java/io/jooby/pebble/PebbleModule.java
index c497c70ed0..33eadae574 100644
--- a/modules/jooby-pebble/src/main/java/io/jooby/pebble/PebbleModule.java
+++ b/modules/jooby-pebble/src/main/java/io/jooby/pebble/PebbleModule.java
@@ -235,10 +235,9 @@ DelegatingLoader getDefaultLoader(String templatesPath, String extension) {
cLoader.setSuffix(extension);
loaders.add(cLoader);
- FileLoader fLoader = new FileLoader();
Path dir = Paths.get(System.getProperty("user.dir"), templatesPath);
if (Files.exists(dir)) {
- fLoader.setPrefix(dir.normalize().toString());
+ FileLoader fLoader = new FileLoader(dir.normalize().toString());
fLoader.setSuffix(extension);
loaders.add(fLoader);
}
diff --git a/modules/jooby-quartz/pom.xml b/modules/jooby-quartz/pom.xml
index 637dbabd7c..1a07772371 100644
--- a/modules/jooby-quartz/pom.xml
+++ b/modules/jooby-quartz/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-quartz
jooby-quartz
diff --git a/modules/jooby-reactor/pom.xml b/modules/jooby-reactor/pom.xml
index b55a4533e0..58b7bbb7e2 100644
--- a/modules/jooby-reactor/pom.xml
+++ b/modules/jooby-reactor/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-reactor
jooby-reactor
diff --git a/modules/jooby-redis/pom.xml b/modules/jooby-redis/pom.xml
index 22d7b6b3b9..82ea9572bd 100644
--- a/modules/jooby-redis/pom.xml
+++ b/modules/jooby-redis/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-redis
jooby-redis
diff --git a/modules/jooby-redoc/pom.xml b/modules/jooby-redoc/pom.xml
index 5dc8f92f02..d3b35d813a 100644
--- a/modules/jooby-redoc/pom.xml
+++ b/modules/jooby-redoc/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-redoc
jooby-redoc
diff --git a/modules/jooby-rocker/pom.xml b/modules/jooby-rocker/pom.xml
index 7e473138a8..f65d61b44d 100644
--- a/modules/jooby-rocker/pom.xml
+++ b/modules/jooby-rocker/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-rocker
jooby-rocker
diff --git a/modules/jooby-run/pom.xml b/modules/jooby-run/pom.xml
index d5da81db7f..cad5c4034a 100644
--- a/modules/jooby-run/pom.xml
+++ b/modules/jooby-run/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-run
jooby-run
diff --git a/modules/jooby-rxjava3/pom.xml b/modules/jooby-rxjava3/pom.xml
index 9394ba6e85..d3af11d1a0 100644
--- a/modules/jooby-rxjava3/pom.xml
+++ b/modules/jooby-rxjava3/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-rxjava3
jooby-rxjava3
diff --git a/modules/jooby-stork/pom.xml b/modules/jooby-stork/pom.xml
index c27d00637d..0f238487e6 100644
--- a/modules/jooby-stork/pom.xml
+++ b/modules/jooby-stork/pom.xml
@@ -4,7 +4,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-stork
diff --git a/modules/jooby-swagger-ui/pom.xml b/modules/jooby-swagger-ui/pom.xml
index 8c305c6ffa..793ccdca7d 100644
--- a/modules/jooby-swagger-ui/pom.xml
+++ b/modules/jooby-swagger-ui/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-swagger-ui
jooby-swagger-ui
diff --git a/modules/jooby-test/pom.xml b/modules/jooby-test/pom.xml
index 9ae4eafc41..3dd3c60380 100644
--- a/modules/jooby-test/pom.xml
+++ b/modules/jooby-test/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-test
jooby-test
diff --git a/modules/jooby-thymeleaf/pom.xml b/modules/jooby-thymeleaf/pom.xml
index 2100f2937d..8608237923 100644
--- a/modules/jooby-thymeleaf/pom.xml
+++ b/modules/jooby-thymeleaf/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-thymeleaf
jooby-thymeleaf
diff --git a/modules/jooby-undertow/pom.xml b/modules/jooby-undertow/pom.xml
index a635673204..2876d2eb13 100644
--- a/modules/jooby-undertow/pom.xml
+++ b/modules/jooby-undertow/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-undertow
jooby-undertow
diff --git a/modules/jooby-whoops/pom.xml b/modules/jooby-whoops/pom.xml
index 2ef9f6dec4..cb89e12017 100644
--- a/modules/jooby-whoops/pom.xml
+++ b/modules/jooby-whoops/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-whoops
jooby-whoops
diff --git a/modules/jooby-yasson/pom.xml b/modules/jooby-yasson/pom.xml
index 370c7c5f28..e494cf26c9 100644
--- a/modules/jooby-yasson/pom.xml
+++ b/modules/jooby-yasson/pom.xml
@@ -6,7 +6,7 @@
io.jooby
modules
- 3.11.7
+ 3.11.8
jooby-yasson
jooby-yasson
diff --git a/modules/pom.xml b/modules/pom.xml
index abc2bf2947..0d60a81e6a 100644
--- a/modules/pom.xml
+++ b/modules/pom.xml
@@ -4,7 +4,7 @@
io.jooby
jooby-project
- 3.11.7
+ 3.11.8
modules
diff --git a/pom.xml b/pom.xml
index ad2ea48623..7f6f95e065 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
io.jooby
jooby-project
- 3.11.7
+ 3.11.8
pom
jooby-project
@@ -58,15 +58,15 @@
2.3.34
- 4.5.0
+ 4.5.1
1.3.7
- 3.2.4
- 2.21.1
- 2.13.2
+ 4.1.1
+ 2.21.3
+ 2.14.0
3.0.1
3.0.4
- 2.2.1
- 3.1.3.RELEASE
+ 2.4.0
+ 3.1.5.RELEASE
3.2.1
@@ -74,15 +74,15 @@
1.2
6.6.33.Final
15.11.0
- 3.51.0
+ 3.53.0
11.15.0
24.1
6.7.1.RELEASE
- 2.12.1
- 4.1.0
- 3.2.3
+ 2.13.1
+ 4.2.0
+ 3.2.4
- 1.4.6
+ 1.4.8
7.0.0
@@ -99,19 +99,19 @@
4.2.38
- 2.2.0.Final
+ 2.3.0
9.9.1
- 2.3.23.Final
- 12.1.7
- 4.2.10.Final
+ 2.4.0.Final
+ 12.1.9
+ 4.2.13.Final
- 2.2.45
- 2.1.39
+ 2.2.49
+ 2.1.41
2.0.0-rc.20
@@ -131,15 +131,15 @@
5.3.2
0.13.0
- 6.3.3
- 2.5.1
+ 6.5.0
+ 2.5.2
9.2.1
8.0.1
1.12.797
- 4.15.0
+ 4.20.0
1.9.3
- 2.21.0
+ 2.22.0
2.2.0
@@ -151,7 +151,7 @@
6.0.0
5.5.6
3.27.3
- 5.20.0
+ 5.23.0
33.5.0-jre
0.23.0
@@ -186,10 +186,10 @@
3.3.1
3.5.3
2.3.1
- 4.0.2
+ 4.0.3
3.2.0
2.18.0
- 3.5.1
+ 3.6.3
3.1.2
1.15.1
v20.11.0
@@ -207,7 +207,7 @@
false
yyyy-MM-dd HH:mm:ssa
- 2026-03-10T16:43:31Z
+ 2026-05-11T21:35:49Z
UTF-8
etc${file.separator}source${file.separator}formatter.sh
@@ -1339,7 +1339,7 @@
org.apache.ant
ant
- 1.10.15
+ 1.10.17
diff --git a/tests/pom.xml b/tests/pom.xml
index 2dd0bb8224..bbcd868578 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -6,7 +6,7 @@
io.jooby
jooby-project
- 3.11.7
+ 3.11.8
tests
tests
diff --git a/tests/src/test/java/io/jooby/i2525/Issue2525.java b/tests/src/test/java/io/jooby/i2525/Issue2525.java
index 243a6a1a0c..78706b37cd 100644
--- a/tests/src/test/java/io/jooby/i2525/Issue2525.java
+++ b/tests/src/test/java/io/jooby/i2525/Issue2525.java
@@ -7,6 +7,8 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
+import java.util.Map;
+
import io.jooby.jackson.JacksonModule;
import io.jooby.junit.ServerTest;
import io.jooby.junit.ServerTestRunner;
@@ -36,8 +38,16 @@ public void shouldHandleMultipleAcceptHeaders(ServerTestRunner runner) {
rsp -> {
assertEquals("[]", rsp.body().string());
});
+ Map queryParams =
+ Map.of(
+ "foo[0][a]", 10,
+ "foo[0][b]", 20,
+ "foo[1][a]", 30,
+ "foo[1][b]", 40,
+ "something", "else");
http.get(
- "/2525?foo[0][a]=10&foo[0][b]=20&foo[1][a]=30&foo[1][b]=40&something=else",
+ "/2525",
+ queryParams,
rsp -> {
assertEquals("[{\"a\":10,\"b\":20},{\"a\":30,\"b\":40}]", rsp.body().string());
});
diff --git a/tests/src/test/java/io/jooby/test/WebClient.java b/tests/src/test/java/io/jooby/test/WebClient.java
index 93607e41ed..2993ab4c28 100644
--- a/tests/src/test/java/io/jooby/test/WebClient.java
+++ b/tests/src/test/java/io/jooby/test/WebClient.java
@@ -5,6 +5,8 @@
*/
package io.jooby.test;
+import static okhttp3.RequestBody.create;
+
import java.io.IOException;
import java.net.SocketTimeoutException;
import java.nio.charset.StandardCharsets;
@@ -14,6 +16,7 @@
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.BiConsumer;
@@ -23,20 +26,13 @@
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
-import edu.umd.cs.findbugs.annotations.NonNull;
import io.jooby.Server;
import io.jooby.ServerSentMessage;
import io.jooby.SneakyThrows;
import io.jooby.WebSocketCloseStatus;
-import okhttp3.Headers;
-import okhttp3.OkHttpClient;
-import okhttp3.RequestBody;
-import okhttp3.Response;
-import okhttp3.WebSocket;
-import okhttp3.WebSocketListener;
+import okhttp3.*;
import okhttp3.sse.EventSource;
import okhttp3.sse.EventSourceListener;
import okhttp3.sse.EventSources;
@@ -59,18 +55,17 @@ public SyncWebSocketListener(String testName) {
}
@Override
- public void onOpen(@NotNull WebSocket webSocket, @NotNull Response response) {
+ public void onOpen(WebSocket webSocket, Response response) {
opened.countDown();
}
@Override
- public void onClosed(@NotNull WebSocket webSocket, int code, @NotNull String reason) {
+ public void onClosed(WebSocket webSocket, int code, String reason) {
closed.set(true);
}
@Override
- public void onFailure(
- @NotNull WebSocket webSocket, @NotNull Throwable e, @Nullable Response response) {
+ public void onFailure(WebSocket webSocket, Throwable e, @Nullable Response response) {
if (!Server.connectionLost(e)) {
System.err.println("Unexpected web socket error: " + testName);
e.printStackTrace();
@@ -78,12 +73,12 @@ public void onFailure(
}
@Override
- public void onMessage(@NotNull WebSocket webSocket, @NotNull String text) {
+ public void onMessage(WebSocket webSocket, String text) {
messages.offer(text);
}
@Override
- public void onMessage(@NonNull WebSocket webSocket, @NonNull ByteString bytes) {
+ public void onMessage(WebSocket webSocket, ByteString bytes) {
messages.offer(new String(bytes.toByteArray(), StandardCharsets.UTF_8));
}
@@ -96,7 +91,7 @@ public String lastMessage() {
}
@Override
- public void onClosing(@NotNull WebSocket webSocket, int code, @NotNull String reason) {
+ public void onClosing(WebSocket webSocket, int code, String reason) {
super.onClosing(webSocket, code, reason);
}
}
@@ -232,10 +227,16 @@ public Request invoke(String method, String path) {
}
public Request invoke(String method, String path, RequestBody body) {
- okhttp3.Request.Builder req = new okhttp3.Request.Builder();
+ return invoke(method, path, Map.of(), body);
+ }
+
+ public Request invoke(String method, String path, Map query, RequestBody body) {
+ var req = new okhttp3.Request.Builder();
req.method(method, body);
setRequestHeaders(req);
- req.url(scheme + "://localhost:" + port + path);
+ var url = HttpUrl.parse(scheme + "://localhost:" + port + path).newBuilder();
+ query.forEach((name, value) -> url.addQueryParameter(name, value.toString()));
+ req.url(url.build());
return new Request(req);
}
@@ -252,7 +253,11 @@ private void setRequestHeaders(okhttp3.Request.Builder req) {
}
public Request get(String path) {
- return invoke("GET", path, null);
+ return get(path, Map.of());
+ }
+
+ public Request get(String path, Map query) {
+ return invoke("GET", path, query, null);
}
public ServerSentMessageIterator sse(String path) {
@@ -266,16 +271,16 @@ public ServerSentMessageIterator sse(String path) {
req.build(),
new EventSourceListener() {
@Override
- public void onClosed(@NotNull EventSource eventSource) {
+ public void onClosed(EventSource eventSource) {
eventSource.cancel();
}
@Override
public void onEvent(
- @NotNull EventSource eventSource,
+ EventSource eventSource,
@Nullable String id,
@Nullable String type,
- @NotNull String data) {
+ String data) {
// retry is not part of public API
ServerSentMessage message = new ServerSentMessage(data).setId(id).setEvent(type);
messages.offer(message);
@@ -283,14 +288,12 @@ public void onEvent(
@Override
public void onFailure(
- @NotNull EventSource eventSource,
- @Nullable Throwable t,
- @Nullable Response response) {
+ EventSource eventSource, @Nullable Throwable t, @Nullable Response response) {
super.onFailure(eventSource, t, response);
}
@Override
- public void onOpen(@NotNull EventSource eventSource, @NotNull Response response) {
+ public void onOpen(EventSource eventSource, Response response) {
super.onOpen(eventSource, response);
}
});
@@ -301,6 +304,11 @@ public void get(String path, SneakyThrows.Consumer callback) {
get(path).execute(callback);
}
+ public void get(
+ String path, Map query, SneakyThrows.Consumer callback) {
+ get(path, query).execute(callback);
+ }
+
public void syncWebSocket(String path, SneakyThrows.Consumer consumer) {
okhttp3.Request.Builder req = new okhttp3.Request.Builder();
req.url("ws://localhost:" + port + path);
@@ -318,6 +326,14 @@ public void syncWebSocket(String path, SneakyThrows.Consumer
blockingWebSocket.close();
}
+ public WebSocket webSocket(String path, WebSocketListener listener) {
+ okhttp3.Request.Builder req = new okhttp3.Request.Builder();
+ req.url("ws://localhost:" + port + path);
+ setRequestHeaders(req);
+ okhttp3.Request r = req.build();
+ return client.newWebSocket(r, listener);
+ }
+
public Request options(String path) {
return invoke("OPTIONS", path, null);
}
@@ -358,6 +374,10 @@ public void post(String path, RequestBody form, SneakyThrows.Consumer
post(path, form).execute(callback);
}
+ public void postJson(String path, String json, SneakyThrows.Consumer callback) {
+ post(path, create(json, MediaType.parse("application/json"))).execute(callback);
+ }
+
public Request put(String path) {
return invoke("put", path, EMPTY_BODY);
}