Skip to content

Commit b3ba657

Browse files
ludochgae-java-bot
authored andcommitted
Upgrade GAE Java version from 3.0.3 to 4.0.0 and prepare next version 4.0.1-SNAPSHOT
PiperOrigin-RevId: 850486188 Change-Id: I4d0788b1fc17e038b54068243c42146a13193205
1 parent dc18314 commit b3ba657

File tree

121 files changed

+207
-140
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+207
-140
lines changed

README.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ The packages `com.google.appengine.api.blobstore.ee10` and `com.google.appengine
7474
<dependency>
7575
<groupId>com.google.appengine</groupId>
7676
<artifactId>appengine-api-1.0-sdk</artifactId>
77-
<version>3.0.3</version><!-- or later-->
77+
<version>4.0.0</version><!-- or later-->
7878
</dependency>
7979
<dependency>
8080
<groupId>javax.servlet</groupId>
@@ -94,7 +94,7 @@ The packages `com.google.appengine.api.blobstore.ee10` and `com.google.appengine
9494
<dependency>
9595
<groupId>com.google.appengine</groupId>
9696
<artifactId>appengine-api-1.0-sdk</artifactId>
97-
<version>3.0.3</version><!-- or later-->
97+
<version>4.0.0</version><!-- or later-->
9898
</dependency>
9999
<dependency>
100100
<groupId>jakarta.servlet</groupId>
@@ -105,7 +105,7 @@ The packages `com.google.appengine.api.blobstore.ee10` and `com.google.appengine
105105
...
106106
```
107107
108-
* Maven Java 25 Alpha with jakarta EE 11 support pom.xml (EE10 is not supported in Java25, EE11 is fully compatible with EE10)
108+
* Maven Java 25 with jakarta EE 11 support pom.xml (EE10 is not supported in Java25, EE11 is fully compatible with EE10)
109109
110110
```
111111
<packaging>war</packaging><!-- Servlet 6.1 WAR packaging-->
@@ -114,7 +114,7 @@ The packages `com.google.appengine.api.blobstore.ee10` and `com.google.appengine
114114
<dependency>
115115
<groupId>com.google.appengine</groupId>
116116
<artifactId>appengine-api-1.0-sdk</artifactId>
117-
<version>3.0.3</version><!-- or later-->
117+
<version>4.0.0</version><!-- or later-->
118118
</dependency>
119119
<dependency>
120120
<groupId>jakarta.servlet</groupId>
@@ -131,7 +131,7 @@ The packages `com.google.appengine.api.blobstore.ee10` and `com.google.appengine
131131
```
132132
<?xml version="1.0" encoding="utf-8"?>
133133
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
134-
<runtime>java21</runtime> <-- or java25 alpha-->
134+
<runtime>java25</runtime> <-- or java21-->
135135
<app-engine-apis>true</app-engine-apis>
136136
137137
<!-- Add optionally:
@@ -156,7 +156,7 @@ The packages `com.google.appengine.api.blobstore.ee10` and `com.google.appengine
156156
</appengine-web-app>
157157
```
158158
159-
* Java 21 appengine-web.xml (will default to EE10, but EE8 possible)
159+
* Java 21 appengine-web.xml (will default to EE10, but EE8 possible)
160160
161161
```
162162
<?xml version="1.0" encoding="utf-8"?>
@@ -166,8 +166,7 @@ The packages `com.google.appengine.api.blobstore.ee10` and `com.google.appengine
166166
</appengine-web-app>
167167
```
168168
169-
170-
* Java 25 appengine-web.xml (will default to EE11, but EE8 possible) Alpha
169+
* Java 25 appengine-web.xml (will default to EE11, but EE8 possible)
171170
172171
```
173172
<?xml version="1.0" encoding="utf-8"?>
@@ -224,14 +223,14 @@ Source code for remote APIs for App Engine.
224223
<dependency>
225224
<groupId>com.google.appengine</groupId>
226225
<artifactId>appengine-remote-api</artifactId>
227-
<version>3.0.3</version><!-- or later-->
226+
<version>4.0.0</version><!-- or later-->
228227
</dependency>
229228
```
230229
231230
#### User Visible Changes With Maven Builds
232231
233232
We moved `com.google.appengine.api.memcache.stdimpl` and its old dependency
234-
`javax.cache` from `appengine-api-1.0-sdk.jar` to a new jar `appengine-api-legacy.jar`.
233+
`javax.cache` from `appengine-api-1.0-sdk.jar` to a new jar `appengine-api-legacy.jar`.
235234
236235
- [Latest javadoc.io Javadocs from this repository](https://javadoc.io/doc/com.google.appengine/appengine-api-legacy)
237236
@@ -247,7 +246,7 @@ We moved `com.google.appengine.api.memcache.stdimpl` and its old dependency
247246
<dependency>
248247
<groupId>com.google.appengine</groupId>
249248
<artifactId>appengine-api-legacy.jar/artifactId>
250-
<version>3.0.3</version><!-- Or later-->
249+
<version>4.0.0</version><!-- Or later-->
251250
</dependency>
252251
```
253252
@@ -262,19 +261,19 @@ We moved `com.google.appengine.api.memcache.stdimpl` and its old dependency
262261
<dependency>
263262
<groupId>com.google.appengine</groupId>
264263
<artifactId>appengine-testing</artifactId>
265-
<version>3.0.3</version><!-- or later-->
264+
<version>4.0.0</version><!-- or later-->
266265
<scope>test</scope>
267266
</dependency>
268267
<dependency>
269268
<groupId>com.google.appengine</groupId>
270269
<artifactId>appengine-api-stubs</artifactId>
271-
<version>3.0.3</version><!-- or later-->
270+
<version>4.0.0</version><!-- or later-->
272271
<scope>test</scope>
273272
</dependency>
274273
<dependency>
275274
<groupId>com.google.appengine</groupId>
276275
<artifactId>appengine-tools-sdk</artifactId>
277-
<version>3.0.3</version><!-- or later-->
276+
<version>4.0.0</version><!-- or later-->
278277
<scope>test</scope>
279278
</dependency>
280279
```

RELEASENOTES.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<!--
2+
Copyright 2021 Google LLC
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
https://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-->
16+
17+
# Release Notes 4.0.0 December 30 2025.
18+
19+
## Breaking Changes
20+
21+
* Package Renaming for Byte-Safe Protos:
22+
The core change is the introduction of parallel Java proto libraries.
23+
When a .proto file is processed to handle potentially non-UTF8 string fields
24+
as bytes, the generated Java code is placed in a new package.
25+
Typically, the java_package option in the .proto files is modified.
26+
For example, com.google.appengine.api.taskqueue becomes com.google.appengine.api.taskqueue_bytes.
27+
Similarly, com.google.storage.onestore.v3 becomes com.google.storage.onestore.v3_bytes.
28+
* bytes Instead of string:
29+
The fundamental goal is to address fields in protos that were declared as
30+
string but in practice could contain arbitrary byte arrays, not necessarily valid UTF-8 strings.
31+
In Java Proto1, these were often treated as String,
32+
which could lead to corruption or exceptions.
33+
* The `com.google.appengine.api.datastore` package has been updated to use
34+
proto2 versions of Onestore Entity protos. These protos are repackaged
35+
(shaded) within this JAR.
36+
* The `com.google.appengine.api.datastore.EntityTranslator` class:
37+
* `EntityTranslator.createFromPb(EntityProto)` now accepts
38+
`com.google.appengine.repackaged.com.google.storage.onestore.v3_bytes.proto2api.OnestoreEntity.EntityProto`
39+
instead of
40+
`com.google.storage.onestore.v3.OnestoreEntity.EntityProto`.
41+
* `EntityTranslator.convertToPb(Entity)` now returns
42+
`com.google.appengine.repackaged.com.google.storage.onestore.v3_bytes.proto2api.OnestoreEntity.EntityProto`
43+
instead of
44+
`com.google.storage.onestore.v3.OnestoreEntity.EntityProto`.
45+
* The `com.google.appengine.api.datastore.KeyTranslator` class:
46+
* `KeyTranslator.createFromPb(Reference)` now accepts
47+
`com.google.appengine.repackaged.com.google.storage.onestore.v3_bytes.proto2api.OnestoreEntity.Reference`
48+
instead of
49+
`com.google.storage.onestore.v3.OnestoreEntity.Reference`.
50+
* `KeyTranslator.convertToPb(Key)` now returns
51+
`com.google.appengine.repackaged.com.google.storage.onestore.v3_bytes.proto2api.OnestoreEntity.Reference`
52+
instead of
53+
`com.google.storage.onestore.v3.OnestoreEntity.Reference`.
54+
* The `com.google.appengine.api.datastore.DataTypeTranslator` class:
55+
* Methods `addPropertiesToPb`, `extractPropertiesFromPb`,
56+
`extractIndexedPropertiesFromPb`, `extractImplicitPropertiesFromPb`, and
57+
`findIndexedPropertiesOnPb` now accept
58+
`com.google.appengine.repackaged.com.google.storage.onestore.v3_bytes.proto2api.OnestoreEntity.EntityProto`
59+
instead of
60+
`com.google.storage.onestore.v3.OnestoreEntity.EntityProto`.
61+
* Method `getPropertyValue` now accepts
62+
`com.google.appengine.repackaged.com.google.storage.onestore.v3_bytes.proto2api.OnestoreEntity.Property`
63+
instead of
64+
`com.google.storage.onestore.v3.OnestoreEntity.Property`.
65+
* Method `getComparablePropertyValue` now accepts
66+
`com.google.appengine.repackaged.com.google.storage.onestore.v3_bytes.proto2api.OnestoreEntity.Property`
67+
instead of
68+
`com.google.storage.onestore.v3.OnestoreEntity.Property`.

TRYLATESTBITSINPROD.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ top of your web application and change the entrypoint to boot with these jars in
4949
./mvnw clean install
5050
```
5151

