Релиз jQuery 1.9.0

15 Января вышел релиз новой версии jQuery 1.9.0, а также выходе бета версии 2.0.0, которая не поддерживает браузеры IE6, 7 и 8. Прежде чем обновлять свою версию на сайте рекомендуется прочитать инструкции по апгрейду скриптов, так например live() больше не будет работать, и рекомендуется заменить его на on(). Впрочем там где нужно использовать старый функционал вышел скрипт jQuery Migrate.
- Полная версия: http://code.jquery.com/jquery-1.9.0.js
 - Сжатая версия: http://code.jquery.com/jquery-1.9.0.min.js
 - JQuery Migrate: http://code.jquery.com/jquery-migrate-1.0.0.js
 - Сжатая версия с Google CDN: http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js
 - Полная версия с Google CDN: http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.js
 
Инструкции по апгрейду скриптов для поддержки новой версии jQuery 1.9.0 и выше
CHANGELOG
Ajax
Attributes
#9905: .removeAttr( "id” ) sometimes crashes IE 7
- #10299: hrefNormalized === false also needs a propHook
 - #12048: [IE6/7/8] xml set attribute
 - #12584: jQuery wrongly serializes <select> with one disabled <option>
 - #12600: jQuery(‘select’).is(‘[value="value"]‘) works inconsistently depending on number of elements returned
 - #12945: attr throws exception in IE9 on Flash <object>s
 - #13011: Setting type attribute on an input doesn’t work as intended
 
Build
- #12254: Reflected XSS
 - #12490: Move submodule update process to grunt
 - #12725: Avoid localized UTF-8 characters in intro.js @DATE
 - #12741: inconsistent line endings in official jquery-1.8.2.js download
 - #12886: Add source map support for build
 - #13044: Execute all QUnit modules in TestSwarm
 - #13064: Improve test suite fixture cleanup
 
Core
- #9469: Remove semi-functional .selector calculation from .pushStack()
 - #9904: Move deprecated functionality to compatibility plugin
 - #10417: Remove second arg from setTimeout calls (WAS jQuery.later)
 - #11290: selector interpreted as HTML
 - #11737: Remove jQuery.sub
 - #12107: Change proxy to allow arguments currying without overwriting context
 - #12134: implement HTML5 compilant form data construction into $.fn.serialzeArray
 - #12191: jQuery.type() should return "error” for native ECMAScript Error objects
 - #12519: Public API methods should not have private arguments
 - #12840: Remove (private) parameter "pass” from jQuery.attr and jQuery.access
 - #13021: each() cannot work well with a literal object who has a length member
 - #13075: Performance optimization for $.type
 - #13076: Performance optimization (10-30%) for $("some-selector”)
 
Css
- #11938: jQuery.css should accept an array to get multiple properties
 - #12990: ‘px’ automatically added to column-count css property
 - #13088: under IE8, $(selector).attr(‘style’) always return lowercase string
 
Data
Deferred
- #11405: deferred.notify() invokes progressCallbacks with deferred as context
 - #13160: Deferred.then doesn’t propagete custom context
 
Effects
Event
- #3827: Checkbox state inconsistent in click event handler
 - #12061: $(window).beforeunload() clobbers previous handler and return values
 - #12518: Don’t use offsetWidth in jQuery.event.trigger()
 - #12610: jQuery.event.dispatch should remove window.event
 - #12736: Move pseudo:hover to jquery-compat / deprecated.js
 - #12739: Name: Passing in an Event to trigger strips namespace
 - #12827: Remove "exclusive” events
 - #12828: Remove event properties: attrChange attrName relatedNode srcElement
 - #13180: Live binding click event on image within SVG not firing.
 - #13203: Delegated selectors matching Object.prototype properties match everything
 
Manipulation
- #4087: insertAfter, insertBefore, etc do not work when destination is original element
 - #9646: IE7: Cloning of form-elements and changing their names also changes the name of the elements that are cloned.
 - #10470: wrap() evaluates scripts
 - #11226: .after and .before returns incorrect data for $(‘not_existing_element’)
 - #11230: .appendTo .prependTo .insertAfter .insertBefore returns incorrect data for $(‘not_existing_element’)
 - #11280: appending elements to an object element fails in IE < 9
 - #11795: Resolve script manipulation/execution inconsistencies
 - #11989: Investigate fragment cache performance in terms of large html fragments
 - #12120: Inconsistency of .end() with respect to .after()
 - #12336: Calling $(‘#select’).empty() should set options length to 0
 - #12392: Elements created from HTML strings have a parentNode
 - #12449: replaceWith() doesn’t clone elements where required
 - #12503: before/after will choke if collection has not first disconnected node
 - #12777: Applets don’t work when appended on IE
 - #12863: behavior:url(#default#savehistory) causes event error on oldIE
 - #12957: Improve wrapMap
 - #13019: New pre-1.9 .replaceWith() behavior leaks data and events
 - #13094: If to jQuery#before passed function argument it should receive index of the current element in the set
 - #13200: XHTML .html() on <table> & subelements
 
Misc
Offset
Selector
#11115: ".is()” and ".filter()” disagree on attribute selector "[checked]"
- #12856: Syntax error, unrecognized expression in jquery 1.8+
 - #13070: filter()/is() does not work correctly with attribute equals selector which contains special characters
 
Support
- #12569: Improve feature detect for oldIE event bubbling
 - #12869: Support tests affect page layout in IE8/9/10 running in IE7 mode