Prototype 1.5.1 released

by Mislav | May 1st, 2007

After almost two months of testing through four release candidates, the final version of 1.5.1 is here. The core team and dozens of contributors have fixed 30 bugs and introduced a slew of features and performance optimizations since 1.5.0. Here’s a look at the highlights of our best release yet.

This list isn’t nearly complete, so hop to the CHANGELOG for the full thing.

We’ve also been updating the API documentation. You will notice that the new methods since 1.5.0 are marked with a version tag by their name. Also, the old methods that have gained new features are now updated to reflect those changes. If you find any errors in the documentation, please report them on the issue tracker or the Core mailing list.

Those who will continue to use version 1.5.0 can still use the docs without confusion, but—unless you have a compelling reason to do so—we urge you to upgrade to the new version. It’s just so much better! ;)

Thanks to all the core members and contributors who made this release possible.

Download Prototype 1.5.1

Comments

  1. David Dashifen Kees #

    Thanks for your hard work. We appreciate it!

    May 1st, 2007 @ 01:10 PM
  2. Jakob Kruse #

    Congratulations on the new release. Will be switching to it immediately!

    May 1st, 2007 @ 02:36 PM
  3. Michael #

    Well done! I especially like the form#request fixes, thumbs up :)

    keep up the good work

    May 1st, 2007 @ 04:28 PM
  4. nunzio castaldi #

    Ottimo lavoro. Grazie.

    May 1st, 2007 @ 08:26 PM
  5. adwin #

    Great Job !!!!

    I love to hear that 1.5.1 has great selector performance :)

    May 1st, 2007 @ 09:43 PM
  6. Alexey Bass #

    Thanks a lot guys for your work!

    May 2nd, 2007 @ 01:56 AM
  7. Nico #

    Thanks for this wonderful API!

    May 2nd, 2007 @ 07:06 AM
  8. asd #

    you dind’t fix replace() method!!! i submited a ticket 3 weeks ago… if you wish to replace an <input> element just replace line 1363:

    range.selectNodeContents(element);

    with

    range.selectNode(element);
    May 2nd, 2007 @ 07:26 AM
  9. Ariel Patiño #

    Excelente!!!!

    May 2nd, 2007 @ 09:25 AM
  10. Christ #

    Is there a chance to have a working compressed version ?

    May 2nd, 2007 @ 10:11 AM
  11. jdalton #

    You can download compressed and gzipped versions of 1.51 at: http://groups.google.com/group/prototype-core/files

    ProtoPacked v2.12. Prototype 1.5.1 is 15.8kb gzipped.

    There are also formatted versions of all major Prototype releases that should work with many of the JS Compressors out there.

    May 2nd, 2007 @ 06:03 PM
  12. Romain #

    Thanks and congratulations! :) Is there any known issue when upgrading or is it fully backward compatible with 1.5.0 ?

    I will move to 1.5.1 when there is a new Scriptaculous stable version. By the way, is there a reason why Prototype and Scriptaculous releases are not synchronized ? So many people use both…

    Thanks again !

    May 3rd, 2007 @ 02:14 AM
  13. Gianluca #

    Javascript made easy :D many thanks

    May 3rd, 2007 @ 03:01 AM
  14. jdalton #

    Things to be aware of for backwards compat:

    The use of $continue is no longer recommended and you will get an error msg telling you to use “return” instead.

    You no longer need json.js because Prototype has all the JSON methods you need. http://www.prototypejs.org/learn/json (supports JSON security measures too!)

    Also, Element.toggle( el1, el2, el3) no longer works.

    From their site: In previous versions of Prototype, you could pass an arbitrary number of elements to Element.toggle, Element.show, and Element.hide, for consistency, this is no longer possible in version 1.5!

    You can use: $(’content’, ‘navigation’, ‘footer’).invoke(’hide’);

    May 3rd, 2007 @ 07:54 AM
  15. Matt #

    I was wondering if there are any resources available on how to upgrade successfully from older versions (1.4.0, in particular)? I’ve seen the comments about the new behavior for Element.show, etc, but haven’t seen anything else general in the release announcements and some brief googling.

    Otherwise this looks like an awesome new release, so I’m looking to help some projects update.

    May 3rd, 2007 @ 12:10 PM
  16. Sophia Teutschler #

    Thanks allot for making it. For me, Prototype makes Javascript finally useable.

    May 3rd, 2007 @ 04:26 PM
  17. Joshua #

    toJSON() is greatly appreciated! Works very well with ZF. Thanks!

    May 4th, 2007 @ 08:28 AM
  18. chenjin #

    There is an error when I used an Ajax request on firefox. I check up for it and find that “Ajax.setRequestHeaders” lack a sentence “if (typeof headers[name] != ‘function’)” in line 1039

    May 4th, 2007 @ 02:51 PM
  19. Tobie Langel #

    asd: A shame we missed that… your ticket did not start with [PATCH]... hence it did not show up in the relevant trac report. This will be corrected in 1.5.2.

    chenjin: There has been lots of talk about this issue already. This is not an issue with Prototype, it’s an issue with misbehaving third party libraries which extend Object.prototype. My guess is you are using json.js. If so, simply switch to Prototype’s new JSON encoder / decoder and you’ll be all set.

    May 4th, 2007 @ 04:12 PM
  20. Gary #

    I get a “too much recursion” error on line 1288 when trying to use the 1.51 libs to implement an auto_complete text box in rails/firefox. I spent two days trying to troubleshoot it before using 1.5, which fixed my problem. My JS skills aren’t good enough to fix the error directly, but if any other people out there have the same problem I hope I might save them the pain.

    Now that it’s working, it looks great. Props for your hard work.

    -g

    May 5th, 2007 @ 08:24 AM
  21. Tobie Langel #

    Gary: updating script.aculo.us to version 1.7.1 beta 2 will solve your recursion issue.

    May 5th, 2007 @ 01:23 PM
  22. 真心 #

    你好,看到你的作品,真的很棒,也很想交你这个朋友,我来自中国,再次支持的你努力,谢谢

    May 6th, 2007 @ 09:32 AM
  23. 飘渺峰 #

    同意楼上的观点。

    Prototype确实好用,希望你能再接再厉!

    May 6th, 2007 @ 08:04 PM
  24. Cristian #

    We have been waiting for the final release for a while. thank you guys.

    Prototype rocks!

    May 6th, 2007 @ 10:24 PM
  25. Scott B #

    @Gary: I’m pretty sure the problem has to do with setOpacity. If I comment out “element.setOpacity(styles[property])” on line

    May 9th, 2007 @ 09:47 AM
  26. Scott B #

    (So sorry… submitted last comment too early)

    @Gary: I’m pretty sure the problem has to do with setOpacity. If I comment out “element.setOpacity(styles[property])” on line 1588, and substitute the substance of that method “element.style.opacity = (styles[property] 1 || styles[property] = ’’) ? ’’ : (styles[property] < 0.00001) ? 0 : styles[property];” everything works fine. I’m not sure of the deeper reason why calling it out as a separate method causes recursion. Anyone out there have any insight?

    Btw, I’ve just started using Prototype recently after a year on my own js framework, and it’s a dream. Thanks for all the great work!

    May 9th, 2007 @ 09:50 AM
  27. Tobie Langel #

    Scott: Please read my comment above. The reason for that recursion issue is that the opacity setter and getter have been moved from script.aculo.us to Prototype, as of Prototype version 1.5.1. If you are using Prototype with a legacy version of script.aculo.us, you are going to get recursion issues.

    The simple solution is to update to script.aculo.us 1.7.1 beta 2.

    Of course, your hack may work now, but it also might ruin part of the framework, make later updating harder, or wreck additional libraries you might wish to use with Prototype. I don’t recommend it.

    May 9th, 2007 @ 01:07 PM
  28. Andy Nu #

    Prototype is awesome, makes my life so much easier. I have more reasons to love Javascript now. Your work is much appreciated.

    May 9th, 2007 @ 01:54 PM
  29. wilensky #

    您好,非常喜欢Prototype,衷心的感谢!

    May 9th, 2007 @ 11:45 PM
  30. Emoticons #

    You also can use: $(’content’, ‘navigation’, ‘footer’).invoke(’hide’);

    May 11th, 2007 @ 03:30 PM
  31. wangzhenzhong #

    Thanks for your hard work. I’m chinaese,prototype.js I like it!

    May 12th, 2007 @ 04:25 AM
  32. Christopher JAMES #

    Thanks a lot, prototype rocks! :)

    May 12th, 2007 @ 04:19 PM
  33. Jeff #

    I’m getting the same recursion error: “too much recursion” line 1288

    I’m using script.aculo.us 1.7.1 beta 2

    It’s happening when I try the Puff or Fade Effects. I can use Shake effect on the same element and no problems.

    Any ideas?

    May 14th, 2007 @ 05:52 PM
  34. Jeff #

    Disregard the last comment, I updated the wrong prototype directory. It is now working great. Thanks for your hard work!

    May 14th, 2007 @ 05:56 PM
  35. 咖啡刀 #

    谢谢,谢谢!!!真心的感谢!来自中国的爱好者!

    Thanks

    May 15th, 2007 @ 05:38 AM
  36. Philippe Meunier #

    Cool, I like the new features, but prototype is becoming kind of heavy to download, almost 100k ! Would be interesting to have a compress option, like moo tools.

    May 15th, 2007 @ 04:02 PM
  37. onin #

    prototype is the best!!!

    May 18th, 2007 @ 12:57 AM
  38. Виктор #

    А даже купил себе майку с надписью Prototype

    May 20th, 2007 @ 06:20 AM
  39. Rafael #

    Hey I got The Same PRoblem Here “too much recursion [Break on this error] this.each(function(value, index) { on line 348” and “too much recursion

    on line 541” Can You Give me some Help? I’m using Validation.js from dexago group

    May 23rd, 2007 @ 10:29 AM
  40. Randolph Alveyra #

    Napakagaling!

    May 30th, 2007 @ 01:00 AM
  41. chaoskaizer #

    Kudos to all, thanks guy

    May 30th, 2007 @ 08:00 AM

Sorry, comments are closed for this article.

Search Blog


Search the prototype blog.

Subscribe to the blog

Akismet badge