jQuery UI 1.9.0

Posted on by

The jQuery UI team has been pretty busy for the past two and a half years. With more than 500 bug fixes spread over two dozen releases, we’ve been working hard to make jQuery UI as stable and flexible as possible. Last year, we announced a lofty goal:

Our goal is to have a completely refreshed project with the 2.0 release. We will have a much simpler API, better stability, full documentation and a full test suite for every plugin.

Today, we’re proud to announce the first major step toward reaching that goal. jQuery UI 1.9.0 is now available with hundreds of bug fixes, a bigger and better test suite, and improved APIs. In addition to the code, we’ve also deployed all new sites and improved documentation.

New Widget: Menu

The menu widget was technically released in 1.8, but it was bundled inside the autocomplete widget and mostly hidden from users. Menu is now a first class citizen in jQuery UI and is great for inline or popup menus, as well as a great starting point for more complex menu systems. Check out the menu demos and menu documentation for more details.

New Widget: Spinner

The spinner, or number stepper, widget is perfect for handling all kinds of numeric input. Spinners allow users to type a value directly or modify an existing value by spinning with the keyboard, mouse or scrollwheel. When combined with Globalize, you can even spin currencies and dates in a variety of locales. Check out the spinner demos and spinner documentation for more details.

New Widget: Tooltip

The tooltip widget supports a wide variety of uses: local and remote content, custom positioning and animation, mouse tracking, event delegation, and more. Check out the tooltip demos and tooltip documentation for more details.

API Redesign: Accordion

The accordion widget has undergone an API redesign, making it more consistent with other widgets and providing better animation support. Make sure to read the upgrade guide so you can migrate away from the deprecated APIs.

API Redesign: Tabs

The tabs widget has undergone an API redesign, making it more consistent with other widgets and providing better ajax support. Make sure to read the upgrade guide so you can migrate away from the deprecated APIs.

API Redesign: Position

The position utilty has undergone an API redesign, providing better collision detection and support for percent-based offsets. Make sure to read the upgrade guide so you can migrate away from the deprecated APIs.

Improved Widget Factory

We’ve added a lot of functionality to the widget factory, especially related to instantiation and inheritance. There are lots of new features for widget developers and a few new APIs and improvements for widget users as well. Check out the upgrade guide for more details.

Improved Accessibility

We put a lot of effort into making accordion, autocomplete, tabs, menu, spinner, and tooltip as accessibile as possible. Unfortunately ARIA still needs some work before it can be used without hacks, but we’re working closely with standards bodies, browser vendors, and the accessibility community to improve web accessibility beyond jQuery. Our documentation site now includes details about keyboard navigation for each widget.

Renamed Effects Files

All effects files have been renamed to match the jquery.ui.*.js naming pattern. If you’re using individual effect files, you’ll need to update your file references.

Deprecated APIs

As mentioned above, many plugins went through API redesigns. As a result, many existing APIs were deprecated. These APIs will be removed in 1.10.0. The 1.9.0 release includes a flag to disable all deprecated APIs, allowing you to determine if your code is ready for 1.10.0 even before it is released. There are full details on how to use the flag in the upgrade guide.

Supported jQuery Versions

jQuery UI 1.9.0 supports jQuery 1.6 and newer. That’s 11 versions! Multiply that by the number of supported browsers and you’ve got quite a support matrix.

New Sites

Assuming you’re not reading this in a feed reader or some other syndicated format, you’ve probably already noticed that our web site has a brand new look. The sites are still under development, so please bear with us as we add more content and improve upon the design. We’ve also deployed a brand new API documentation site which includes a lot of information that was missing from the old site. If you’re interested in helping improve any of our sites, they’re all hosted on GitHub now, with the repository names matching the domain names. For example, the repository for jqueryui.com is https://github.com/jquery/jqueryui.com.


File Downloads

Git (contains source files, with @VERSION not yet replaced with 1.9.0, base theme only)

Google Ajax Libraries API (CDN)

Microsoft Ajax CDN (CDN)

Custom Download Builder


