MooTools 1.2.3 Released

Written By David Walsh, on Friday, June 19th 2009, 4:32pm

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.

27 Responses to “MooTools 1.2.3 Released”

  1. gonchuki says:

    any idea if #651 is gonna be fixed?

    keep up the great work guys :)

  2. Dimitar Christoff says:

    cool! and… compatibility with other frameworks, just as aaron was putting so much efford into explaining why this can’t or shouldn’t be done… (http://jqueryvsmootools.com/).

    I suppose it will only go as far as co-existence with frameworks that don’t change prototypes? Even so, one less reason for certain people to be constantly posting how mootools “doesn’t play nice” with everyone else :)

  3. Aaron Newton says:

    To be clear: including two frameworks that achieve the same goals is not something we encourage. We do recognize that, sometimes, this isn’t an option.

    And yes, MooTools and Prototype will still not get along…

  4. cssProdigy says:

    Lookin good MooTools! Can’t wait for the 2.0 release

  5. Fábio M. Costa says:

    That’s very good news! Lets work for 2.0 version come as soon as possible. 1.2.3 was a really good step! Thank you guys!

  6. Mark Story says:

    Thanks again for all the hard work :)

  7. Handcrank Drill says:

    Way to go sister!

  8. Shrike says:

    Thanks for the update :)

    ps. The overtext css class is changed: overTxtDiv -> overTxtLabel

  9. Itay Moav says:

    Awesome. Love the Moo. When do you plan to stop support of IE6 and clean the code of all the hacks?

  10. rpflo says:

    Radical. I keep converting everybody I work with.

  11. moonkiki says:

    everybody say OO OO OOP OOP thank you guys

  12. Ju1ius says:

    Yay ! Just can’t wait for the 2.0 !!! And if you devs released art in the same time that would just set the web on fire !

  13. Botanicus says:

    Why is $() defined just when another framework isn’t found? I haven’t seen corresponding commits, so please correct me if I’m wrong, but I think it’s much better to define $() in all cases and let user decide which framework load first (this will not have $() defined because the second one rewrite it). Am I right? If not please explain.

  14. Htbaa says:

    Thanks for the update! Great to hear that 2.0 will be 100% compatible. Keep up the good work!

  15. БОШ says:

    Good news! Thanks a lot!

  16. asvanu says:

    Thanks for the update :)

  17. Savage says:

    Any compatibility feature for IE 8? Or was it already supported with no bugs in 1.2.2?

  18. Ben says:

    Could we pleeease get someone to fix the Google Search on the docs on this site? It flat out does not work correctly. It’s useless as it is. Thanks. :-)

  19. Brade says:

    Just curious if anyone else has had issues with the compressed version of mootools causing sites in IE to blank out? I got a couple of javascript errors when I loaded my site in IE (but not firefox) and both errors were from the mootools core JS file…

  20. Brade says:

    To elaborate on my last comment: the new mootools does something (not sure what) that does NOT play nice with IE’s “protected mode” — we test our sites on IE using its default settings, since most users won’t ever change them. by default “protected mode” is on and renders a blank page if something triggers it. Also I found it doesn’t re-trigger by hitting reload. You have to enter the page via a link each time you want to test. And I ultimately found that by commenting out the line that includes mootools, my page showed up. when I uncommented, the page goes blank and has the two javascript errors I mentioned earlier. Just an FYI for the devs, hopefully it’s a quick fix…

  21. Ollie Maitland says:

    Excellent release, keenly awaiting MooTools 2

  22. razvansg says:

    When exactly are you guys planning to release Mootools 2.0? I read that it will be this summer. Like july or august or something?

    And what exactly will be new in 2.0? A little info please! :)

    Thank you for your great work.

  23. Malih says:

    I wonder whether mootools 2.0 will make available feature like the new Web worker threads in FF 3.5 to Internet Explorer, or any other browser that doesn’t support them for that matter.

  24. BMo says:

    What do you changed on submiting form-elements?

    My function, don’t send any submit buttons anymore, but I need the name and the value of the submit-Buttons in the form.

    html_element.addEvent(‘submit’, function(e) { e.stop(); this.set(‘send’, { method: ‘post’, onComplete: function(response) { general_function_destroyLoadingAnimation(zielDiv); zielDiv.empty().set(‘html’, response); //domready ausführen if(pageLoadManager!=null){ pageLoadManager.initialize(); }else{ pageLoadManager = new PageLoadManager(); } } }); this.send(); });

  25. Anuj says:

    Hi All,

    Please help me. When I have to replace $(), I will use document.id() but when I want to replace $$() what will I use?

  26. Jack Heater says:

    Anuj, try switching up the variables to see if you get any results.

  27. Justin Clean says:

    Great job with the release, cant wait to see the updates! Thank you again for all your hard work and effort with the release.

Leave a Reply