Back to Coffeescript

2.0.0 Beta2

documentation/sections/changelog/2.0.0-beta2.md

2.7.01.8 KB
Original Source
releaseHeader('2017-05-16', '2.0.0-beta2', '2.0.0-beta1')
  • This release includes all the changes from 1.12.5 to 1.12.6.
  • Bound (fat arrow) methods in classes must be declared in the class constructor, after super() if the class is extending a parent class. See breaking changes for classes.
  • All unnecessary utility helper functions have been removed, including the polyfills for indexOf and bind.
  • The extends keyword now only works in the context of classes; it cannot be used to extend a function prototype. See breaking changes for extends.
  • Literate CoffeeScript is now parsed entirely based on indentation, similar to the 1.x implementation; there is no longer a dependency for parsing Markdown. See breaking changes for Literate CoffeeScript parsing.
  • JavaScript reserved words used as properties are no longer wrapped in quotes.
  • require('coffeescript') should now work in non-Node environments such as the builds created by Webpack or Browserify. This provides a more convenient way to include the browser compiler in builds intending to run in a browser environment.
  • Unreachable break statements are no longer added after switch cases that throw exceptions.
  • The browser compiler is now compiled using Babili and transpiled down to Babel’s env preset (should be safe for use in all browsers in current use, not just evergreen versions).
  • Calling functions @get or @set no longer throws an error about required parentheses. (Bare get or set, not attached to an object or @, still intentionally throws a compiler error.)
  • If $XDG_CACHE_HOME is set, the REPL .coffee_history file is saved there.