GWT 2.8.1 release

2,273 views
Skip to first unread message

Colin Alworth

unread,
Apr 25, 2017, 3:30:21 PM4/25/17
to GWT Users

I'm very pleased to announce the release of GWT 2.8.1. This contains many bugfixes and a few enhancements to JsInterop.


Highlights from release notes:

  • Elemental1's JSON parser now correctly throws an exception when a string, object, or array is not correctly ended.

  • Support filtering JsInterop types for export, with whitelist/blacklist and wildcards. The -generateJsInteropExport flag is still used to enable the feature, but -includeJsInteropExport and -excludeJsInteropExport now exist to specify packages with optional * wildcards. Later arguments and patterns override earlier ones.

  • Support "*" (any) and "?" (unknown) types as a JsType native name. The "Unknown" type can be preferred over Object if the type is unknown, while "any" is preferred supertype of any JS type, including primitives.


Additionally, this supports the recent beta release of jsinterop.base and elemental2, available from Maven Central.


Please check out the full release notes, then download the release zip or update your project to get version 2.8.1 from Maven Central.

Олег Рачаев

unread,
Apr 26, 2017, 3:43:37 AM4/26/17
to GWT Users
Great! I saw it in maven central day before and was surprised:)

вторник, 25 апреля 2017 г., 23:30:21 UTC+4 пользователь Colin Alworth написал:

Asier

unread,
Apr 26, 2017, 7:16:20 AM4/26/17
to GWT Users
Oh, great news!

Thanks for the effort to all the developers & contributors.

Regards
Message has been deleted

Bogdan Petridean

unread,
May 4, 2017, 2:17:29 PM5/4/17
to GWT Users
Great!

Marteijn Nouwens

unread,
May 15, 2017, 2:54:50 AM5/15/17
to GWT Users
After upgrading to 2.8.1 i get the folling error:

[INFO]  at com.google.gwt.dev.Compiler$1.run(Compiler.java:118)
[INFO]  at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)
[INFO]  at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
[INFO]  at com.google.gwt.dev.Compiler.main(Compiler.java:125)
[INFO] Caused by: java.lang.NoClassDefFoundError: com/google/gwt/user/rebind/rpc/BlacklistTypeFilter$RpcBlacklist
[INFO]  at com.google.gwt.user.rebind.rpc.BlacklistTypeFilter.<init>(BlacklistTypeFilter.java:66)
[INFO]  at com.google.gwt.user.rebind.rpc.ProxyCreator.create(ProxyCreator.java:282)
[INFO]  at com.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGenerator.generateIncrementally(ServiceInterfaceProxyGenerator.java:67)
[INFO]  at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:739)
[INFO]  at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:103)
[INFO]  at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
[INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:262)
[INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:251)
[INFO]  at com.google.gwt.dev.PrecompilationContextCreator$1.getAllPossibleRebindAnswers(PrecompilationContextCreator.java:86)

BUt that class is present. Anybody an idea on what could be causing this?

Marteijn

Op dinsdag 25 april 2017 21:30:21 UTC+2 schreef Colin Alworth:

Bruno Salmon

unread,
Jun 7, 2017, 12:14:33 PM6/7/17
to GWT Users


Additionally, this supports the recent beta release of jsinterop.base and elemental2, available from Maven Central.



Where can we find that elemental2  beta release (I can see only the June 2016 version on that page)?

Thanks for all your amazing work.

Colin Alworth

unread,
Jun 7, 2017, 12:17:36 PM6/7/17
to GWT Users
The groupId has changed - using the mvnrepository site, try https://mvnrepository.com/artifact/com.google.elemental2 to see all of the jars now available.

Vassilis Virvilis

unread,
Jun 7, 2017, 2:10:37 PM6/7/17
to google-we...@googlegroups.com
Looks like they are also here in source form
I thought google didn't want to release them before they were "ready". So either they changed their mind, or they feel it is ready or I don't remember correctly :-)

     Vassilis

--
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 google-web-toolkit+unsub...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.



--
Vassilis Virvilis

Colin Alworth

unread,
Jun 7, 2017, 2:40:26 PM6/7/17
to GWT Users
I think you may be misremembering - the jars were released to maven as experimental last summer, then as beta in April, and only after that were they on github.

J2CL is not expected to be dropped until it is "ready", but as with elemental2, this isn't going to mean "bugfree" but more like "complete enough to be reviewed and used".

Vassilis Virvilis

unread,
Jun 7, 2017, 2:48:33 PM6/7/17
to google-we...@googlegroups.com
Ah yes that explains it. It was j2cl that I remembered.

