Skip to content

v4.0.0

Choose a tag to compare

@elusivecodes elusivecodes released this 21 Aug 12:30
· 208 commits to main since this release

Major release modernizing fQuery's supported environments, test and release pipeline, and hardening DOM, animation, AJAX, event, queue, and sanitization behavior.

Breaking Changes

  • Updated supported Node.js versions to ^20.19.0, ^22.13.0, or >=24.
  • Updated @fr0st/core from version 2 to version 3; the _-prefixed FrostCore utilities now follow the version 3 API and behavior.
  • Changed $.clearQueue(selector) to clear only the default queue. Pass { queueName: null } to clear every named queue.

Fixed

  • Made the package safe to import in Node before registering a DOM implementation, and consistently sourced browser constructors and globals from the configured window.
  • Preserved pre-existing inline styles across built-in animation effects and prevented callback errors from stalling the animation scheduler.
  • Isolated named queues so completion, rejection, or clearing one queue no longer removes other queues on the same element.
  • Corrected AJAX handling for HTTP errors, timeouts, FormData, lowercase methods, falsy payloads, and safely encoded query parameters.
  • Corrected cookie lookup and encoding, document readiness, event cloning and dispatch, position and constraint calculations, text-node selections, escaped traversal selectors, cross-realm collections, and debounce recovery after callback errors.
  • Hardened HTML sanitization with exact string attribute matching and removal of javascript: URLs from URI attributes.

Improved

  • Migrated the browser suite from Mocha and Puppeteer to Playwright across Chromium, Firefox, and WebKit, with deterministic animation clocks and batched assertions.
  • Added CI coverage for supported Node.js versions, focused-test protection, generated-bundle verification, package-content validation, and provenance-enabled npm publishing.
  • Consolidated project documentation into the README and aligned JSDoc types and @returns conventions with current Frost projects.
  • Removed circular source dependencies, retained optimized traversal parsing paths, and aligned static and QuerySet helper signatures.
  • Refreshed package metadata, explicit exports, dependency versions, distribution bundles, and source maps.