Plans for jQuery UI 1.14, dropping support for UI <1.12 in the Download Builder

Posted on by

jQuery UI has been in maintenance mode since 2021. We are prioritizing security issues & regressions from jQuery UI 1.12, with occasional fixes contributed by the community. That said, maintaining jQuery UI still takes a significant effort. This is caused by many moving pieces:

  • jQuery UI 1.13 supports jQuery 1.8 & newer. This means jQuery UI is currently tested against every major and minor jQuery release since jQuery 1.8, in all supported browsers, and in development versions of jQuery. This amounts to 18 test variants in total.
  • jQuery UI is tested against the latest two versions of Chrome, Firefox, Safari, Opera & Edge, Edge Legacy & IE 11.
  • The Download Builder supports jQuery UI 1.9 & newer – that’s 5 versions, the older of which was first released in 2012. Each of those versions has custom builder code that needs maintenance.
  • Most of the testing is only done post-commit; PRs have had limited testing so far.

The above issues, combined with the fact very few people work on jQuery UI in their limited time, result in delays—1 year and 9 months have passed between the 1.13.2 and 1.13.3 releases. If we want to continue supporting jQuery UI, we need to reduce some of this complexity.

We are planning the following changes to ease the maintenance effort:

  • Beginning in June, 2024, the Download Builder will only support jQuery UI 1.12 or newer. If you rely on built-in themes, you’ll still be able to download full builds of previous releases from the releases page after this date.
  • jQuery UI 1.14 will only be tested on the latest version of Chrome, Firefox, Safari & Edge. It will not support IE and Edge Legacy. Contrary to what was done in past releases, code supporting unsupported browsers will be deleted.
  • Only the latest jQuery version within each major version of jQuery Core will be supported. As of the publication date of this blog post, that would be jQuery 1.12.4, 2.2.4 & 3.7.1, plus two development versions: 3.x & 4.x.
  • All browsers supported by jQuery UI 1.14 will be tested on PRs via the same custom test runner as jQuery Core. This will help catch issues before problematic code gets merged. In fact, this change has already landed!
  • jQuery UI 1.14 will have the jQuery.uiBackCompat flag set to false. We are not planning new big compatibility breaks and this will help people discover accidental reliance on deprecated behaviors.
  • Support for jQuery UI 1.13 will end on the day jQuery UI 1.14.0 is released.

We understand these changes may be disrupting for some teams. However, we need to balance limited resources with still being able to address more important issues. We think the above plan is the best way to achieve this goal.

jQuery maintainers continue modernization initiative with deprecation of jQuery Mobile

Posted on by

By: Michał Gołębiowski-Owczarek, Felix Nagel, and the jQuery team

Editor’s Note: the following blog post was originally published to the OpenJS Foundation Blog.

jQuery maintainers are continuing to modernize its overall project that still is one of the most widely deployed JavaScript libraries today. The team announced that the cross-platform jQuery Mobile project under its umbrella will be fully deprecated as of October 7, 2021. New technologies for mobile app development have evolved since this project was launched in 2010, so we’re encouraging developers to plan for this jQuery Mobile transition.

Please note that:

  • The Download Builder will remain available.
  • Mobile 1.4 is not compatible with the latest jQuery Core.
  • Issues will be turned off. Please report critical security bugs via email to security@jquery.com. 

Celebrating jQuery Mobile’s History

jQuery Mobile was conceived and announced in 2010, three years after the launch of jQuery.  The project was exciting and ambitious. At announcement, jQuery Mobile promised compatibility across multiple platforms, browsers, and versions. Several mobile browser vendors, including Palm and Mozilla, signed on to sponsor the project: 


“The jQuery community has focused on making the Web as productive and fun as possible. When we heard the mission behind jQuery Mobile, we wanted to help. With webOS we have shown that the Web platform is fantastic for developers, so we are excited to help make jQuery Mobile as good as it can be.” -Dion Almaer – Palm

At the time, the mobile web was desperately in need of a framework capable of working across all browsers, allowing developers to build truly mobile web applications. jQuery had already changed the way developers were building on the web, making it easier (and faster) to create secure, compliant applications. 

With jQuery Mobile, the project’s goals were to bring the ease-of-use of jQuery to HTML-capable mobile device browsers and to make it easier for developers to build progressively enhanced web applications. Led by Todd Parker of Filament Group, a development studio known for their work on cross platform and accessibility-first applications, jQuery Mobile launched its alpha release in October 2010. 

