Skip to content

Releases: QwikDev/partytown

v0.14.3

Choose a tag to compare

@github-actions github-actions released this 25 Aug 16:02
7a595ee

Patch Changes

  • 🐞🩹 large non-blocking DOM operation batches now yield the main thread every ~40ms, keeping tasks under the 50ms long-task threshold and reducing reported TBT (by @gioboa in #756)

  • ✨ automatically execute partytown scripts added to the page after initialization, e.g. on client-side route transitions, without needing to dispatch a ptupdate event (by @gioboa in #746)

  • ✨ GTM's Tag Assistant preview now connects to pages running GTM inside Partytown: scripts the worker can't read (no CORS headers, like the debug bootstrap) fall back to the main thread, the container's debug queue is bridged during gtm_debug sessions, and window.opener / message event.source work from the worker (by @gioboa in #753)

  • ✨ CSP Trusted Types support: Partytown now works on pages enforcing require-trusted-types-for 'script' — add partytown to the trusted-types directive to allow its policy (by @gioboa in #754)

  • 🐞🩹 load cross-origin iframes natively when their content can't be fetched, so widgets like the reCAPTCHA badge work instead of crashing with a NetworkError (by @gioboa in #749)

  • 🐞🩹 partytown scripts added after the main thread fallback ran, e.g. gtm.js injected by the GTM snippet, now fall back too — previously they were silently dropped in webviews without service worker support (by @gioboa in #751)

  • 🐞🩹 ship partytown-sandbox-sw.html as a real library file, so requests that bypass the service worker (crawlers, private browsing, encoded urls) get a 200 instead of a 404 (by @gioboa in #750)

  • 🐞🩹 methods called unbound by scripts (e.g. var f = win.fn; f()) no longer crash the worker proxy, fixing Google Publisher Tag ad serving (by @gioboa in #755)

v0.14.2

Choose a tag to compare

@github-actions github-actions released this 24 Aug 21:14
fbf365f

Patch Changes

  • 🧹 remove the unused dotenv dependency, the package has zero runtime dependencies again (by @gioboa in #742)

  • fallbackTimeout: 0 disables the main thread fallback entirely (by @gioboa in #741)

  • 🐞🩹 don't throw when the snippet runs in an iframe with a cross-origin top, run Partytown in the iframe itself instead (by @gioboa in #735)

  • 🐞🩹 support document.createRange().createContextualFragment() and document.fonts (load/check/ready) in the worker (by @gioboa in #731)

  • 🐞🩹 the main thread fallback now loads external scripts through their src, previously only inline content was copied (by @gioboa in #739)

  • 🐞🩹 keep forwarded globals (e.g. dataLayer) local to the worker instead of sync-proxying them to the main thread, forward items already pushed before Partytown loads, and stop dropping forwarded events when the worker global doesn't exist yet (by @gioboa in #721)

  • 🐞🩹 don't crash initialization when a Proxy global (e.g. vinxi's MANIFEST) returns unclonable objects during the window snapshot (by @gioboa in #737)

  • 🐞🩹 run navigator.sendBeacon and iframe contentWindow.fetch urls through resolveUrl, so analytics requests like GA4's /g/collect can be proxied (by @gioboa in #740)

  • 🐞🩹 allocate the atomics SharedArrayBuffer small and grow it on demand instead of eagerly reserving 1GB, which newer Chrome versions can refuse (by @gioboa in #729)

  • 🐞🩹 add a noindex robots meta to the sandbox html so crawlers stop reporting 404s for it in Search Console (by @gioboa in #738)

  • 🐞🩹 stop rewriting this inside string literals, template literal text and comments when preparing scripts for the worker (by @gioboa in #730)

  • 🐞🩹 serialize underscore-prefixed object members for the worker (e.g. wp.i18n.__), excluding only partytown internals (by @gioboa in #736)

  • 🐞🩹 only treat digit property names as window frame indexes, so globals like Infinity resolve correctly in the worker (by @gioboa in #732)

v0.14.1

Choose a tag to compare

@github-actions github-actions released this 24 Aug 15:35
cb0ebe4

Patch Changes

  • 🐞🩹 don't throw when a script assigns an invalid value to a.href, e.g. http:// (by @gioboa in #725)

  • 🐞🩹 allow resolveUrl to return a Readonly<URL> (by @gioboa in #726)

  • 🐞🩹 match <script> tags case-insensitively when rewriting iframe srcdoc HTML, so <SCRIPT> variants can't bypass the rewrite (by @gioboa in #724)

  • 🐞🩹 wrap the snippet in an IIFE so top-level helpers no longer leak t, e, n into the page's global scope and break other classic scripts (by @gioboa in #727)

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 22 May 10:05
464aa70

Minor Changes

  • ✨ add logForwardedEvents config flag to enable debug logging for forwarded events and triggers (by @mws19901118 in #704)

Patch Changes

  • 🐞🩹 initialise ErrorObject to Error instead of null to prevent instanceof crash (by @gioboa in #714)

v0.13.2

Choose a tag to compare

@github-actions github-actions released this 02 Apr 04:00
828cd0e

Patch Changes

  • 🐞🩹 update repository metadata to QwikDev/partytown and bump Node to 24.x for OIDC trusted publishing (by @thejackshelton in 1b34fe1)

v0.11.2

Choose a tag to compare

@github-actions github-actions released this 16 Jul 08:15
979e705

Patch Changes

  • ✨ Implement full attribute methods for HTMLImageElement (by @mws19901118 in #681)

    Implemented complete attribute handling for HTMLImageElement class including getAttribute(), setAttribute(), hasAttribute(), removeAttribute(), and toggleAttribute() methods. Added attributes Map to store element attributes and enhanced setAttribute() to properly handle src attribute. Includes comprehensive unit tests covering all attribute methods.

v0.11.1

Choose a tag to compare

@github-actions github-actions released this 20 May 09:11
6c9831e

Patch Changes

  • Add adoptedStyleSheets.get() to patched document in worker. (by @leeroybrun in #674)

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 19 Dec 23:58
50d4cc1

Minor Changes

  • Bunch of fixes and a new release system.. (by @shairez in #652)

    Here's a list of the changes:

    FEATURES

    • add config fallback timeout (#620)

    FIXES

    • Same-origin iframe set/get cookie/localStorage bug (#600)
    • make sure unknown is mapped to HTMLUnknownElement cstr (#606)

    DOCS

    • making install commands consistent (#638)
    • Add example reverse proxy handler for Facebook Pixel (#648)
    • add integration module for Magento 2 (#594)
    • add clarification that the worker strategy is not supported with app directory (#625)
    • use dummy web property ID (#621)
    • revert recent incorrect change to SvelteKit destination (#622)

v0.10.2

Choose a tag to compare

@gioboa gioboa released this 27 Apr 12:46
  • chore: change pnpm version (#589) 97fce9a
  • fix: add fallback error if window.top returns undefined (#586) 1afc6e2
  • docs: update remix guide (#584) 50afa99
  • docs: Copy window example from SvelteKit implementation docs (#578) 710ea8d

v0.10.1...v0.10.2

v0.10.1

Choose a tag to compare

@gioboa gioboa released this 24 Mar 12:28
  • test: multiple page tests for #492 (#493) 4a48810
  • fix: service worker communicates with the latest client only (#573) 81b2f0d
  • fix: update worker-script innerHTML implementation (#572) d72574b
  • docs(SvelteKit): fix Google Tag Manager example (#570) 0258d26
  • docs: add new PartytownConfig props (#565) 67b2829

v0.10.0...v0.10.1