jQuery UI 1.12.1

Posted on by

We’re proud to announce our latest stable release. jQuery UI 1.12 features two new widgets, an updated base theme, overhauled effects, improved environment support and numerous bug fixes!

What happened to 1.12.0?

You may have noticed that even though 1.12.0 was released back in July, there was never any announcement. We had several issues surrounding the release, some code issues, but mostly infrastructure issues. Because the infrastructure issues took so long to resolve, we decided to wait until the 1.12.1 release to officially announce 1.12.

The big changes in 1.12 are:

  • New theme: Our long-time default grayscale theme Smoothness has been succeeded by a modern theme with some colors, less gradients and some other improvements. The new theme is already live on ThemeRoller (where you can also find the ‘Smoonthness’ under the Gallery tab).
  • New widgets: Controlgroup replaces buttonset and adds support for selectmenu and the new checkboxradio widget. You can see the new widgets in action in the controlgroup and checkboxradio demos.
  • New classes option: All widgets got a new option, called classes. This gives a lot more control over visual styling and custom theming. For example, building a Bootstrap theme for jQuery UI is now a lot easier. See the Learning jQuery article for more information.
  • New method: The .labels() method finds all label elements associated with the first selected element, mimicking the native labels property.
  • API redesign: Button: The button widget has undergone an API redesign, splitting out functionality for different types of buttons into separate components (see the new widgets mentioned above). Make sure to read the upgrade guide so you can migrate away from the deprecated APIs. The generated markup has also changed, so any custom styling may need to be updated as well.
  • npm/browserify/webpack support: The jquery-ui package on npm is now owned and maintained by the jQuery UI team. In addition, we’ve updated package.json and changed the directory structure to work better with tools like browserify and webpack. See Jörn Zaefferer’s demo for webpack usage information.
  • Effects overhaul: The effects API has received a major overhaul, introducing many new APIs and rewriting effects to use CSS clip for smoother and less error-prone animations. In addition, the transfer effect has been replaced with a .transfer() method.
  • Dropped jQuery 1.6.x support: jQuery UI 1.12 officially supports jQuery 1.7.0 – 3.1.0.
  • Reduced old IE support: jQuery UI 1.11 officially dropped support for IE7 but left all the existing workarounds in place. jQuery UI 1.12 has removed all of the IE7 workarounds. In addition, official support for IE8, IE9, and IE10 have been removed, but the workarounds are still in place and will be removed in 1.13. This coincides with Microsoft’s end of regular (non-extended) support for these browsers which occurred in January.
  • Bug fixes: Over 100 bugs have been fixed!

Download

File Downloads

Git (contains source files, with @VERSION replaced with 1.12.1, base theme only)

Install via bower

  • bower install jquery/jquery-ui#1.12.1

jQuery CDN, powered by MaxCDN

Google Ajax Libraries API (CDN)

Microsoft Ajax CDN (CDN)

Custom Download Builder

Changelog

See the 1.12 Upgrade Guide for a list of changes that may affect you when upgrading from 1.11.x. For full details on what’s included in this release see the 1.12.0 Changelog and 1.12.1 Changelog.

Thanks

Thanks to all who helped with this release, specifically: abacada, Ablay Keldibek, acwolff, Adam Foster, afercia, agcolom, aldra, Alexander Schmitz, alexandis, Alexey Balchunas, aliedtke, allenstyle, Alyosha Pushak, Amanpreet Singh, Amine HADDAD, Anne-Gaelle Colom, apeterson, apushak, Atletismo343, atomiomi, baton, bchiasson, Ben Mosher, Benjamin Albert, bernhardsirlinger, bleshik, bmorearty, Bruno Pérel, camurai, ChaseWagoner, Chen Eshchar, chkpnt, christianbalz, ckn, cok666n, Dan Strohl, Daniel Owens, daniel-o, darodaro, davenaeder, dcherman, dmack, dmethvin, DSB, dstrohl, eccenux, epascarello, Eric Lee Carraway, euyuil, eXaminator, ezufelt, ezyang, Fahad Ahmad, feedbloo, Felix Nagel, fercsi, Francesc Baeta, G-rom, Gabriel Schulhof, gf3, ggkovacs, gibe, Giovanni Giacobbi, gnarf, Gruewo, Hannah Methvin, harpojaeger, HikingMike, igrunert, Jaegers, janom, Jasper de Groot, jazzyCamel, jclarke, jga8, jhfrench, Jiabao Wu, jnik, Johannes Schäfer, Jyoti Deka, Jörn Zaefferer, kbwood, kiechii, kiro, Konstantin Dinev, kzys, Leonardo Balter, Liran Sharir, Lisa Seacat DeLuca, llehmann, lucas.ams, Luke Page, m-berling, Macavelli, Maksim Ryzhikov, Mani Mishra, mar10w, Marco Ziech, Marcus Warren, Matt Brundage, mattbasta, mfazekas, Michael Lelli, Michael Orchard, michaelcm, Michał Gołębiowski, Mike Sherov, Mohammed Alshehri, mohs8421, monojp, mpetrovich, Mukul Hase, Myeongjin Lee, Nils Heuermann, orfc, Patricia Juarez, Patrick1701, Peter Dave Hello, Peter Kehl, petersendidit, pgpp05, Piotr Baran, piuccio, PutKettleOn, Rafael Xavier de Souza, ramijarrar, Rand Scullard, rden, rdworth, rjollos, rmacfadyen, romain-granai, Ryan Oriecuia, sandygettings, Scott González, sebfz1, sephii, shannonhochkins, shokkobon, Siebrand Mazeland, sp2, sparkybg, Spencer Davis, Spetnik, spjonez, Statocaster, stew, sup, tasso85, teh-botol, Thomas Applencourt, Thomas Meyer, Timo Tijhof, TJ VanToll, tristian2, urkle, Victor Homyakov, Ville Skyttä, Weston Ruter, WickedDevils, zerocrates.

The Road Ahead

In parallel to this release we’ve been working on several significant rewrites that will make it into future releases:

  • Datepicker and Globalize: We’re working on a full rewrite of the datepicker widget. The rewrite will feature a far simpler API that will make customizations a lot easier. The rewrite builds on top of the rewritten Globalize library, which builds on top of CLDR, a comprehensive source for globalization data.
  • Interactions: We’re working on a rewrite of our interactions like draggable, on top of pointer events, along with a polyfill to map mouse and touch events to pointer events. This will put the new interactions on an event model that works on all devices.

Comments

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 release for jQuery UI 1.12.1, feel free to leave a comment below. Thank you.