jquery / 2012-dev-summit

Information regarding the 2012 Developer Summit in DC
14 stars 14 forks source link

Move jQuery 1.9 deprecated code and tests to compat plugin #24

Closed dmethvin closed 12 years ago

dmethvin commented 12 years ago

Features like jQuery.browser are being removed from jQuery 1.9 to clean up the API, reduce the size of the library, and reflect the best practices that we preach. To ensure that we don't break too much code, they will be available in a jquery-compat.js plugin that can be included alongside jQuery 1.9 or 2.0.

I don't think there's a whole lot of actual coding to be done here, but it does cross a bunch of areas so I've marked it as something that could involve all four core tables. You could even say, :smirk: :arrow_right: :sunglasses:, this problem requires quad-core processing. Here are the tasks I can see at the moment:

I was thinking it would be useful if the uncompressed "development" version of the plugin would generate console messages to warn that deprecated/removed functions were being used. Uglify has a feature to allow these to be removed as dead code in the minified builds. It might be possible to even use the compat plugin as a migration tool with <1.9 code to let you know that something was using features that should be avoided or rewritten.

NOTE: Not all deprecated APIs are being removed; for example .live() is staying although it is deprecated. Also note that not all removed functionality has to be supported by the compat plugin if it turns out to be too difficult to do--let's discuss as we come to those situations.

dmethvin commented 12 years ago

Specific code affected that needs to be moved to the compat plugin:

elgreg commented 12 years ago

Submitted a pull request for "hover" pseudo-event: https://github.com/jquery/jquery/pull/969

rascalking commented 12 years ago

Submitted a pull request for fn.toggle: https://github.com/jquery/jquery/pull/970

This also makes the deprecated unit tests respect the grunt deprecated flag.

dmethvin commented 12 years ago

Migrated to http://bugs.jquery.com/ticket/9904#comment:16