MooTools 1.2.3 Released

Written by David Walsh on 19 June 2009 – Posted under releases

Today we give you what will likely be the final release of the MooTools Core before the jump to 2.0. While MooTools 1.2.3 is primarily a bug-fixing release, MooTools 1.2.3 also introduces an important new feature: Framework compatibility mode.

The value in making this change is allowing developers to use more than one framework within a page (which is NOT something we recommend or endorse, but we recognize this is not always under the developer's control). Not relying on the dollar function prevents the need for jQuery.noConflict() when using jQuery and MooTools together, for example. If no other framework is detected, however, $ will be assigned to MooTools. This means that all of your current MooTools code WILL NOT break. It does, however, mean that if you want to use MooTools and jQuery together (without using jQuery's noConflict mode), instead of using $ in your MooTools code, you'll have to use document.id().

If you want your MooTools plugins to be cross-framework compatible, you'll have to replace all the instances of $ with document.id().This change only applies if you're using more than one framework on your pages. If all you use is MooTools, nothing will change for you. Look forward to more details about Framework compatibility mode in a future post.

MooTools Core & More Updates

While we encourage you to browse LightHouse and the histories for MooTools Core and MooTools More to get the most detailed list of changes, the following significant updates were committed in MooTools 1.2.3:

Core

  • Element: MooTools compatibility mode: the $ function is only defined if no pre-existing $ function is found. If an existing $ function is found, you can use document.id()
  • Element: changed internal instances of $ to document.id
  • Core: fix for server-side MS JScript 5.x; makes MooTools more friendly for server side programming
  • Class: Class doesn't require Browser, removed from scripts.json
  • Element: Fixes for set/get Property
  • Element.Dimensions: fix for webkit body.scrollTop inconsistency, getBoundingClientRect used whenever possible (not just for Trident), renaming element.position to element.setPosition; adding docs for the method; alias is included in-line for compatibility
  • Hash: Hash extend no longer uses the window if no arguments supplied
  • Request: clearing Request readystate before calling success or failure;
  • Selectors: Added :enabled pseudoselector, was in the Docs but not implemented.
  • Docs: Fixed docs headers for first-child, last-child, and only-child.
  • Internal: UnitTester test suite is now a git submodule
  • Numerous small fixes, speed improvements, documentation tweaks, etc.

More

  • Per the change in -core, $ is no longer used (uses document.id instead)
  • Element.Measure: trying cssText solution for Element.expose (again).
  • Element.Forms: swapping feature detection for browser support per
  • Date: Massive refactoring of Date.js and Date.Extras.js
  • Drag.Move: Fixing drag with grid issues
  • IframeShim: altering zindex assignment in IframeShim to better ensure that it's always underneath the shimmed element, updating Iframeshim's empty document creation; fixes https issues in IE6
  • FormValidator: reworking formvalidator scroll-to logic to be a little more efficient
  • OverText: preventing overtext from focusing on inputs except when they are interacted with (so OverText.update() does not focus an input);now stops polling when elements are hidden (when polling is enabled)
  • Fx.Scroll: adding scrollIntoView method - scrolls an element so that it is completely visible; if below the view, scrolls down until it is at the bottom of the screen, if above, scrolls up until it is at the top.
  • JSONP: was calling (the deprecated) this.request instead of this.send during retries
  • URI: Adding set('data', obj) to set
  • Assets: adding error callback for Assets.images
  • Tips: removing dependency for Element.Measure for Tips; updating CSS class name in OverText
  • Numerous small fixes, speed improvements, documentation tweaks, etc.

MooTools 2.0 is on the Horizon

As mentioned above, 1.2.3 is likely the last update for MooTools 1.2. MooTools 2.0 will introduce numerous performance improvements and new features. We want to stress that MooTools 2.0 will feature 100% compatibility with MooTools 1.2.x.

Thank You!

Thank you for the bug fixes, feature requests, and support during MooTools' 1.* lifetime. You, the MooTools community, have helped make this framework better with every bug found and question asked on the forum. We look forward to releasing MooTools 2.0 this summer and getting feedback from everyone in this awesome community.

comments powered byDisqus