Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: GoogleCloudPlatform/appengine-java-standard
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.0.39
Choose a base ref
...
head repository: GoogleCloudPlatform/appengine-java-standard
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.0.0-beta
Choose a head ref
  • 12 commits
  • 376 files changed
  • 3 contributors

Commits on Sep 10, 2025

  1. Introduce Jakarta Servlet API compatible versions of App Engine dev s…

    …erver components.
    
    PiperOrigin-RevId: 805478051
    Change-Id: Ieee1c23184f6eff13b4c2d20b22db86ad27e2b22
    ludoch authored and gae-java-bot committed Sep 10, 2025
    Configuration menu
    Copy the full SHA
    4052087 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3096a45 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2025

  1. Merge pull request #410 from renovate-bot:renovate/all-minor-patch

    PiperOrigin-RevId: 805801834
    Change-Id: I2449e10331a2ec867a7874499b9d685d53cbb9ba
    gae-java-bot committed Sep 11, 2025
    Configuration menu
    Copy the full SHA
    0350b6d View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2025

  1. This change introduces major updates to the App Engine Java SDK, incl…

    …uding:
    
    - Support for Jetty 12.1 and Jakarta EE 11 via a new `java25` runtime option.
    - A major version bump to `3.0.0` due to compilation target changes and API refactoring.
    - Refactoring of generic Jakarta EE API packages from `ee10` to `jakarta`.
    
    **Release 3.0.0**
    The project version is bumped to `3.0.0-SNAPSHOT`, and the base compilation target is raised from Java 8 to Java 17. This major version increment reflects breaking API package changes and the new baseline Java version.
    
    **Jetty 12.1 and Jakarta EE 11 Support**
    - Adds build configurations, SDK classes (`Jetty121EE8Sdk`, `Jetty121EE11Sdk`), and runtime handlers (`EE11AppVersionHandlerFactory`) to support Jetty 12.1 with both EE8 and EE11 applications.
    - Introduces a new `java25` runtime option in `appengine-web.xml`, which defaults to using Jetty 12.1 with EE11 support.
    - Jetty 12.0 continues to support EE8 and EE10 for `java17` and `java21` runtimes.
    
    **API Refactoring: `ee10` to `jakarta`**
    To better reflect that common servlet APIs are part of Jakarta EE rather than a specific version like EE10, packages named `ee10` have been refactored. The existing `ee10` classes are now deprecated with `@Deprecated(since = "3.0.0")` and point to their replacements in new `jakarta` packages via `{@link}` tags in Javadoc.
    
    This includes:
    - `com.google.appengine.api.blobstore.ee10.*` -> `c.g.a.api.blobstore.jakarta.*`
    - `com.google.appengine.api.mail.ee10.*` -> `c.g.a.api.mail.jakarta.*`
    - `com.google.appengine.api.taskqueue.ee10.*` -> `c.g.a.api.taskqueue.jakarta.*`
    - `com.google.appengine.api.utils.ee10.*` -> `c.g.a.api.utils.jakarta.*`
    - `c.g.apphosting.utils.remoteapi.EE10RemoteApiServlet` -> `c.g.apphosting.utils.remoteapi.JakartaRemoteApiServlet`
    - `c.g.apphosting.utils.servlet.ee10.*` -> `c.g.apphosting.utils.servlet.jakarta.*`
    
    **Breaking Change:**
    Applications using classes from the `ee10` packages listed above must update their imports to use the corresponding `jakarta` packages when upgrading to SDK 3.0.0.
    
    **Other Changes:**
    - Test infrastructure updated to handle new Jetty/EE versions.
    - Demo applications added/updated for Jakarta EE compatibility.
    
    PiperOrigin-RevId: 806498954
    Change-Id: I894364e865eb6735b365563e956a3e043632766c
    ludoch authored and gae-java-bot committed Sep 13, 2025
    Configuration menu
    Copy the full SHA
    22d0d8e View commit details
    Browse the repository at this point in the history
  2. Refactor DevAppServer and Runtime tests for parameterized java versio…

    …ns to pick the one used in our github actions to optimize build and test time.
    
    Our actions have 3 jdk used in .github/workflows/maven.yml
    
    This change introduces parameterized testing to `DevAppServerTestBase` and `JavaRuntimeViaHttpBase`. Tests will now run across various combinations of Java runtime versions (java17, java21, java25), Jetty versions (9.4, 12.0, 12.1), and Jakarta EE versions (EE6, EE8, EE10, EE11). The test execution is filtered to only run with the Java version matching the current test environment. `JavaRuntimeViaHttpBase` also parameterizes on the use of the HTTP connector.
     DevAppServerMainTest.java is changed to a single test method to avoid multiple start and stop of the server. We could have used @BeforeClass but seems more complicated for static fields needed.
    
    PiperOrigin-RevId: 806707657
    Change-Id: Iebb74077ad23644b0677533086a08493b86e3c36
    ludoch authored and gae-java-bot committed Sep 13, 2025
    Configuration menu
    Copy the full SHA
    9d63cbc View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2025

  1. Configuration menu
    Copy the full SHA
    3490736 View commit details
    Browse the repository at this point in the history
  2. Remove Java 8 specific classpath setup from ClassPathUtils.

    PiperOrigin-RevId: 807265751
    Change-Id: I67c62f3b120ff318b2ae0ad851e5ae7efa2278fb
    ludoch authored and gae-java-bot committed Sep 15, 2025
    Configuration menu
    Copy the full SHA
    4847911 View commit details
    Browse the repository at this point in the history
  3. Update README.md for Java 25 support and add Jetty 12.1.0 library con…

    …tent.
    
    PiperOrigin-RevId: 807287781
    Change-Id: Id0d2ccb79b4dbcf2e9df3b0fed60264c962a40c3
    ludoch authored and gae-java-bot committed Sep 15, 2025
    Configuration menu
    Copy the full SHA
    7ef88c6 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2025

  1. Merge pull request #411 from renovate-bot:renovate/all-minor-patch

    PiperOrigin-RevId: 807705892
    Change-Id: I94e6cbf2958915d1c57c10dab5533c1c5cebc61d
    gae-java-bot committed Sep 16, 2025
    Configuration menu
    Copy the full SHA
    922aa43 View commit details
    Browse the repository at this point in the history
  2. This change introduces separate local runtime jars for Jetty 12 with …

    …EE10, Jetty 12.1 with EE8, and Jetty 12.1 with EE11.
    
    Enforce Jetty 12.1 with EE11 flag and make some servlets 'resource' parameter match one of the names in case-insensitive.
    
    Refactor App Engine local runtime jars for different Jetty/EE versions. Logic was quite buggy there for EE10 or now EE11. Fixed long standing issue there for better local execution with all modes.
    
    The SDK loading logic is updated to select the appropriate jar based on system properties. Shading configurations are adjusted in various POM files, and resource loading in `AdminConsoleResourceServlet` is corrected. A new test case for Java 21 with EE11 is added.
    Update local devappserver `SharedMain` to automatically set `appengine.use.jetty121` to `true` when `appengine.use.EE11` is enabled.
    Add a test case to `AppEngineWebXmlInitialParseTest` to verify this behavior for `java21` runtime upgrade to jetty12.1 when EE11 is true.
    
    The big new shading sections seem complicated, but are a 100% copy of what the API jar shading is using, this way the shaded jars can depend correctly to the API jar reusing all the repackaged classes from it.
    
    Gemini AI description of the new tests:
    Here is a summary of the new tests added in this changelist:
    
    1. GuestBookTest: Verifying POST and Session Handling
    A new test method, testGuestBookPostAndGet, has been added to runtime/test/src/test/java/com/google/apphosting/runtime/tests/GuestBookTest.java.
    
    What it does: This test sends a POST request to the guestbook application to add a new entry and then verifies with a subsequent GET request that the entry was successfully saved and displayed.
    Why it's important: According to the CL description, this test demonstrates that the session manager is working correctly with the production runtime jars, as sessions are required to post to the guestbook.
    
    2. DevAppServerMainTest: Verifying Session Counting
    A new test, testSession, was added to e2etests/devappservertests/src/test/java/com/google/appengine/tools/development/DevAppServerMainTest.java.
    
    What it does: This test makes two requests to a new SessionCountingServlet. It captures the JSESSIONID from the first response and sends it back in the second request, verifying that the session-based count increments.
    Why it's important: This directly tests that devappserver can correctly create and maintain user sessions across multiple requests. This relies on the new SessionCountingServlet which was added to the allinone and allinone_jakarta test apps, and the enabling of sessions in their appengine-web.xml files.
    
    3. AppEngineWebXmlInitialParseTest: Verifying Automatic Jetty 12.1 Flag
    A new test, testJava21WithEE11, was added to appengine_init/src/test/java/com/google/appengine/init/AppEngineWebXmlInitialParseTest.java.
    
    What it does: It parses a temporary appengine-web.xml configured for java21 and EE11. It then asserts that the appengine.use.jetty121 system property is automatically set to true.
    Why it's important: This test verifies the new logic in SharedMain.java which enforces that applications using Java 21 with EE11 will automatically use Jetty 12.1.
    
    PiperOrigin-RevId: 807711417
    Change-Id: Ie231ed86da2296106956589b284dee6bd621851a
    ludoch authored and gae-java-bot committed Sep 16, 2025
    Configuration menu
    Copy the full SHA
    e04bfd3 View commit details
    Browse the repository at this point in the history
  3. Rename artifacts as 3.0.0-beta, and also mark Jetty dependencies as o…

    …ptional and adjust shaded includes.
    
    The beta tag is for a Cloud CLI release.
    Also this change marks most Jetty-related dependencies in `runtime_impl_jetty12` and `runtime_impl_jetty121` as optional. It also adds `jetty-jdni` to the list of included artifacts for shading in both versions. Additionally, `jetty-ee11-servlet` is added as an optional dependency and `jetty-ee11-annotations` is included in the shaded artifacts for `runtime_impl_jetty121`. Redundant `<type>jar</type>` declarations were also removed.
    
    PiperOrigin-RevId: 807816884
    Change-Id: Id767bfe99273eb02a4b672db3053e772b5f4bb15
    ludoch authored and gae-java-bot committed Sep 16, 2025
    Configuration menu
    Copy the full SHA
    68c766a View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2025

  1. Use Servlet 3.1 so that annotation scanning is triggered.

    PiperOrigin-RevId: 807961122
    Change-Id: I7d3bc779cba725800e7a2cd8bd5787b0c65998cf
    ludoch authored and gae-java-bot committed Sep 17, 2025
    Configuration menu
    Copy the full SHA
    b7d9b2a View commit details
    Browse the repository at this point in the history
Loading