Alpha features included several components, layouts and theming tools that simplified the process of building a mobile web application. Progressive enhancement and graceful degradation, which were hot (and tricky) topics in web development at the time, featured heavily: jQuery Mobile promised developers and users the best possible experience their platform could handle. Accessibility was another key feature, with Mobile promising a user experience that could be navigated by touch, keyboard, or screen reader via ARIA compatible components. Additional features such as simplicity, file size, and the ability to deploy jQuery Mobile applications through an app store drove further excitement. 

Over the next year, the jQuery Mobile team continued to add compatible platforms and browsers, new components and themes, and eventually a themeroller tool that allowed developers to configure and download themes without writing any CSS. 

The community response was overwhelming – by the time 1.0 was released in November 2011, jQuery Mobile had gathered over 125 contributors, dozens of articles, tutorials and demos, 8 published books, and a gallery of sites, plugins and extensions to welcome and introduce new developers to the project. 

jQuery Mobile continued to make monthly releases throughout 2012 and 2013, regularly adding and improving components, resolving compatibility issues with mobile browsers, and making performance improvements to speed up page rendering times. The development team also continued to prioritize and highlight the importance of responsive web design and accessibility principles with each new release. 

As the number of components and widgets swelled – both those that were officially supported or widely adopted in the community, performance and compatibility issues with mobile platforms, browsers, and jQuery core were also exacerbated. Though the project did have some automated tests, there were still a number of items that needed to be tested manually, which slowed down the development process. 

In mid 2013, Jasper de Groot became the project lead and announced tighter development collaboration between jQuery UI and jQuery Mobile teams, sharing goals, roadmaps and code in order to ease the workload for both groups. The team continued to provide maintenance releases and support, but progress continued to slow under the burden of testing and supporting such a large community. 

Alex Schmitz took over the lead in July 2014, but by that time the size of the project, combined with the pace and availability of new mobile browser features, made finding a viable path forward for the project increasingly difficult. 

The latest stable version was released October 2014. Alex and team made a big push to update jQuery Mobile again in 2017 with the release of an alpha version of 1.5; this version would see compatibility with jQuery 3.0 and npm support among other things.

jQuery Mobile became an OpenJS Foundation Emeritus project in 2018, signifying that the goals of the project had been achieved.

jQuery modernization initiative

The depreciation of jQuery mobile follows the careful transition of another project under the jQuery project umbrella, jQuery UI.

jQuery Core is still actively maintained and widely implemented. As part of its modernization initiative, the team also has been making a series of updates this year to its infrastructure, including migrating and improving its CDN.

Celebrating jQuery Mobile Maintainers and Contributors

The contributions to jQuery Mobile opened up opportunities for people and organizations around the world, and we are thankful for all the contributions over the years. We would like to give an extra shout out of gratitude to the past maintainers of jQuery Mobile: Alexander Schmitz, Jasper de Groot, and Todd Parker.

jQuery maintainers update and transition jQuery UI as part of overall modernization efforts

Posted on by

By: Michał Gołębiowski-Owczarek, Felix Nagel, and the jQuery team

Editor’s Note: the following blog post was originally published to the OpenJS Foundation Blog.

The jQuery project is actively maintained and widely implemented — it’s used by 73% of 10 million most popular websites. As part of its ongoing effort to modernize the project, jQuery maintainers have taken steps to wind down one of its projects under the jQuery umbrella through a careful transition. 

Today, jQuery UI announced version 1.13 — its first release in 5 years and the project’s final planned release[1]. Perhaps the most important update is that jQuery UI 1.13 now runs on the latest version of jQuery Core, providing a number of browser compatibility and security updates that have been missing from previous releases, in addition to community fixes and improvements. The jQuery UI Download Builder has also been restored and updated so developers can continue to download UI along with their favorite themes. The release is part of an ongoing series of updates across all jQuery projects.

jQuery UI is in maintenance-only mode. Users should not expect any new releases, though patches may be issued to resolve critical security, interoperability, or regression bugs. Trac, the project’s bug-tracking tool, has been put in read-only mode and developers are asked to file any critical issues on the project’s GitHub repository

