[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[info-easejs] GNU ease.js 0.2.9 released
From: |
Mike Gerwitz |
Subject: |
[info-easejs] GNU ease.js 0.2.9 released |
Date: |
Tue, 07 Nov 2017 23:11:38 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
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+.
About GNU ease.js
-----------------
GNU ease.js is a classical object-oriented framework for JavaScript,
intended to eliminate boilerplate code and "ease" the transition into
JavaScript from other object-oriented languages. Features include
simple and intuitive class definitions; classical inheritance;
abstract classes and methods; traits as mixins; interfaces; public,
protected, and private access modifiers; static and constant members;
and more. Please see the comprehensive documentation at
<https://www.gnu.org/s/easejs/manual.html> for more information,
examples, and implementation details.
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:
https://www.gnu.org/software/easejs/release-notes.html
More information, including an online manual, can be found on GNU's
website:
https://gnu.org/software/easejs
Getting GNU ease.js
-------------------
Here are the compressed sources and a GPG detached signature[*]:
https://ftp.gnu.org/gnu/easejs/easejs-0.2.9.tar.gz
https://ftp.gnu.org/gnu/easejs/easejs-0.2.9.tar.gz.sig
Alternative download options are available at:
http://www.gnu.org/software/easejs/download.html
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify easejs-0.2.9.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys
D6E9B930028A6C38F43B2388FEF635745E6F6D05
and rerun the 'gpg --verify' command.
Free Your JavaScript!
---------------------
http://www.gnu.org/software/easejs/whyfreejs.html
Explore why online freedoms are of practical importance with
my LibrePlanet 2016 talk:
https://media.libreplanet.org/u/libreplanet/collection/restore-online-freedom/
--
Mike Gerwitz
Free Software Hacker+Activist | GNU Maintainer & Volunteer
GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05
https://mikegerwitz.com
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [info-easejs] GNU ease.js 0.2.9 released,
Mike Gerwitz <=