Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Core: Prepare for Migrate 4.0.0 #555

Merged
merged 6 commits into from
Feb 17, 2025
Merged

Core: Prepare for Migrate 4.0.0 #555

merged 6 commits into from
Feb 17, 2025

Conversation

mgol
Copy link
Member

@mgol mgol commented Nov 8, 2024

Changes

1. Core: Remove support for jQuery 3.x

2. Core: Remove patches for breaking changes in jQuery 3.0.0 or older

The self-closed-tags patch remains, despite being a breaking change in jQuery
3.5.0, not 4.0.0. There are a few reasons for that:

  1. It's an exception that a breaking change arrived in a non-major version bump.
    Some people may be upgrading from jQuery 3.4.0 or older and it's good to
    make it work for them.
  2. The patch is disabled by default, so the concern of people on newer jQuery
    3.x upgrading to jQuery 4.x with Migrate 4.x getting patches restoring
    behavior from an version older than the pre-upgrade one does not exist.
  3. This was a pretty big break, it may help people update if we still support
    it.

3. Core: Don't reimplement deprecated but not removed APIs

This will save space and avoid potential divergence from Core.

Also, simplify the deferred.pipe patch.

4. Core: Use console.info for deprecations without removals.

Also:

  1. Group warnings.md by this type.
  2. Rename jQuery.migrateWarnings to jQuery.migrateMessages.
  3. Rename jQuery.migrateDeduplicateWarnings to
    jQuery.migrateDeduplicateMessages.
  4. Adding "info" versions of some internal APIs.

Fixes gh-472

mgol added 6 commits February 2, 2025 13:43
The `self-closed-tags` patch remains, despite being a breaking change in jQuery
3.5.0, not 4.0.0. There are a few reasons for that:
1. It's an exception that a breaking change arrived in a non-major version bump.
   Some people may be upgrading from jQuery 3.4.0 or older and it's good to
   make it work for them.
2. The patch is disabled by default, so the concern of people on newer jQuery
   3.x upgrading to jQuery 4.x with Migrate 4.x getting patches restoring
   behavior from an version older than the pre-upgrade one does not exist.
3. This was a pretty big break, it may help people update if we still support
   it.
This will save space and avoid potential divergence from Core.

Also, simplify the `deferred.pipe` patch.
Also:
1. Group `warnings.md` by this type.
2. Rename `jQuery.migrateWarnings` to `jQuery.migrateMessages`.
3. Rename `jQuery.migrateDeduplicateWarnings` to
   `jQuery.migrateDeduplicateMessages`.
4. Adding "info" versions of some internal APIs.

Fixes jquerygh-472
Indicate this version of Migrate helps with updating jQuery to 4.x, not 3.0+.
Also, remove info about poor console support in IE 9; this version of Migrate
doesn't support it anyway.
@mgol mgol force-pushed the 4.x-stable-proposal branch from d6250ec to ffcdf7f Compare February 2, 2025 12:43
@timmywil timmywil removed the Discuss in Meeting Reserved for Issues and PRs that anyone would like to discuss in the weekly meeting. label Feb 17, 2025
@mgol mgol merged commit b9d7458 into jquery:main Feb 17, 2025
9 checks passed
@mgol mgol deleted the 4.x-stable-proposal branch February 17, 2025 23:46
@mgol mgol removed the Needs review label Feb 17, 2025
mgol added a commit that referenced this pull request Feb 18, 2025
Changes:

* Core: Remove support for jQuery 4.x

* Core: Don't reimplement deprecated but not removed APIs

    This will save space and avoid potential divergence from Core.

    To minimize risk, this only handles APIs still present in jQuery 4.x.

* Attributes: Update warnings.md to not mention jQuery 4.0

* Build: Rename more `main`s to `3.x-stable`s

* Event: Reimplement APIs deprecated in jQuery 3.0/3.1

    This fixes tests with 3.0/3.1 slim builds.

* Tests: Test on jQuery 3.1.1.slim in non-BrowserStack browser tests

    jQuery <3.2.0 doesn't include the deprecated module in the slim build so it
makes sense to test on one of these versions in slim mode even on PRs.

* Build: Stop testing on iOS 10

    As of January 2025, iOS 10 is a tier 4 device on BrowserStack:
    https://www.browserstack.com/device-tiers
    That leads to devices with this iOS version often not being available and
    failing our tests. Remove it from the test matrix. Also, add comments explaining
    the status of tests on various iOS versions, including iOS 7 that we stopped
    testing on a long time ago.

* Build: Update a vulnerable dependency

* Core: Update the package.json description

    Indicate this version of Migrate helps with updating jQuery to 3.x, not 3.0+.

* Docs: Link to jQuery Browser Support page in README.md

Closes gh-554
Ref gh-555
Ref jquery/jquery#5606
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Differentiate between compatibility patches and pure warnings
2 participants