jQuery UI was first launched in September 2007 as a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery library. It quickly gained popularity because it was one of the best tested and most accessible UI frameworks of its time. The tool helped developers build UI components such as form controls and date pickers using the best practices back then. In its heyday, jQuery UI was adopted by a broad set of enterprises including Pinterest, PayPal, IMDB, Huffington Post, and Netflix. 

Today, jQuery UI continues to be an important testbed for jQuery Core updates, helping the maintainer team spot bugs and interoperability issues that arise as the web platform evolves. 

Celebrating jQuery UI’s History

With the launch of jQuery in 2006, web developers were able to access and manipulate DOM and CSS faster and easier than ever before. Thousands of open source jQuery widgets and plugins were created to handle previously tricky problems, like showing and hiding elements, rotating through image carousels, or picking dates on a calendar. The jQuery ecosystem became a playground full of tools for making new and interesting interactions possible on the web. 

‘New and interesting’ doesn’t always translate to ‘good and useful’ — though there were many good plugins available, it was not always easy to tell which would be the most performant or provide the best user experience. Developers might have to go searching for the right tools or worse, spend significant time swapping through several plugins to figure out which one worked best. Further, there were few examples of best practices in user experience on the web, so visitors to one website could have vastly different (and thus confusing) interactions when they performed a similar task on another website. 

Members of the jQuery Core team wanted to help developers write performant, high-quality, and reusable jQuery components for their sites and applications. After some discussion, the idea for a second library with strict standards for coding, documentation, and theming was born. The project’s vision and goals included: developing a collaborative design process; providing flexible styling and themes; creating elegant visual and interaction design; providing a robust API; and prioritizing progressive enhancement, accessibility, internationalization and localization support.

In September 2007, jQuery UI officially launched as a set of user interface interactions, effects, widgets, and themes built on top of jQuery. Soon after, the team shifted their focus to provide a full set of APIs and methods to allow developers to create flexible, full-featured widgets that met high standards of quality. CSS effects such as easing and animation were added in and helped developers create more modern, enhanced experiences. The team at Filament Group later added a ThemeRoller, allowing developers to get started quickly by providing customizable theme boilerplate. ThemeRoller is still operational today.  

By the end of 2008, jQuery UI had an exploding community of users, developers, and interaction designers regularly providing updates and improvements to the project as best practices and style preferences evolved. Between 2009 and 2016, the community provided a variety of new official and unofficial themes and plugins, interoperability and other bug fixes, robust testing processes, and support for multiple versions of jQuery. 

jQuery UI’s prior official release came in September 2016, nearly a decade after it started. In that timeframe, the jQuery community had helped inspire dozens of other open source projects, pattern and component libraries. But newer CSS frameworks and approaches were taking hold, and slowly the community moved on to other projects. The UI team and jQuery Mobile teams merged, and the group focused more on maintenance and compatibility with jQuery Core.  

jQuery UI became an OpenJS Foundation Emeritus project in 2018, recognizing that it was winding down while noting the significance it had for the JavaScript ecosystem.

Celebrating jQuery UI Maintainers and Contributors

The scope of the project and the inclusiveness of the community was responsible for helping countless web makers develop a love and appreciation for user experience, localization, internationalization, accessibility, and clean, reusable code. Though many hours of work and contribution went into making jQuery UI a successful library, the jQuery UI core team deserves extra recognition for more than a decade of hard work shepherding the work and the community throughout the project’s lifecycle. Alex Schmitz, Jörn Zaefferer, Felix Nagel, Mike Sherov, Rafael Xavier de Souza, and Scott González led a team of many core contributors and more than 300 additional authors.

Additional gratitude is owed to Michał Gołębiowski-Owczarek for preparing the 1.13 release and stewarding the repository for the past year. 

OpenJS Foundation will forever be grateful for the work of these open source developers and the impact they had on the ecosystem through their work. Please join us in celebrating these developers and jQuery UI!

References

1. jQuery UI 1.13 will not be the final release in the end, see the new plans in the blog post Plans for jQuery UI 1.14, dropping support for UI <1.12 in the Download Builder.

The Future of jQuery UI and jQuery Mobile

Posted on by

The last few years have been difficult for the jQuery UI and jQuery Mobile projects. The projects have suffered from lack of resources and funding and loss of contributors due to a variety of factors. These combined factors have nearly stopped development on both projects. To remedy this situation we have decided to make some changes in the projects’ teams in addition to how they work.

