From 3c567c0cc8c10b1eb115d524c5cf6cf5e5f5b62a Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Fri, 22 Mar 2024 14:18:08 +0100 Subject: [PATCH] Pekko becomes a TLP (#520) --- .github/ISSUE_TEMPLATE/---bug-report.md | 6 +-- .github/ISSUE_TEMPLATE/---feature-request.md | 6 +-- .github/workflows/format.yml | 2 +- .github/workflows/link-validator.yml | 4 +- .github/workflows/nightly.yml | 2 +- .github/workflows/publish-1.0-docs.yml | 2 +- .github/workflows/publish-1.0-snapshots.yml | 2 +- .github/workflows/publish-test-reports.yml | 2 +- .github/workflows/publish.yml | 4 +- .github/workflows/validate-and-test.yml | 6 +-- CHANGELOG.md | 2 +- CONTRIBUTING.md | 38 +++++++++---------- DISCLAIMER | 10 ----- README.md | 10 ++--- build.sbt | 4 +- docs/src/main/paradox/contributing.md | 2 +- docs/src/main/paradox/introduction.md | 8 ++-- docs/src/main/paradox/release-notes/index.md | 14 +++---- docs/src/main/paradox/routing-dsl/index.md | 2 +- http-core/src/main/resources/reference.conf | 4 +- .../client/pool/NewHostConnectionPool.scala | 4 +- .../engine/parsing/HttpResponseParser.scala | 2 +- .../impl/util/StageLoggingWithOverride.scala | 2 +- .../testkit/ScalatestRouteTestSpec.scala | 2 +- .../pekko/http/javadsl/server/HttpApp.java | 2 +- .../pekko/http/scaladsl/server/HttpApp.scala | 2 +- legal/PekkoNotice.txt | 2 +- project/AddMetaInfLicenseFiles.scala | 3 +- project/GitHub.scala | 2 +- project/ParadoxSupport.scala | 2 +- project/Publish.scala | 2 +- project/ValidatePullRequest.scala | 2 +- project/project-info.conf | 6 +-- 33 files changed, 76 insertions(+), 87 deletions(-) delete mode 100644 DISCLAIMER diff --git a/.github/ISSUE_TEMPLATE/---bug-report.md b/.github/ISSUE_TEMPLATE/---bug-report.md index fc13f0dcf..3efda65b3 100644 --- a/.github/ISSUE_TEMPLATE/---bug-report.md +++ b/.github/ISSUE_TEMPLATE/---bug-report.md @@ -6,9 +6,9 @@ about: Create a report to help us improve @@ -88,7 +88,7 @@ If you have questions about the contribution process or discuss specific issues, Contributions are *very* welcome! If you see an issue that you'd like to see fixed, the best way to make it happen is to help out by submitting a pull request. -For ideas of where to contribute, [tickets marked as "help wanted"](https://github.com/apache/incubator-pekko-http/labels/help%20wanted) are a good starting point. +For ideas of where to contribute, [tickets marked as "help wanted"](https://github.com/apache/pekko-http/labels/help%20wanted) are a good starting point. Refer to the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details about the workflow, and general hints on how to prepare your pull request. You can also ask for clarifications or guidance in GitHub issues directly. diff --git a/build.sbt b/build.sbt index 7f134b935..3b667b20f 100644 --- a/build.sbt +++ b/build.sbt @@ -20,7 +20,7 @@ import spray.boilerplate.BoilerplatePlugin import com.lightbend.paradox.apidoc.ApidocPlugin.autoImport.apidocRootPackage sourceDistName := "apache-pekko-http" -sourceDistIncubating := true +sourceDistIncubating := false ThisBuild / reproducibleBuildsCheckResolver := Resolver.ApacheMavenStagingRepo @@ -33,7 +33,7 @@ inThisBuild(Def.settings( Some(url(s"https://pekko.apache.org/api/pekko-http/$apiVersion/")) }, scmInfo := Some( - ScmInfo(url("https://github.com/apache/incubator-pekko-http"), "git@github.com:apache/incubator-pekko-http.git")), + ScmInfo(url("https://github.com/apache/pekko-http"), "git@github.com:apache/pekko-http.git")), description := "Apache Pekko Http: Modern, fast, asynchronous, streaming-first HTTP server and client.", testOptions ++= Seq( Tests.Argument(TestFrameworks.JUnit, "-q", "-v"), diff --git a/docs/src/main/paradox/contributing.md b/docs/src/main/paradox/contributing.md index 4ed85eced..a38f32a4c 100644 --- a/docs/src/main/paradox/contributing.md +++ b/docs/src/main/paradox/contributing.md @@ -4,7 +4,7 @@ We follow the standard GitHub [fork & pull](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests#fork--pull) approach to pull requests. Just fork the official repo, develop in a branch, and submit a PR! -For a more detailed description of our process, please refer to the [CONTRIBUTING.md](https://github.com/apache/incubator-pekko-http/blob/main/CONTRIBUTING.md) page on the github project. +For a more detailed description of our process, please refer to the [CONTRIBUTING.md](https://github.com/apache/pekko-http/blob/main/CONTRIBUTING.md) page on the github project. ## Snapshots diff --git a/docs/src/main/paradox/introduction.md b/docs/src/main/paradox/introduction.md index 45b069f84..46e106b5c 100644 --- a/docs/src/main/paradox/introduction.md +++ b/docs/src/main/paradox/introduction.md @@ -48,20 +48,20 @@ You can bootstrap a new project with Apache Pekko HTTP already configured using @@@ div { .group-scala } For Scala (sbt) : ```sh - sbt new apache/incubator-pekko-http-quickstart-scala.g8 + sbt new apache/pekko-http-quickstart-scala.g8 ``` @@@ @@@ div { .group-java } For Java (Maven or Gradle) : ```sh - sbt new apache/incubator-pekko-http-quickstart-java.g8 + sbt new apache/pekko-http-quickstart-java.g8 ``` From there on the prepared project can be built using Gradle or Maven. @@@ More instructions can be found on the @scala[[template -project](https://github.com/apache/incubator-pekko-http-quickstart-scala.g8)]@java[[template -project](https://github.com/apache/incubator-pekko-http-quickstart-java.g8)]. +project](https://github.com/apache/pekko-http-quickstart-scala.g8)]@java[[template +project](https://github.com/apache/pekko-http-quickstart-java.g8)]. ## Routing DSL for HTTP servers diff --git a/docs/src/main/paradox/release-notes/index.md b/docs/src/main/paradox/release-notes/index.md index 0d7a2d0cd..729a3bee5 100644 --- a/docs/src/main/paradox/release-notes/index.md +++ b/docs/src/main/paradox/release-notes/index.md @@ -5,8 +5,8 @@ This is a bug fix release. There have also been some doc and build improvements. ### Bug Fixes -* Add optional throttle to handle excessive HTTP/2 non-data frames ([PR394](https://github.com/apache/incubator-pekko-http/pull/394)) -* Set the minimum required Pekko version to 1.0.0 (had been 1.0.1) ([PR328](https://github.com/apache/incubator-pekko-http/pull/328)) +* Add optional throttle to handle excessive HTTP/2 non-data frames ([PR394](https://github.com/apache/pekko-http/pull/394)) +* Set the minimum required Pekko version to 1.0.0 (had been 1.0.1) ([PR328](https://github.com/apache/pekko-http/pull/328)) ## 1.0.0 @@ -26,18 +26,18 @@ properly acknowledged, please get in touch. ### Bug Fixes We haven't had to fix many bugs that were in Akka HTTP 10.2.10. -* Use Java NIO Files#createTempFile [PR170](https://github.com/apache/incubator-pekko-http/pull/170) (Akka HTTP [CVE-2023-33251](https://akka.io/security/akka-http-cve-2023-05-15.html)) +* Use Java NIO Files#createTempFile [PR170](https://github.com/apache/pekko-http/pull/170) (Akka HTTP [CVE-2023-33251](https://akka.io/security/akka-http-cve-2023-05-15.html)) ### Additions -* Scala 3 support ([PR150](https://github.com/apache/incubator-pekko-http/pull/150)) -* Added pekko-http-cors ([PR208](https://github.com/apache/incubator-pekko-http/pull/208)) +* Scala 3 support ([PR150](https://github.com/apache/pekko-http/pull/150)) +* Added pekko-http-cors ([PR208](https://github.com/apache/pekko-http/pull/208)) ### Other Changes -* Remove http2-support module. This module was only kept for compatibility reasons before. Its code has long been part of the pekko-http-core ([PR52](https://github.com/apache/incubator-pekko-http/pull/52)) +* Remove http2-support module. This module was only kept for compatibility reasons before. Its code has long been part of the pekko-http-core ([PR52](https://github.com/apache/pekko-http/pull/52)) ### Dependency Upgrades We have tried to limit the changes to third party dependencies that are used in Pekko HTTP 1.0.0. These are some exceptions: -* parboiled 2.5.0 ([PR14](https://github.com/apache/incubator-pekko-http/pull/14)). We have dropped the use of the internal Akka/Pekko copy of parboiled in favour of using the jar directly. There have been reports of small binary compatibility issues between parboiled 2.4.1 and parboiled 2.5.0 ([#174](https://github.com/apache/incubator-pekko-http/issues/174)). +* parboiled 2.5.0 ([PR14](https://github.com/apache/pekko-http/pull/14)). We have dropped the use of the internal Akka/Pekko copy of parboiled in favour of using the jar directly. There have been reports of small binary compatibility issues between parboiled 2.4.1 and parboiled 2.5.0 ([#174](https://github.com/apache/pekko-http/issues/174)). * jackson 2.14.3 * scalatest 3.2.14. Pekko users who have existing tests based on Akka Testkit may need to migrate their tests due to the scalatest upgrade. The [scalatest 3.2 release notes](https://www.scalatest.org/release_notes/3.2.0) have a detailed description of the changes needed. diff --git a/docs/src/main/paradox/routing-dsl/index.md b/docs/src/main/paradox/routing-dsl/index.md index 3a545830a..5f05cbf77 100644 --- a/docs/src/main/paradox/routing-dsl/index.md +++ b/docs/src/main/paradox/routing-dsl/index.md @@ -55,7 +55,7 @@ the Routing DSL will look like: ## Getting started -The project template in @scala[[Apache Pekko HTTP Quickstart for Scala](https://github.com/apache/incubator-pekko-http-quickstart-scala.g8)]@java[[Apache Pekko HTTP Quickstart for Java](https://github.com/apache/incubator-pekko-http-quickstart-java.g8)] will help you to get a working Apache Pekko HTTP server running. +The project template in @scala[[Apache Pekko HTTP Quickstart for Scala](https://github.com/apache/pekko-http-quickstart-scala.g8)]@java[[Apache Pekko HTTP Quickstart for Java](https://github.com/apache/pekko-http-quickstart-java.g8)] will help you to get a working Apache Pekko HTTP server running. ## Compared with Play framework routes diff --git a/http-core/src/main/resources/reference.conf b/http-core/src/main/resources/reference.conf index 56df978fd..ec2c1b7d6 100644 --- a/http-core/src/main/resources/reference.conf +++ b/http-core/src/main/resources/reference.conf @@ -308,7 +308,7 @@ pekko.http { ping-timeout = 0s frame-type-throttle { - # Configure the throttle for non-data frame types (https://github.com/apache/incubator-pekko-http/issues/332). + # Configure the throttle for non-data frame types (https://github.com/apache/pekko-http/issues/332). # The supported frame-types for throttlng are: # reset, headers, continuation, go-away, priority, ping, push-promise, window-update # If you are concerned about CVE-2023-44487, you could set: pekko.http.server.http2.frame-type-throttle.frame-types = ["reset"] @@ -568,7 +568,7 @@ pekko.http { # Note that this is only implemented in the new host connection pool max-connection-lifetime = infinite - # Client-side pipelining is not currently supported. See https://github.com/apache/incubator-pekko-http/issues/32 + # Client-side pipelining is not currently supported. See https://github.com/apache/pekko-http/issues/32 pipelining-limit = 1 # The minimum duration to backoff new connection attempts after the previous connection attempt failed. diff --git a/http-core/src/main/scala/org/apache/pekko/http/impl/engine/client/pool/NewHostConnectionPool.scala b/http-core/src/main/scala/org/apache/pekko/http/impl/engine/client/pool/NewHostConnectionPool.scala index 351f03c6a..ebc787449 100644 --- a/http-core/src/main/scala/org/apache/pekko/http/impl/engine/client/pool/NewHostConnectionPool.scala +++ b/http-core/src/main/scala/org/apache/pekko/http/impl/engine/client/pool/NewHostConnectionPool.scala @@ -357,7 +357,7 @@ private[client] object NewHostConnectionPool { case NonFatal(ex) => error( ex, - "Slot execution failed. That's probably a bug. Please file a bug at https://github.com/apache/incubator-pekko-http/issues. Slot is restarted.") + "Slot execution failed. That's probably a bug. Please file a bug at https://github.com/apache/pekko-http/issues. Slot is restarted.") try { cancelCurrentTimeout() @@ -385,7 +385,7 @@ private[client] object NewHostConnectionPool { else throw new IllegalStateException( "State transition loop exceeded maximum number of loops. The pool will shutdown itself. " + - "That's probably a bug. Please file a bug at https://github.com/apache/incubator-pekko-http/issues. ") + "That's probably a bug. Please file a bug at https://github.com/apache/pekko-http/issues. ") loop(event, arg, 10) } diff --git a/http-core/src/main/scala/org/apache/pekko/http/impl/engine/parsing/HttpResponseParser.scala b/http-core/src/main/scala/org/apache/pekko/http/impl/engine/parsing/HttpResponseParser.scala index 467497a29..95a893432 100644 --- a/http-core/src/main/scala/org/apache/pekko/http/impl/engine/parsing/HttpResponseParser.scala +++ b/http-core/src/main/scala/org/apache/pekko/http/impl/engine/parsing/HttpResponseParser.scala @@ -128,7 +128,7 @@ private[http] class HttpResponseParser(protected val settings: ParserSettings, } else if (isNewLine(cursor + 3)) { parseStatusCode() // Status format with no reason phrase and no trailing space accepted, diverging from the spec - // See https://github.com/apache/incubator-pekko-http/pull/989 + // See https://github.com/apache/pekko-http/pull/989 skipNewLine(cursor + 3) } else badStatusCode() } diff --git a/http-core/src/main/scala/org/apache/pekko/http/impl/util/StageLoggingWithOverride.scala b/http-core/src/main/scala/org/apache/pekko/http/impl/util/StageLoggingWithOverride.scala index a09a81e62..c7ace934a 100644 --- a/http-core/src/main/scala/org/apache/pekko/http/impl/util/StageLoggingWithOverride.scala +++ b/http-core/src/main/scala/org/apache/pekko/http/impl/util/StageLoggingWithOverride.scala @@ -11,7 +11,7 @@ * Copyright (C) 2017-2022 Lightbend Inc. * * Copied and adapted from pekko-stream - * https://github.com/apache/incubator-pekko/blob/bd1af56fcead435cb3d730e759223dcb2b0fb4c6/stream/src/main/scala/org/apache/pekko/stream/stage/StageLogging.scala + * https://github.com/apache/pekko/blob/bd1af56fcead435cb3d730e759223dcb2b0fb4c6/stream/src/main/scala/org/apache/pekko/stream/stage/StageLogging.scala */ package org.apache.pekko.http.impl.util diff --git a/http-testkit/src/test/scala/org/apache/pekko/http/scaladsl/testkit/ScalatestRouteTestSpec.scala b/http-testkit/src/test/scala/org/apache/pekko/http/scaladsl/testkit/ScalatestRouteTestSpec.scala index 4baccc712..3b4737d62 100644 --- a/http-testkit/src/test/scala/org/apache/pekko/http/scaladsl/testkit/ScalatestRouteTestSpec.scala +++ b/http-testkit/src/test/scala/org/apache/pekko/http/scaladsl/testkit/ScalatestRouteTestSpec.scala @@ -98,7 +98,7 @@ class ScalatestRouteTestSpec extends AnyFreeSpec with Matchers with ScalatestRou } "running on pekko dispatcher threads" in Await.result(Future { - // https://github.com/apache/incubator-pekko-http/pull/2526 + // https://github.com/apache/pekko-http/pull/2526 // Check will block while waiting on the response, this might lead to starvation // on the BatchingExecutor of pekko's dispatcher if the blocking is not managed properly. Get() ~> complete(Future(HttpResponse())) ~> check { diff --git a/http/src/main/java/org/apache/pekko/http/javadsl/server/HttpApp.java b/http/src/main/java/org/apache/pekko/http/javadsl/server/HttpApp.java index c37f35d11..835e64a37 100644 --- a/http/src/main/java/org/apache/pekko/http/javadsl/server/HttpApp.java +++ b/http/src/main/java/org/apache/pekko/http/javadsl/server/HttpApp.java @@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicReference; /** - * DEPRECATED, consider https://github.com/apache/incubator-pekko-http-quickstart-java.g8 instead + * DEPRECATED, consider https://github.com/apache/pekko-http-quickstart-java.g8 instead * *

Bootstrap trait for Http Server. It helps booting up a pekko-http server by only defining the * desired routes. It offers additional hooks to modify the default behavior. diff --git a/http/src/main/scala/org/apache/pekko/http/scaladsl/server/HttpApp.scala b/http/src/main/scala/org/apache/pekko/http/scaladsl/server/HttpApp.scala index 974829b07..7c8507b32 100644 --- a/http/src/main/scala/org/apache/pekko/http/scaladsl/server/HttpApp.scala +++ b/http/src/main/scala/org/apache/pekko/http/scaladsl/server/HttpApp.scala @@ -30,7 +30,7 @@ import scala.io.StdIn import scala.util.{ Failure, Success, Try } /** - * DEPRECATED, consider https://github.com/apache/incubator-pekko-http-quickstart-scala.g8 instead + * DEPRECATED, consider https://github.com/apache/pekko-http-quickstart-scala.g8 instead * * Bootstrap trait for Http Server. It helps booting up a pekko-http server by only defining the desired routes. * It offers additional hooks to modify the default behavior. diff --git a/legal/PekkoNotice.txt b/legal/PekkoNotice.txt index 678a2f6bc..1a0e8d8a3 100644 --- a/legal/PekkoNotice.txt +++ b/legal/PekkoNotice.txt @@ -1,4 +1,4 @@ -Apache Pekko (Incubating) HTTP +Apache Pekko HTTP Copyright 2022-2024 The Apache Software Foundation This product includes software developed at diff --git a/project/AddMetaInfLicenseFiles.scala b/project/AddMetaInfLicenseFiles.scala index af865589d..1c0e14694 100644 --- a/project/AddMetaInfLicenseFiles.scala +++ b/project/AddMetaInfLicenseFiles.scala @@ -29,8 +29,7 @@ object AddMetaInfLicenseFiles extends AutoPlugin { override lazy val projectSettings = Seq( apacheSonatypeLicenseFile := baseDir.value / "legal" / "StandardLicense.txt", - apacheSonatypeNoticeFile := baseDir.value / "legal" / "PekkoNotice.txt", - apacheSonatypeDisclaimerFile := Some((LocalRootProject / baseDirectory).value / "DISCLAIMER")) + apacheSonatypeNoticeFile := baseDir.value / "legal" / "PekkoNotice.txt") /** * Settings specific for Pekko http-core subproject which require a different license file. diff --git a/project/GitHub.scala b/project/GitHub.scala index 4a44dc897..a44d1a1eb 100644 --- a/project/GitHub.scala +++ b/project/GitHub.scala @@ -19,6 +19,6 @@ object GitHub { def url(v: String, isSnapshot: Boolean): String = { val branch = if (isSnapshot) "main" else "v" + v - "https://github.com/apache/incubator-pekko-http/tree/" + branch + "https://github.com/apache/pekko-http/tree/" + branch } } diff --git a/project/ParadoxSupport.scala b/project/ParadoxSupport.scala index cc02918b2..03d1c10e7 100644 --- a/project/ParadoxSupport.scala +++ b/project/ParadoxSupport.scala @@ -29,7 +29,7 @@ object ParadoxSupport { val paradoxWithCustomDirectives = Seq( paradoxDirectives += ((context: Writer.Context) => new SignatureDirective(context.location.tree.label, context.properties, context)), - pekkoParadoxGithub := Some("https://github.com/apache/incubator-pekko-http"), + pekkoParadoxGithub := Some("https://github.com/apache/pekko-http"), Compile / paradoxMarkdownToHtml / sourceGenerators += Def.taskDyn { val targetFile = (Compile / paradox / sourceManaged).value / "license-report.md" diff --git a/project/Publish.scala b/project/Publish.scala index bceffdf79..164ec583a 100644 --- a/project/Publish.scala +++ b/project/Publish.scala @@ -42,7 +42,7 @@ object Publish extends AutoPlugin { "pekko-http-contributors", "Apache Pekko HTTP Contributors", "dev@pekko.apache.org", - url("https://github.com/apache/incubator-pekko-http/graphs/contributors")))) + url("https://github.com/apache/pekko-http/graphs/contributors")))) override lazy val buildSettings = Seq( dynverSonatypeSnapshots := true) diff --git a/project/ValidatePullRequest.scala b/project/ValidatePullRequest.scala index 57248216f..1825f57a9 100644 --- a/project/ValidatePullRequest.scala +++ b/project/ValidatePullRequest.scala @@ -158,7 +158,7 @@ object ValidatePullRequest extends AutoPlugin { try { import scala.collection.JavaConverters._ val gh = GitHubBuilder.fromEnvironment().withOAuthToken(GitHub.envTokenOrThrow).build() - val comments = gh.getRepository("apache/incubator-pekko-http").getIssue(prId).getComments.asScala + val comments = gh.getRepository("apache/pekko-http").getIssue(prId).getComments.asScala def triggersBuildAll(c: GHIssueComment): Boolean = buildAllMagicPhrase.findFirstIn(c.getBody).isDefined comments.collectFirst { diff --git a/project/project-info.conf b/project/project-info.conf index cd319752e..b67c0e86b 100644 --- a/project/project-info.conf +++ b/project/project-info.conf @@ -10,7 +10,7 @@ project-info { new-tab: false } issues: { - url: "https://github.com/apache/incubator-pekko-http/issues" + url: "https://github.com/apache/pekko-http/issues" text: "Github issues" } release-notes: { @@ -27,8 +27,8 @@ project-info { url: "https://lists.apache.org/list.html?dev@pekko.apache.org" } { - text: "apache/incubator-pekko-http discussion" - url: "https://github.com/apache/incubator-pekko-http/discussions" + text: "apache/pekko-http discussion" + url: "https://github.com/apache/pekko-http/discussions" } ] }