newsease.js - News: GNU ease.js 0.2.9 released

Latest News
GNU ease.js 0.2.9 released posted by mikegerwitz, Wed 08 Nov 2017 04:18:46 AM UTC - 0 replies
GNU ease.js 0.2.8 released posted by mikegerwitz, Sat 16 Jul 2016 04:30:15 AM UTC - 0 replies
GNU ease.js 0.2.7 released [stable] posted by mikegerwitz, Tue 27 Oct 2015 03:19:48 PM UTC - 0 replies
GNU ease.js 0.2.6 released posted by mikegerwitz, Sat 15 Aug 2015 04:35:31 AM UTC - 0 replies
GNU ease.js 0.2.5 release [stable] posted by mikegerwitz, Thu 28 May 2015 05:46:52 AM UTC - 0 replies
[Submit News]
[10 news in archive]

GNU ease.js 0.2.9 released

Item posted by Mike Gerwitz <mikegerwitz> on Wed 08 Nov 2017 04:18:46 AM UTC.

This release succeeds v0.2.8, which was released 15 July, 2016.  There are no backwards-incompatible changes, but certain default behaviors have changed (see changes below).  Support continues for ECMAScript 3+.

Changes between 0.2.8 and 0.2.9

  • Class constructors are now virtual by default.  The manual has been updated with information about this change.
  • Method overrides are now implicitly virtual.  This is consistent with other object-oriented languages and solves the problem with breaking stackable traits if the author forgets to supply `virtual' to an overridden (intended-to-be-stackable) method.  The manual has been updated.
  • New methods `Class.assertInstanceOf' and its alias `Class.assertIsA' have been added to eliminate boilerplate of enforcing polymorphism.  They are like `Cass.isInstanceOf' and `Class.isA' respectively, but will fail by throwing a TypeError.  The manual has been updated to include these two methods, along with some rewording of the containing section.
  • `Class.extend(Base)', where `Base' is a class, will now assume that you forgot the class definition and throw an error rather than trying to use Base' as the definition object.
  • [bugfix] Using `#constructor' (alias of `#__construct') in Error subtypes will no longer complain about an attempt to redefined `#__construct'.
  • `Constructors' section of manual has been reworded and references to poor practices (static classes, Singletons) have been removed.
  • Manual (and website) examples modernized to use ECMAScript 6 syntax.  Users must still write ES3 syntax if they want to use ease.js in ES3 environments, of course.
  • INSTALL file added to repository (removed from .gitignore).  This was previously (and unintentionally) only available in the distribution archives.
  • Copyright years updated on combined and minified distributions.

This release contains a number of bugfixes for traits, which is stable but
still under development:

  • [bugfix] Methods of trait class supertypes now apply with the correct context.  (Feature added in 0.2.7)
  • [bugfix] Traits extending classes may now be named using the `Trait('Name').extend(C, dfn)' notation.  (Feature added in 0.2.7)
  • [bugfix] Can now mix in traits with class supertypes that define constructors.  (Feature added in 0.2.7)
  • [bugfix] `this.__inst' in traits now correctly references the object mixed into; previously, this was `undefined'.

I apologize for the (extreme) delay in this release: the process was stalled for many months while waiting for certain legal documents after my employer was purchased by another company.

Release notes for past releases are available at:

More information, including an online manual, can be found on GNU's website:

No messages in GNU ease.js 0.2.9 released


Back to the top

Powered by Savane 3.9