Scott Gonzalez has lead the jQuery UI project for many years now and has helped to improve the quality tremendously. He has decided to step down from leading the project though he will still be helping in various ways. In an attempt to best utilize resources we have decided to combine the 2 teams into a single team under the leadership of Alex Schmitz, a long time jQuery UI contributor as well as the lead for jQuery Mobile. What this means is that the combined contributors will be able to serve the projects better, since both projects are very tightly coupled as jQuery Mobile depends upon jQuery UI. This does not mean that the two projects will become a single project. Both projects will continue to exist in their own repositories. However, we do hope to continue reducing the amount of duplicated code and widgets in the projects moving anything common to jQuery UI. Eventually, making jQuery Mobile more of an app framework with all the widgets living in jQuery UI.

In the past, when someone wanted to join the jQuery UI or jQuery Mobile teams we expected them to contribute to the library as a whole. We think going forward this needs to change; we will now be looking for and accepting people that are just interested in maintaining a single piece of the library, requiring a much smaller time contribution. So, if someone is just interested in working on sortable they could just lead the sortable widget without having to contribute to any other parts of the two libraries. This will not only allow for more focused and less time consuming contribution but also allow better specialization within our team.

In the past we have done all communication through IRC. Over time however, we have seen a large decrease in the number of people on IRC while other projects have had great results with easier to use tools like Slack. As a result, we will be switching to Slack for daily communication and meetings. We hope that this will ease contributions and interactions with potential new team members. Anyone can join the new Slack channel by navigating to http://bit.ly/2Btf6pu (Update: jQuery Chat).

In conclusion, we are currently very interested in attracting new team members to the combined jQuery UI and jQuery Mobile team. Anyone who is interested can feel free to reach out to Alex Schmitz, the new team lead for both projects, join our slack channel or even find us on IRC (we are still there). jQuery UI and jQuery Mobile rely on contributions from the community and can only continue to exist with your help!

The jQuery Project is Proud to Announce the jQuery Mobile Project

Posted on by

Mobile web development is an emerging hot topic in the web development community. As such, the jQuery Team has been hard at work on determining the strategy and direction that the jQuery Project will take. Today, we are proud to announce the jQuery Mobile Project. We’ve launched a new site at jquerymobile.com that publicly outlines our strategy, research and UI designs.

As always, we want to hear from you.  We’ve created a new Mobile jQuery forum to collect feedback from the community.  Please feel free to join in on the discussion and read more in the announcement.

productivity.appendTo( jQuery.ui )

Posted on by

Like most open source projects, jQuery UI is maintained by a team of developers volunteering their spare time to the project. While we’ve been very productive at times, occasionally the team gets busy and productivity slows, sometimes almost to a halt. With new plugins to design and build, old plugins to maintain, and a growing community to support, the need for a more stable development pace has become increasingly more important. Today we’re happy to announce that you can expect greatly increased productivity starting immediately.

Scott González, the lead developer for jQuery UI, has accepted a position at appendTo, a worldwide provider of consulting, training and support for jQuery and jQuery UI. Earlier this month, Scott started his new job where he will be spending half of his time working on jQuery UI under a 1,000 hour contract between appendTo and the jQuery Project. It’s important to mention that what Scott works on will be determined solely by the jQuery UI team, not by appendTo or appendTo’s clients.

So what has Scott been working on? He’s currently going through every open ticket in the bug tracker (which was up to 800 at the beginning of the month). So far he’s made his way through the tickets for accordion and autocomplete. Combined, these two plugins had 83 open tickets when he started this triage. Now accordion has 8 open tickets (three of which are feature requests) and autocomplete has no remaining tickets. Scott has also made a lot of progress working through the fork queue on GitHub.

Having dedicated time to work on jQuery UI has additional benefits as well. By increasing Scott’s availability, other members of the team can be more productive with their volunteered time. Scott is also able to review pull requests and answer questions on the Developing jQuery UI forum in a much more reasonable timeframe. This is something that we’ve struggled with for a long time.

Stay tuned for more updates.

jQuery UI talks at the Bay Area jQuery Conference

Posted on by

Next weekend is the San Francisco Bay Area jQuery Conference that will be held at the Microsoft Silicon Valley Campus Conference Center in Mountain View, California.  There are still a few tickets remaining and tickets can be purchased up until Sunday April 18th.