Thanks for the clarification.

    Vassilis

--
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 google-web-toolkit+unsub...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.



--
Vassilis Virvilis

Daniel Kurka

unread,
Jun 7, 2017, 3:16:12 PM6/7/17
to google-we...@googlegroups.com
There is some reasoning behind us not broadly announcing elemental2 and the jsinteorp generator:
They are both still beta software in the sense that we know there are existing problems, but we already want feedback on them.
There are still no guarantees on APIs / compat but if you are brave and want to be part of evolving them and turning them into a finished and polished product, you can do that.

We will announce them broadly once we consider them ready for general use and have a compatibility guarantee in place.

On Wed, Jun 7, 2017 at 11:48 AM Vassilis Virvilis <vas...@gmail.com> wrote:
Ah yes that explains it. It was j2cl that I remembered.

Thanks for the clarification.

    Vassilis
On Wed, Jun 7, 2017 at 9:40 PM, Colin Alworth <nilo...@gmail.com> wrote:
I think you may be misremembering - the jars were released to maven as experimental last summer, then as beta in April, and only after that were they on github.

J2CL is not expected to be dropped until it is "ready", but as with elemental2, this isn't going to mean "bugfree" but more like "complete enough to be reviewed and used".

On Wednesday, June 7, 2017 at 1:10:37 PM UTC-5, Vassilis Virvilis wrote:
Looks like they are also here in source form
I thought google didn't want to release them before they were "ready". So either they changed their mind, or they feel it is ready or I don't remember correctly :-)

     Vassilis

On Wed, Jun 7, 2017 at 7:17 PM, Colin Alworth <nilo...@gmail.com> wrote:
The groupId has changed - using the mvnrepository site, try https://mvnrepository.com/artifact/com.google.elemental2 to see all of the jars now available.


On Wednesday, June 7, 2017 at 11:14:33 AM UTC-5, Bruno Salmon wrote:


Additionally, this supports the recent beta release of jsinterop.base and elemental2, available from Maven Central.



Where can we find that elemental2  beta release (I can see only the June 2016 version on that page)?

Thanks for all your amazing work.

--
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 google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.



--
Vassilis Virvilis

--
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 google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.

Vassilis Virvilis

unread,
Jun 7, 2017, 4:15:11 PM6/7/17
to google-we...@googlegroups.com
thanks for the clarification.

Maybe a sufficiently strong wording in the compatibility guarantees is enough.

Something like this: We will try really hard to not rename all methods and move all packages around in the next week commits. However we may introduce incompatible changes as we are evolving the API. So no you can't use __this__ in __production__.

Or maybe this a bad idea that will lead to a new KDE4 fiasco.

Who knows?

    Vassilis


To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsub...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
--
Vassilis Virvilis

--
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 google-web-toolkit+unsub...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.

--
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 google-web-toolkit+unsub...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.



--
Vassilis Virvilis

Ignacio Baca Moreno-Torres

unread,
Jun 8, 2017, 1:02:41 PM6/8/17
to google-we...@googlegroups.com
This is a programmatic mapping from closure externs https://github.com/google/closure-compiler/tree/master/contrib/externs so, at the end if it changes it will change the same in every place, so fixing it should not be very difficult. Anyways, this super awesome project 😜 is going to expose a user-friendly and type safe API (manual work) over raw elemental2 https://github.com/hal/elemento (code example here https://github.com/ibaca/rxtodo-gwt/blob/master/src/main/java/todo/client/ApplicationElement.java#L53), IMO pretty promising! RxGWT will be using elemento typed events to make it also Rx typed events just over elemental2!

Code example here, this is always nice...
root = li().data(ITEM, item.id).css("completed", item.completed)
.add(div().css("view")
.add(toggle = input(checkbox).css("toggle").checked(item.completed).asElement())
.add(msg = label().textContent(item.text).asElement())
.add(destroy = button().css("destroy").asElement()))
.add(summary = input(text).css("edit").asElement())
.asElement();

bind(toggle, change, ev -> {
root.classList.toggle("completed", toggle.checked);
repository.complete(item, toggle.checked);
application.update();
});
All these fields are typed so, root is a HTMLLiElement, toggle is a HTMLInputElement or ev in the bind method is an InputEvent.

To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
--
Vassilis Virvilis

--
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 google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.

--
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 google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.



--
Vassilis Virvilis

--
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 google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.

Max F

unread,
Jun 28, 2017, 7:04:12 AM6/28/17
to GWT Users
Hello,

