Blog Post

#1037 Build 1.0.52

brian Wed 24 Mar 2010

Latest and greatest has been posted and online docs updated.

The last build 1.0.51 introduced some major changes to facets, environments, and pod meta-data. We've been heavily using 51 for our SkyFoundry work the past month or two, and those new designs look really solid. The most notable thing about this build is that its a relatively stable upgrade (just a couple API tweaks). Not sure how the script design #1014 will end up, but I think what is clear is that it probably won't introduce any major breaking changes. I'm pretty happy with the current state of Fantom, and I'm not expecting any more fundamental design changes - just tweaks to the APIs and some of the tickets already proposed.

Couple language features to note:

  • List/Map literals used in a field initializer can infer their type from the field declaration - #986
  • Can defer definite assignment of non-nullable fields to runtime - #832
  • Objects can validate post-deserialization using it-block constructor - #1036

Lots of API improvements and a couple big new APIs:

  • New concurrent pod with atomic APIs
  • New CSV input/output streams in util
  • Date/Time fromLocale APIs

Note a couple of minor breaking changes in the change log.

Change Log

Build 1.0.52 (24 Mar 10)

  • Color: makeArgb, makeRgb
  • WebUtil.jsMain
  • Win: viewport, reload, onEvent
  • Elem: deprecate x,y,w,h; add pos, size, bounds
  • New concurrent pod
  • SqlService.lastAutoKey => Statement.execute
  • Tweak grammar to disallow chaining comparison operators
  • Change config API for FileLogger and LogMod to allow datetime pattern
  • Date/Time fromLocale - parsing with pattern
  • Default all ext2mime.props to assume charset=utf-8
  • Str: getSafe
  • Add util::CsvInStream and util::CsvOutStream
  • #762: fix sql API for auto-generated keys
  • #832: Runtime checking of non-nullable fields
  • #949: IllegalAccess in mixin field override
  • #986: Field initializer List and Map type inference
  • #994: java.lang.VerifyError on broken code
  • #995: If statement returned in a closure - Internal compiler error
  • #1032: Move json to util to match csv API
  • #1033: Why is not avilable type "Obj[]?[]" ?
  • #1036: Serialization of const fields

tactics Wed 24 Mar 2010

Excellent.

andy Wed 24 Mar 2010

Minor issue in this build that breaks JavaScript - see fix changeset

brian Wed 24 Mar 2010

Minor issue in this build that breaks JavaScript - see fix changeset

I uploaded a new version of the build with Andy's fix (if you already downloaded it you can re-download or just apply the fix from hg)

Login or Signup to reply.