As usual download it from here.
Change Log - Boo - Version 0.6
- BOO-227 - Overridden Equals (==) not commutative
- BOO-258 - check variable access and privileges at compile time
- BOO-327 - Type inference error when calling outside module class
- BOO-369 - compiler internal error when a field has an initialiser taking a closure as argument
- BOO-379 - as operator precedence is too low
- BOO-383 - The parser should check when the keyword 'super' is used in an invalid context.
- BOO-394 - Correct Attribute.ToString()
- BOO-396 - Closures can't use the fantastical variable input magic.
- BOO-397 - Two fields, same name, results in compiler error rather than friendly error message.
- BOO-398 - Brace-based closures do not work with varargs syntax.
- BOO-404 - custom parameter attributes
- BOO-407 - Calling params inside of a closure is broken.
- BOO-410 - Bad error message with structs that have partially implement interfaces.
- BOO-411 - type inference for operator methods is done too late
- BOO-412 - Keywords in a namespace? Oops!
- BOO-417 - Casting self as duck removes visibility level. ;(
- BOO-420 - cannot cast from boxed char to int and back
- BOO-423 - Timespan literals won't work with numbers starting with decimal point
- BOO-439 - Ast attributes are not applied to index properties
- BOO-440 - compiler doesn't have override & overload of indexed properties
- BOO-441 - arrayindex += 1 does not compile
- BOO-442 - static constructor related bugs (3 for 1 sale!)
- BOO-445 - Inplace binary operators do not work with ducks
- BOO-458 - Scientific notation with negatives.
- BOO-56 - Add support for calling methods that support a variable number of arguments
- BOO-315 - SingletonAttribute
- BOO-342 - Implicit conversion between char and string
- BOO-352 - Boo.Lang.Useful.Collection.Cache
- BOO-426 - float literals
- BOO-434 - ResourceFu (better than Ayende's!)
- BOO-451 - ast literals
- BOO-455 - Boo.Lang.Useful.Attributes.OnceAttribute
- BOO-96 - events in interface definitions
- BOO-349 - Uninstall from Windows GAC
- BOO-376 - properly detect and report type inference cycles
- BOO-377 - WARNING: assingment inside condition
- BOO-378 - command line option to booi: -w (print warnings)
- BOO-381 - Enhancements to property and required attributes
- BOO-382 - have booc check current directory for referenced dlls
- BOO-393 - Get full method signature when not implementing the full contract of an abstract class / interface
- BOO-403 - named file resources
- BOO-406 - explode operator
- BOO-409 - Using as cast with callables
- BOO-424 - Exponential notation
- BOO-437 - allow curly braces in regex literals
- BOO-459 - allow float literals with no decimal point
No more assembly versioning
From now on, boo assemblies will have the fixed version number 18.104.22.168 for .net 1.1 compatible assemblies and 22.214.171.124 for .net 126.96.36.199 compatible assemblies (when we include support for generics).
The actual release version will be available in a new builtin: BooVersion.
The motivation is minimizing the hassle of upgrading to new boo versions. Specially for the IDEs and external projects that now depend on boo.
The binary contract of Boo.Lang shouldn't change any time soon.
Boo.Lang.Compiler's contract is a little more fluid but I don't see how we can be agile if we are not allowed to change some things every now and then.
With this I hope we'll be able to finally have monthly releases (the GAC breakage was a great force against releasing new versions).