Preparing for GWT 2.11 release

2,493 views
Skip to first unread message

Colin Alworth

unread,
May 17, 2023, 10:44:58 AM5/17/23
to GWT Contributors
There have been a few suggestions of making a release in the near future, and it seemed like it might be a good idea to summarize pending development, ask for help to land these, and see if anything else needs to be addressed before shipping.

  • There is a pending branch (not yet a PR for GWT itself) working on adding a new gwt-servlet-jakarta.jar and requestfactory-server-jakarta.jar as part of https://github.com/gwtproject/gwt/issues/9727. There is no plan at this time to update the DevMode server to Jakarta, though that will eventually be inevitable if we move to a newer version of Jetty. Work on this can be found at https://github.com/niloc132/gwt/pull/3.
  • There is a pending fix for eliminating a false positive from using some internals of protobuf to deobfuscate client side exceptions https://github.com/gwtproject/gwt/pull/9785. This is probably safe to land without more testing, but none of the reporters of this bug have verified the fix.
  • There's a pending fix for a bug in type unions, which can be caused by some ternary expressions and var type declarations https://github.com/gwtproject/gwt/pull/9799. A review found a few oversights in testing, and I'd appreciate another look.
  • There's a pending fix for a bug where debugging in firefox when assertions are enabled (for example in SDM). It turns out the bug can happen in other cases too in more subtle ways. A draft fix it at https://github.com/gwtproject/gwt/pull/9800.
  • GWT itself can now be built on Java 11, but not yet 17. There are a few changes pending that will permit this. Additionally, this will enable adding more Java 9-11 JRE emulation, see the list at https://github.com/gwtproject/gwt/issues/9547.

Finally, we have an open question about future Java 8 support. Beyond this release, we likely will no longer support running the compiler in Java 8, which will enable adding support for Java 12-17 language features. We can likely still build jars that will run on a Java 8 server, but just can't compile newer JS. To that end, this 2.11 release branch may be longer-lived than usual, depending on feedback and support to continue bugfix releases after 2.12 eventually ships.

Are there other changes that 2.11 should included, or other considerations for this release cycle?

Rocco De Angelis

unread,
May 23, 2023, 4:11:51 PM5/23/23
to GWT Contributors
Hi Colin,

if you need some help, I'm feeling to help. 
Specially the jakarta stuff is important for us.
Do you find the time to have a look to the open PR?

BR
Rocco

Colin Alworth

unread,
Nov 14, 2023, 9:37:38 PM11/14/23
to GWT Contributors
It has taken longer than we had hoped, but I think we're just about ready - GWT itself can build on Java 17 (and can run on Java 23), JRE emulation is nearly caught up to where we wanted with Java 11, and jakarta.servlet support is hopefully finished and partially tested in non-trivial apps.

Here's my view of what might land before we cut a release:
If this is the last release that can run the compiler and dev mode on Java 8, we will want to update Jetty in the next release as well. That might suggest one more change, deprecating the use of "-server" in DevMode. Please see https://github.com/gwtproject/gwt/issues/9863 for more details. In the coming days I'll put together a patch for this.

After we've merged or deferred these PRs, the next step will be asking for testing volunteers and cutting an RC release. I'm hoping we can begin that process within two weeks - if you're interested in helping us test this release, please reply to this message or directly with the OS/JVM/Browsers you have at your disposal, and I'll make sure you are included. As usual, the testing process will probably take a week or so to get the desired coverage, and then we'll formally release GWT 2.11.0.

Zbyněk Konečný

unread,
Nov 15, 2023, 9:16:40 AM11/15/23
to GWT Contributors
Hi,

I can do some testing on Windows with Java 11 and Chrome/Edge/Firefox. Will the jars for testing be available in some Maven repo?

Cheers,
Zbynek

Colin Alworth

unread,
Nov 15, 2023, 9:26:44 AM11/15/23
to GWT Contributors
Yes, I'll create a staging repository with the actual artifacts that we intend to release to Maven Central, and will also provide a .zip download for the SDK itself.

Manfred Tremmel

unread,
Nov 15, 2023, 3:41:40 PM11/15/23
to google-web-tool...@googlegroups.com
I can do some tests with OpenJDK 17 on Debian GNU Linux 12 (Bookworm).

