1.6.1 – March 5, 2013
* First release of source maps. Pass the --map flag to the compiler, and off
you go. Direct all your thanks over to Jason Walton.
* Fixed a 1.5.0 regression with multiple implicit calls against an indented
implicit object. Combinations of implicit function calls and implicit
objects should generally be parsed better now — but it still isn't good
style to nest them too heavily.
* .coffee.md is now also supported as a Literate CoffeeScript file extension,
for existing tooling. .litcoffee remains the canonical one.
* Several minor fixes surrounding member properties, bound methods and super
in class declarations.
1.5.0 – Feb 25, 2013
* First release of Literate CoffeeScript.
* The CoffeeScript REPL is now based on the Node.js REPL, and should work
better and more familiarly.
* Returning explicit values from constructors is now forbidden. If you want to
return an arbitrary value, use a function, not a constructor.
* You can now loop over an array backwards, without having to manually deal
with the indexes: for item in list by -1
* Source locations are now preserved in the CoffeeScript AST, although source
maps are not yet being emitted.
1.3.1 – APRIL 10, 2012
* CoffeeScript now enforces all of JavaScript's Strict Mode early syntax
errors at compile time. This includes old-style octal literals, duplicate
property names in object literals, duplicate parameters in a function
definition, deleting naked variables, setting the value of eval or
arguments, and more. See a full discussion at #1547.
* The REPL now has a handy new multi-line mode for entering large blocks of
code. It's useful when copy-and-pasting examples into the REPL. Enter
multi-line mode with Ctrl-V. You may also now pipe input directly into the
REPL.
* CoffeeScript now prints a Generated by CoffeeScript VERSION header at the
top of each compiled file.
* Conditional assignment of previously undefined variables a or= b is now
considered a syntax error.
* A tweak to the semantics of do, which can now be used to more easily
simulate a namespace: do (x = 1, y = 2) -> ...
* Loop indices are now mutable within a loop iteration, and immutable between
them.
* Both endpoints of a slice are now allowed to be omitted for consistency,
effectively creating a shallow copy of the list.
* Additional tweaks and improvments to coffee --watch under Node's "new" file
watching API. Watch will now beep by default if you introduce a syntax error
into a watched script. We also now ignore hidden directories by default when
watching recursively.
CoffeeScript is a little language that compiles into JavaScript.
Underneath all of those embarrassing braces and semicolons,
JavaScript has always had a gorgeous object model at its heart.
CoffeeScript is an attempt to expose the good parts of JavaScript
in a simple way.