Friday, January 25th, 2008
Prototype 1.6.0.2 security and performance improvements
Sam and the team have released Prototype 1.6.0.2 (and 1.5.1.2):
Prototype 1.6.0.2 is a backwards-compatible, drop-in replacement recommended for all 1.6.0 users. We’ve fixed 28 bugs and made over a dozen improvements to the code base, including performance improvements for CSS selectors in Safari 3 and for the
Element#up/#down/#next/#previousandEvent#findElementmethods in all browsers. We’re also now officially supporting the Opera browser, version 9.25 and higher. You can get the full scoop on all the changes in the 1.6.0.2 CHANGELOG.
They also fix a security hole (minimal):
Among the numerous bug fixes is a change to the way
Ajax.Requesthandles automatic JavaScript response evaluation. Previous versions of Prototype relied on the browser’sXMLHttpRequestsame-origin policy to ensure that response bodies with a content type oftext/javascriptwere safe to evaluate. Alexey Feldgendler from Opera kindly alerted us to the possibility that certain non-browser environments (like Opera’s widget system) do not enforce the same-origin policy and as such may be subject to cross-domain script exploits. To combat this we’ve added anAjax.Request#isSameOriginmethod which returns true when a request is being made to the same domain, port, and protocol as the document. Furthermore, Prototype will no longer automatically evaulate JavaScript response bodies when this method returns false.












Packed version already available?
There’s also a brand new cheat sheet for 1.6.0.2 http://thinkweb2.com/projects/prototype/2008/01/22/prototype-1602-cheat-sheet/
packed versions at: http://groups.google.com/group/prototype-core/files
protopacked_v2.18.zip
maybe some improvements…. but I’m about to revert to 1.6.0.1, not being able to find a calendar (date picker for forms) working with 1.6.0.2….
calendar date select is broken
http://code.google.com/p/calendardateselect/
calendar view too
http://www.calendarview.org/
(I don’t know any other with enough features)
I’m able to make basic prototype programming, but those things are way to advanced for me…. I couldn’t fix the bugs raised… it’s not just a javascript error, it’s a “not work anymore at all on any browser” issue…
so just be sure you have good ways to revert to the previous version if things goes bad before migrating a project (as I did :( ), I cannot agree on “backwards-compatible, drop-in replacement”, it is not unfortunately….