From d82176d78bf0ad4431622a11f7c186ed9a21342f Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 10 Dec 2021 06:30:01 +0100 Subject: [PATCH 1/8] spring-beans, spring-context, ... 5.3.13 (was 5.3.12) (cherry picked from commit e7c1abd32355b74f53e0bec6efe65c15caa60f2b) # Conflicts: # project/Dependencies.scala --- project/Dependencies.scala | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 7bdd4ef7370..a922b2f083e 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -96,7 +96,11 @@ object Dependencies { case _ => Nil } +<<<<<<< HEAD val springFrameworkVersion = "5.2.13.RELEASE" +======= + val springFrameworkVersion = "5.3.13" +>>>>>>> e7c1abd323 (spring-beans, spring-context, ... 5.3.13 (was 5.3.12)) def javaDeps(scalaVersion: String) = Seq( From a1e87bccb18bd9fb9c73a9612a63cd4006ed7cae Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Tue, 28 Dec 2021 22:32:46 +0100 Subject: [PATCH 2/8] Update dependencies (cherry picked from commit 5a4aeb0ea1650f910075242e5d67344b6385058d) # Conflicts: # documentation/manual/working/commonGuide/build/code/dependencies.sbt # documentation/manual/working/javaGuide/main/sql/code/jpa.sbt # project/Dependencies.scala --- .../commonGuide/build/code/dependencies.sbt | 5 ++++ .../working/javaGuide/main/sql/code/jpa.sbt | 4 +++ project/Dependencies.scala | 28 +++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/documentation/manual/working/commonGuide/build/code/dependencies.sbt b/documentation/manual/working/commonGuide/build/code/dependencies.sbt index ab6259f01ac..7b15ec1e754 100644 --- a/documentation/manual/working/commonGuide/build/code/dependencies.sbt +++ b/documentation/manual/working/commonGuide/build/code/dependencies.sbt @@ -12,8 +12,13 @@ libraryDependencies += "org.apache.derby" % "derby" % "10.13.1.1" % "test" //#multi-deps libraryDependencies ++= Seq( +<<<<<<< HEAD "org.apache.derby" % "derby" % "10.13.1.1", "org.hibernate" % "hibernate-core" % "5.4.30.Final" +======= + "org.apache.derby" % "derby" % "10.14.2.0", + "org.hibernate" % "hibernate-core" % "5.4.32.Final" +>>>>>>> 5a4aeb0ea1 (Update dependencies) ) //#multi-deps diff --git a/documentation/manual/working/javaGuide/main/sql/code/jpa.sbt b/documentation/manual/working/javaGuide/main/sql/code/jpa.sbt index 6109bc6fef2..bbceb76da1a 100644 --- a/documentation/manual/working/javaGuide/main/sql/code/jpa.sbt +++ b/documentation/manual/working/javaGuide/main/sql/code/jpa.sbt @@ -5,7 +5,11 @@ //#jpa-sbt-dependencies libraryDependencies ++= Seq( javaJpa, +<<<<<<< HEAD "org.hibernate" % "hibernate-core" % "5.4.30.Final" // replace by your jpa implementation +======= + "org.hibernate" % "hibernate-core" % "5.4.32.Final" // replace by your jpa implementation +>>>>>>> 5a4aeb0ea1 (Update dependencies) ) //#jpa-sbt-dependencies diff --git a/project/Dependencies.scala b/project/Dependencies.scala index a922b2f083e..0e80efc70fe 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -14,7 +14,11 @@ object Dependencies { val playJsonVersion = "2.8.2" +<<<<<<< HEAD val logback = "ch.qos.logback" % "logback-classic" % "1.2.3" +======= + val logback = "ch.qos.logback" % "logback-classic" % "1.2.10" +>>>>>>> 5a4aeb0ea1 (Update dependencies) val specs2Version = "4.8.3" val specs2Deps = Seq( @@ -55,7 +59,11 @@ object Dependencies { val guava = "com.google.guava" % "guava" % "30.1.1-jre" val findBugs = "com.google.code.findbugs" % "jsr305" % "3.0.2" // Needed by guava +<<<<<<< HEAD val mockitoAll = "org.mockito" % "mockito-core" % "3.2.4" +======= + val mockitoAll = "org.mockito" % "mockito-core" % "4.2.0" +>>>>>>> 5a4aeb0ea1 (Update dependencies) val h2database = "com.h2database" % "h2" % "1.4.200" val derbyDatabase = "org.apache.derby" % "derby" % "10.13.1.1" @@ -82,7 +90,11 @@ object Dependencies { val jpaDeps = Seq( "org.hibernate.javax.persistence" % "hibernate-jpa-2.1-api" % "1.0.2.Final", +<<<<<<< HEAD "org.hibernate" % "hibernate-core" % "5.4.30.Final" % "test" +======= + "org.hibernate" % "hibernate-core" % "5.4.32.Final" % "test" +>>>>>>> 5a4aeb0ea1 (Update dependencies) ) def scalaReflect(scalaVersion: String) = "org.scala-lang" % "scala-reflect" % scalaVersion % "provided" @@ -166,7 +178,11 @@ object Dependencies { sslConfig ) ++ scalaParserCombinators(scalaVersion) ++ specs2Deps.map(_ % Test) ++ javaTestDeps +<<<<<<< HEAD val nettyVersion = "4.1.63.Final" +======= + val nettyVersion = "4.1.72.Final" +>>>>>>> 5a4aeb0ea1 (Update dependencies) val netty = Seq( "com.typesafe.netty" % "netty-reactive-streams-http" % "2.0.5", @@ -177,7 +193,11 @@ object Dependencies { val jimfs = "com.google.jimfs" % "jimfs" % "1.1" +<<<<<<< HEAD val okHttp = "com.squareup.okhttp3" % "okhttp" % "4.2.2" +======= + val okHttp = "com.squareup.okhttp3" % "okhttp" % "4.9.3" +>>>>>>> 5a4aeb0ea1 (Update dependencies) def routesCompilerDependencies(scalaVersion: String) = { val deps = CrossVersion.partialVersion(scalaVersion) match { @@ -265,7 +285,11 @@ object Dependencies { // slowing down the build. So the open range deps were removed and we can re-add // them using a specific version. Using an open range is also not good for the // local cache. +<<<<<<< HEAD ("org.seleniumhq.selenium" % "htmlunit-driver" % "2.36.0").excludeAll( +======= + ("org.seleniumhq.selenium" % "htmlunit-driver" % "2.56.0").excludeAll( +>>>>>>> 5a4aeb0ea1 (Update dependencies) ExclusionRule("org.seleniumhq.selenium", "selenium-api"), ExclusionRule("org.seleniumhq.selenium", "selenium-support") ), @@ -286,7 +310,11 @@ object Dependencies { "org.ehcache" % "jcache" % "1.0.1" ) ++ jcacheApi +<<<<<<< HEAD val caffeineVersion = "2.8.8" +======= + val caffeineVersion = "2.9.3" +>>>>>>> 5a4aeb0ea1 (Update dependencies) val playCaffeineDeps = Seq( "com.github.ben-manes.caffeine" % "caffeine" % caffeineVersion, "com.github.ben-manes.caffeine" % "jcache" % caffeineVersion From 077740aecb62103f703631e006294f0974cbae4e Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Tue, 28 Dec 2021 22:36:27 +0100 Subject: [PATCH 3/8] Bump scala/sbt (cherry picked from commit ac50a6e0da2f08133c27a1f8be0ee518ea9a50b3) # Conflicts: # .travis.yml # documentation/build.sbt # documentation/manual/hacking/Translations.md # documentation/manual/releases/release29/migration29/Migration29.md # documentation/project/build.properties # project/build.properties --- .travis.yml | 5 + documentation/build.sbt | 5 + .../manual/hacking/BuildingFromSource.md | 2 +- documentation/manual/hacking/Translations.md | 4 + .../manual/releases/release26/Highlights26.md | 4 +- .../manual/releases/release27/Highlights27.md | 4 +- .../release28/migration28/Migration28.md | 4 +- .../release29/migration29/Migration29.md | 130 ++++++++++++++++++ .../commonGuide/build/sbtDependencies.md | 2 +- documentation/project/build.properties | 4 + project/build.properties | 4 + 11 files changed, 160 insertions(+), 8 deletions(-) create mode 100644 documentation/manual/releases/release29/migration29/Migration29.md diff --git a/.travis.yml b/.travis.yml index 2851bc723e8..90a044e4d9c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,10 +11,15 @@ env: global: - secure: "NS2hMbBcmi6EF4QxtcNs4A2ZuNmIdLYQRJUWWejgnD4YtcsmoVjxrHRedqrnDdui4DyvaxWhg/3Uds23jEKTSbbh3ZphLO77BVgM2nUGUvVoa4i6qGF2eZFlIhq2G1gM700GPV7X4KmyjYi2HtH8CWBTkqP3g0An63mCZw/Gnlk=" # These are the versions used for (scripted) tests. The versions Play is build with however are defined in interplay. +<<<<<<< HEAD - SCRIPTED_SBT_1_3: "1.3.13" - SCRIPTED_SBT_1_5: "1.5.5" - TEST_SCALA_2_12: "2.12.14" - TEST_SCALA_2_13: "2.13.6" +======= + - SCRIPTED_SBT_1_5: "1.5.8" + - TEST_SCALA_2_13: "2.13.7" +>>>>>>> ac50a6e0da (Bump scala/sbt) jobs: - TRAVIS_JDK=8 diff --git a/documentation/build.sbt b/documentation/build.sbt index ed5c82bd14c..ef614eb8691 100644 --- a/documentation/build.sbt +++ b/documentation/build.sbt @@ -77,8 +77,13 @@ lazy val main = Project("Play-Documentation", file(".")) unmanagedResourceDirectories in Test ++= (baseDirectory.value / "manual" / "detailedTopics" ** "code").get, // Don't include sbt files in the resources excludeFilter in (Test, unmanagedResources) := (excludeFilter in (Test, unmanagedResources)).value || "*.sbt", +<<<<<<< HEAD crossScalaVersions := Seq("2.13.6", "2.12.14"), scalaVersion := "2.13.6", +======= + crossScalaVersions := Seq("2.13.7"), + scalaVersion := "2.13.7", +>>>>>>> ac50a6e0da (Bump scala/sbt) fork in Test := true, javaOptions in Test ++= Seq("-Xmx512m", "-Xms128m"), headerLicense := Some(HeaderLicense.Custom("Copyright (C) Lightbend Inc. ")), diff --git a/documentation/manual/hacking/BuildingFromSource.md b/documentation/manual/hacking/BuildingFromSource.md index 451dfc30400..c656fe11662 100644 --- a/documentation/manual/hacking/BuildingFromSource.md +++ b/documentation/manual/hacking/BuildingFromSource.md @@ -38,7 +38,7 @@ This will build and publish Play for the default Scala version. If you want to p Or to publish for a specific Scala version: ```bash -> ++ 2.13.6 publishLocal +> ++ 2.13.7 publishLocal ``` ## Build the documentation diff --git a/documentation/manual/hacking/Translations.md b/documentation/manual/hacking/Translations.md index 6d8f19ae2f1..cd29c8814f7 100644 --- a/documentation/manual/hacking/Translations.md +++ b/documentation/manual/hacking/Translations.md @@ -39,7 +39,11 @@ translation-project `build.properties` should contain the sbt version, ie: ``` +<<<<<<< HEAD sbt.version=0.13.16 +======= +sbt.version=1.5.8 +>>>>>>> ac50a6e0da (Bump scala/sbt) ``` `plugins.sbt` should include the Play docs sbt plugin, ie: diff --git a/documentation/manual/releases/release26/Highlights26.md b/documentation/manual/releases/release26/Highlights26.md index 79665ee36f4..3a2fc7d4611 100644 --- a/documentation/manual/releases/release26/Highlights26.md +++ b/documentation/manual/releases/release26/Highlights26.md @@ -12,7 +12,7 @@ You can select which version of Scala you would like to use by setting the `scal For Scala 2.12: ```scala -scalaVersion := "2.12.14" +scalaVersion := "2.12.15" ``` For Scala 2.11: @@ -30,7 +30,7 @@ lazy val root = (project in file(".")) .enablePlugins(PlayService) .enablePlugins(RoutesCompiler) // place routes in src/main/resources, or remove if using SIRD/RoutingDsl .settings( - scalaVersion := "2.12.14", + scalaVersion := "2.12.15", libraryDependencies ++= Seq( guice, // remove if not using Play's Guice loader akkaHttpServer, // or use nettyServer for Netty diff --git a/documentation/manual/releases/release27/Highlights27.md b/documentation/manual/releases/release27/Highlights27.md index 65c41c676da..a52fc92da88 100644 --- a/documentation/manual/releases/release27/Highlights27.md +++ b/documentation/manual/releases/release27/Highlights27.md @@ -12,7 +12,7 @@ You can select which version of Scala you would like to use by setting the `scal For Scala 2.12: ```scala -scalaVersion := "2.12.14" +scalaVersion := "2.12.15" ``` For Scala 2.11: @@ -24,7 +24,7 @@ scalaVersion := "2.11.12" For Scala 2.13: ```scala -scalaVersion := "2.13.6" +scalaVersion := "2.13.7" ``` ## Lifecycle managed by Akka's Coordinated Shutdown diff --git a/documentation/manual/releases/release28/migration28/Migration28.md b/documentation/manual/releases/release28/migration28/Migration28.md index 561318fe670..2f1c07c8f44 100644 --- a/documentation/manual/releases/release28/migration28/Migration28.md +++ b/documentation/manual/releases/release28/migration28/Migration28.md @@ -47,14 +47,14 @@ Play 2.8 support Scala 2.12 and 2.13, but not 2.11, which has reached its end of To set the Scala version in sbt, simply set the `scalaVersion` key, for example: ```scala -scalaVersion := "2.13.6" +scalaVersion := "2.13.7" ``` If you have a single project build, then this setting can just be placed on its own line in `build.sbt`. However, if you have a multi-project build, then the scala version setting must be set on each project. Typically, in a multi-project build, you will have some common settings shared by every project, this is the best place to put the setting, for example: ```scala def commonSettings = Seq( - scalaVersion := "2.13.6" + scalaVersion := "2.13.7" ) val projectA = (project in file("projectA")) diff --git a/documentation/manual/releases/release29/migration29/Migration29.md b/documentation/manual/releases/release29/migration29/Migration29.md new file mode 100644 index 00000000000..5b0cc9fc734 --- /dev/null +++ b/documentation/manual/releases/release29/migration29/Migration29.md @@ -0,0 +1,130 @@ + + +# Play 2.9 Migration Guide + +This guide is for migrating from Play 2.8 to Play 2.9. See the [[Play 2.8 Migration Guide|Migration28]] to upgrade from Play 2.7. + +## How to migrate + +Before starting `sbt`, make sure to make the following upgrades. + +### Play update + +Update the Play version number in `project/plugins.sbt`: + +```scala +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.x") +``` + +Where the "x" in `2.9.x` is the minor version of Play you want to use, for instance `2.9.0`. + +### sbt upgrade + +Play 2.9 only supports sbt 1.5. To update, change your `project/build.properties` so that it reads: + +```properties +sbt.version=1.5.8 +``` + +At the time of this writing `1.5.8` is the latest version in the sbt 1.x family, you may be able to use newer versions too. Check the release notes for both Play's minor version [releases](https://github.com/playframework/playframework/releases) and sbt's [releases](https://github.com/sbt/sbt/releases) for details. + +### Minimum required Java version + +Play 2.9 requires at least [OpenJDK 8u252](https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-April/011566.html) (the equivalent Oracle version is named [8u251](https://www.oracle.com/technetwork/java/javase/8u251-relnotes-5972664.html)) because it removed the [Jetty ALPN Agent](https://github.com/jetty-project/jetty-alpn-agent), which, starting with those Java versions, is not strictly required anymore since the standard ALPN APIs have been [backported](https://mail.openjdk.java.net/pipermail/jdk8u-dev/2019-November/010573.html) from Java 9. +In case you passed a `-javaagent:jetty-alpn-agent-*.jar` flag to your Play application(s) (maybe via `SBT_OPTS` environment variable) you have to remove that flags now. + +## API Changes + +Play 2.9 contains multiple API changes. As usual, we follow our policy of deprecating existing APIs before removing them. This section details these changes. + +### Scala 2.12 support discontinued + +Play 2.9 supports Scala 2.13, but not 2.12 anymore. + +### Setting `scalaVersion` in your project + +**Both Scala and Java users** must configure sbt to use Scala 2.13. Even if you have no Scala code in your project, Play itself uses Scala and must be configured to use the right Scala libraries. + +To set the Scala version in sbt, simply set the `scalaVersion` key, for example: + +```scala +scalaVersion := "2.13.7" +``` + +If you have a single project build, then this setting can just be placed on its own line in `build.sbt`. However, if you have a multi-project build, then the scala version setting must be set on each project. Typically, in a multi-project build, you will have some common settings shared by every project, this is the best place to put the setting, for example: + +```scala +def commonSettings = Seq( + scalaVersion := "2.13.7" +) + +val projectA = (project in file("projectA")) + .enablePlugins(PlayJava) + .settings(commonSettings) + +val projectB = (project in file("projectB")) + .enablePlugins(PlayJava) + .settings(commonSettings) +``` + + +### Renaming towards more consistent methods name + +Some methods where renamed to enhance consistency accross different APIs, esspecialy methods for adding, removing and clearing data. +To enable a smooth migration, the older methods are now depreciated and will be removed in a future version. + +Methods renamed in trait [`play.api.i18n.MessagesApi`](api/scala/play/api/i18n/MessagesApi.html) + +| **Deprecated method** | **New method** +| ----------------------------------------------|------------------------------------------- +| `clearLang(result: Result)` | `withoutLang(result: Result)` + +Methods renamed in object [`play.api.mvc.Results`](api/scala/play/api/mvc/Results.html) + +| **Deprecated method** | **New method** +| ----------------------------------------------|------------------------------------------- +| `clearingLang(result: Result)` | `withoutLang(result: Result)` + + +### Deprecated APIs were removed + +Many APIs that were deprecated in earlier versions were removed in Play 2.9. If you are still using them we recommend migrating to the new APIs before upgrading to Play 2.9. Check the Javadocs and Scaladocs for migration notes. See also the [[migration guide for Play 2.8|Migration28]] for more information. + +### Changing CSP report types + +There has been some changes in CSP reports, according to [w3.org specification](https://www.w3.org/TR/CSP2/). Since Play 2.9 fields `lineNumber` and `columnNumber` are Longs. If your implementation bases on these fields being Strings, Play will fallback to parsing them from String to Long and throw an error only if parsing fails. It is however encouraged to use number types, not Strings, as this may be changed when CSP3 comes out. + +## Configuration changes + +This section lists changes and deprecations in configurations. + +### Application Secret enforces a minimum length + +The [[application secret|ApplicationSecret]] configuration `play.http.secret.key` is checked for a minimum length in all modes now (prod, dev and test). If that minimum length isn't met, then an error is thrown and the configuration is invalid, causing the application not to start. + +The minimum length depends on the algorithm used to sign the session or flash cookie, which can be set via the config keys `play.http.session.jwt.signatureAlgorithm` and `play.http.flash.jwt.signatureAlgorithm`. By default the algorithm for both configs is `HS256` which requires the secret to contain at least 256 bits / 32 bytes. When choosing `HS384`, the minimums size is 384 bits / 48 bytes, for `HS512` it's 512 bits / 64 bytes. + +The error that gets thrown contains all the information you need to resolve the problem: +``` +Configuration error [ + The application secret is too short and does not have the recommended amount of entropy for algorithm HS256 defined at play.http.session.jwt.signatureAlgorithm. + Current application secret bits: 248, minimal required bits for algorithm HS256: 256. + To set the application secret, please read https://playframework.com/documentation/latest/ApplicationSecret +] +``` + +You can resolve such an error by setting the secret to contain the required amount of bits / bytes, like in this example at least 32 bytes of completely random input, such as `head -c 32 /dev/urandom | base64` or by the application secret generator, using `playGenerateSecret` or `playUpdateSecret`. + +## Defaults changes + +Some default values used by Play had changed and that can have an impact on your application. This section details the default changes. + +### TBA + +TBA + +## Updated libraries + +Besides updates to newer versions of our own libraries (play-json, play-ws, twirl, cachecontrol, etc), many other important dependencies were updated to the newest versions: + +* Guice 5.0.0 diff --git a/documentation/manual/working/commonGuide/build/sbtDependencies.md b/documentation/manual/working/commonGuide/build/sbtDependencies.md index 31c9b81ffd4..8f37230f370 100644 --- a/documentation/manual/working/commonGuide/build/sbtDependencies.md +++ b/documentation/manual/working/commonGuide/build/sbtDependencies.md @@ -37,7 +37,7 @@ If you use `groupID %% artifactID % revision` rather than `groupID % artifactID @[explicit-scala-version-dep](code/dependencies.sbt) -Assuming the `scalaVersion` for your build is `2.13.6`, the following is identical (note the double `%%` after `"org.scala-tools"`): +Assuming the `scalaVersion` for your build is `2.13.7`, the following is identical (note the double `%%` after `"org.scala-tools"`): @[auto-scala-version-dep](code/dependencies.sbt) diff --git a/documentation/project/build.properties b/documentation/project/build.properties index 7fe6ad4cfa8..ea2d9fcd22e 100644 --- a/documentation/project/build.properties +++ b/documentation/project/build.properties @@ -2,4 +2,8 @@ # Copyright (C) Lightbend Inc. # # sync with project/build.properties +<<<<<<< HEAD sbt.version=1.3.13 +======= +sbt.version=1.5.8 +>>>>>>> ac50a6e0da (Bump scala/sbt) diff --git a/project/build.properties b/project/build.properties index 885be919393..12a02bc6983 100644 --- a/project/build.properties +++ b/project/build.properties @@ -2,4 +2,8 @@ # Copyright (C) Lightbend Inc. # # sync with documentation/project/build.properties +<<<<<<< HEAD sbt.version=1.3.13 +======= +sbt.version=1.5.8 +>>>>>>> ac50a6e0da (Bump scala/sbt) From b42c8b3f7402f209f9384959d3ef9fa6dc890068 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Tue, 28 Dec 2021 23:24:19 +0100 Subject: [PATCH 4/8] Logback 1.2.9 removed Groovy configuration support (logback.groovy) (cherry picked from commit 3304f59903a208aad1b9b3a970c701a7e5d1327c) --- .../scala/play/api/libs/logback/LogbackLoggerConfigurator.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/core/play-logback/src/main/scala/play/api/libs/logback/LogbackLoggerConfigurator.scala b/core/play-logback/src/main/scala/play/api/libs/logback/LogbackLoggerConfigurator.scala index 6a854ae4465..db76f5c81b3 100644 --- a/core/play-logback/src/main/scala/play/api/libs/logback/LogbackLoggerConfigurator.scala +++ b/core/play-logback/src/main/scala/play/api/libs/logback/LogbackLoggerConfigurator.scala @@ -58,7 +58,6 @@ class LogbackLoggerConfigurator extends LoggerConfigurator { case _ => Stream.empty } (testConfigs ++ Stream( - GROOVY_AUTOCONFIG_FILE, AUTOCONFIG_FILE, if (env.mode == Mode.Dev) "logback-play-dev.xml" else "logback-play-default.xml" )).flatMap(env.resource).headOption From 7fcd0fcdd02fd46ea26479261742fc33815f94ab Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 29 Dec 2021 00:55:32 +0100 Subject: [PATCH 5/8] Fix conflicts --- .travis.yml | 7 +- documentation/build.sbt | 7 +- documentation/manual/hacking/Translations.md | 6 +- .../release29/migration29/Migration29.md | 130 ------------------ .../commonGuide/build/code/dependencies.sbt | 5 - .../working/javaGuide/main/sql/code/jpa.sbt | 4 - documentation/project/build.properties | 4 - project/Dependencies.scala | 50 ++----- project/build.properties | 4 - 9 files changed, 12 insertions(+), 205 deletions(-) delete mode 100644 documentation/manual/releases/release29/migration29/Migration29.md diff --git a/.travis.yml b/.travis.yml index 90a044e4d9c..55c5d6082d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,15 +11,10 @@ env: global: - secure: "NS2hMbBcmi6EF4QxtcNs4A2ZuNmIdLYQRJUWWejgnD4YtcsmoVjxrHRedqrnDdui4DyvaxWhg/3Uds23jEKTSbbh3ZphLO77BVgM2nUGUvVoa4i6qGF2eZFlIhq2G1gM700GPV7X4KmyjYi2HtH8CWBTkqP3g0An63mCZw/Gnlk=" # These are the versions used for (scripted) tests. The versions Play is build with however are defined in interplay. -<<<<<<< HEAD - SCRIPTED_SBT_1_3: "1.3.13" - - SCRIPTED_SBT_1_5: "1.5.5" - - TEST_SCALA_2_12: "2.12.14" - - TEST_SCALA_2_13: "2.13.6" -======= - SCRIPTED_SBT_1_5: "1.5.8" + - TEST_SCALA_2_12: "2.12.15" - TEST_SCALA_2_13: "2.13.7" ->>>>>>> ac50a6e0da (Bump scala/sbt) jobs: - TRAVIS_JDK=8 diff --git a/documentation/build.sbt b/documentation/build.sbt index ef614eb8691..3ebe9ba2565 100644 --- a/documentation/build.sbt +++ b/documentation/build.sbt @@ -77,13 +77,8 @@ lazy val main = Project("Play-Documentation", file(".")) unmanagedResourceDirectories in Test ++= (baseDirectory.value / "manual" / "detailedTopics" ** "code").get, // Don't include sbt files in the resources excludeFilter in (Test, unmanagedResources) := (excludeFilter in (Test, unmanagedResources)).value || "*.sbt", -<<<<<<< HEAD - crossScalaVersions := Seq("2.13.6", "2.12.14"), - scalaVersion := "2.13.6", -======= - crossScalaVersions := Seq("2.13.7"), + crossScalaVersions := Seq("2.13.7", "2.12.15"), scalaVersion := "2.13.7", ->>>>>>> ac50a6e0da (Bump scala/sbt) fork in Test := true, javaOptions in Test ++= Seq("-Xmx512m", "-Xms128m"), headerLicense := Some(HeaderLicense.Custom("Copyright (C) Lightbend Inc. ")), diff --git a/documentation/manual/hacking/Translations.md b/documentation/manual/hacking/Translations.md index cd29c8814f7..c558a877b50 100644 --- a/documentation/manual/hacking/Translations.md +++ b/documentation/manual/hacking/Translations.md @@ -39,11 +39,7 @@ translation-project `build.properties` should contain the sbt version, ie: ``` -<<<<<<< HEAD -sbt.version=0.13.16 -======= -sbt.version=1.5.8 ->>>>>>> ac50a6e0da (Bump scala/sbt) +sbt.version=0.13.18 ``` `plugins.sbt` should include the Play docs sbt plugin, ie: diff --git a/documentation/manual/releases/release29/migration29/Migration29.md b/documentation/manual/releases/release29/migration29/Migration29.md deleted file mode 100644 index 5b0cc9fc734..00000000000 --- a/documentation/manual/releases/release29/migration29/Migration29.md +++ /dev/null @@ -1,130 +0,0 @@ - - -# Play 2.9 Migration Guide - -This guide is for migrating from Play 2.8 to Play 2.9. See the [[Play 2.8 Migration Guide|Migration28]] to upgrade from Play 2.7. - -## How to migrate - -Before starting `sbt`, make sure to make the following upgrades. - -### Play update - -Update the Play version number in `project/plugins.sbt`: - -```scala -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.x") -``` - -Where the "x" in `2.9.x` is the minor version of Play you want to use, for instance `2.9.0`. - -### sbt upgrade - -Play 2.9 only supports sbt 1.5. To update, change your `project/build.properties` so that it reads: - -```properties -sbt.version=1.5.8 -``` - -At the time of this writing `1.5.8` is the latest version in the sbt 1.x family, you may be able to use newer versions too. Check the release notes for both Play's minor version [releases](https://github.com/playframework/playframework/releases) and sbt's [releases](https://github.com/sbt/sbt/releases) for details. - -### Minimum required Java version - -Play 2.9 requires at least [OpenJDK 8u252](https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-April/011566.html) (the equivalent Oracle version is named [8u251](https://www.oracle.com/technetwork/java/javase/8u251-relnotes-5972664.html)) because it removed the [Jetty ALPN Agent](https://github.com/jetty-project/jetty-alpn-agent), which, starting with those Java versions, is not strictly required anymore since the standard ALPN APIs have been [backported](https://mail.openjdk.java.net/pipermail/jdk8u-dev/2019-November/010573.html) from Java 9. -In case you passed a `-javaagent:jetty-alpn-agent-*.jar` flag to your Play application(s) (maybe via `SBT_OPTS` environment variable) you have to remove that flags now. - -## API Changes - -Play 2.9 contains multiple API changes. As usual, we follow our policy of deprecating existing APIs before removing them. This section details these changes. - -### Scala 2.12 support discontinued - -Play 2.9 supports Scala 2.13, but not 2.12 anymore. - -### Setting `scalaVersion` in your project - -**Both Scala and Java users** must configure sbt to use Scala 2.13. Even if you have no Scala code in your project, Play itself uses Scala and must be configured to use the right Scala libraries. - -To set the Scala version in sbt, simply set the `scalaVersion` key, for example: - -```scala -scalaVersion := "2.13.7" -``` - -If you have a single project build, then this setting can just be placed on its own line in `build.sbt`. However, if you have a multi-project build, then the scala version setting must be set on each project. Typically, in a multi-project build, you will have some common settings shared by every project, this is the best place to put the setting, for example: - -```scala -def commonSettings = Seq( - scalaVersion := "2.13.7" -) - -val projectA = (project in file("projectA")) - .enablePlugins(PlayJava) - .settings(commonSettings) - -val projectB = (project in file("projectB")) - .enablePlugins(PlayJava) - .settings(commonSettings) -``` - - -### Renaming towards more consistent methods name - -Some methods where renamed to enhance consistency accross different APIs, esspecialy methods for adding, removing and clearing data. -To enable a smooth migration, the older methods are now depreciated and will be removed in a future version. - -Methods renamed in trait [`play.api.i18n.MessagesApi`](api/scala/play/api/i18n/MessagesApi.html) - -| **Deprecated method** | **New method** -| ----------------------------------------------|------------------------------------------- -| `clearLang(result: Result)` | `withoutLang(result: Result)` - -Methods renamed in object [`play.api.mvc.Results`](api/scala/play/api/mvc/Results.html) - -| **Deprecated method** | **New method** -| ----------------------------------------------|------------------------------------------- -| `clearingLang(result: Result)` | `withoutLang(result: Result)` - - -### Deprecated APIs were removed - -Many APIs that were deprecated in earlier versions were removed in Play 2.9. If you are still using them we recommend migrating to the new APIs before upgrading to Play 2.9. Check the Javadocs and Scaladocs for migration notes. See also the [[migration guide for Play 2.8|Migration28]] for more information. - -### Changing CSP report types - -There has been some changes in CSP reports, according to [w3.org specification](https://www.w3.org/TR/CSP2/). Since Play 2.9 fields `lineNumber` and `columnNumber` are Longs. If your implementation bases on these fields being Strings, Play will fallback to parsing them from String to Long and throw an error only if parsing fails. It is however encouraged to use number types, not Strings, as this may be changed when CSP3 comes out. - -## Configuration changes - -This section lists changes and deprecations in configurations. - -### Application Secret enforces a minimum length - -The [[application secret|ApplicationSecret]] configuration `play.http.secret.key` is checked for a minimum length in all modes now (prod, dev and test). If that minimum length isn't met, then an error is thrown and the configuration is invalid, causing the application not to start. - -The minimum length depends on the algorithm used to sign the session or flash cookie, which can be set via the config keys `play.http.session.jwt.signatureAlgorithm` and `play.http.flash.jwt.signatureAlgorithm`. By default the algorithm for both configs is `HS256` which requires the secret to contain at least 256 bits / 32 bytes. When choosing `HS384`, the minimums size is 384 bits / 48 bytes, for `HS512` it's 512 bits / 64 bytes. - -The error that gets thrown contains all the information you need to resolve the problem: -``` -Configuration error [ - The application secret is too short and does not have the recommended amount of entropy for algorithm HS256 defined at play.http.session.jwt.signatureAlgorithm. - Current application secret bits: 248, minimal required bits for algorithm HS256: 256. - To set the application secret, please read https://playframework.com/documentation/latest/ApplicationSecret -] -``` - -You can resolve such an error by setting the secret to contain the required amount of bits / bytes, like in this example at least 32 bytes of completely random input, such as `head -c 32 /dev/urandom | base64` or by the application secret generator, using `playGenerateSecret` or `playUpdateSecret`. - -## Defaults changes - -Some default values used by Play had changed and that can have an impact on your application. This section details the default changes. - -### TBA - -TBA - -## Updated libraries - -Besides updates to newer versions of our own libraries (play-json, play-ws, twirl, cachecontrol, etc), many other important dependencies were updated to the newest versions: - -* Guice 5.0.0 diff --git a/documentation/manual/working/commonGuide/build/code/dependencies.sbt b/documentation/manual/working/commonGuide/build/code/dependencies.sbt index 7b15ec1e754..3fd4390972f 100644 --- a/documentation/manual/working/commonGuide/build/code/dependencies.sbt +++ b/documentation/manual/working/commonGuide/build/code/dependencies.sbt @@ -12,13 +12,8 @@ libraryDependencies += "org.apache.derby" % "derby" % "10.13.1.1" % "test" //#multi-deps libraryDependencies ++= Seq( -<<<<<<< HEAD "org.apache.derby" % "derby" % "10.13.1.1", - "org.hibernate" % "hibernate-core" % "5.4.30.Final" -======= - "org.apache.derby" % "derby" % "10.14.2.0", "org.hibernate" % "hibernate-core" % "5.4.32.Final" ->>>>>>> 5a4aeb0ea1 (Update dependencies) ) //#multi-deps diff --git a/documentation/manual/working/javaGuide/main/sql/code/jpa.sbt b/documentation/manual/working/javaGuide/main/sql/code/jpa.sbt index bbceb76da1a..e8734174e35 100644 --- a/documentation/manual/working/javaGuide/main/sql/code/jpa.sbt +++ b/documentation/manual/working/javaGuide/main/sql/code/jpa.sbt @@ -5,11 +5,7 @@ //#jpa-sbt-dependencies libraryDependencies ++= Seq( javaJpa, -<<<<<<< HEAD - "org.hibernate" % "hibernate-core" % "5.4.30.Final" // replace by your jpa implementation -======= "org.hibernate" % "hibernate-core" % "5.4.32.Final" // replace by your jpa implementation ->>>>>>> 5a4aeb0ea1 (Update dependencies) ) //#jpa-sbt-dependencies diff --git a/documentation/project/build.properties b/documentation/project/build.properties index ea2d9fcd22e..7fe6ad4cfa8 100644 --- a/documentation/project/build.properties +++ b/documentation/project/build.properties @@ -2,8 +2,4 @@ # Copyright (C) Lightbend Inc. # # sync with project/build.properties -<<<<<<< HEAD sbt.version=1.3.13 -======= -sbt.version=1.5.8 ->>>>>>> ac50a6e0da (Bump scala/sbt) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 0e80efc70fe..91fbc478109 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -7,18 +7,14 @@ import Keys._ import buildinfo.BuildInfo object Dependencies { - val akkaVersion: String = sys.props.getOrElse("akka.version", "2.6.17") + val akkaVersion: String = sys.props.getOrElse("akka.version", "2.6.18") val akkaHttpVersion = sys.props.getOrElse("akka.http.version", "10.1.15") val sslConfig = "com.typesafe" %% "ssl-config-core" % "0.4.2" val playJsonVersion = "2.8.2" -<<<<<<< HEAD - val logback = "ch.qos.logback" % "logback-classic" % "1.2.3" -======= val logback = "ch.qos.logback" % "logback-classic" % "1.2.10" ->>>>>>> 5a4aeb0ea1 (Update dependencies) val specs2Version = "4.8.3" val specs2Deps = Seq( @@ -53,17 +49,13 @@ object Dependencies { val playJson = "com.typesafe.play" %% "play-json" % playJsonVersion - val slf4jVersion = "1.7.30" + val slf4jVersion = "1.7.32" val slf4j = Seq("slf4j-api", "jul-to-slf4j", "jcl-over-slf4j").map("org.slf4j" % _ % slf4jVersion) val slf4jSimple = "org.slf4j" % "slf4j-simple" % slf4jVersion val guava = "com.google.guava" % "guava" % "30.1.1-jre" val findBugs = "com.google.code.findbugs" % "jsr305" % "3.0.2" // Needed by guava -<<<<<<< HEAD - val mockitoAll = "org.mockito" % "mockito-core" % "3.2.4" -======= - val mockitoAll = "org.mockito" % "mockito-core" % "4.2.0" ->>>>>>> 5a4aeb0ea1 (Update dependencies) + val mockitoAll = "org.mockito" % "mockito-core" % "3.2.11" val h2database = "com.h2database" % "h2" % "1.4.200" val derbyDatabase = "org.apache.derby" % "derby" % "10.13.1.1" @@ -90,11 +82,7 @@ object Dependencies { val jpaDeps = Seq( "org.hibernate.javax.persistence" % "hibernate-jpa-2.1-api" % "1.0.2.Final", -<<<<<<< HEAD - "org.hibernate" % "hibernate-core" % "5.4.30.Final" % "test" -======= "org.hibernate" % "hibernate-core" % "5.4.32.Final" % "test" ->>>>>>> 5a4aeb0ea1 (Update dependencies) ) def scalaReflect(scalaVersion: String) = "org.scala-lang" % "scala-reflect" % scalaVersion % "provided" @@ -108,11 +96,7 @@ object Dependencies { case _ => Nil } -<<<<<<< HEAD - val springFrameworkVersion = "5.2.13.RELEASE" -======= - val springFrameworkVersion = "5.3.13" ->>>>>>> e7c1abd323 (spring-beans, spring-context, ... 5.3.13 (was 5.3.12)) + val springFrameworkVersion = "5.2.19.RELEASE" def javaDeps(scalaVersion: String) = Seq( @@ -122,8 +106,8 @@ object Dependencies { ) ++ specs2Deps.map(_ % Test) val joda = Seq( - "joda-time" % "joda-time" % "2.10.10", - "org.joda" % "joda-convert" % "2.2.1" + "joda-time" % "joda-time" % "2.10.13", + "org.joda" % "joda-convert" % "2.2.2" ) val javaFormsDeps = Seq( @@ -178,11 +162,7 @@ object Dependencies { sslConfig ) ++ scalaParserCombinators(scalaVersion) ++ specs2Deps.map(_ % Test) ++ javaTestDeps -<<<<<<< HEAD - val nettyVersion = "4.1.63.Final" -======= val nettyVersion = "4.1.72.Final" ->>>>>>> 5a4aeb0ea1 (Update dependencies) val netty = Seq( "com.typesafe.netty" % "netty-reactive-streams-http" % "2.0.5", @@ -193,11 +173,7 @@ object Dependencies { val jimfs = "com.google.jimfs" % "jimfs" % "1.1" -<<<<<<< HEAD val okHttp = "com.squareup.okhttp3" % "okhttp" % "4.2.2" -======= - val okHttp = "com.squareup.okhttp3" % "okhttp" % "4.9.3" ->>>>>>> 5a4aeb0ea1 (Update dependencies) def routesCompilerDependencies(scalaVersion: String) = { val deps = CrossVersion.partialVersion(scalaVersion) match { @@ -285,11 +261,7 @@ object Dependencies { // slowing down the build. So the open range deps were removed and we can re-add // them using a specific version. Using an open range is also not good for the // local cache. -<<<<<<< HEAD ("org.seleniumhq.selenium" % "htmlunit-driver" % "2.36.0").excludeAll( -======= - ("org.seleniumhq.selenium" % "htmlunit-driver" % "2.56.0").excludeAll( ->>>>>>> 5a4aeb0ea1 (Update dependencies) ExclusionRule("org.seleniumhq.selenium", "selenium-api"), ExclusionRule("org.seleniumhq.selenium", "selenium-support") ), @@ -304,17 +276,13 @@ object Dependencies { "javax.cache" % "cache-api" % "1.1.1" ) - val ehcacheVersion = "2.10.6" + val ehcacheVersion = "2.10.9.2" val playEhcacheDeps = Seq( "net.sf.ehcache" % "ehcache" % ehcacheVersion, "org.ehcache" % "jcache" % "1.0.1" ) ++ jcacheApi -<<<<<<< HEAD val caffeineVersion = "2.8.8" -======= - val caffeineVersion = "2.9.3" ->>>>>>> 5a4aeb0ea1 (Update dependencies) val playCaffeineDeps = Seq( "com.github.ben-manes.caffeine" % "caffeine" % caffeineVersion, "com.github.ben-manes.caffeine" % "jcache" % caffeineVersion @@ -351,8 +319,8 @@ object Dependencies { * How to use this: * $ sbt -J-XX:+UnlockCommercialFeatures -J-XX:+FlightRecorder -Dakka-http.sources=$HOME/code/akka-http '; project Play-Akka-Http-Server; test:run' * - * Make sure Akka-HTTP has 2.12 as the FIRST version (or that scalaVersion := "2.12.14", otherwise it won't find the artifact - * crossScalaVersions := Seq("2.12.14", "2.11.12"), + * Make sure Akka-HTTP has 2.12 as the FIRST version (or that scalaVersion := "2.12.15", otherwise it won't find the artifact + * crossScalaVersions := Seq("2.12.15", "2.11.12"), */ object AkkaDependency { // Needs to be a URI like git://github.com/akka/akka.git#master or file:///xyz/akka diff --git a/project/build.properties b/project/build.properties index 12a02bc6983..885be919393 100644 --- a/project/build.properties +++ b/project/build.properties @@ -2,8 +2,4 @@ # Copyright (C) Lightbend Inc. # # sync with documentation/project/build.properties -<<<<<<< HEAD sbt.version=1.3.13 -======= -sbt.version=1.5.8 ->>>>>>> ac50a6e0da (Bump scala/sbt) From fcef82fac9fe03508e3be264e2f3bb04a65b35a1 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 29 Dec 2021 01:38:35 +0100 Subject: [PATCH 6/8] Downgrade mockito --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 91fbc478109..7eef06b77cb 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -55,7 +55,7 @@ object Dependencies { val guava = "com.google.guava" % "guava" % "30.1.1-jre" val findBugs = "com.google.code.findbugs" % "jsr305" % "3.0.2" // Needed by guava - val mockitoAll = "org.mockito" % "mockito-core" % "3.2.11" + val mockitoAll = "org.mockito" % "mockito-core" % "3.2.4" val h2database = "com.h2database" % "h2" % "1.4.200" val derbyDatabase = "org.apache.derby" % "derby" % "10.13.1.1" From c4c48f072e0778b97218870a0262f341cad4ca61 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 29 Dec 2021 08:29:34 +0100 Subject: [PATCH 7/8] Netty deprecated EpollChannelOption#TCP_FASTOPEN in favor of ChannelOption#TCP_FASTOPEN --- .../http-backend-netty-channel-options/conf/application.conf | 2 +- .../expected-application-log.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/conf/application.conf b/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/conf/application.conf index 70bee7080b1..44485cc4ffb 100644 --- a/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/conf/application.conf +++ b/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/conf/application.conf @@ -8,9 +8,9 @@ play.server { child { SO_KEEPALIVE = true TCP_NODELAY = true + TCP_FASTOPEN = 3 TCP_FASTOPEN_CONNECT = true "io.netty.channel.unix.UnixChannelOption#SO_REUSEPORT" = false - "io.netty.channel.epoll.EpollChannelOption#TCP_FASTOPEN" = 3 bar = "xyz" } } diff --git a/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/expected-application-log.txt b/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/expected-application-log.txt index d363744bd0f..c6c746a60fc 100644 --- a/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/expected-application-log.txt +++ b/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/expected-application-log.txt @@ -6,10 +6,10 @@ [DEBUG] play.core.server.NettyServer - Setting Netty channel option io.netty.channel.unix.UnixChannelOption#SO_REUSEPORT to true at bootstrapping [DEBUG] play.core.server.NettyServer - Setting Netty channel option SO_BACKLOG to 256 at bootstrapping [DEBUG] play.core.server.NettyServer - Setting Netty channel option io.netty.channel.epoll.EpollChannelOption#TCP_CORK to true at bootstrapping +[DEBUG] play.core.server.NettyServer - Setting Netty channel option TCP_FASTOPEN to 3 [DEBUG] play.core.server.NettyServer - Setting Netty channel option TCP_FASTOPEN_CONNECT to true [DEBUG] play.core.server.NettyServer - Setting Netty channel option TCP_NODELAY to true [DEBUG] play.core.server.NettyServer - Setting Netty channel option SO_KEEPALIVE to true [WARN] play.core.server.NettyServer - Ignoring unknown Netty channel option: bar [WARN] play.core.server.NettyServer - Valid values can be found at http://netty.io/4.1/api/io/netty/channel/ChannelOption.html -[DEBUG] play.core.server.NettyServer - Setting Netty channel option io.netty.channel.epoll.EpollChannelOption#TCP_FASTOPEN to 3 [DEBUG] play.core.server.NettyServer - Setting Netty channel option io.netty.channel.unix.UnixChannelOption#SO_REUSEPORT to false From ff714a898cf2e8df82e7d9b3de9bef7cbf2032de Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 29 Dec 2021 10:36:25 +0100 Subject: [PATCH 8/8] TCP_FASTOPEN is prefixed with class io.netty.channel.ChannelOption --- .../http-backend-netty-channel-options/conf/application.conf | 2 +- .../expected-application-log.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/conf/application.conf b/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/conf/application.conf index 44485cc4ffb..f56a5b1c47c 100644 --- a/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/conf/application.conf +++ b/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/conf/application.conf @@ -8,8 +8,8 @@ play.server { child { SO_KEEPALIVE = true TCP_NODELAY = true - TCP_FASTOPEN = 3 TCP_FASTOPEN_CONNECT = true + "io.netty.channel.ChannelOption#TCP_FASTOPEN" = 3 "io.netty.channel.unix.UnixChannelOption#SO_REUSEPORT" = false bar = "xyz" } diff --git a/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/expected-application-log.txt b/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/expected-application-log.txt index c6c746a60fc..454512ea18d 100644 --- a/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/expected-application-log.txt +++ b/dev-mode/sbt-plugin/src/sbt-test/play-sbt-plugin/http-backend-netty-channel-options/expected-application-log.txt @@ -6,10 +6,10 @@ [DEBUG] play.core.server.NettyServer - Setting Netty channel option io.netty.channel.unix.UnixChannelOption#SO_REUSEPORT to true at bootstrapping [DEBUG] play.core.server.NettyServer - Setting Netty channel option SO_BACKLOG to 256 at bootstrapping [DEBUG] play.core.server.NettyServer - Setting Netty channel option io.netty.channel.epoll.EpollChannelOption#TCP_CORK to true at bootstrapping -[DEBUG] play.core.server.NettyServer - Setting Netty channel option TCP_FASTOPEN to 3 [DEBUG] play.core.server.NettyServer - Setting Netty channel option TCP_FASTOPEN_CONNECT to true [DEBUG] play.core.server.NettyServer - Setting Netty channel option TCP_NODELAY to true [DEBUG] play.core.server.NettyServer - Setting Netty channel option SO_KEEPALIVE to true [WARN] play.core.server.NettyServer - Ignoring unknown Netty channel option: bar [WARN] play.core.server.NettyServer - Valid values can be found at http://netty.io/4.1/api/io/netty/channel/ChannelOption.html +[DEBUG] play.core.server.NettyServer - Setting Netty channel option io.netty.channel.ChannelOption#TCP_FASTOPEN to 3 [DEBUG] play.core.server.NettyServer - Setting Netty channel option io.netty.channel.unix.UnixChannelOption#SO_REUSEPORT to false