See the 1.9 Upgrade Guide for a list of changes that may affect you when upgrading from 1.8.x. For full details on what’s included in this release see the 1.9.0 Changelog. You can read more about the API redesigns in a previous blog post.


Thanks to all who helped with this release, specifically: 2Toad, aaronpeterson, acheetham, acimeha, acwhite, Adam Baratz, adam j. sontag, Adam Parod, aidan, aifam5, Alberto Fernández Capel, Alberto Monteiro, Alex Dovenmuehle, Alex Rhea, AlexW, Amir E. Aharoni, Andrew Newcomb, Andrew Powell, artyv, aschild, asgeo1, AsherMaximum, awgy, AzaToth, azendal, Azhrei, Baoju Yuan, basti, beatryder, bekok, Ben Boyle, Ben Hollis, Benjamin Sterling, Bernhard Sirlinger, Bertjh, bluecabbie, BobbyStealz, borsuk, bruce511, bthompson00, bugbegone, Campbell, Carl Fürstenberg, [email protected], Carson McDonald, certator, cherif, Chris Kelly, Christopher McCulloh, clear00, Cloudream, coling, collin, coredan, Corey Frang, cosmicnet, Courthead, cozydozy, creage, crumbles, cs94njw, CTAPbIuMABP, ctrlaltdev, cyberboy, d.wachss, dalibor983, Dan Heberden, danbhfive, Daniel Steigerwald, Danny Trunk, dannyzit, Dave Methvin, Dave Stein, David De Sloovere, David Leal, David Murdoch, David Petersen, David Soms, dblood, dclawson, dcohn, ddstreet, deckberg, Den, dennydaugherty, Diego, dkiselev, dlee, dmcmeans, dmitriy.paramoshkin, Dmitry Petrov, dominiquevincent, doomedelite, Doug Neiner, DouglasKing, dwebb66, dwt, ebspromo, Eddie Monge, eduyanez, Edward Faulkner, efoster, Eike Send, Eneko Illarramendi, epascarello, ergec, eric.muyser, ericw, EungJun Yi, Everett Zufelt, ExplosionPills, eXtreme, fdemmer, feklee, Felix Nagel, fernando1124, fiance, Florian Gutmann, fofanafi, G Karunakar, Garrison Locke, garyz, Gaëtan Muller, George Marshall, Gilmore Davidson, Giovanni Giacobbi, Glenn Goodrich, gpbmike, gromo, guettli, Guillaume Gautreau, haeberle, Hans Hillen, haraldo, Harri Kilpio, Heiko Henning, Herbalite, Hogan Long, Holger Rüprich, hoxworth, huemorgan, hughlomas, hyperlink, iainxt, idavemm, igor milla, Ildefonse, Infeligo, irrational, israelrios, itsadok, Ivan Peters, J. Ryan Stinnett, j.hermsen, Jack Hsu, JackT, Jacob, James Khoury, jamiejag, Jared A. Scheel, jaredwilli, Jason Davies, Jason Moon, Jason Prell, JasonBerry, Jasvir Nagra, Jay Merrifield, Jay Oster, jbergenthal, jdalton, jdart1, jdomnitz, jdufresne, Jean-Francois Remy, Jeff Remy, Jeff Roush, Jelly, Jellyfrog, jenters, Jesse Baird, jgv, Jiayi Yang, jihohan, jitter, jjross, Jo Liss, joaoeiras, John Firebaugh, John Resig, john.culviner, johnashenfelter, johntrepreneur, jomyjohn, Jon Palmer, Jorge Barreiro, jorisdekinder, josh3736, [email protected], jsgoupil, JustinMacCarthy, Ján Suchal, Jörn Zaefferer, kapouer, Karl Kirch, Karl Swedberg, Kato Kazuyoshi, kbwood, Ken Penn, keturn, Kevin Dalman, Khaled AlHourani, KhoaTon, Klaus Hartl, kliehm, kobrigo, kolak, Kouhei Sutou, kradmiy, Kris Borchers, Kyle Florence, Kyle Wilkinson, Lado Lomidze, Lee Rowlands, levushka, lex1982, liangent, Lim Chee Aun, Lopo, lorak110786, lorife, lotjuh, lschult2, Luis Dalmolin, lukas.olson, Lukasz Lipinski, lukebrookhart, m157y, macarthy, Maciej Mroziński, maggiewachs, maljub01, malsup, Marcel Toele, [email protected], marcneuwirth, marcos.sousa, Marian Rudzynski, Mario Visic, Mark Aaron Shirley, Mark Johnson, marteadrian, Martin Hoch, Martin Solli, martinf55, Marwan Al Jubeh, maspwr, Matt Hoskins, Max Schnur, MaxPower15, mdellanoce, meh-cfl, Michael DellaNoce, Michael P. Jung, michaelmwu, Michel Weimerskirch, midlis, Mike Hollis, Mike Sherov, Mike Stay, milan, millman, mirv, mkemmerling, mkowalski, mofle, mohdyusuf, monoblaine, moxen, mpetrovich, mriffault, MrMaxx, MSwaff, mwlang, myr, Nate Ferrero, neil.pugh, Nick_Craver, NielsJanssen, ninjaxify, nirvanaforu, nogwater, nonplus, offnight, ohlavacek, Olson.dev, onaiggac, oojacoboo, ORIGINALUSRNM, ornicar, ostgals, pantsmann, paul, Paul Irish, Pavel Stetina, pegomes, pheiberg, Philip Graham, Philipp Benjamin Köppchen, Phillip Barnes, Pierre-Henri Ausseil, piouPiouM, pkruithof, pmawhinney, polomoshnov, poplix, Probot, pulpulpullie, qicboy, r2363c, Rafael Xavier de Souza, Ralph Whitbeck, reedmaniac, Richard D. Worth, Rick Waldron, ripper234, Rob Loach, RobinHerbots, Robson Braga Araujo, RobWilkinsonUK, rockwild, roman.chizhevsky, ronchalant, rozwell, rp, RR1000, rthapar, rubyruy, ryanolton, Saji, saks, Samuel Cormier-Iijima, sc0rchin, Scott González, scott.moore, scr4ve, sergids, sexconker, sgruenholz, shadwdrgn, Shahyar G, Shannon, sigmasquirrel, Simon, Sindre Sorhus, SineSwiper1, sixhead, skeetergraphics, skorpan, snb, snover, sp, speaktorob, spekary, SpoonNZ, stafil, stefanlivens, steptom, [email protected], Steven Roussey, stojce, stringfold, Stéphane Raimbault, sunaku, suner, sunshine, synek, T.Lindig, t34, tadudek, tashekelahi, teaspoon000, techtangents, tfotherby, thedoc, thomsbg, ThrushAAX, Tiago Freire, ticketmaster, tillkruess, Timmy Willison, Timo Tijhof, TJ VanToll, Tobias Brunner, Todd Parker, tomgallacher, tomykaira, Tony Ross, Trey Hunner, trixta, tyron, tzkuei, victorq10, Viktar Varvanovich, vrtxf, watanabe, Wesley Walser, whittet, William Griffiths, William Kevin Manire, wkmanire, xaav, Xavi, xirzec, yourfavorite, ZeK, Ziling Zhao.