In addition to the great talks that will be given on jQuery core there are quite a few talks about jQuery UI.  Here are the details on those talks:

jQuery UI Fundamentals

Richard D. WorthRichard D. Worth
Saturday 4:30p.m., Room 2

Widgets done richly. These tools work the way jQuery does, helping you build a rich user interface with ease.

jQuery UI, built on top of jQuery, is a complete set of interactions and widgets for building Rich Internet Applications. A few examples include drag-and-drop, resizing, mouse-sorting, mouse-selecting, autocomplete, button, datepicker, dialog, progressbar, slider, and tabs.

Each component adheres to a consistent standard across API, design, behavior and theming. This minimizes the surprise and makes learning all of them as easy as learning one.

This talk covers how jQuery UI is designed and how it leverages the power, flexibility, and expressiveness of the jQuery API. A live demonstration shows you how to use some of the more common jQuery UI interactions and widgets.

As an intro, this talk will be a great base for later jQuery UI talks that deal with creating or extending jQuery UI widgets and jQuery UI theming.

jQuery UI Widget Factory

Adam J. SontagAdam J. Sontag
Sunday 11a.m., Room 2

Charlie and the Widget Factory

All the delicious widgets in jQuery UI are have a sweet, creamy center: The jQuery UI Widget Factory. By encapsulating a useful infrastructure for creating complex jQuery plugins into a base class, the widget factory can be your golden ticket to creating complex (or not-that-complex), reusable components for your web app/site.

We’ll begin by exploring some common approaches to developing jQuery plugins, highlighting the strengths and weaknesses of various patterns, and identifying the shared characteristics involved in setting up robust, stateful widgets. Then, I’ll reveal the awesome secret that’s at the heart of the whole presentation: The authors of jQuery UI have already done just that, and their work is your gain. Armed with that tasty morsel, we’ll conceive, gestate, and give birth to a widget in almost no time flat.

By the time our tour concludes, you’ll have an understanding of when the widget factory is an appropriate solution to your problem, its potential drawbacks, and how to use it to create plugins that are lean, limber, and logical. If, of course, you are wise and listen to me, like the Oompa Loompa Doompety Dee.

Inside ThemeRoller 2.0: Refactoring for Speed

Doug NeinerDoug Neiner
Sunday 1:15p.m., Room 1

Doug has been working on the new version of ThemeRoller for the jQuery UI site. In his talk, Doug aims to give you a peak of the code and show off some of the speed improvements that are being made. The new version of ThemeRoller is being built on top of the latest technologies like Canvas and HTML5. You will see how you can use client side technologies to reduce server load and maximize the speed of your app.

Advanced Uses of jQuery UI

Scott GonzálezScott González
Sunday 2:45p.m., Room 1

jQuery UI provides a suite of plugins that can be used to build Rich Internet Applications. However, just like jQuery, it can’t do everything you need right out of the box. In this session we’ll cover how to extend jQuery UI plugins and how to build new plugins on top of what jQuery UI provides.

Jumping into the jQuery Community

Ralph WhitbeckRalph Whitbeck
Sunday 3:30p.m., Room 2

Are you looking to get more involved with the jQuery project but don’t know what you can do to help? Do you want to make a difference and be recognized for your contributions to jQuery? Even if you don’t have the JavaScript chops to add dazzling new features to the jQuery core, there are still plenty of direct ways for you to contribute back to the community.

In this talk, we’ll explore various options available to both designers and developers for contributing back to the jQuery Community. We’ll discuss ways to have a big impact on a great number of people—from offering help on the forum to sharing plugins to writing tutorials. And we’ll look at the proper procedures for reporting bugs and submitting patches.

This talk is meant for anyone who is interested in jQuery, from the very beginner to the more advanced user who is looking to get more involved.

jQuery UI 1.8rc1

Posted on by

The first release candidate for jQuery UI 1.8 is out and is live on http://jqueryui.com/demos/. You can download it here:

Download

File Downloads

Svn

Changelog

See the 1.8rc1 Changelog for full details on what’s included in this release.
Barring any catastrophic problems this code will become jQuery UI 1.8.

How to report issues

If you find any issues in this release, please do not put them in comments on this post, but instead head over to the Developing jQuery UI Forum. Thank you.

Thanks

A big thanks to all that have worked on all the bug fixes and other improvements that have gone into this release.