From 87b42f42240ab25c25478751cda577027e7d3246 Mon Sep 17 00:00:00 2001
From: Joe Wang <106995533+JoeWang1127@users.noreply.github.com>
Date: Tue, 11 Nov 2025 17:24:42 +0000
Subject: [PATCH 01/14] chore: remove obsolate continuous_mac.sh (#1054)
---
.kokoro/continuous_mac.sh | 32 --------------------------------
1 file changed, 32 deletions(-)
delete mode 100755 .kokoro/continuous_mac.sh
diff --git a/.kokoro/continuous_mac.sh b/.kokoro/continuous_mac.sh
deleted file mode 100755
index 4e470d890..000000000
--- a/.kokoro/continuous_mac.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-# Fail on any error.
-set -e
-# Display commands to stderr.
-set -x
-
-gcloud components update
-gcloud components install app-engine-java
-
-# Use adopt openjdk 8u202 until kokoro updates its macos images (b/130225695)
-wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u202-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u202b08.tar.gz
-tar -xzf OpenJDK8U-jdk_x64_mac_hotspot_8u202b08.tar.gz
-
-JAVA_HOME="$(pwd)"/jdk8u202-b08/Contents/Home/
-export JAVA_HOME
-
-# temporary workaround until mvn is available in the image by default
-# the integration tests rely on Maven being installed, cannot use the wrapper
-curl https://storage.googleapis.com/cloud-tools-for-java-team-kokoro-build-cache/apache-maven-3.5.0-bin.tar.gz -o apache-maven-3.5.0-bin.tar.gz
-tar -xzf apache-maven-3.5.0-bin.tar.gz
-
-M2_HOME="$(pwd)"/apache-maven-3.5.0
-PATH=$PATH:$M2_HOME/bin
-
-cd git/appengine-plugins
-
-# Use GCP Maven Mirror
-mkdir -p ${HOME}/.m2
-cp settings.xml ${HOME}/.m2
-
-./mvnw clean install -B -U -DskipSurefire=true -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS
From 4d9f5ef30d1a6cff0593f58e080cf2cc21cdf332 Mon Sep 17 00:00:00 2001
From: Jin Seop Kim <1007sky@gmail.com>
Date: Wed, 12 Nov 2025 10:28:34 -0500
Subject: [PATCH 02/14] chore: upgrade commons-io to 2.20.0 (#1055)
---
app-maven-plugin/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-maven-plugin/pom.xml b/app-maven-plugin/pom.xml
index 535ff2b75..2b1c9cbb9 100644
--- a/app-maven-plugin/pom.xml
+++ b/app-maven-plugin/pom.xml
@@ -114,7 +114,7 @@
commons-io
commons-io
- 2.15.1
+ 2.20.0
From 40b5cfab7391c1a09a5bb70dc73d821d47fd0e13 Mon Sep 17 00:00:00 2001
From: Jin Seop Kim
Date: Thu, 13 Nov 2025 14:35:22 -0500
Subject: [PATCH 03/14] deps: upgrade commons-io to 2.20.0 (#1056)
From 2ad99037f0cb1be576ff906996ed819b84883aec Mon Sep 17 00:00:00 2001
From: Jin Seop Kim
Date: Fri, 14 Nov 2025 10:58:11 -0500
Subject: [PATCH 04/14] deps: ensure commons-lang3 v3.18.0 used for gradle
(#1058)
---
app-gradle-plugin/build.gradle.kts | 3 +++
appengine-plugins-core/pom.xml | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/app-gradle-plugin/build.gradle.kts b/app-gradle-plugin/build.gradle.kts
index 77ee5f1d5..74f701d52 100644
--- a/app-gradle-plugin/build.gradle.kts
+++ b/app-gradle-plugin/build.gradle.kts
@@ -51,6 +51,9 @@ dependencies {
implementation(gradleApi())
api("com.google.cloud.tools:appengine-plugins-core:0.13.5-SNAPSHOT") // {x-version-update:appengine-plugins-core:current}
+ implementation("org.apache.commons:commons-lang3:3.18.0")
+ implementation("commons-io:commons-io:2.20.0")
+
testImplementation("commons-io:commons-io:2.11.0")
testImplementation("junit:junit:4.13.2")
testImplementation("org.hamcrest:hamcrest-library:2.2")
diff --git a/appengine-plugins-core/pom.xml b/appengine-plugins-core/pom.xml
index 52f3d7464..669f427b3 100644
--- a/appengine-plugins-core/pom.xml
+++ b/appengine-plugins-core/pom.xml
@@ -110,7 +110,7 @@
org.apache.commons
commons-compress
- 1.26.1
+ 1.28.0
From 82855eec361536183be0f74a39f6a0916d6fdf89 Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Fri, 14 Nov 2025 11:34:20 -0500
Subject: [PATCH 05/14] chore(main): release 2.8.5 (#1057)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 8 ++++++++
app-gradle-plugin/build.gradle.kts | 4 ++--
app-maven-plugin/pom.xml | 4 ++--
appengine-plugins-core/pom.xml | 2 +-
pom.xml | 2 +-
versions.txt | 6 +++---
7 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index c4bf51a72..2b097b290 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "2.8.4"
+ ".": "2.8.5"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 731152c1b..db9e19303 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## [2.8.5](https://github.com/GoogleCloudPlatform/appengine-plugins/compare/v2.8.4...v2.8.5) (2025-11-14)
+
+
+### Dependencies
+
+* ensure commons-lang3 v3.18.0 used for gradle ([#1058](https://github.com/GoogleCloudPlatform/appengine-plugins/issues/1058)) ([2ad9903](https://github.com/GoogleCloudPlatform/appengine-plugins/commit/2ad99037f0cb1be576ff906996ed819b84883aec))
+* upgrade commons-io to 2.20.0 ([#1056](https://github.com/GoogleCloudPlatform/appengine-plugins/issues/1056)) ([40b5cfa](https://github.com/GoogleCloudPlatform/appengine-plugins/commit/40b5cfab7391c1a09a5bb70dc73d821d47fd0e13))
+
## [2.8.4](https://github.com/GoogleCloudPlatform/appengine-plugins/compare/v2.8.3...v2.8.4) (2025-10-20)
diff --git a/app-gradle-plugin/build.gradle.kts b/app-gradle-plugin/build.gradle.kts
index 74f701d52..2adb40144 100644
--- a/app-gradle-plugin/build.gradle.kts
+++ b/app-gradle-plugin/build.gradle.kts
@@ -20,7 +20,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
*/
group = "com.google.cloud.tools"
-version = "2.8.5-SNAPSHOT" // {x-version-update:app-gradle-plugin:current}
+version = "2.8.5" // {x-version-update:app-gradle-plugin:current}
plugins {
id("java")
@@ -49,7 +49,7 @@ java {
dependencies {
implementation(localGroovy())
implementation(gradleApi())
- api("com.google.cloud.tools:appengine-plugins-core:0.13.5-SNAPSHOT") // {x-version-update:appengine-plugins-core:current}
+ api("com.google.cloud.tools:appengine-plugins-core:0.13.5") // {x-version-update:appengine-plugins-core:current}
implementation("org.apache.commons:commons-lang3:3.18.0")
implementation("commons-io:commons-io:2.20.0")
diff --git a/app-maven-plugin/pom.xml b/app-maven-plugin/pom.xml
index 2b1c9cbb9..051ac9b65 100644
--- a/app-maven-plugin/pom.xml
+++ b/app-maven-plugin/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-maven-plugin
- 2.8.5-SNAPSHOT
+ 2.8.5
maven-plugin
App Engine Maven Plugin
@@ -92,7 +92,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.5-SNAPSHOT
+ 0.13.5
diff --git a/appengine-plugins-core/pom.xml b/appengine-plugins-core/pom.xml
index 669f427b3..40a570c86 100644
--- a/appengine-plugins-core/pom.xml
+++ b/appengine-plugins-core/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.5-SNAPSHOT
+ 0.13.5
App Engine Plugins Core Library
diff --git a/pom.xml b/pom.xml
index 83bfccc2a..c2fc7521d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.5-SNAPSHOT
+ 0.13.5
diff --git a/versions.txt b/versions.txt
index ce8d764a7..186848a4b 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
# Format:
# module:released-version:current-version
-app-maven-plugin:2.8.4:2.8.5-SNAPSHOT
-app-gradle-plugin:2.8.4:2.8.5-SNAPSHOT
-appengine-plugins-core:0.13.4:0.13.5-SNAPSHOT
+app-maven-plugin:2.8.5:2.8.5
+app-gradle-plugin:2.8.5:2.8.5
+appengine-plugins-core:0.13.5:0.13.5
From 60babf75985c72b1003a98781b41139b163bc9ee Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Fri, 14 Nov 2025 11:36:30 -0500
Subject: [PATCH 06/14] chore(main): release 2.8.6-SNAPSHOT (#1059)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
app-gradle-plugin/build.gradle.kts | 4 ++--
app-maven-plugin/pom.xml | 4 ++--
appengine-plugins-core/pom.xml | 2 +-
pom.xml | 2 +-
versions.txt | 6 +++---
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/app-gradle-plugin/build.gradle.kts b/app-gradle-plugin/build.gradle.kts
index 2adb40144..ca4ad3c3e 100644
--- a/app-gradle-plugin/build.gradle.kts
+++ b/app-gradle-plugin/build.gradle.kts
@@ -20,7 +20,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
*/
group = "com.google.cloud.tools"
-version = "2.8.5" // {x-version-update:app-gradle-plugin:current}
+version = "2.8.6-SNAPSHOT" // {x-version-update:app-gradle-plugin:current}
plugins {
id("java")
@@ -49,7 +49,7 @@ java {
dependencies {
implementation(localGroovy())
implementation(gradleApi())
- api("com.google.cloud.tools:appengine-plugins-core:0.13.5") // {x-version-update:appengine-plugins-core:current}
+ api("com.google.cloud.tools:appengine-plugins-core:0.13.6-SNAPSHOT") // {x-version-update:appengine-plugins-core:current}
implementation("org.apache.commons:commons-lang3:3.18.0")
implementation("commons-io:commons-io:2.20.0")
diff --git a/app-maven-plugin/pom.xml b/app-maven-plugin/pom.xml
index 051ac9b65..151994dfb 100644
--- a/app-maven-plugin/pom.xml
+++ b/app-maven-plugin/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-maven-plugin
- 2.8.5
+ 2.8.6-SNAPSHOT
maven-plugin
App Engine Maven Plugin
@@ -92,7 +92,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.5
+ 0.13.6-SNAPSHOT
diff --git a/appengine-plugins-core/pom.xml b/appengine-plugins-core/pom.xml
index 40a570c86..64619b7a0 100644
--- a/appengine-plugins-core/pom.xml
+++ b/appengine-plugins-core/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.5
+ 0.13.6-SNAPSHOT
App Engine Plugins Core Library
diff --git a/pom.xml b/pom.xml
index c2fc7521d..ef2005e4d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.5
+ 0.13.6-SNAPSHOT
diff --git a/versions.txt b/versions.txt
index 186848a4b..1b6652dee 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
# Format:
# module:released-version:current-version
-app-maven-plugin:2.8.5:2.8.5
-app-gradle-plugin:2.8.5:2.8.5
-appengine-plugins-core:0.13.5:0.13.5
+app-maven-plugin:2.8.5:2.8.6-SNAPSHOT
+app-gradle-plugin:2.8.5:2.8.6-SNAPSHOT
+appengine-plugins-core:0.13.5:0.13.6-SNAPSHOT
From 1dfcad30937a66f4414dd419a487eb6ea6a3a81c Mon Sep 17 00:00:00 2001
From: Jin Seop Kim
Date: Mon, 17 Nov 2025 20:53:59 -0500
Subject: [PATCH 07/14] deps: upgrade commons-lang3 to 3.18.0 (#1061)
---
app-maven-plugin/pom.xml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/app-maven-plugin/pom.xml b/app-maven-plugin/pom.xml
index 151994dfb..cff71bd19 100644
--- a/app-maven-plugin/pom.xml
+++ b/app-maven-plugin/pom.xml
@@ -116,6 +116,11 @@
commons-io
2.20.0
+
+ org.apache.commons
+ commons-lang3
+ 3.18.0
+
org.mockito
From d664ba9a6d1ce00c51ad4c3567bfef627a0e1002 Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Mon, 17 Nov 2025 21:05:49 -0500
Subject: [PATCH 08/14] chore(main): release 2.8.6 (#1062)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 7 +++++++
app-gradle-plugin/build.gradle.kts | 4 ++--
app-maven-plugin/pom.xml | 4 ++--
appengine-plugins-core/pom.xml | 2 +-
pom.xml | 2 +-
versions.txt | 6 +++---
7 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 2b097b290..f954b0c6b 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "2.8.5"
+ ".": "2.8.6"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index db9e19303..17a9b0dd0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Changelog
+## [2.8.6](https://github.com/GoogleCloudPlatform/appengine-plugins/compare/v2.8.5...v2.8.6) (2025-11-18)
+
+
+### Dependencies
+
+* upgrade commons-lang3 to 3.18.0 ([#1061](https://github.com/GoogleCloudPlatform/appengine-plugins/issues/1061)) ([1dfcad3](https://github.com/GoogleCloudPlatform/appengine-plugins/commit/1dfcad30937a66f4414dd419a487eb6ea6a3a81c))
+
## [2.8.5](https://github.com/GoogleCloudPlatform/appengine-plugins/compare/v2.8.4...v2.8.5) (2025-11-14)
diff --git a/app-gradle-plugin/build.gradle.kts b/app-gradle-plugin/build.gradle.kts
index ca4ad3c3e..f0ebb40ee 100644
--- a/app-gradle-plugin/build.gradle.kts
+++ b/app-gradle-plugin/build.gradle.kts
@@ -20,7 +20,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
*/
group = "com.google.cloud.tools"
-version = "2.8.6-SNAPSHOT" // {x-version-update:app-gradle-plugin:current}
+version = "2.8.6" // {x-version-update:app-gradle-plugin:current}
plugins {
id("java")
@@ -49,7 +49,7 @@ java {
dependencies {
implementation(localGroovy())
implementation(gradleApi())
- api("com.google.cloud.tools:appengine-plugins-core:0.13.6-SNAPSHOT") // {x-version-update:appengine-plugins-core:current}
+ api("com.google.cloud.tools:appengine-plugins-core:0.13.6") // {x-version-update:appengine-plugins-core:current}
implementation("org.apache.commons:commons-lang3:3.18.0")
implementation("commons-io:commons-io:2.20.0")
diff --git a/app-maven-plugin/pom.xml b/app-maven-plugin/pom.xml
index cff71bd19..58d3ebcdb 100644
--- a/app-maven-plugin/pom.xml
+++ b/app-maven-plugin/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-maven-plugin
- 2.8.6-SNAPSHOT
+ 2.8.6
maven-plugin
App Engine Maven Plugin
@@ -92,7 +92,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.6-SNAPSHOT
+ 0.13.6
diff --git a/appengine-plugins-core/pom.xml b/appengine-plugins-core/pom.xml
index 64619b7a0..60361a084 100644
--- a/appengine-plugins-core/pom.xml
+++ b/appengine-plugins-core/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.6-SNAPSHOT
+ 0.13.6
App Engine Plugins Core Library
diff --git a/pom.xml b/pom.xml
index ef2005e4d..8396b1373 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.6-SNAPSHOT
+ 0.13.6
diff --git a/versions.txt b/versions.txt
index 1b6652dee..b754edcd9 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
# Format:
# module:released-version:current-version
-app-maven-plugin:2.8.5:2.8.6-SNAPSHOT
-app-gradle-plugin:2.8.5:2.8.6-SNAPSHOT
-appengine-plugins-core:0.13.5:0.13.6-SNAPSHOT
+app-maven-plugin:2.8.6:2.8.6
+app-gradle-plugin:2.8.6:2.8.6
+appengine-plugins-core:0.13.6:0.13.6
From d063ad4cfed8342f14ee6d6348f1ff4db090b37a Mon Sep 17 00:00:00 2001
From: Ludovic Champenois
Date: Thu, 12 Feb 2026 11:23:44 -0800
Subject: [PATCH 09/14] Update DevServer to handle empty POST requests (#1068)
Set Content-Length to 0 and close output stream after writing.
So that mvn appengine:stop works again (same in Gradle)
---
.../com/google/cloud/tools/appengine/operations/DevServer.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/appengine-plugins-core/src/main/java/com/google/cloud/tools/appengine/operations/DevServer.java b/appengine-plugins-core/src/main/java/com/google/cloud/tools/appengine/operations/DevServer.java
index 2f88fe414..1c74d68bf 100644
--- a/appengine-plugins-core/src/main/java/com/google/cloud/tools/appengine/operations/DevServer.java
+++ b/appengine-plugins-core/src/main/java/com/google/cloud/tools/appengine/operations/DevServer.java
@@ -205,7 +205,8 @@ public void stop(StopConfiguration configuration) throws AppEngineException {
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
- connection.getOutputStream().write('\n');
+ connection.setRequestProperty("Content-Length", "0");
+ connection.getOutputStream().close();
connection.disconnect();
int responseCode = connection.getResponseCode();
if (responseCode < 200 || responseCode > 299) {
From f7fd4d79b8e8f916d3ad5dd19d45578940e45869 Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Fri, 27 Mar 2026 16:23:41 -0400
Subject: [PATCH 10/14] chore(main): release 2.8.7-SNAPSHOT (#1069)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
app-gradle-plugin/build.gradle.kts | 4 ++--
app-maven-plugin/pom.xml | 4 ++--
appengine-plugins-core/pom.xml | 2 +-
pom.xml | 2 +-
versions.txt | 6 +++---
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/app-gradle-plugin/build.gradle.kts b/app-gradle-plugin/build.gradle.kts
index f0ebb40ee..6eab4a45a 100644
--- a/app-gradle-plugin/build.gradle.kts
+++ b/app-gradle-plugin/build.gradle.kts
@@ -20,7 +20,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
*/
group = "com.google.cloud.tools"
-version = "2.8.6" // {x-version-update:app-gradle-plugin:current}
+version = "2.8.7-SNAPSHOT" // {x-version-update:app-gradle-plugin:current}
plugins {
id("java")
@@ -49,7 +49,7 @@ java {
dependencies {
implementation(localGroovy())
implementation(gradleApi())
- api("com.google.cloud.tools:appengine-plugins-core:0.13.6") // {x-version-update:appengine-plugins-core:current}
+ api("com.google.cloud.tools:appengine-plugins-core:0.13.7-SNAPSHOT") // {x-version-update:appengine-plugins-core:current}
implementation("org.apache.commons:commons-lang3:3.18.0")
implementation("commons-io:commons-io:2.20.0")
diff --git a/app-maven-plugin/pom.xml b/app-maven-plugin/pom.xml
index 58d3ebcdb..155623e78 100644
--- a/app-maven-plugin/pom.xml
+++ b/app-maven-plugin/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-maven-plugin
- 2.8.6
+ 2.8.7-SNAPSHOT
maven-plugin
App Engine Maven Plugin
@@ -92,7 +92,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.6
+ 0.13.7-SNAPSHOT
diff --git a/appengine-plugins-core/pom.xml b/appengine-plugins-core/pom.xml
index 60361a084..fb325b72c 100644
--- a/appengine-plugins-core/pom.xml
+++ b/appengine-plugins-core/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.6
+ 0.13.7-SNAPSHOT
App Engine Plugins Core Library
diff --git a/pom.xml b/pom.xml
index 8396b1373..1bb864d50 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.6
+ 0.13.7-SNAPSHOT
diff --git a/versions.txt b/versions.txt
index b754edcd9..871d97687 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
# Format:
# module:released-version:current-version
-app-maven-plugin:2.8.6:2.8.6
-app-gradle-plugin:2.8.6:2.8.6
-appengine-plugins-core:0.13.6:0.13.6
+app-maven-plugin:2.8.6:2.8.7-SNAPSHOT
+app-gradle-plugin:2.8.6:2.8.7-SNAPSHOT
+appengine-plugins-core:0.13.6:0.13.7-SNAPSHOT
From 5c45ff800be91da935a7a9884ba0d025a529281a Mon Sep 17 00:00:00 2001
From: Jin Seop Kim
Date: Fri, 27 Mar 2026 16:52:15 -0400
Subject: [PATCH 11/14] fix: Update DevServer to handle empty POST requests
(#1072)
From bf821f8b782b19e321044794f3445b3d1a64f41a Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Fri, 27 Mar 2026 17:02:26 -0400
Subject: [PATCH 12/14] chore(main): release 2.8.7 (#1073)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 7 +++++++
app-gradle-plugin/build.gradle.kts | 4 ++--
app-maven-plugin/pom.xml | 4 ++--
appengine-plugins-core/pom.xml | 2 +-
pom.xml | 2 +-
versions.txt | 6 +++---
7 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index f954b0c6b..024e37d60 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "2.8.6"
+ ".": "2.8.7"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 17a9b0dd0..bfb04608d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Changelog
+## [2.8.7](https://github.com/GoogleCloudPlatform/appengine-plugins/compare/v2.8.6...v2.8.7) (2026-03-27)
+
+
+### Bug Fixes
+
+* Update DevServer to handle empty POST requests ([#1072](https://github.com/GoogleCloudPlatform/appengine-plugins/issues/1072)) ([5c45ff8](https://github.com/GoogleCloudPlatform/appengine-plugins/commit/5c45ff800be91da935a7a9884ba0d025a529281a))
+
## [2.8.6](https://github.com/GoogleCloudPlatform/appengine-plugins/compare/v2.8.5...v2.8.6) (2025-11-18)
diff --git a/app-gradle-plugin/build.gradle.kts b/app-gradle-plugin/build.gradle.kts
index 6eab4a45a..7931e6687 100644
--- a/app-gradle-plugin/build.gradle.kts
+++ b/app-gradle-plugin/build.gradle.kts
@@ -20,7 +20,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
*/
group = "com.google.cloud.tools"
-version = "2.8.7-SNAPSHOT" // {x-version-update:app-gradle-plugin:current}
+version = "2.8.7" // {x-version-update:app-gradle-plugin:current}
plugins {
id("java")
@@ -49,7 +49,7 @@ java {
dependencies {
implementation(localGroovy())
implementation(gradleApi())
- api("com.google.cloud.tools:appengine-plugins-core:0.13.7-SNAPSHOT") // {x-version-update:appengine-plugins-core:current}
+ api("com.google.cloud.tools:appengine-plugins-core:0.13.7") // {x-version-update:appengine-plugins-core:current}
implementation("org.apache.commons:commons-lang3:3.18.0")
implementation("commons-io:commons-io:2.20.0")
diff --git a/app-maven-plugin/pom.xml b/app-maven-plugin/pom.xml
index 155623e78..dacc5e57f 100644
--- a/app-maven-plugin/pom.xml
+++ b/app-maven-plugin/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-maven-plugin
- 2.8.7-SNAPSHOT
+ 2.8.7
maven-plugin
App Engine Maven Plugin
@@ -92,7 +92,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.7-SNAPSHOT
+ 0.13.7
diff --git a/appengine-plugins-core/pom.xml b/appengine-plugins-core/pom.xml
index fb325b72c..d1f8da323 100644
--- a/appengine-plugins-core/pom.xml
+++ b/appengine-plugins-core/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.7-SNAPSHOT
+ 0.13.7
App Engine Plugins Core Library
diff --git a/pom.xml b/pom.xml
index 1bb864d50..4e45697dd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
com.google.cloud.tools
appengine-plugins-core
- 0.13.7-SNAPSHOT
+ 0.13.7
diff --git a/versions.txt b/versions.txt
index 871d97687..2b783d718 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
# Format:
# module:released-version:current-version
-app-maven-plugin:2.8.6:2.8.7-SNAPSHOT
-app-gradle-plugin:2.8.6:2.8.7-SNAPSHOT
-appengine-plugins-core:0.13.6:0.13.7-SNAPSHOT
+app-maven-plugin:2.8.7:2.8.7
+app-gradle-plugin:2.8.7:2.8.7
+appengine-plugins-core:0.13.7:0.13.7
From 56cb1eb6f9341add236da9e88d88a79f19645d47 Mon Sep 17 00:00:00 2001
From: Jin Seop Kim
Date: Fri, 24 Jul 2026 12:41:54 -0400
Subject: [PATCH 13/14] feat: add GitHub issue templates (#1077)
---
.github/ISSUE_TEMPLATE/bug_report.md | 38 ++++++++++++++++++++++++++++
.github/ISSUE_TEMPLATE/config.yml | 4 +++
2 files changed, 42 insertions(+)
create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md
create mode 100644 .github/ISSUE_TEMPLATE/config.yml
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 000000000..a7a831927
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,38 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: waiting-for-triage
+assignees: ''
+
+---
+**PLEASE READ**: If you have a support contract with Google, please create an issue in the
+[support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure
+a timely response.
+
+We'd love to accept your patches and contributions to this project. There are just a few small
+guidelines you need to follow before opening an issue or a PR:
+
+1. Ensure the issue was not already reported.
+2. Open a new issue if you are unable to find an existing issue addressing your problem. Make sure
+ to include a title and clear description, as much relevant information as possible, and a code
+ sample or an executable test case demonstrating the expected behavior that is not occurring.
+3. Discuss the priority and potential solutions with the maintainers in the issue. The maintainers
+ would review the issue and add a label "Accepting Contributions" once the issue is ready for
+ accepting contributions.
+4. Open a PR only if the issue is labeled with "Accepting Contributions", ensure the PR description
+ clearly describes the problem and solution. Note that an open PR without an issue labeled with "
+ Accepting Contributions" will not be accepted.
+
+See
+also [CONTRIBUTING.md](https://github.com/GoogleCloudPlatform/appengine-plugins/blob/main/CONTRIBUTING.md)
+.
+
+**Describe the bug**
+Please provide details of the problem, including the version of App Engine plugin that you
+are using.
+
+**Sample**
+If possible, please provide a test case or sample application that reproduces
+the problem. This makes it much easier for us to diagnose the problem and to verify that
+we have fixed it.
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 000000000..603b90133
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,4 @@
+contact_links:
+ - name: Google Cloud Support
+ url: https://cloud.google.com/support/
+ about: If you have a support contract with Google, please use the Google Cloud Support portal.
From 1a77a9cc54f490376e8073a75970145798611bac Mon Sep 17 00:00:00 2001
From: hongdaj
Date: Tue, 3 Nov 2026 18:15:22 -0500
Subject: [PATCH 14/14] fix(deps): remove untrusted plugin dependencies for
Airlock (#1080)
* build(deps): remove untrusted plugin dependencies for Airlock
Upgrade and configure Maven build plugins so that all build and release dependencies resolve from Airlock maven-3p-trusted.
- Override org.codehaus.plexus:plexus-i18n to 1.0-beta-10 and exclude 1.0-beta-7 from maven-bundle-plugin and maven-plugin-plugin, because 1.0-beta-7 lacks machine-readable upstream license metadata.
- Upgrade maven-enforcer-plugin to 3.0.0, jacoco-maven-plugin to 0.8.12, maven-checkstyle-plugin to 3.6.0, and maven-javadoc-plugin to 3.11.2 to drop classworlds:classworlds:1.1-alpha-2.
- Upgrade maven-pmd-plugin to 3.21.2 and exclude org.codehaus.plexus:plexus-container-default so the verify phase uses trusted pmd-java:6.55.0 instead of 6.42.0.
- Pin maven-compiler-plugin, maven-javadoc-plugin, and maven-source-plugin in the jdk8 and root release profiles to avoid unpinned LATEST metadata lookups.
* build(deps): keep Doxia 1.11.1 for plugin:report and document enforcer pin
- Exclude doxia-core and doxia-sink-api from maven-reporting-impl:3.0.0 so maven-plugin-plugin:3.6.4 keeps Doxia 1.11.1 when running mvn plugin:report.
- Document why maven-enforcer-plugin stays below 3.2.0 while linkage-checker-enforcer-rules:0.2.0 uses AbstractNonCacheableEnforcerRule.
---
app-maven-plugin/pom.xml | 64 +++++++++++++++++++++++++++++++---
appengine-plugins-core/pom.xml | 62 +++++++++++++++++++++++++++++---
pom.xml | 14 ++++++++
3 files changed, 131 insertions(+), 9 deletions(-)
diff --git a/app-maven-plugin/pom.xml b/app-maven-plugin/pom.xml
index dacc5e57f..9baa063db 100644
--- a/app-maven-plugin/pom.xml
+++ b/app-maven-plugin/pom.xml
@@ -172,6 +172,38 @@
org.apache.maven.plugins
maven-plugin-plugin
3.6.4
+
+
+ org.codehaus.plexus
+ plexus-i18n
+ 1.0-beta-10
+
+
+ *
+ *
+
+
+
+
+ org.apache.maven.reporting
+ maven-reporting-impl
+ 3.0.0
+
+
+ org.apache.maven.doxia
+ doxia-site-renderer
+
+
+ org.apache.maven.doxia
+ doxia-core
+
+
+ org.apache.maven.doxia
+ doxia-sink-api
+
+
+
+
default-descriptor
@@ -208,7 +240,7 @@
maven-checkstyle-plugin
- 3.1.0
+ 3.6.0
com.puppycrawl.tools
@@ -293,7 +325,31 @@
org.apache.maven.plugins
maven-pmd-plugin
- 3.16.0
+ 3.21.2
+
+
+ org.apache.maven.reporting
+ maven-reporting-impl
+ 3.2.0
+
+
+ org.codehaus.plexus
+ plexus-container-default
+
+
+
+
+ org.apache.maven.doxia
+ doxia-site-renderer
+ 1.11.1
+
+
+ org.codehaus.plexus
+ plexus-container-default
+
+
+
+
false
true
@@ -354,7 +410,7 @@
org.jacoco
jacoco-maven-plugin
- 0.8.7
+ 0.8.12
@@ -455,7 +511,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 3.3.2
+ 3.11.2
attach-javadocs
diff --git a/appengine-plugins-core/pom.xml b/appengine-plugins-core/pom.xml
index d1f8da323..d292423ef 100644
--- a/appengine-plugins-core/pom.xml
+++ b/appengine-plugins-core/pom.xml
@@ -190,6 +190,56 @@
org.apache.felix
maven-bundle-plugin
5.1.9
+
+
+ org.codehaus.plexus
+ plexus-i18n
+ 1.0-beta-10
+
+
+ *
+ *
+
+
+
+
+ org.apache.maven.doxia
+ doxia-site-renderer
+ 1.0
+
+
+ org.codehaus.plexus
+ plexus-i18n
+
+
+ org.codehaus.plexus
+ plexus-container-default
+
+
+
+
+ org.apache.felix
+ org.apache.felix.bundlerepository
+ 1.6.6
+
+
+ org.osgi
+ org.osgi.core
+
+
+
+
+ org.apache.felix
+ org.apache.felix.utils
+ 1.6.0
+
+
+ org.osgi
+ org.osgi.core
+
+
+
+
+ 3.0.0
com.google.cloud.tools
@@ -438,9 +489,9 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 3.3.2
+ 3.11.2
- -Xdoclint:none
+ none
@@ -487,6 +538,7 @@
org.apache.maven.plugins
maven-compiler-plugin
+ 3.11.0
1.8
1.8
@@ -566,7 +618,7 @@
maven-checkstyle-plugin
- 3.3.0
+ 3.6.0
com.puppycrawl.tools
diff --git a/pom.xml b/pom.xml
index 4e45697dd..dc272751d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,20 @@
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.2
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.3.0
+
+
+
com.coveo