Note: please do NOT use the comments section of this blog post for reporting bugs. Bug reports should be filed in the jQuery UI Bug Tracker and support questions should be posted on the jQuery Forum.

If you have feedback on us doing our final release for jQuery UI 1.9.0, feel free to leave a comment below. Thank you.

58 thoughts on “jQuery UI 1.9.0

  1. Awesome. Congratulation to the jQuery UI team to getting this release out. Your hard work and dedication is appreciated by many around the globe.

  2. Dieter on said:

    Thank you for the great work and please note that (at least in FF 15) when scrolling up or down on the main jQuery UI page there is a 2-3 sec delay in upper 10% of the page.

  3. Mark Flewellen on said:

    Looks great, like the new site….the google cdn links don’t seem to be live yet or are incorrect

  4. @Patrick – We put a release out as soon as it is ready and at the same time provide the release to Microsoft and Google to update their CDNs. Those updates are entirely out of our control, and will stop being 404s once they are complete.

  5. Keith Pepin on said:

    Congratulations guys, I’ve been looking forward to this release for a long time and look forward to using it in our future projects.

    One thing I didn’t notice in the release details was any mention of moving Datepicker to use the Globalize plugin for localization (as mentioned in this planning wiki). Are there still plans to eventually change the Datepicker API to make use of Globalize as well? Or were those plans shelved?

  6. I’m not a fan of the new site :-/

    – The demo side-bar is way too long and requires too much scrolling
    – The layout on a mobile phone is somewhat messed — everything is too big so things don’t flow properly
    – It “feels” dated because of the strong colors, borders, and gradient shadows — all the new hotness is with “air-y” looks, soft colors, and less bordered divs.

  7. I totally agree with Roger’s feedback on the new website layout, look, and feel!!! Not a fan either!

    On the Menu demo (http://jqueryui.com/menu/#navigationmenu) the sub-sub menu items display over the main menu on the left. This is happening in both FF v10.0.6 ESR and Chrome v19. Perhaps this is due to the limited width of the “demo-frame”???

  8. Heywood on said:

    I don’t like the way the demos are separated from the API info now. For example, when you go to say autocomplete for a demo, you used to have easy access to all the options, events, and methods for that widget. Now you have to hunt around for them. Bad move.

  9. Nice Job! I have been waiting for the Menu and ToolTip for some time now. You guys/gals rock!!! A Video ToolTip….. SWEET
    Thanks :):):)

  10. @Scott Interesting.

    Well I am having trouble setting up a jsFiddle to show some cosmetic issues with the new spinner with certain themes. For instance “Vadar” the value of the input is pretty much unreadable, also with “Swanky Purse” the buttons are not displaying properly, they are about 250% the size they should be.

    Keep up the good work,

  11. The new way demos and documentation is handled is definitely a step back from the previous version. Having to look for things in two different places is not exactly user friendly.

    Also who thought that removing the examples from the documentation was a good idea?

  12. jQuery Rocks on said:

    Thrilled to have version 1.9 and the menu widget! I’ll test out the menu’s functionality for some of my projects. Also, the new web site looks fantastic.

  13. Sigourney_Weaver on said:

    One I updated to 1.9.0, my autocomplete began returning status message (probable a new functionality):
    “No search results.” or
    “10 results are available, use up and down arrow keys to navigate.”
    below the input field.

    Is there any way to get rid of this status message ?? Thanks

  14. I agree with Heywood. The separation of demos and API wasn’t a good idea. A large chunk of usability got lost. The easy access to methods, options and events and seeing the demo at the same time was such a pleasure on the old site. Sad.
    And where’s the Puff Effect on the Download Builder page?
    The new look & feel isn’t so convincing either.

  15. lingtalfi on said:

    Great news,
    now waiting for the tree feature..,
    and the charts feature too…
    ( please have a look at extjs )

  16. Martin Andersen on said:

    Congratulation with the new milestone, but why do you keep moving forward with jquery ui?
    I think that twitter bootstrap and zurb foundation has taken over.

    I know that it sound’s negative, but drop the UI widgets and keep evolving the UI helpers like draggable.

  17. Sergey Kuts on said:

    Is there and .less version of styles?
    it looks like it is compiles from something like this because a lot of comments like border: 1px solid #fcefa1 /*{borderColorHighlight}*/;

  18. roxstyle on said:

    I agree with comment above.
    I don’t like the way the demos are separated from the API info now. For example, when you go to say autocomplete for a demo, you used to have easy access to all the options, events, and methods for that widget. Now you have to hunt around for them. Bad move.

  19. andrey on said:

    Congrats on this release!

    However, could you, please, return API section into demos? Make it expandable or smth. It’s very inconvenient to jump from example to api docs and compare things between each other.

  20. Fervent on said:

    Well done jQuery UI for the new release, helps me a lot for the tools you made.

    but can you at least bring back the code example feature like the old ways? It’s hard for me to find the example for each and every API

    Thanks before!