Sunday, May 17, 2020

Re: GWT 2.9.0 release

Congrats and thank you!

On Wednesday, May 13, 2020 at 11:40:25 PM UTC-4, Colin Alworth wrote:
Today we are pleased to announce the next release of GWT, version 2.9.0. Some highlights of this release:
 * GWT supports Java 9, 10, 11 language features.
 * The elemental2 1.0.0 release is supported, along with jsinterop-annotations 2.0.0 (except @JsAsync, which requires dropping support for older browsers, and @JsEnum, which assumes closure-compiler semantics, so isn't appropriate for GWT2), bringing GWT2 in line with J2CL. Since this is now an official stable release of elemental2, the JSNI-based elemental that is included with GWT is deprecated, and will be removed in a future release.
 * The release was tested on a variety of operating systems, on Java 8, 11, and 14. Java 7 is no longer officially supported, and future builds will be compiled for Java 8 as the minimum required version.

Starting shortly after this release, we're going to be changing the release process slightly - there will be more frequent dated releases (something like 2.9-20200701) that occur every few months, and minor/bug fix releases that happen intermittently to signify that a more lengthy manual testing and acceptance process has taken place. The idea is that with more frequent releases, changes will make their way faster to the developers that want them, while for others, more heavily tested releases for maintenance-mode projects will still be available.

We'll also be talking soon on the contributors list about the upcoming releases of individual projects that represent the various modules found in gwt-user.jar, updated and tested for use in either GWT2 or J2CL.

We're experiencing some issues in updating the website, but to get this release out while that is managed, find the zip download and the release notes below. Maven/Gradle/Ivy users, just update the GWT SDK versions to 2.9.0 - the various plugins will be updated as needed in the coming days.


Release Notes for 2.9.0:

  • Able to compile projects with jsinterop-base 1.0.0, elemental2 1.0.0, and jsinterop-annotations 2.0.0. With the exception of @JsAsync and @JsEnum, this brings GWT2 to be compatible across these tools with J2CL.
  • Added support for Java language levels 9, 10, and 11.
  • Officially, support is dropped for running the GWT compiler or server-side tooling on Java 7. The GWT distribution is still compiled to run on Java 7 for this release, but no guarantees are made about whether or not this will work. Future versions will compile bytecode for Java 8+. The release was tested and found to work cross platform when run with Java 8, 11, and 14.

  • Elemental has been officially deprecated - it is still included in this release, but may not appear in future releases. Instead, we encourage the use of the Elemental2 libraries, which are compatible with both GWT2 and J2CL.
  • Removed NoSuchMethodException emulation.

Bug fixes
  • Fixes Arrays.binarySearch semantics for float[] and double[]
  • Adds Support multi-line messages in errors/exceptions
  • Adds shutdown hook in DiskCache to clean up temp files
  • Cache Gecko version to lower CPU usage on FireFox
  • Do not assume that "this" is always non null.
  • Updates globals for Firefox version 60.0.2, Chrome 66.0.3359.45
  • Fixes String.regionMatches.
  • Native JsMethods allowed to coexist with implementations with the same name.
  • Make sure lambdas box, unbox and insert erasure casts when necessary.
  • Negative zero treated properly in Double/

  • Updates CLDR to version 34.
  • Arrays now implement Cloneable
  • Link backing errors together with a cause attribute, start tracking suppressed errors in addition to the cause in underlying error object.
  • Add AtomicReference to gwt/emul.
  • Propagate script nonces via ScriptInjector
  • Add partial emulation for ExecutorService and ScheduledExecutorService
  • Emulate java.util.concurrent.Flow
  • Emulate javax.annotation{,.processing}.Generated
  • Make sure "" is $wnd if not defined.
  • Add when-linker-added element definition
  • Add Reader and StringReader emulation.
  • Remove GWT version check.
  • Do not show "unusable-by-js" warning for synthetic methods.
  • Update unmodifiableList to throw on Java8 methods.
  • Disable DataflowOptimizer by default and emit a warning when used
For more detail, see the commit log.


Finally, if you haven't already done so, please join the very active GWT discussions happening at!

You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

No comments:

Post a Comment