Will be interested to see, how it will work together with spring boot 3.1
(which requires a minimum of java 17), I'll be able to remove some workarounds
in gwtp-spring-integration-client (subpackage of gwt-bean-validators).

Am Mittwoch, 15. November 2023, 03:37:38 CET schrieb Colin Alworth:
> It has taken longer than we had hoped, but I think we're just about ready -
> GWT itself can build on Java 17 (and can run on Java 23), JRE emulation is
> nearly caught up to where we wanted with Java 11, and jakarta.servlet
> support is hopefully finished and partially tested in non-trivial apps.
>
> Here's my view of what might land before we cut a release:
>
> - The jakarta.servlet patch is now at
> https://github.com/gwtproject/gwt/pull/9845, and is effectively ready to
> land. To my knowledge, no jakarta project has tested the
> requestfactory-*.jars yet.
> - As above, we need confirmation that
> https://github.com/gwtproject/gwt/pull/9785 solves the problem it was
> created for.
> - As above https://github.com/gwtproject/gwt/pull/9799 (fixing some
> ternary expressions and other type unions) should get at least one more
> review, approval. This will be applicable for Java 17 language support.
> - Two more JRE emulation patches:
> >> - There is a pending branch (not yet a PR for GWT itself) working on
> >> adding a new gwt-servlet-jakarta.jar and
> >> requestfactory-server-jakarta.jar
> >> as part of https://github.com/gwtproject/gwt/issues/9727. There is no
> >> plan at this time to update the DevMode server to Jakarta, though that
> >> will
> >> eventually be inevitable if we move to a newer version of Jetty. Work
> >> on
> >> this can be found at https://github.com/niloc132/gwt/pull/3.
> >> - There is a pending fix for eliminating a false positive from using
> >> some internals of protobuf to deobfuscate client side exceptions
> >> https://github.com/gwtproject/gwt/pull/9785. This is probably safe to
> >> land without more testing, but none of the reporters of this bug have
> >> verified the fix.
> >> - There's a pending fix for a bug in type unions, which can be caused
> >> by some ternary expressions and var type declarations
> >> https://github.com/gwtproject/gwt/pull/9799. A review found a few
> >> oversights in testing, and I'd appreciate another look.
> >> - There's a pending fix for a bug where debugging in firefox when
> >> assertions are enabled (for example in SDM). It turns out the bug can
> >> happen in other cases too in more subtle ways. A draft fix it at
> >> https://github.com/gwtproject/gwt/pull/9800.
> >> - GWT itself can now be built on Java 11, but not yet 17. There are a

Juan Pablo Gardella

unread,
Nov 23, 2023, 8:36:55 AM11/23/23
to GWT Contributors
Hello, is gwt-2.11 artifacts available somewhere for testing against the applications I am currently working on?

--
You received this message because you are subscribed to the Google Groups "GWT Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/ddfa497d-f308-4901-a03b-c08ffd720011n%40googlegroups.com.

Colin Alworth

unread,
Nov 23, 2023, 11:03:17 AM11/23/23
to GWT Contributors
We're still in the "please help us review the last few merges" phase (especially looking for notes on deprecating using DevMode as an app server, and comments on if tests added for other PRs seem sufficient), then we'll make some release artifacts (late next week is my guess). I'm hoping to merge most of the open PRs, so we want to not start testing until we've landed that changes that will make this release.

That being said, we ship HEAD-SNAPSHOT every night off of main, you can add https://oss.sonatype.org/content/repositories/snapshots/ as a snapshot repository to your project to use that build (be certain you are using org.gwtproject groupids). If you need nightly download zips, they are available at https://github.com/gwtproject/gwt/actions/workflows/full-check.yml, click any build, scroll down artifacts, and download gwt-java17.zip. While this was built with Java 17, it is compatible with Java 8+ and will be used for the release. The other builds should be nearly identical - the main change should be in the javadoc output. The build produced from Java8 is substantially smaller since it doesn't include javadoc at all, since the APIs we now use are not compatible there.

Juan Pablo Gardella

unread,
Nov 23, 2023, 11:24:35 AM11/23/23
to google-web-tool...@googlegroups.com
Thanks I will check using a snapshot then.

Reply all
Reply to author
Forward
0 new messages