Latest Releases

These releases come straight from our repositories. Latest releases may not be published yet.

swissup / argento-hyva

1.3.5 Jul

swissup / theme-frontend-argentohyva-chic

1.3.5 Jul

swissup / module-seo-urls

1.5.55 Jul

swissup / pagespeed

1.18.0 Jul
  • 1.18.0

    Report (rev.1)

    Package was generated and uploaded to GitHub on with the following dependencies:

    swissup/module-pagespeed:1.18.0

    swissup/module-core:1.12.27

    swissup/module-image-optimizer:1.0.12

    Changelog (autogenerated)

    swissup/module-pagespeed — 1.18.0 (was 1.17.7)
    • Version 1.18.0 75bd79

    • test: add attribute metadata for PHPUnit 12 discovery

      PHPUnit 12 dropped doc-comment metadata: @dataProvider providers were
      not applied and @test snake_case methods were not discovered. Add
      #[DataProvider]/#[Test] attributes while keeping the annotations so
      the suite still runs on PHPUnit 9.6 (CI) and 10.5 (local), which
      ignore unknown attribute classes.

      Also accept the unused third data-set argument in testGetFilename —
      PHPUnit 12 warns when a provider passes more arguments than the test
      method accepts.

      Verified: PHPUnit 12.5.31 exit 0 (631 tests), PHPUnit 10.5.47 OK.

      Refs #92 5b20fe

    • feat!: remove Expire Header feature

      BREAKING CHANGE: Body\Expire optimizer, `pagespeed/expire/*` config
      and its admin section are removed.

      The feature set `Cache-Control: public, max-age=31536000` on document
      HTML for guest pages. Browsers and hosting-side proxies (invisible to
      the Varnish config check) cache such pages beyond any server-side
      flush, so merchants could not push content/price updates to returning
      visitors for up to a year. No PageSpeed/CWV benefit to offset that.
      Orphaned core_config_data rows are harmless.

      Closes #91 f659e6

    • chore: ignore phpunit cache and playwright artifacts be8bda

    • test: drop APIs removed in PHPUnit 12 from Test/Unit

      - replace getMockBuilder('stdClass')->addMethods() with createMock()
      of real classes (Store, Minify_HTML, HeaderInterface)
      - validate optimizers before logger init in Pipeline so expected
      InvalidArgumentException surfaces even without logger classes
      - register module-logger, module-image, mrclay/minify in tests
      bootstrap autoloader (absent from standalone test autoload)

      Refs #92 5393a1

    • fix(preload): prevent double download of scripts already in DOM

      DeferJs: remove addPreloadLinks() entirely — every external <script src>
      stayed live in the DOM while also getting a <link rel=prefetch> hint,
      causing the browser to fetch the file twice (confirmed: CookiePal,
      Elfsight, requirejs-config-breeze on mobile).

      - Remove Preload dependency, preload property, addPreloadLinks() method
      and all 4 call-sites from DeferJs
      - Remove script src collection in prepareElement()

      AddLinkPreload: add defensive liveScriptSrcs guard — skip any script
      href that already exists as a <script src> tag in the DOM, regardless
      of how it ended up in the Preload singleton.

      Tests: remove preloaderMock from DeferJsTest + DeferJsRegressionTest;
      add testScriptsAlreadyInDomAreNotPrefetched and
      testScriptsNotInDomCanGetPrefetchHint to AddLinkPreloadTest.

      Fixes #95 4b539f

    • fix(preload): per-type rel/fetchpriority; honor isEnabled config

      - Replace global priority counter with per-type counters
      - ALWAYS_PRELOAD_TYPES: font/style/image always rel=preload; scripts=prefetch
      - FETCHPRIORITY_LIMIT_BY_TYPE: null=unlimited (fonts), 2 styles, 1 image (LCP), 0 scripts
      - Fix isEnabled() hardcoded true -> config->isLinkPreloadEnabled()
      - Use array_key_exists to correctly handle null sentinel vs missing key (null??0 bug)
      - Add tests: image=preload, scripts=prefetch, per-type fetchpriority limits, isEnabled toggle

      Fixes #93 #94 84b155

    • feat: add dedicated cache type to isolate optimizer entries from block_html

      - Add Model/Cache/Type.php: new Magento cache type (swissup_pagespeed)
      - Add etc/cache.xml: register type with label/description
      - Update CacheManager: use Type::TYPE_IDENTIFIER instead of block_html,
      add Type::CACHE_TAG to entry tags for proper TagScope scoping

      Fixes Redis Default Cache pollution where 1.2M+ SWISSUP_PAGESPEED entries
      were mixed into the block_html cache type. Optimizer cache is now
      independently manageable in Stores > Cache Management. 9a552e

    • Version 1.17.8 fdc783

    • fix: correct double-backslash handling in ScriptTagEscaper JS parser

      A double backslash (\) in a JS string escapes the backslash itself,
      not the following character. The old check 'prevChar === \' incorrectly
      treated the char after \\ as escaped, causing findClosingScriptTag to
      never exit the string and escape the entire remaining HTML including
      </body> and </html>.

      Replace single-char prevChar check with isPrecededByOddBackslashes()
      helper that counts consecutive preceding backslashes: odd = escaped,
      even = not escaped. Applied to both the skip-escaped-char guard and
      the string-delimiter detection. 995cee

    • fix: prevent DeferJs from moving New Relic (NREUM) scripts out of head

      NREUM scripts must execute synchronously in <head> before any other JS.
      DeferJs was moving them to body end, breaking New Relic initialization.

      - Add NREUM signatures to DeferJs ignore list (window.NREUM, NREUM.init,
      NREUM.info, NREUM.loader_config)
      - Remove overly broad NREUM check from AfterRenderResultPlugin that
      disabled ALL optimization when any page content contained 'newrelic'
      - Add position-based tests that fail without the fix and pass with it 174268

    • Fixed script parsing issue caused with New Relic (Unexpected token '<') 2ebe4d

    • fix: add TTL to optimizer cache entries in CacheManager (30-day lifetime) 4b6e50

    • fix: remove block_html tag from optimizer cache entries in CacheManager (close #90) 445044

swissup / module-pagespeed

1.18.0 Jul

swissup / hyva-sold-together

1.2.1 Jul

swissup / shopify-charge

4.1.0 Jul

swissup / hyva-highlight

1.1.1 Jul