New Releases: Ceylon 1.2, Node.js 5.0 and Atom 1.1

来源:互联网 时间:1970-01-01

Ceylon, Node.jsand Atomhave all seen stable upgrades this week, and we have decided to write a common post covering most notable features and enhancements that come with these new versions.

Ceylon 1.2

Releaseda year afterCeylon 1.1, version 1.2 comes with:

Named constructors– they do not rely on overloading and have names (other than the class’s name) starting with a lowercase letter. Named constructors are declared with the keyword new. Serialization Native annotations Better flow-sensitive typing let, switch, ifexpressions Inline object expressions Destructuring for tuples and entries Directly importing the members of a singleton etc.

Ceylon 1.2 has new APIs: immutable maps and sets, Collection.permutations(), formatFloat(), and others. The Java compiler was improved providing better interoperability with Maven and Java annotations, basic support for interoperability with Scala libraries, and compiled classes are serializable. The JavaScript compiler supports type functions. The debugger has been rewritten and modules can be packaged as Java EEWAR archives. There are many enhancements of the IDE and the online IDEhas been redesigned. For a full list of what new and enhanced in Ceylon 1.2, we recommend reading Gavin King’s announcement.

Node.js 5.0

After many yearsmarked by smallreleases (0.x.y), Node.js has picked up the pace this year both in number of source code commits and version numbering, a new major version coming every month or a few months. Node.js 5.0 is an intermediary version that will be replaced by v. 6.0 in April 2016 which will become a LTS (long time supported) release. Users that need stability are recommended to stay with version 4.x.

Node.js 5.0 are for those wanting to experiment with the latest enhancements, but they are to expect quite a few breaking changes. Also, because of using a new version of V8, all native add-ons need to be recompiled. This postmentionsthe complete list of changes.

Atom 1.1

This release is the first version coming out of the beta channel recently announced. The Atom team decided to introduce two new channels besides the masterone, called betaand stableto deal with code regressions. Using only one code base and generating a release directly from itimplied a simple model and less overhead, but it was quite problematic when issues were discovered with the code released to the public. When they had to roll back some of the changes and generate a new minor release which fixed the problem, this time the code might contain new untested features added between the initial release and the rollback. Introducing separate channels and releasing out of beta solves this problem.

Atom 1.1 introduces a new approach to font measurement still based on the DOM but in a more controlled way. This was needed because font measurement used to slow down the IDE. The performance was also improved by minimizing the GC pauses. This is possible by reusing a poll of DOM elements when newcontent has to rendered, instead of always creating new nodes. Other improvements in Atom 1.1 are: the fuzzy search yields better results, the Markdown preview now uses the installed theme, plus several fixes.The announcementlists all theenhancements coming with the latest version of Atom.