The new build has been posted and the online docs updated.
With this build, all planned breaking changes are behind us.
Storage Operator
The biggest language feature which will impact existing code is the change of the field storage operator from * to &. Your existing code will continue to work but will report warnings. Using & will avoid some of those spurious semicolons the * required.
Actor Moved to Concurrent
The Actor API was moved from sys to the concurrent pod. All you should need to do to fix your code is to add dependency on concurrent and add a using concurrent to each source file which uses the Actor APIs.
Gradient API
The Gradient API has been redesigned to support percentage and pixel based gradients with multiple stops. JavaScript in the browser has good support for this API now (assuming your browser supports gradients). SWT has extremely limited gradient support, so only a basic two stop gradient will work.
FWT Table Sorting
The TableModel has been enhanced to support an overlay model which allows sorting and turning columns on/off. The UI for SWT/JS doesn't yet support column selection, but column sorting will work in both environments. You can override sortCompare in your TableModel to implement sorting (default will perform lexical sorting). As part of this change, we decided to make TableModel and TreeModel classes instead of mixins for future proofing.
OSGi/Eclipse
There has been a good chunk of work making the runtime and compiler infrastructure more pluggable for upcoming OSGi and Eclipse support. We probably still have some tweaks to the Java runtime to fully support the OSGi classloader model.
ChangeLog
Build 1.0.53 (13 May 10)
Fix boxed boolean JVM checks
Make Int.shiftr unsigned (Java >>> operator)
Add etc/sys/config.props support to fanlaunch bash script
Rewrite gfx::Gradient to support CSS3 model
Add Map.ordered support to .NET runtime
FWT patch to allow mounting under arbitrary SWT widgets
Make java primitive wrappers and java.lang.Class immutable
Fix LogRec.print to return Void (to match Java/C# signatures)
Fix FileLogger to include stack trace and use new non-null fields checks
Rework JavaTypes to delegate to Env for caching and loading
Func.arity
Implement Int/Float toLocale for javascript
Remove deprecated dom::Elem.x/y/w/h methods
TableModel and TreeModel changed from mixin to abstract class
Table sorting and column visibility
Improve Map support under JavaScript
Fix FileLogger/LogMod to write headers on open of new files per day/month
Compiler support for native classes
Allow CompilerInput to specify a custom CNamespace
brian Thu 13 May 2010
The new build has been posted and the online docs updated.
With this build, all planned breaking changes are behind us.
Storage Operator
The biggest language feature which will impact existing code is the change of the field storage operator from
*
to&
. Your existing code will continue to work but will report warnings. Using&
will avoid some of those spurious semicolons the*
required.Actor Moved to Concurrent
The Actor API was moved from
sys
to theconcurrent
pod. All you should need to do to fix your code is to add dependency onconcurrent
and add ausing concurrent
to each source file which uses the Actor APIs.Gradient API
The Gradient API has been redesigned to support percentage and pixel based gradients with multiple stops. JavaScript in the browser has good support for this API now (assuming your browser supports gradients). SWT has extremely limited gradient support, so only a basic two stop gradient will work.
FWT Table Sorting
The TableModel has been enhanced to support an overlay model which allows sorting and turning columns on/off. The UI for SWT/JS doesn't yet support column selection, but column sorting will work in both environments. You can override
sortCompare
in your TableModel to implement sorting (default will perform lexical sorting). As part of this change, we decided to make TableModel and TreeModel classes instead of mixins for future proofing.OSGi/Eclipse
There has been a good chunk of work making the runtime and compiler infrastructure more pluggable for upcoming OSGi and Eclipse support. We probably still have some tweaks to the Java runtime to fully support the OSGi classloader model.
ChangeLog
Build 1.0.53 (13 May 10)