Blog Post

#596 Build 1.0.42

brian Thu 14 May 2009

I've posted a new build and updated the online docs.

This is the first build since the introduction of our ticket system, so the process for documenting the changes is a tad more formalized now. However, I will continue to write up build notes for the highlights.

The zip file now expands to a top level directory called "fan-<build>".

This build has a ton of bug fixes, and several breaking changes:

The biggest breaking change was that fwt graphics classes got moved into a new gfx pod. System colors, system font, and dispose methods migrated to the fwt::Desktop class. Other than you just need to add using gfx to port to the latest code.

The other big change was that the call0, call1, call2 ... methods were collapsed into one call method with optional parameters. This required renaming the old call(List) method to be callList. The compiler won't catch this, since it assumes you are just passing a list as the first argument.

I removed InStream.makeForStr in favor of Str.in. Likewise OutStream.makeForStrBuf was replaced with StrBuf.out. This keeps with Fan's method chaining idiom and I don't particularly like more than one way to do things. I also changed StrBuf.grow to capacity to be consistent with Buf.

Cheeser ran into some Java interop issues, which prompted me to create a fanx.interop.Interop class with bunch of toFan and toJava conveniences for mapping common classes between the two world.

  • Tweaks to flux
  • Loosen restrictions on it/this ambiguity errors
  • webappClient::Effect
  • Disallow nullable types in as expression
  • Fix as with generics to work like cast
  • Rename ActorGroup to ActorPool
  • Move Point, Size, Rect, Hints, Pen, Color, Brush to gfx
  • Color/Font system color/font methods moved to Desktop
  • Date: isYesterday, isToday, isTomorrow
  • DateTime: nowUnique
  • Window: showTrim, activate
  • List: eachRange
  • Duration: nowTicks
  • StrBuf.grow => capacity
  • InStream.makeForStr => Str.in
  • OutStream.makeForStrBuf => StrBuf.out
  • Func/Method call => callList
  • Func/Method callx => call
  • fanx.sys.Interop utility methods
  • #518: Problem in check of reflective field set
  • #520: Flux Last Line
  • #527: Func.curry with optional parameters
  • #528: Compiler bug - duplicate slot x$num
  • #529: Private method in mixin bad classfile
  • #530: Ctor bug with default params
  • #531: Allow curry of private methods
  • #533: Fandoc bug
  • #534: RichText scrollbar bug
  • #542: Compiler - Internal class cast error
  • #543: Compiler - Chaining dynamic calls
  • #544: Move graphics API out of fwt
  • #545: Compiler bug: using ... as ...
  • #546: Packaging of Fan
  • #547: WebOutStream - FavIcon tag
  • #548: Flux bug - tabstops not quite right
  • #551: it and Str interpolation
  • #554: docCompiler bug with |,| signatures
  • #559: API request: sys::StrBuf.remove(Range)
  • #561: Compiler: Internal error - auto-cast of Func
  • #574: Request: Range.random, List.random
  • #591: Flux: View menu in NavBar for .fan files doesn't show
  • #592: Proposal: Method/Func call

tactics Thu 14 May 2009

Looking tight.

tompalmer Thu 14 May 2009

Sounds awesome.

Login or Signup to reply.