52-
Let's assume the current build version is `4.0.0-SNAPSHOT`.
52+
Let's assume the current build version is `4.0.1-SNAPSHOT`.
5353

5454
See the output of the runtime deployment module which contains all the jars needed by the runtime:
5555

@@ -70,7 +70,7 @@ Add the dependency for the GAE runtime jars in your application pom.xml file:
7070

7171
```
7272
<properties>
73-
<appengine.runtime.version>4.0.0-SNAPSHOT</appengine.runtime.version>
73+
<appengine.runtime.version>4.0.1-SNAPSHOT</appengine.runtime.version>
7474
<appengine.runtime.location>target/${project.artifactId}-${project.version}</appengine.runtime.location>
7575
<properties>
7676
...

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>com.google.appengine</groupId>
2323
<artifactId>parent</artifactId>
24-
<version>4.0.0-SNAPSHOT</version>
24+
<version>4.0.1-SNAPSHOT</version>
2525
</parent>
2626
<properties>
2727
<maven.deploy.skip>true</maven.deploy.skip>

api_dev/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>com.google.appengine</groupId>
2525
<artifactId>parent</artifactId>
26-
<version>4.0.0-SNAPSHOT</version>
26+
<version>4.0.1-SNAPSHOT</version>
2727
</parent>
2828

2929
<packaging>jar</packaging>

api_legacy/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>com.google.appengine</groupId>
2424
<artifactId>parent</artifactId>
25-
<version>4.0.0-SNAPSHOT</version>
25+
<version>4.0.1-SNAPSHOT</version>
2626
</parent>
2727

2828
<packaging>jar</packaging>

appengine-api-1.0-sdk/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<groupId>com.google.appengine</groupId>
2222
<artifactId>parent</artifactId>
23-
<version>4.0.0-SNAPSHOT</version>
23+
<version>4.0.1-SNAPSHOT</version>
2424
</parent>
2525
<packaging>jar</packaging>
2626
<name>AppEngine :: appengine-api-1.0-sdk</name>

appengine-api-stubs/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>com.google.appengine</groupId>
2525
<artifactId>parent</artifactId>
26-
<version>4.0.0-SNAPSHOT</version>
26+
<version>4.0.1-SNAPSHOT</version>
2727
</parent>
2828

2929
<packaging>jar</packaging>

appengine_init/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>com.google.appengine</groupId>
2525
<artifactId>parent</artifactId>
26-
<version>4.0.0-SNAPSHOT</version>
26+
<version>4.0.1-SNAPSHOT</version>
2727
</parent>
2828

2929
<packaging>jar</packaging>

appengine_jsr107/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<parent>
2727
<groupId>com.google.appengine</groupId>
2828
<artifactId>parent</artifactId>
29-
<version>4.0.0-SNAPSHOT</version>
29+
<version>4.0.1-SNAPSHOT</version>
3030
</parent>
3131

3232
<dependencies>

0 commit comments

Comments
 (0)