Giter Site home page Giter Site logo

Comments (2)

mgol avatar mgol commented on June 2, 2024 54

Summary of the major 4.0.0 changes

Each list is sorted by modules alphabetically, with the exception of Core which always comes first.

Breaking changes

  • Core: Move the factory to separate exports
    • 46f6e3d
    • This is about the Node.js behavior for windowless environments where require( "jquery" )( window ) is required
  • Core: Remove deprecated jQuery APIs
    • 58f0c00
    • jQuery.isArray, jQuery.parseJSON, jQuery.nodeName, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.cssProps
    • Also:
  • Core: Drop support for IE <11, iOS <11, Firefox <65, Android Browser & PhantomJS
    • cf84696
    • Also:
      • Core: Drop support for Edge Legacy (i.e. non-Chromium Microsoft Edge)
  • Core: Remove private copies of push, sort & splice from the jQuery prototype
  • Core: Exclude callbacks & deferred modules in the slim build as well
    • fbc44f5
    • Also:
      • Build: Reduce the slim build header comment & jQuery.fn.jquery
      • Build: Explicitly exclude the queue module from the slim build
  • Core: Drop the root parameter of jQuery.fn.init (undocumented)
  • Ajax: Drop the json to jsonp auto-promotion logic
  • Ajax: Avoid CSP errors in the script transport for async requests
    • 07a8e4a
    • Make more requests use the <script src> part of the script transport
  • Ajax: Don't auto-execute scripts unless dataType provided
    • 025da4d
    • PR gh-2588 made jQuery stop auto-execute cross-domain scripts unless dataType: "script" was explicitly provided; this change landed in jQuery 3.0.0. This change extends that logic to same-domain scripts as well.
  • Attributes: Drop the toggleClass(boolean|undefined) signature
  • CSS: Don't automatically add "px" to properties with a few exceptions
  • CSS: Remove the opacity CSS hook
    • 865469f
    • The consequence is .css( "opacity" ) will now return an empty string for detached elements in standard-compliant browsers and "1" in IE & the legacy Edge. That behavior is shared by most other CSS properties which we're not normalizing either.
  • Data: Separate data & css/effects camelCase implementations
    • 8fae212
    • The data one no longer special-cases ms-
  • Data:Event:Manipulation: Prevent collisions with Object.prototype
    • 9d76c0b
    • Breaks code using hasOwnProperty
  • Deferred: Drop jQuery.Deferred.getStackHook (renamed since 3.7.0 to jQuery.Deferred.getErrorHook)
    • 258ca1e
    • Used to pass the original error to jQuery.Deferred.exceptionHook (previously we recommended passing stack but that breaks source maps)
  • Event: Stop shimming focusin & focusout events
  • Event: Avoid collisions between jQuery.event.special & Object.prototype
    • bcaeb00
    • Affects code calling hasOwnProperty on jQuery.event.special
  • Manipulation: Avoid concatenating strings in buildFragment
    • 9c98e4e
    • Needed for Trusted Types support - the breaking aspect of it is likely minimal
  • Manipulation: Don't remove CDATA sections from scripts
  • Selector: Drop support for legacy pseudos
  • Selector: Backport jQuery selection context logic to selector-native

Other notable changes

  • Core: Remove IE-specific support tests, rely on document.documentMode
  • Core: Migrate from AMD to ES modules 🎉
  • Core: Add exports to package.json, export slim & esm builds
  • Core:Manipulation: Add basic TrustedHTML support
  • Ajax: Support binary data (including FormData)
    • a7ed9a7
    • Possible minor breaking change: prefilters are now applied before data is converted to a string
  • Deferred: Respect source maps in jQuery.Deferred.exceptionHook
    • 0b9c503
    • Affects errors in Promise callbacks for which jQuery print errors as they are typically human error rather than an exception to handle in code
  • Selector: reduce size, simplify setDocument

from jquery.

mgol avatar mgol commented on June 2, 2024 1

Moving this to the jQuery repo for easier commit/PR/issue references.

from jquery.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.