Skip to content

Releases: gwtproject/gwt

GWT 2.10.1

09 Jan 13:20
Compare
Choose a tag to compare

Backported a fix from 2.11 to disable JPA/JDO "enhanced classes" serializable
by default for GWT-RPC, and added a warning when it is in use. For more
information, see #9709.

GWT 2.11

09 Jan 18:41
7f76f0f
Compare
Choose a tag to compare

Highlights:

  • Transitioned to GitHub pull requests for new contributions, with nightly builds running on GitHub Actions.
  • Added release artifacts for jakarta.servlet packages for both RequestFactory and GWT-RPC.
  • Tested support for running on Java 21. This is likely to be the final minor release series to support running on Java 8.
  • Disabled JPA/JDO "enhanced classes" serializable by default for GWT-RPC, and added a warning when it is in use.
  • Updated JRE emulation to support Java 11 for Collections, streams, and more.

Bug fixes:

  • Make custom field serializers ready for Java 17 (#9791)
  • Correctly write Long.toBinaryString as an unsigned value (#9769)
  • Fix gzip encoding of responses in the CodeServer (#9766)
  • Avoid EmptyStackException in SOYC (#9808)
  • Fix error reporting for System.getProperty magic method nodes (#9812)
  • Fix ClassNotFoundException when running JettyLauncher with Java 9+ (#9822)
  • Avoid StackOverflowError in TypeUtils#resolveGenerics (#9858)
  • Avoid document.write in Chrome with iframe linker (#9836)
  • Avoid document write in single script linker loading (#9847)
  • Handle ternary intersection types (#9799)
  • Fix for namespace="" names that clash with variable names (#9867)

JRE Emulation:

  • Added new Optional methods: or(), stream(), ifPresentOrElse(), empty(), and orElseThrow()
  • Added List/Set/Map of() methods
  • Added Predicate not() method
  • Added Collectors methods: flatMapping(), filtering(), toUnmodifiableList(), toUnmodifiableSet(), and toUnmodifiableMap()
  • Added Stream methods: dropWhile, takeWhile, and iterate(seed, hasNext, next)
  • Added Enumeration.asIterator()

Deprecations:

  • Using DevMode as an application server is deprecated, and may be removed or changed in a future release. Please migrate local development workflows to using a general purpose server, or a custom ServletContainerLauncher.
  • The webAppCreator tool is deprecated, please refer to https://www.gwtproject.org/gettingstarted.html.

Miscellaneous:

  • Update chrome/firefox globals to latest
  • Updated Javadoc to run on Java 9+, support search
  • Removed unused scripts from old build wiring

For more detail, see the commit log.

GWT 2.10.0

09 Jun 19:41
Compare
Choose a tag to compare

Highlights

  • Updated to HtmlUnit 2.55.0 and Jetty 9.4.44. With this newer HtmlUnit build comes support for Promise in unit tests, and the browser strings that can be specified when running tests are "FF", "Chrome", "IE" (for IE11), "Edge", and "Safari".

  • Tested support for running on Java 17, dropped remaining support for running on Java 7.

  • Maven groupId is formally changed to org.gwtproject, projects should take care to ensure they are using either the old com.google.gwt:gwt BOM or the new org.gwtproject:gwt BOM to sure that Maven or Gradle correctly handle this change. This will be the last published version using the com.google.gwt groupId.

  • Dropped support for IE 8, 9, and 10.

Bug fixes

  • Correct Long.hashCode semantics
  • Support CLASSPATH environment variable when creating child processes, fixing a bug where Windows could fail with a long list of arguments.
  • Use Function.name instead of displayName to support visible method names in Chrome 93+.
  • Allow stack traces to be available in Chrome when loading scripts from a remote origin.

JRE Emulation

  • Added OutputStreamWriter emulation.
  • Support StringReader mark() and reset() methods.
  • Added StrictMath emulation.
  • Added BufferedWriter emulation.
  • Added incomplete PrintStream emulation.
  • Add Charset.defaultCharset() emulation.
  • Improve BigInteger emulated performance.
  • System.nanoTime() emulation with performance.now().
  • Added Optional.isEmpty emulation.
  • JRE Emulation improvements/simplifications to facilitate J2CL's WASM support. Note that these do not always offer specific improvements to GWT itself, but helps to keep the codebases consistent.

Miscellaneous

  • Add support to compile GWT itself in Java 9+.
  • Improve compiled code size for applications that never use streams, by avoiding referencing streams from Throwable.

For more detail, see the commit log.