Latest Releases

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

swissup / askit

1.14.23 May

swissup / ajaxsearch

1.14.9 May
  • 1.14.8

    Report (rev.1)

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

    swissup/module-ajaxsearch:1.14.8

    swissup/module-core:1.12.27

    Changelog (autogenerated)

    swissup/module-ajaxsearch — 1.14.8 (was 1.14.0)
    • Version 1.14.8 73c965

    • Magento 2.4.9 fix eaaafd

    • Breeze: use `--input-bg` as input background if set 1e84b3

    • Inherit placeholder color from theme 670f3d

    • Fix for the previous commit 6c4ddd

    • Better fix for unscrollable fullscreen mode 8f7477

    • Improve fullscreen styles 71d92f

    • Fullscreen: sync results width with input 7204a2

    • Improve close button position when outline is visible, fix input height c4bf30

    • Fixed missing close button on fullscreen mode 9aa874

    • Ability to remove styling when ajaxsearch is enabled b7e4ff

    • Breeze: improve dark support f5e2c7

    • Version 1.14.7 453b4d

    • fix: scope autocomplete container to avoid conflicts with multiple instances

      Replace global $('.block-swissup-ajaxsearch-results') selectors with instance-
      scoped references to prevent conflicts when multiple ajaxsearch widgets exist
      on the same page (e.g. header search + nav search).

      - breeze/ajaxsearch.js: use this.autoComplete instead of global selector
      - ajaxsearch/results.js: addWrappers(), recalcWidth(), _addSectionTitle()
      now accept optional $container argument (fallback to global selector)
      - ajaxsearch.js: pass scoped $container when calling Results methods 4014dc

    • Breeze: compatibility with `header__dark=deep` ec7063

    • Version 1.14.6 53fedd

    • feat: add Backpressure rate limiting with cross-version compatibility (v1.14.5)

      - Add Model/Backpressure/Compat/ stubs for Magento < 2.4.4 compatibility
      - Add RequestTypeExtractor and LimitConfigManager with class_alias pattern
      - Register ajaxsearch/ajaxsearchCategoryOptions fields as rate-limited
      - Add backpressure DI config (CompositeRequestTypeExtractor + CompositeLimitConfigManager)
      - Add backpressure config defaults: 100 req/hour, configurable via Admin
      - Add Admin UI group: Stores > Config > Ajaxsearch > Rate Limiting 457137

    • Version 1.14.5 7b926b

    • Version 1.14.4 6ccc28

    • refactor: remove Backpressure integration (v1.14.4)

      Removed GraphQL Backpressure rate limiting functionality due to backward
      compatibility challenges across Magento versions 2.3.x - 2.4.x.

      The conditional class loading approach caused DI compilation failures on
      various Magento versions because:
      - PhpScanner parses all Model/* files regardless of conditional checks
      - 'use' statements trigger autoloader before conditional returns execute
      - Fully Qualified Names (FQN) don't prevent DI compiler from trying to
      instantiate classes that implement non-existent interfaces

      Removed:
      - Model/Backpressure/RequestTypeExtractor.php
      - Model/Backpressure/LimitConfigManager.php
      - Backpressure DI configuration from etc/di.xml (lines 73-111)
      - Backpressure default config from etc/config.xml
      - Backpressure admin panel section from etc/adminhtml/system.xml

      Kept (working on ALL Magento versions):
      - Security validation (search ≥2 chars OR category >0)
      - GraphQL schema improvements
      - Custom exception handling and logging
      - All resolver validation logic

      Version: 1.14.4
      Reason: Versions 1.14.0-1.14.3 had compatibility issues

      Future: Backpressure rate limiting may be released as a separate
      optional module for Magento 2.4.4+ installations. d07274

    • Version 1.14.3 87c236

    • Fix autoloader issues: Use FQN instead of 'use' statements for Backpressure classes

      - Removed 'use' statements for Backpressure classes that don't exist on Magento < 2.4.4
      - Replaced with Fully Qualified Names (FQN) throughout both files
      - PHP processes 'use' statements before conditional 'return', causing Fatal Errors on old Magento
      - Using FQN prevents autoloader from trying to load non-existent classes
      - Conditional interface_exists() check at top of files still prevents class creation on old Magento
      - DI compilation succeeds on Magento 2.4.8

      Files changed:
      - Model/Backpressure/LimitConfigManager.php: Removed 3 'use' statements, added FQN in implements, method signatures, constants, and object instantiation
      - Model/Backpressure/RequestTypeExtractor.php: Removed 1 'use' statement, added FQN in implements 7b9a0c

    • chore: remove unused Compatibility classes

      Remove Model/Backpressure/Compatibility/* directory as these classes are
      no longer needed. The current implementation uses conditional class loading
      with early return instead of class_alias() approach.

      Changes:
      - Delete Model/Backpressure/Compatibility/RequestTypeExtractorInterface.php
      - Delete Model/Backpressure/Compatibility/LimitConfigManagerInterface.php
      - Delete Model/Backpressure/Compatibility/ContextInterface.php
      - Delete Model/Backpressure/Compatibility/LimitConfig.php

      On old Magento (< 2.4.4): Backpressure classes don't load at all (early return)
      On new Magento (2.4.4+): Real Magento interfaces are used directly

      Removes ~220 lines of obsolete fallback code. 166b09

    • refactor: move backpressure DI config to commented section in di.xml

      Instead of separate sample file, add backpressure DI configuration as
      commented section in main etc/di.xml. This makes it easier for users
      to enable rate limiting - just uncomment the section.

      Changes:
      - Remove etc/di_backpressure.xml.sample
      - Add commented backpressure DI blocks to etc/di.xml with instructions
      - Users on Magento 2.4.4+ can simply uncomment to enable rate limiting

      Instructions are now in the same file where they're needed. b5095c

    • fix: use conditional class loading for Backpressure compatibility

      Wrap Backpressure classes in conditional checks - only create them on
      Magento 2.4.4+ where the Backpressure API exists. On older Magento versions,
      these classes won't be created at all, preventing Fatal Errors during DI compilation.

      Changes:
      - Add 'return' statement if Backpressure interfaces don't exist
      - Remove DI registration from etc/di.xml (now opt-in via sample file)
      - Add etc/di_backpressure.xml.sample for manual activation on Magento 2.4.4+
      - Remove declare(strict_types=1) from compatibility classes for flexibility
      - Remove class_alias() approach (didn't solve type hint conflicts)

      This fixes Fatal Error on old Magento:
      "Declaration of LimitConfigManager::readLimit() must be compatible..."

      On Magento < 2.4.4:
      - Security validation works (2+ char search requirement)
      - Rate limiting won't work (no infrastructure)
      - No Fatal Errors during deployment

      On Magento 2.4.4+:
      - Copy di_backpressure.xml.sample to di_backpressure.xml to enable rate limiting
      - Both security validation and rate limiting work 071573

    • Version 1.14.2 fa1f32

    • fix: remove class type hints from compatibility interfaces

      Remove type hints for class parameters in fallback interfaces to prevent
      Fatal Error on old Magento versions. When using class_alias(), PHP sees
      different class names in the type hints and throws compatibility errors.

      Keep return type hints for scalar types (?string) as they work correctly.
      Real implementation classes keep full type hints for Magento 2.4.4+.

      This fixes: Declaration of LimitConfigManager::readLimit() must be
      compatible with Compatibility\LimitConfigManagerInterface::readLimit() c8fe66

    • Version 1.14.1 2f05d0

    • feat: add backward compatibility layer for Magento < 2.4.4

      Add class_alias() fallback pattern to support older Magento versions that lack
      the Backpressure API. This allows the module to install and function on all
      Magento 2.3.x - 2.4.x versions without Fatal Errors.

      - Create compatibility stubs for Backpressure interfaces/classes
      - Add class_alias() checks in RequestTypeExtractor and LimitConfigManager
      - Revert composer.json constraint to support magento/module-graph-ql >=100.3
      - Rate limiting will only function on Magento 2.4.4+, but security validation works on all versions bafb37

    swissup/module-core — 1.12.27 (was 1.12.26)
    • Version 1.12.27 ac70c7

    • Magento 2.4.9 fix (CLI execute command) d224be

    • Prevent news retrieval after each cache flush ac96b7

swissup / geoip

1.6.2 May
  • 1.6.2

    Report (rev.1)

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

    swissup/module-geoip:1.6.2

    swissup/module-checkout:1.5.3

    swissup/module-core:1.12.27

    Changelog (autogenerated)

    swissup/module-geoip — 1.6.2 (was 1.5.7)
    swissup/module-checkout — 1.5.3 (was 1.5.2)
    • Version 1.5.3 d22b9f

    • Breeze: update integration 880a83

    • Breeze: exclude requirejs-config files 019ad4

    • Revert "Icon for security module"

      This reverts commit 088ee1bf78be5f00695d2a469937f090d865688f. c1f27c

    • Icon for security module 088ee1

    swissup/module-core — 1.12.27 (was 1.12.17)
    • Version 1.12.27 ac70c7

    • Magento 2.4.9 fix (CLI execute command) d224be

    • Prevent news retrieval after each cache flush ac96b7

    • Version 1.12.26 74dff6

    • Improve the libxml fix to include `data-post` and `data-config` attrs 3fee5e

    • Version 1.12.25 2186f6

    • Fixed broken markup when using newer libxml version (2.15.1) (#23) 61ceab

    • Use same quotes c33f29

    • Update Plugin/FixHtmlMarkup.php

      Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> e056e2

    • Fixed broken markup when using newer libxml version (2.15.1) 7ff0db

    • Version 1.12.24 4ac8cb

    • Fixed unescaped output, closes #22 67c9f1

    • Version 1.12.23 13d1c7

    • Fixed integrity constraint violation: Duplicate entry for key primary b9d95d

    • Version 1.12.22 382502

    • Fixed implicitly marking parameter as nullable error in PHP 8.4 07b6e9

    • Version 1.12.21 74757c

    • Ability to flush the cache from the configuration page 31181f

    • Added direct Cache flush button in top message 6fdf60

    • Version 1.12.20 181202

    • Fix error in Easy Tabs with M2.4.7 20fc53

    • Version 1.12.19 92dcf8

    • Fixed missing buttonLockManager on Magento 2.4.7 51bbfe

    • Version 1.12.18 2a8e32

    • Undefined constant Command::SUCCESS on magento 2.4.5 (close #18) d783fd

swissup / helpdesk

1.4.8 May

swissup / pro-labels

1.9.1 May
  • 1.9.1

    Report (rev.1)

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

    swissup/module-pro-labels:1.9.1

    swissup/module-pro-labels-configurable-product:1.0.9

    swissup/module-core:1.12.27

    Changelog (autogenerated)

    swissup/module-pro-labels — 1.9.1 (was 1.7.20)
    • Version 1.9.1 8cf2b6

    • Fixed PHP<8.3 support (Typed const) 02e1ce

    • PHP8.5: Using null as an array offset is deprecated, use an empty string 6402e3

    • Fix call to undefined method preloadManualForProducts (close #43) 329b16

    • Magento 2.4.9 fix 2ad4a7

    • Refactor LabelsProvider and related services for improved structure and clarity; add ManualLabelsProcessor and OutputStrategyProcessor 19cc65

    • Refactor PHP templates to improve code structure and add strict types db06bb

    • Add media gallery toggle functionality and enhance CSS for disabled state e30cd6

    • Update templates and JavaScript for enhanced preview features; make it clearer and simplier. 3de63d

    • Remove obsolete file uploader fix for Magento 2.3 from prolabels_label_edit.xml 980ce3

    • Refactor CategoryLabelFieldset and ProductLabelFieldset for improved code clarity and structure 0acc63

    • Refactor image control handling and add dynamic stylesheet loading de2a78

    • Version 1.9.0 2d302a

    • Use "Upload + Media gallery" component for prolabels image (#42)

      * Use "Upload + Media gallery" component for manual prolabels edit form.

      * Add Media Gallery to New Labels on product page.

      * Add UpdateImagePath data patch to update image paths for system and manual labels

      * Refactor image field configuration to use MediaGallery frontend and backend models for category and product settings

      * Fix URL cleanup for existing images in ImageUploaderService

      * Add null checks in MediaGallery for safer image data handling

      * Fix not working preview for system labels.

      * Update image path resolve on storefront.

      * Fix MCS.

      * Address Copilot suggestions. 86e25e

    • Address Copilot suggestions.

      Co-authored-by: Copilot <copilot@github.com> 4c25b9

    • Fix MCS.

      Co-authored-by: Copilot <copilot@github.com> 558846

    • Update image path resolve on storefront.

      Co-authored-by: Copilot <copilot@github.com> d74c2d

    • Fix not working preview for system labels.

      Co-authored-by: Copilot <copilot@github.com> 94f32c

    • Add null checks in MediaGallery for safer image data handling ad0851

    • Fix URL cleanup for existing images in ImageUploaderService 819ab3

    • Refactor image field configuration to use MediaGallery frontend and backend models for category and product settings

      Co-authored-by: Copilot <copilot@github.com> 12c1c2

    • Add UpdateImagePath data patch to update image paths for system and manual labels

      Co-authored-by: Copilot <copilot@github.com> ae4b4f

    • Add Media Gallery to New Labels on product page.

      Co-authored-by: Copilot <copilot@github.com> 7f8cb3

    • Use "Upload + Media gallery" component for manual prolabels edit form.

      Co-authored-by: Copilot <copilot@github.com> 91c141

    • Version 1.8.1 70972f

    • Refactor product validation and label handling for store views (#41)

      * Refactor product validation to respect store view attribute values

      * Add store_ids_serialized column and update indexing logic for labels

      * Refactor label store ID handling and add custom renderer for store views

      * Address copilot suggestions

      * fix db schema f8334a

    • fix db schema 7fc3c5

    • Address copilot suggestions 540cf6

    • Refactor label store ID handling and add custom renderer for store views 1bedf4

    • Add store_ids_serialized column and update indexing logic for labels 1d6056

    • Refactor product validation to respect store view attribute values 33bdc1

    • Version 1.8.0 ee00af

    • Update label text escaping for label presets. Fix bad labels text. 9924f7

    • Enhance LabelText editor with variable support. Add new variables for base prices (#40)

      * Implement LabelText editor with variable support and update configuration

      * Enhance label variables editor with improved variable handling and styling

      * Update frontend models for label text fields in system config

      * Add variable template container and enhance label variable handling in editor

      * Enhance demo predefined variables with base price support

      * Address copilot suggestions. fad926

    • Address copilot suggestions. 428639

    • Enhance demo predefined variables with base price support 97e269

    • Add variable template container and enhance label variable handling in editor 8c365a

    • Update frontend models for label text fields in system config b743ec

    • Enhance label variables editor with improved variable handling and styling d8e08e

    • Implement LabelText editor with variable support and update configuration ca300f

    • Add new variables for price and discount amount without tax:
      - price_base
      - final_price_base
      - special_price_base
      - discount_amount_base e19b20

    • Version 1.7.30 8e36a3

    • Allow to render prolabels with empty text. Label can have only image uploaded. e300af

    • Version 1.7.29 c69b11

    • Remove unnecessary empty string check after processText call, allowing the function result to be returned directly. The empty string validation is now handled by the processText function itself or is not required at this point in the flow. bacb96

    • Version 1.7.28 f67742

    • Fix: Allow text labels without digits, validate stock_item instead

      - Remove regex check that blocked text-only labels
      - Add stock_item validation when variable is used in label text
      - Use optional chaining for safer property access

      Fixes #38 429bf7

    • Version 1.7.27 de840f

    • Fixed not initialized labels in preview at Magento 2 system config. 842f92

    • Fixed poorly positioned labes in preview in admin. 3e03de

    • Enhancement: Update getBackgroundImageUrl ( use parent selector instead of href); modify getControlName to support Uppy input 4613ff

    • Fixed issue when uploaded image doesn't showup in preview for manula labesl. 9a84cd

    • Version 1.7.26 9ce8eb

    • fix: hide stock labels when qty <= 0 and prevent empty label rendering
      Details:
      Return null for stock qty ≤ 0 in getStockItemValue().
      Skip rendering label HTML when processed text is empty.
      Add numeric check in getTextProcessed() to avoid showing labels without quantity.
      Minor formatting fixes in renderer.js. 2bf595

    • Version 1.7.25 62c30a

    • Breeze: fixed lazy init when slide gallery is used 9c20d6

    • Fixed visible \Magento\Framework\Escaper string 855898

    • Version 1.7.24 cfaa6f

    • Breeze: expanded gallery fixes d7d9ed

    • Breeze: remove invalid selector (expanded gallery) - Use integration e0a43a

    • Version 1.7.23 782eaa

    • Enhancement: Add noEscape directive for padding and line-height in label template; ensure HTML output is escaped for security c79210

    • Enhancement: Escape HTML output and add noEscape directive in label templates for security 725d96

    • Enhancement: Escape HTML output in label templates for security 73eeee

    • Enhancement: Add noEscape directive to fix commit validation 480b40

    • Enhancement: Add async unbinding functionality to mutation observer (close #36) d91848

    • Version 1.7.22 e1a75d

    • Fix: Don't show 0 or negative for backorder product 9ad2c9

    • CSP compatibility. Fixed js error on checkout page 494270

    • Version 1.7.21 df6e5c

    • Possibility to place labels top-center and bottom-center 383ee4

    swissup/module-pro-labels-configurable-product — 1.0.9 (was 1.0.8)
    • Version 1.0.9 c210c6

    • Destroy label of the previously selected product when reset the select a24d50

    swissup/module-core — 1.12.27 (was 1.12.22)
    • Version 1.12.27 ac70c7

    • Magento 2.4.9 fix (CLI execute command) d224be

    • Prevent news retrieval after each cache flush ac96b7

    • Version 1.12.26 74dff6

    • Improve the libxml fix to include `data-post` and `data-config` attrs 3fee5e

    • Version 1.12.25 2186f6

    • Fixed broken markup when using newer libxml version (2.15.1) (#23) 61ceab

    • Use same quotes c33f29

    • Update Plugin/FixHtmlMarkup.php

      Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> e056e2

    • Fixed broken markup when using newer libxml version (2.15.1) 7ff0db

    • Version 1.12.24 4ac8cb

    • Fixed unescaped output, closes #22 67c9f1

    • Version 1.12.23 13d1c7

    • Fixed integrity constraint violation: Duplicate entry for key primary b9d95d

swissup / pagespeed

1.17.7 May
  • 1.17.7

    Report (rev.1)

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

    swissup/module-pagespeed:1.17.7

    swissup/module-core:1.12.27

    swissup/module-image-optimizer:1.0.12

    Changelog (autogenerated)

    swissup/module-pagespeed — 1.17.7 (was 1.17.0)
    • Version 1.17.7 aa19e8

    • Add support for native Magento 2.4.9 dev/js/defer_non_critical option 3f9c2c

    • Magento 2.4.9 fix (CLI execute command) fdc98a

    • fix: replace Zend_Cache constant with string for Magento 2.4.9 compat 9a8169

    • Version 1.17.6 edbcbc

    • refactor: update module-logger to ^2.0, remove from module sequence a8cca6

    • Add bin/test script for running unit and integration tests 8ae030

    • Extract Logger into swissup/module-logger, update namespaces and dependencies cc376b

    • fix: improve interaction mode in requirejs override

      - fix 'touch' event to 'touchstart' for proper mobile support
      - add requestIdleCallback(userInteractionListener) as idle fallback
      - add setTimeout fallback (2s) to ensure JS loads without interaction
      - fix DOMContentLoaded race condition via readyState check
      - extract init() to avoid logic duplication
      - remove dead commented code 95e010

    • Version 1.17.5 b68149

    • fix: remove new-in-initializer default to fix Magento DI compilation

      PHP 8.1 'new in initializers' syntax in IndexedAttributeOffsetFinder
      caused Magento DI compiler to serialize TagIndex via var_export(), which
      requires __set_state(). Fixed by removing the default value and passing
      $tagIndex explicitly from TrackerFactory and test setup trait. 9c8e61

    • Merge branch 'master' of github.com:swissup/module-pagespeed 0621b9

    • Version 1.17.4 33e6c5

    • fix(tests): replace @$dom->loadHTML error suppression with libxml_use_internal_errors 594c79

    • refactor: address code review — rename SiblingIndexCalculator, deduplicate buildIndex, add docs

      - Rename SiblingIndexCalculator → GlobalTagIndexCalculator to reflect that it
      calculates a document-wide index, not a parent-relative sibling position
      - TagIndex: extract maskScripts() as public method; expand TRACKED_TAGS to include
      'style' and MATCH_ATTRIBUTES to include 'data-role', 'data-block'
      - IndexedAttributeOffsetFinder: remove duplicated buildIndex/extractAttributes,
      delegate to TagIndex via constructor injection; remove commented-out is_duplicate guard
      - PatchGrouper: document why maxPasses = count(orphanChains) is the correct upper bound
      - PipelineEasyslideImgLostTest: add @group bisect to testFixtureBinarySearch;
      fix verify_peer: false → true in DOWNLOAD_PROD_HTML stream context 2f337b

    • fix: replace fwrite(STDERR) debug with logDebug, clean up debug tests, add regression tests for orphan picture/img bug

      - PatchGrouper: replace raw $dbg/fwrite(STDERR) in foldOrphanChains() with logDebug() wrapped in isDebugEnabled()
      - PatchGrouper: use count($orphanChains) instead of magic number 10 for maxPasses
      - Add PipelineEasyslideImgLostTest: integration regression tests for <picture> losing <img> after WebP conversion
      - Add production HTML fixture magento1609274-homepage.html.txt for integration tests
      - Remove PatchGrouperDebugTest (inspection-only debug test, no real assertions)
      - Remove testTrailingNewlineEffect and testDebugFullFixture (debug/inspection tests) 83b5e3

    • fix: fold orphan DOM chains so <picture> always contains <img> after WebP conversion

      When WebP optimizer wraps an <img> in a <picture>, the new <picture> element
      and its parent container are both 'orphan' patch chains (offset=null) because
      neither is in the DOM position index. The old inlineOrphanChain only searched
      anchored groups, so the <picture> patches were never applied and <picture>
      ended up without an <img> child on pages like Hero Slider with multiple slides.

      Introduce foldOrphanChains(): a multi-pass algorithm that folds child orphan
      chains into parent orphan chains by string-matching the child's intermediate
      HTML snapshot inside the parent's newHtml. After folding, the parent chain
      carries the fully-resolved <picture><source>...<img></picture> HTML and
      is emitted as a standalone group in the correct position.

      Add two regression tests that call indexNodes() before processContext() to
      reproduce the bug and verify the fix across single- and multi-slide layouts. fb1b3a

    • fix: correct WebP picture/img offset calculation for pages with script templates

      - SiblingIndexCalculator: use global getElementsByTagName() index instead of
      local previousSibling iteration so sibling index matches TagIndex candidates[]

      - TagIndex + IndexedAttributeOffsetFinder: mask <script> block bodies before
      regex scanning to prevent fake <img> inside Knockout/text-html templates from
      polluting the candidates array and shifting sibling indexes

      - ParentContextOffsetFinder: introduce calculateLocalSiblingIndex() that counts
      position among siblings within the immediate parent (not document-wide),
      fixing navigation <span> offset resolution

      - SiblingIndexTagOffsetFinder: restore is_duplicate guard so duplicate opening
      tags defer to ContentPriorityOffsetFinder for content-based disambiguation

      - WebPTest: add regression tests for easyslider mixed eager/lazy slides and
      for pages with script-template fake <img> nodes (magento-1609274 production bug) a1dfec

    • Version 1.17.3 135728

    • fix: correct misleading debug measurements in TrackedDomDocument::indexNodes()

      Previously the debug code compared parent::saveHTML() (which still
      contains the injected charset meta tag) against $this->originalHtml,
      causing 'normalized_bytes' to always equal 'original_bytes' (same
      variable used twice) and 'diff_bytes' to always include the ~62 byte
      charset meta even when no optimizer had touched the DOM.

      Fix: capture a clean DOM snapshot ($initialNormalizedHtml) in the
      constructor immediately after loadHtmlWithUtf8() — using the overridden
      saveHTML() which strips the charset meta and extracts fragments
      correctly. indexNodes() now compares the current DOM state against this
      initial snapshot instead of parent::saveHTML() vs originalHtml, so:
      - normalized_bytes = actual libxml-normalized size (charset meta removed)
      - diff_bytes = only changes made AFTER construction (real optimizer modifications)
      - the 'DOM modified before indexing' warning fires only when an optimizer
      genuinely changed the DOM before indexNodes() was called, not on every page d36e92

    • fix: HTML minification silently discarded and patch limit too low

      - Raise PatchManager::maxPatchesLimit from 500 to 2000 to handle real
      Magento pages that generate 500+ DOM patches; previously the limit
      caused applyPatches() to bail out and fall back to saveHTML() which
      inflated the response by ~12.70% via libxml normalization
      - Replace isDirty() guard in Pipeline::run() with a string comparison
      so that string-based optimizers (HTML minifier calls setOriginalHtml()
      which intentionally does not set the dirty flag) are no longer silently
      discarded
      - Update PipelineTest to match the new contract: remove stale isDirty()
      expectations and add getHtml() stubs where needed 1e0193

    • Version 1.17.2 e22203

    • Fixed logger PHP8.4+ issue 1ef5a9

    • Version 1.17.1 518887

    • Include all HTML5 void (self-closing) elements in SELF_CLOSING_TAGS

      Fixes tag closing issues for tags like <source>, <track>, and others.
      Makes output HTML valid by preventing erroneous closing tags for void elements. (close #86) 0aeeab

    • fix: Handle corrupted CSP SRI data gracefully in PageSpeed plugin

      Prevents site crashes when Subresource Integrity storage contains
      invalid JSON by adding try-catch blocks and auto-clearing corrupted data. c52ed9

    swissup/module-core — 1.12.27 (was 1.12.26)
    • Version 1.12.27 ac70c7

    • Magento 2.4.9 fix (CLI execute command) d224be

    • Prevent news retrieval after each cache flush ac96b7

    swissup/module-image-optimizer — 1.0.12 (was 1.0.11)
    • No commits found

swissup / firecheckout

1.34.5 May
  • 1.34.5

    Report (rev.1)

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

    swissup/module-address-autocomplete:1.8.3

    swissup/module-address-field-manager:1.6.21

    swissup/module-address-validation:1.0.4

    swissup/module-bot-protection:1.0.2

    swissup/module-checkout-cart:1.5.10

    swissup/module-checkout-fields:1.6.16

    swissup/module-checkout-registration:1.2.3

    swissup/module-checkout-success:2.0.11

    swissup/module-customer-field-manager:1.2.11

    swissup/module-delivery-date:1.8.1

    swissup/module-firecheckout:1.34.5

    swissup/module-geoip:1.6.1

    swissup/module-orderattachment:1.5.3

    swissup/module-subscribe-at-checkout:1.3.6

    swissup/module-taxvat:1.4.9

    swissup/module-checkout:1.5.3

    swissup/module-core:1.12.27

    swissup/module-field-manager:1.3.7

    swissup/module-firecheckout-integrations:1.4.8

    Changelog (autogenerated)

    swissup/module-checkout-success — 2.0.11 (was 2.0.10)
    • Version 2.0.11 85cd23

    • PHP8.5: Using null as an array offset is deprecated, use empty string 667579

    swissup/module-firecheckout — 1.34.5 (was 1.34.4)
    • Version 1.34.5 e91f0a

    • PHP8.5: Typo fix 28af87

    • PHP8.5
      ReflectionProperty::setAccessible() is deprecated since 8.5, as it has no effect since PHP 8.1 1af31e

    • Magento 2.4.9 fix 98e08e

    swissup/module-core — 1.12.27 (was 1.12.26)
    • Version 1.12.27 ac70c7

    • Magento 2.4.9 fix (CLI execute command) d224be

    • Prevent news retrieval after each cache flush ac96b7

breezefront / breeze

2.30.1 May

swissup / tfa

0.2.8 May
  • 0.2.8

    Report (rev.1)

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

    swissup/module-tfa:0.2.8

    swissup/module-core:1.12.27

    Changelog (autogenerated)

    swissup/module-tfa — 0.2.8 (was 0.2.6)
    swissup/module-core — 1.12.27 (was 1.12.11)
    • Version 1.12.27 ac70c7

    • Magento 2.4.9 fix (CLI execute command) d224be

    • Prevent news retrieval after each cache flush ac96b7

    • Version 1.12.26 74dff6

    • Improve the libxml fix to include `data-post` and `data-config` attrs 3fee5e

    • Version 1.12.25 2186f6

    • Fixed broken markup when using newer libxml version (2.15.1) (#23) 61ceab

    • Use same quotes c33f29

    • Update Plugin/FixHtmlMarkup.php

      Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> e056e2

    • Fixed broken markup when using newer libxml version (2.15.1) 7ff0db

    • Version 1.12.24 4ac8cb

    • Fixed unescaped output, closes #22 67c9f1

    • Version 1.12.23 13d1c7

    • Fixed integrity constraint violation: Duplicate entry for key primary b9d95d

    • Version 1.12.22 382502

    • Fixed implicitly marking parameter as nullable error in PHP 8.4 07b6e9

    • Version 1.12.21 74757c

    • Ability to flush the cache from the configuration page 31181f

    • Added direct Cache flush button in top message 6fdf60

    • Version 1.12.20 181202

    • Fix error in Easy Tabs with M2.4.7 20fc53

    • Version 1.12.19 92dcf8

    • Fixed missing buttonLockManager on Magento 2.4.7 51bbfe

    • Version 1.12.18 2a8e32

    • Undefined constant Command::SUCCESS on magento 2.4.5 (close #18) d783fd

    • Version 1.12.17 f376f0

    • PHPStan fixes 72d569

    • Version 1.12.16 cd4b23

    • Refactor console command return statements to use built-in constants afb97a

    • Version 1.12.15 5b1638

    • Add --installed and --outdated options for module:list command f296a6

    • Merge pull request #17 from swissup/virtualcheck

      Added option to check if there's no virtual themes and fix them 40c551

    • Code refactoring fb9de3

    • Applied code-review recommendations 2nd attempt c7fae8

    • Applied code-review recommendations 4d733c

    • Removed objectManager 612d9e

    • Removed unused files 1879b3

    • Moved js to separate file 772373

    • Merge branch 'master' into virtualcheck 342053

    • Added controller to apply changes to database f1201c

    • Replace \Zend_Http (zf1) for 2.4.6 compatability de5216

    • Remove debugging comments 58dcee

    • Version 1.12.14 66d6b8

    • Magento 2.4.6 compatibility. Get rid of ZendClientFactory usage. 97f79d

    • Fixed error when module doesn't have tags yet. 68e1b3

    • Version 1.12.13 2d66ce

    • Fix 'trim(): Passing null to parameter 1' (closed swissup/module-search-mysql-legacy#14) ef52b3

    • Virtual theme: visual fix all button added 2927db

    • Virtual theme: small improvement fa72d6

    • Virtual theme: Check added cb9d40

    • Virtual Theme Check: Start 53f115

    • Virtual Theme Check: Start 2e8a7e

    • Version 1.12.12 2e8a7e

    • Optimize latest version detection; set array_reduce initial param 7fa6ba

    • Fix php8.1: Deprecated Functionality: version_compare(): Passing null to parameter #1 ($version1) of type string is deprecated d22180

    • Fix: Warning: Undefined array key release_date c643c6