first of all, thanks for GWT!
I am trying to make use of the new includeJsInteropExports flag while using the CodeServer.
It seems that those new two switches need an extra "s": e.g. -includeJsInteropExports instead of -includeJsInteropExport.
But even then I did not succeed; CodeServer returns with:

Unknown argument: -includeJsInteropExports a.b.c
Google Web Toolkit 2.8.1

Could anyone provide a working CodeServer parameters list using that feature? I just found the GWT test case (https://github.com/gwtproject/gwt/blob/master/dev/core/test/com/google/gwt/dev/ArgHandlerFilterJsInteropExportsTest.java).

Or is this feature only to be used in deployment, not during development using CodeServer?

Thanks for any response.

Kind regards,
Max

Thomas Broyer

unread,
Jun 28, 2017, 8:42:49 AM6/28/17
to GWT Users


On Wednesday, June 28, 2017 at 1:04:12 PM UTC+2, Max F wrote:
Hello,

first of all, thanks for GWT!
I am trying to make use of the new includeJsInteropExports flag while using the CodeServer.
It seems that those new two switches need an extra "s": e.g. -includeJsInteropExports instead of -includeJsInteropExport.

But the -generateJsInteropExports help message references the other two as singular instead of plural: https://github.com/gwtproject/gwt/blob/2.8.1/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerGenerateJsInteropExports.java#L32
 
But even then I did not succeed; CodeServer returns with:

Unknown argument: -includeJsInteropExports a.b.c

How are you passing the arguments?
It looks like you're passing "-includeJsInteropExports a.b.c" as a single argument, which indeed won't work. You need to pass 2 arguments: "-includeJsInteropExports" and "a.b.c".

Max F

unread,
Jun 28, 2017, 10:55:55 AM6/28/17
to GWT Users
Thanks for your reply, Thomas.

I am using Brandon's Eclipse plugin. I thought a space would be a separator for parameters; this is working for e.g. the -war parameter. My arguments for the CodeServer:
-remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl XXX.html -logLevel INFO -codeServerPort 9997 -port 8888 -generateJsInteropExports -includeJsInteropExports a.b.c -war D:\XXX\XXX\war com.XXX.XXX.XXX

Not using any quotes; they seem to get eliminated from the arguments string anyway by Eclipse.

Kind regards,
Max

Thomas Broyer

unread,
Jun 28, 2017, 12:22:32 PM6/28/17
to GWT Users


On Wednesday, June 28, 2017 at 4:55:55 PM UTC+2, Max F wrote:
Thanks for your reply, Thomas.

I am using Brandon's Eclipse plugin. I thought a space would be a separator for parameters; this is working for e.g. the -war parameter. My arguments for the CodeServer:
-remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl XXX.html -logLevel INFO -codeServerPort 9997 -port 8888 -generateJsInteropExports -includeJsInteropExports a.b.c -war D:\XXX\XXX\war com.XXX.XXX.XXX

Check that this is a "real" space character (U+0020) then and not a non-breaking space or other flavor? (I'm out of ideas)

Max F

unread,
Jun 29, 2017, 4:13:29 AM6/29/17
to GWT Users
Hi Thomas,

yes, I used a common space. The parameters keep joined as one.
I'll just be waiting until someone else tries this feature.

Thanks!

Kind regards,
Max

Alexander Leshkin

unread,
Jun 29, 2017, 6:08:55 AM6/29/17
to GWT Users
Looks like there is a bug in https://github.com/gwtproject/gwt/blob/a90832fec9a56f4cb83ed009c7048e0a8d196fe8/dev/core/src/com/google/gwt/dev/shell/SuperDevListener.java#L175

I think it should be:
args.add("-includeJsInteropExports");
args.add(regex);

And line above (for excludeJsInteropExports) has the same issue.

Thomas Broyer

unread,
Jun 29, 2017, 7:15:19 AM6/29/17
to GWT Users
You're right!

Could one of you file an issue and/or send in a patch?

Alexander Leshkin

unread,
Jun 29, 2017, 7:59:58 AM6/29/17
to GWT Users

Thomas Broyer

unread,
Jun 29, 2017, 9:24:56 AM6/29/17
to GWT Users


On Thursday, June 29, 2017 at 1:59:58 PM UTC+2, Alexander Leshkin wrote:

Great! 

Max F

unread,
Jun 29, 2017, 10:44:39 AM6/29/17
to GWT Users
Thanks Alexander. Nice
Reply all
Reply to author
Forward
0 new messages