This is big news for Prototype fans. The latest release is online, but its not a single piece of joy. You have also new script.aculo.us and awesome book.
The final versions of Prototype 1.6.0, script.aculo.us 1.8.0, and the Prototype & script.aculo.us book are now available. Prototype 1.6.0 is the most significant update to the framework since its inception over two years ago. We’re very excited about the changes in this release, and what better way to celebrate than with an update to script.aculo.us and a book covering all the new goodness?
Prototype 1.6.0 released
This version of Prototype brings a number of major enhancements to the core APIs as well as the usual slew of bug fixes and performance optimizations. For the full story, see the CHANGELOG and the release notes for 1.6.0_rc0 and 1.6.0_rc1. API highlights include:
* Ajax transport objects are now automatically wrapped in an Ajax.Response object.
* The class API now includes full support for inheritance and superclass method calls. (See Mislav’s tutorial for more info.)
* Class objects now have an addMethods method for adding instance methods after creation.
* Elements can be created easily with the new Element(…) syntax.
* Element#insert provides a unified API to DOM element and HTML fragment insertion.
* Element#select is an alias for getElementsBySelector and is now the preferred way to find elements by class name.
* Element#wrap lets you easily wrap an element inside another element in place.
* Enumerable methods on Array are now backed by native Array#forEach implementations when possible.
* Enumerable#grep now calls the match method on its first argument, so you can use it to e.g. filter an array of DOM nodes by CSS selector.
* Event objects are now automatically extended with instance methods, so you can write e.g. event.stop() instead of Event.stop(event).
* Prototype’s event API now supports firing DOM-based custom events with Element#fire.
* The new dom:loaded custom event fires when the entire document has loaded and is ready for manipulation.
* Function#curry allows for partial application of function arguments.
* Function#wrap facilitates simple aspect-oriented programming and provides the basis for Prototype’s superclass method call mechanism.
* Function#delay delays invocation of the function by the given number of seconds.
* Function#defer schedules the function to run as soon as the interpreter is idle.
* The Hash API has changed, and you must now use Hash#get and Hash#set instead of directly accessing properties on Hash instances.
* String#interpolate is a shortcut for instantiating a Template from the string and calling evaluate on it.
* Object properties can now be used in template replacement strings.
script.aculo.us 1.8.0 released
script.aculo.us 1.8.0 is fully compatible with Prototype 1.6.0 and includes several improvements since the last version; see the announcement on Thomas’ blog for more details. Here’s what’s new:
* Complete rewrite of the in-place editing controls.
* Full CSS inheritance support for Effect.Morph.
* Support for tweening between two values of an element property or method call with Effect.Tween.
* A new sound API for playing interface sound effect MP3s.
* Numerous bug fixes and performance improvements.