You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upgrade from woefully outdated jQuery version (#2022)
## Changes
<!-- List the changes this PR makes. -->
- fix#2004
## Context
<!-- Explain why you're making these changes. -->
jQuery has not been meaningfully updated in over a decade. The previous
version in use , **jQuery 1.7.1 (released in 2011)** , predates
widespread support for modern JavaScript APIs. It was last updated in
this project around 2013, and since then, no further upgrades were made
despite **over 50 releases** and critical improvements in the jQuery
ecosystem.
This long-standing neglect created growing technical debt:
- Increasing incompatibility with modern development tools
- Accumulation of deprecated patterns (`.bind()`, `.click()`)
- Potential security and performance concerns
- Poor developer experience when debugging or extending JS
While the site continued to function thanks to jQuery Migrate and
browser backward compatibility, this was **not sustainable maintenance**
.
---
## Why Upgrade Now?
We are modernizing the JavaScript foundation to:
- [x] **Improve compatibility** with current and future browser
standards
- [x] **Leverage bug fixes and performance improvements** from jQuery
3.x
- [x] **Enable use of modern jQuery features** (e.g. improved `.on()`,
better event delegation)
- [x] **Support upcoming enhancements** that depend on reliable,
up-to-date tooling
- [x] **Remove reliance on deprecated APIs** that hinder maintainability
- [x] **Align with security best practices** by using actively supported
versions
jQuery 3.x dropped support for legacy browsers (IE 6–8), which we no
longer need to support. This allows us to benefit from a leaner, faster,
and more predictable codebase.
---
## Migration Strategy
This upgrade was done incrementally to ensure stability:
1. **Added jQuery Migrate 1.2.1** to detect deprecations
2. **Refactored legacy event bindings** (`.click()` → `.on()`, `.bind()`
→ `.on()`)
3. **Upgraded to jQuery 3.7.1 + jQuery UI 1.14.1** with modern Migrate
4. **Verified functionality** across all interactive components
5. **Removed Migrate** after confirming no deprecation warnings
6. **Cleaned up outdated asset comments** in `application.js`
All changes preserve existing behavior. The result is a safer, more
maintainable JavaScript foundation.
----
This work closes a long-overdue maintenance gap and sets the stage for
more confident, modern front-end development.
0 commit comments