snowdog / module-menu
snowdog/module-menu
Provides powerful menu editor to replace category based menus in Magento 2
Magento 2 Menu
Magento 2 Menu by Snowdog is a powerful menu configurator that empowers online merchants to create advanced menus, enhancing their customers' shopping experience and improving SEO.
This module serves as a feature-rich replacement for the category-based top navigation found in Magento and Adobe Commerce. However, it offers much more versatility by enabling the creation of menus for various purposes and store views.
Backend Settings Demo:
Hyvä Demo:
See our Hyvä top menu mobile, top menu desktop, and footer menu in action: menu-hyva.snowdog.dev
Use Cases
Here are some scenarios where Snowdog's Menu can be effectively used:
- Create Separate Header Menus for Mobile and Desktop: Optimize navigation for customers on different devices by creating distinct header menus for mobile and desktop.
- Create Footer Menu: Improve the management of footer links.
- Create Custom Menus for Specific Pages: Whether you need to add a sidebar menu or change the header menu, Snowdog's module offers you the flexibility to create and customize menus for any page of a Magento store.
Key Features
- Flexible Content: Add various types of elements to menus, such as links, images, and CMS blocks.
- Product Catalog Integration: Easily include links to categories and products in menus. Our handy tree selector makes it a breeze to pick the exact categories you want to showcase, or you can opt for category-based import to add a chunk of your catalog tree to the menu with a few clicks.
- Drag and Drop Editor: The module offers a user-friendly drag and drop editor, making it effortless to configure multi-level menus exactly how you envision them. Arrange and customize menu items with ease, without any coding knowledge.
- Import, Export and Duplicate Capabilities: Save time and effort. This feature enables seamless replication of menus across different instances and Magento stores. It also gives an option to duplicate menus for faster setup and customization.
- Multiple Ways of Adding Menus to Frontend: Easily add menus to your frontend using PHTML templates, or fetch the data from our REST and GraphQL APIs. This makes the module very versatile. You can make it work for any Magento frontend.
User Guide and Documentation
To learn more about Magento 2 Menu by Snowdog, go to wiki.
Magento Versions Compatibility
Menu can be installed on most 2.x Magento versions.
If your Magento version does not work with newest Menu version, see Contributing.
Contributing
Contributions are welcome! If you find a bug or have a feature request, feel free to open an issue or submit a pull request.
Like this project?
We'd appreciate it if you leave a ⭐ or share it with the world ✨.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Dynamic menu improvements (#317)
Changed
- Long Node cache tag in graphql (#364)
Removed
- Frontend console log (SMM-46)
- Unused variables from phtml files (#357)
Fixed
[2.28.0] - 2025-03-25
Added
- Auto populate node title (#325)
- Add missing $escaper and $viewModels declarations (#350)
- Import categories by store view (#352)
- Add external vue providers config option
Changed
- Bump cross-spawn from 7.0.3 to 7.0.6 (#349)
- Improve graphql performance
[2.27.2] - 2024-11-08
Fixed
- Issue when saving nodes w/ db prefix (#345)
[2.27.1] - 2024-08-07
Fixed
- Swagger docs (#332)
[2.27.0]
Added
widthandheightattributes to menu node images (DEV-102271)- Option to specify customer groups for each node (DEV-94738)
- Snowdog branding in admin panel (DEV-105762)
- Automatically open collapsed menu node when dragging another node inside (DEV-101986)
- Duplicate node functionality (DEV-104364)
Fixed
- Impossible to change Cms block, Cms page link after selecting displayed block (DEV-104546)
- Submenu template name issue (#321) (DEV-105672)
- Issue with 'Import from Categories (#315) (DEV-105267 & DEV-101741)
Updated
- vue-select to 3.20.0 (DEV-104546)
[2.26.0] - 2024-03-29
Fixed
- The function getProductTitle() returns empty string (DEV-104749)
- Hyva error "The element "topmenu_generic" can't have a child" (DEV-104435)
- Changed custom block names in
default_hyva.xml:topmenu.mobiletotopmenu-mobiletopmenu.desktoptotopmenu-desktop
- Removed hyva blocks in
default_hyva.xml:topmenu.mobiletopmenu.desktop
- Changed custom block names in
[2.25.0] - 2024-01-19
Added
- 3-level desktop submenu variant (DEV-103924)
Fixed
- category tree import when page url includes index.php (DEV-103904)
[2.24.1] - 2023-12-05
Fixed
- Undefined variable in Hyvä template
[2.24.0] - 2023-11-28
Added
- Hyvä compatibility (DEV-101754)
Changed
- Updated eslint version to
8.45.0andeslint-plugin-vueto 9.15.1 (DEV-95002)
Fixed
- Mobile nav sidebar (DEV-101802)
- Category Child and CMS block nodes shouldn't have image fields (DEV-94387)
custom_urltype node has emptyurl_keyin GraphQl context (DEV-103670, #302)- Added BINARY collation to load menus by identifier (DEV-103752)
[2.23.1] - 2023-07-28
Fixed
- Fixed issue with closing } missing
[2.23.0] - 2023-07-26
Fixed
- Fixed issue about menu block being cached excessively (#276)
Changed
- Update GH actions to github-actions-m2 and small code fixes to standards (#100322)
- Don't show tag when there's no url (DEV-100390)
Added
- Command to check if menus have invalid nodes and allow removing them through the command (DEV-100331)
[2.22.0] - 2023-05-08
Fixed
- Get product title method (#270)
- Category Child node without parent category chosen makes menu disappear (DEV-99318)
Changed
- Change Custom URL without URL content to not clickable (DEV-99301)
Added
- Error skipping mechanism for some exceptions (#271)
- Required prop for category child field (DEV-99318)
- Display a message indicating success or error after saving the menu. #274
[2.21.0] - 2023-04-03
Fixed
- Reset button doesn't reset menu node structure (#256)
- PHP8.2 related issues (#264, #265, #266)
Changed
- "Import from categories" logic (#253)
Added
- Allow remote file storage etc (get.php) to pull the files (#258)
[2.20.0] - 2022-09-26
Added
url_keyon some node types (#227)
Fixed
[2.19.0] - 2022-05-04
Added
- Allow to set submenu template via layout xml (#223)
- Fix menu stores save issue when single store mode enabled (#226)
- Fix duplicate keys detected for nodes (#228)
- Fix drag and drop nodes duplication when editing menu nodes (#241)
- Ajax loader to node image upload and remove Ajax JS code (#79674)
- An error handler to node image remove Ajax JS code (#79674)
- Set errors HTTP response code in node admin controller image upload and delete actions (#79674)
- Fix loading nodes based on large catalog (#232)
Changed
- Improve JSON response in node admin controller image delete action (#79674)
- Improve the menu node image upload error message (#79674)
Fixed
- Image for new nodes set to blank (#79674)
- import from categories (#236)
[2.18.0] - 2021-11-23
Added
- Menu node type GraphQL interface feature (#209)
nodesfield to GraphQL menu type (#209)node_templateandsubmenu_templatefields to GraphQL menu node type (#209)- Store ID filtering support to menu repository
getListmethod (#209) - All menu items list support to GraphQL
snowdogMenusquery (#209) - Default store filtering support to GraphQL
snowdogMenusandsnowdogMenuNodesqueries (#209)
Changed
- Make the menu duplicate feature execute in a DB transaction (#80889)
- Refactor menu duplicate feature code in menu admin controller save and duplicate actions (#80889)
- Don't print messages about custom nodes templates if they are not set (#82414)
- GraphQL menu custom URL node
targetfield data type to boolean (#209) - Set non-nullable fields in GraphQL schema (#209)
- Handle duplicate and empty values in GraphQL
snowdogMenusqueryidentifiersargument (#209) - Memoize loaded menus in GraphQL menu data provider to improve nodes loading performance (#209)
Fixed
- Menu node image file cloner error handling (#80889)
- Product node type get removed after changing node position and entering the invalid product ID (#81485)
- Handle menu child nodes of pending parent nodes in nodes export tree processor (#206)
- Sort menu nodes according to their positions in nodes export tree processor (#206)
[2.17.0] - 2021-09-03
Changed
- Improve menu save process node product type validator error messages (#81256)
Fixed
- Menu node position reset issues on menu save (#81257)
[2.16.0] - 2021-07-21
Added
- Creation time, update time and store view columns to menu admin grid (#69080)
- Save button options list to menu admin edit page (#69085)
- Menu duplicate feature (#69085)
- Import categories and subcategories feature (#70196)
Changed
snowmenu_menu_list.xmldelete mass action to Magento2.1XML format in order to match the rest of the XML in the file (#69080)- Syntax highlight GraphQL code blocks in readme file (#69080)
- Move menu controller save action complex logic to a seperate class and refactor accordingly (#69085)
- Move admin block import page buttons class files under
Adminhtmldirectory (#80035) - Move menu admin block edit page nodes tab class file under
Adminhtmldirectory (#80035) - Move menu admin block edit page buttons class files under
Editdirectory (#80035)
Fixed
- Remove the duplicate listing toolbar
massactiontag insnowmenu_menu_list.xml(#69080) - custom templates list in select (#79677)
- An infinite loop in large node trees with catalog product nodes save process (#80360)
Removed
- Unused CMS WYSIWYG config model class in menu admin edit page nodes tab block (#80035)
[2.15.0] - 2021-06-08
Added
- enable/disable menu option (#69084)
Updated
- update lodash to
4.17.21in npm dependencies - update vue nodes - pass data to admin ui component (#69084)
Fixed
- Enabled state checkbox (#181)
- option.store.join is not a function error (#73516)
- Make importing menu CSS class field optional (#79104)
[2.14.0] - 2021-03-30
Added
- Node validation classes (#73442)
- DB table columns listing method to menu and node resource models (#70197)
- Menu YAML import/export feature (#70197)
- Nodes custom templates documentation (#74567)
- Menu node image field (#70218)
- Treeselect for category selector (#69126)
- GraphQL feature (#76409)
- Treeselect for child category selector (#76417)
Changed
- Improve node product validation error message on menu save (#73442)
- Make menu CSS class field optional in menu admin edit page (#70197)
Fixed
- Prevent creating nodes with invalid product IDs (#73442)
- configuration for child category type node (#74222)
- Custom templates for node types
wrapperandcustom_url(#74936) - Change some API interfaces getters return types to
mixed[]in order to fix a Swagger error (#75295)
[2.13.0] - 2020-11-16
Added
- Node model additional data setter and getter methods (#94, #69088)
- Functionality to enable/disable specific menu node (#85, #65561)
- Functionality to remove specific menu node from menus list view, using Actions or Select dropdown (#69083)
- Possibility to set a template for "node" and "submenu" template per node (#84, #65549)
- Invalidate page cache on menu changes (#115, #70191)
- Image helper to resize product image (#95, #70199)
Changed
- Index page title in admin panel (#69078)
- Change menu model stores save method return type to boolean (#115, #70191)
- Bump GitHub backend workflow
MCS Checkcheckout repository actions to v2 (#115, #70191) - Change imported menu model to API data interface in menu admin controller save action (#71279)
- Move menu admin controller save action
executemethod current nodes list code to a separate method (#71279) - Replace existing nodes
in_arraycheck withissetin menu admin controller save actionexecutemethod (#71279) - Documentation to clarify how to add a new node type (#69, #69072)
- Render some of vue components list on server side to improve process of adding a new node type (#69, #69072)
Fixed
- Prevent menu stores save if there are no store changes (#115, #70191)
- Prevent unnecessary menu data save due to data values types changes (#115, #70191)
- Prevent unnecessary menu nodes data save due to enabled object data changes flag in menu node repository get list method items (#115, #70191)
- A menu save issue that prevents deleting all nodes of a menu (#71279)
- Correct a misspelled variable in menu admin controller save action
executemethod (#71279) - Issue with flush cache after model is saved (#135, #71585)
- Phpdoc for getJsonConfig method (#134, #71576)
- Menu save issue that prevents deleting all nodes of a menu (#71279)
Removed
- An unnecessary
ifstatement in menu admin controller save action_convertTreemethod (#71279)
[2.12.0] - 2020-08-24
Added
- PHP 7.4 support (#118)
- Magento 2.4 support (#119)
Changed
- Move submenu template path to protected variable (#109)
[2.11.1] - 2020-05-15
Fixed
array_filter()error forcmsBlock,cmsPagenodes, if openingedit-menu-pagefrom admin panel (#106)
[2.11.0] - 2020-04-14
Added
- Static code analysis tools
- Showing store scope in CMS block and page selects
Changed
- Updated UI
- Updated frontend dependencies
- PHP code formatted to match PHPCS Magento coding standard rules
- Vue components props update to match ESlint Vue Recommended rules
[2.10.2] - 2020-04-12
Fixed
- Overflow for main container - #100
[2.10.1] - 2020-03-23
Fixed
- Nodes are deleted and recreated every time a menu is saved (#97)
- Typo in a layout file (#96)
[2.10.1] - 2020-03-23
Fixed
- Nodes are deleted and recreated every time a menu is saved (#97)
- Typo in a layout file (#96)
[2.10.0] - 2019-05-29
Added
- Provide access to entity associated with menu node (#83)
- New API endpoint to get nodes by identifier, additional information to the response (#70)
[2.9.0] - 2019-04-21
Added
- Wrapper node
[2.8.4] - 2019-02-18
Fixed
- Missing url when a cms page has no url rewrites - #76
[2.8.3] - 2019-02-17
Fixed
- Disable overflow for opened panel - #78 #79
[2.8.2] - 2019-02-12
Fixed
- Product node images fixed - #73 #74
[2.8.1] - 2018-12-19
Fixed
- Fix menu item border style and duplicated item key on menu drop
[2.8.0] - 2018-11-06
Fixed
- Fix true/false values for saved target checkbox
- Fix drag and drop behaviour for edited menu
Added
- Preliminary support for Magento 2.3
[2.7.0] - 2018-08-13
Added
- Add api endpoints
[2.6.0] - 2018-07-2
Added
- Product title method
- Price formatter method
Fixed
- Product id binding
[2.5.0] - 2018-05-23
Added
- Add product node type
- Add the ability to change node type
- Enhance admin panel UI using VueJS
Fixed
- Fix saving target blank for custom url
Removed
- Remove frontend javascript and icon
[2.4.0] - 2018-01-29
Changed
- Module doesn't support 2.0 anymore
Fixed
- Fixed compatibility with Magento Commerce (Enterprise)
- Imporved compatibility with Magento 2.2
[2.3.1] - 2018-01-18
Fixed
- Fixed issue with overwrite category node
[2.3.0] - 2018-01-17
Added
- Added target option for custom link to open in a new tab
- Added save and continue button
Fixed
- Fixed issue with node templates if it's more than one menu
[2.2.3] - 2018-01-09
Removed
- Remove package version from composer.json
[2.2.2] - 2018-01-09
Added
- getMenuCssClass to menu block (menu is null check)
[2.2.1] - 2018-01-04
Fixed
- Delete node button action
[2.2.0] - 2018-01-03
Added
- Ability to overwritte templates per menu ID
Changed
- Formatting of
menu.phtmltemplate - #1 - Better autocomplete
- Styling of node action buttons
Fixed
- Sql queries when table prefix is set in Magento (#28)
[2.1.0] - 2017-10-03
Changed
- Update composer.json for compatibility with M2.2 (#18)
Fixed
- Fix method declaration compatibility in node type blocks (#9)
- Fix example layout xml code in README.md (#12)
- Fix showing error on browser console with eventListeners who calling element which doesn't exist (#13)
Removed
- Remove PHP7 type hints (#11)
[2.0.5] - 2017-07-18
Fixed
- Fix problem with compatible CE cms page
[2.0.4] - 2017-07-17
Fixed
- Fix problem with compatible EE CE block and cms page (EE compatibility)
- Remove
$eavColumnNamefromfetchData–url_rewritealways usesentity_id - Use
$eavColumnNameforcms_page_storetable page reference - Fix issue with not saving data when user not blur the input before save
[2.0.3] - 2017-07-13
Fixed
- Implements DB Wrapper for EE and CE version (EE compatibility)
[2.0.2] - 2017-07-10
Fixed
- Missing css_class column in table (incorrect versioning in upgrade script)
[2.0.1] - 2017-07-10
Fixed
- Fix for undefined offset in CmsPage block
[2.0.0] - 2017-06-03
Changed
- Rendering rewrited and moved to more front-end friendly palces, to make customizations easier
| Version | Stability | QA Status | Compatibility | Released |
|---|---|---|---|---|
| 2.29.0 | stable | Fail | Magento 2.4.7-2.4.8 Details | 2025-12-01 13:59:09 |
| 2.28.0 | stable | Not tested | Not yet tested Details | 2025-03-25 12:26:23 |
| 2.27.2 | stable | Not tested | Not yet tested Details | 2024-11-08 06:32:33 |
| 2.27.1 | stable | Not tested | Not yet tested Details | 2024-08-07 05:50:16 |
| 2.27.0 | stable | Not tested | Not yet tested Details | 2024-08-05 07:39:04 |
| 2.26.0 | stable | Not tested | Not yet tested Details | 2024-03-29 06:28:39 |
| 2.25.0 | stable | Not tested | Not yet tested Details | 2024-01-19 09:20:51 |
| 2.24.1 | stable | Not tested | Not yet tested Details | 2023-12-05 13:42:19 |
| 2.24.0 | stable | Not tested | Not yet tested Details | 2023-11-28 11:31:55 |
| 2.23.1 | stable | Not tested | Not yet tested Details | 2023-08-24 07:41:13 |
| 2.23.0 | stable | Not tested | Not yet tested Details | 2023-08-24 07:39:53 |
| 2.22.0 | stable | Not tested | Not yet tested Details | 2023-08-24 07:36:25 |
| 2.21.0 | stable | Not tested | Not yet tested Details | 2023-04-03 11:39:46 |
| 2.20.0 | stable | Not tested | Not yet tested Details | 2022-09-26 09:55:55 |
| 2.19.0 | stable | Not tested | Not yet tested Details | 2022-05-04 12:33:00 |
| 2.18.0 | stable | Not tested | Not yet tested Details | 2021-11-23 10:17:40 |
| 2.17.0 | stable | Not tested | Not yet tested Details | 2021-09-03 09:35:03 |
| 2.16.0 | stable | Not tested | Not yet tested Details | 2021-07-21 08:18:43 |
| 2.15.0 | stable | Not tested | Not yet tested Details | 2021-06-08 09:40:46 |
| 2.14.0 | stable | Not tested | Not yet tested Details | 2021-03-30 10:05:14 |
| 2.13.0 | stable | Not tested | Not yet tested Details | 2020-12-01 21:43:45 |
| 2.12.0 | stable | Not tested | Not yet tested Details | 2020-08-24 08:39:02 |
| 2.11.1 | stable | Not tested | Not yet tested Details | 2020-05-14 10:36:15 |
| 2.11.0 | stable | Not tested | Not yet tested Details | 2020-04-14 12:19:38 |
| 2.10.2 | stable | Not tested | Not yet tested Details | 2020-04-12 06:08:30 |
| 2.10.1 | stable | Not tested | Not yet tested Details | 2020-03-23 08:21:57 |
| 2.10.0 | stable | Not tested | Not yet tested Details | 2019-05-29 08:45:23 |
| 2.9.0 | stable | Not tested | Not yet tested Details | 2019-05-21 13:12:49 |
| 2.8.4 | stable | Not tested | Not yet tested Details | 2019-02-18 07:17:08 |
| 2.8.3 | stable | Not tested | Not yet tested Details | 2019-02-17 14:27:12 |
| 2.8.2 | stable | Not tested | Not yet tested Details | 2019-02-12 10:10:24 |
| 2.8.1 | stable | Not tested | Not yet tested Details | 2018-12-19 20:41:24 |
| 2.8.0 | stable | Not tested | Not yet tested Details | 2018-11-06 19:26:23 |
| 2.8.0-beta | beta | Not tested | Not yet tested Details | 2018-10-31 10:13:17 |
| 2.7.0 | stable | Not tested | Not yet tested Details | 2018-08-13 07:38:34 |
| 2.6.0 | stable | Not tested | Not yet tested Details | 2018-07-02 17:37:03 |
| 2.5.0 | stable | Not tested | Not yet tested Details | 2018-05-23 12:28:16 |
| 2.4.0 | stable | Not tested | Not yet tested Details | 2018-01-29 21:57:45 |
| 2.3.1 | stable | Not tested | Not yet tested Details | 2018-01-22 14:55:27 |
| 2.3.0 | stable | Not tested | Not yet tested Details | 2018-01-17 12:05:42 |
| 2.2.3 | stable | Not tested | Not yet tested Details | 2018-01-09 10:38:48 |
| 2.2.2 | stable | Not tested | Not yet tested Details | 2018-01-09 09:33:48 |
| 2.2.1 | stable | Not tested | Not yet tested Details | 2018-01-04 10:13:19 |
| 2.2.0 | stable | Not tested | Not yet tested Details | 2018-01-03 17:41:47 |
| 2.1.0 | stable | Not tested | Not yet tested Details | 2017-10-03 10:23:07 |
| 2.0.5 | stable | Not tested | Not yet tested Details | 2017-07-18 07:01:16 |
| 2.0.4 | stable | Not tested | Not yet tested Details | 2017-07-17 15:30:02 |
| 2.0.3 | stable | Not tested | Not yet tested Details | 2017-07-13 12:15:31 |
| 2.0.2 | stable | Not tested | Not yet tested Details | 2017-07-10 14:41:05 |
| 2.0.1 | stable | Not tested | Not yet tested Details | 2017-07-10 13:57:34 |
| 2.0.0 | stable | Not tested | Not yet tested Details | 2017-06-03 16:56:50 |
| 1.2.0 | stable | Not tested | Not yet tested Details | 2017-03-21 07:57:42 |
| 1.1.0 | stable | Not tested | Not yet tested Details | 2016-11-18 09:57:35 |
| 1.0.2 | stable | Not tested | Not yet tested Details | 2016-10-24 10:29:14 |
| 1.0.1 | stable | Not tested | Not yet tested Details | 2016-10-24 08:19:08 |
| 1.0.0 | stable | Not tested | Not yet tested Details | 2016-09-27 17:31:18 |
Requires 8
| Package | Constraint |
|---|---|
| magento/framework | 100.1.*|101.0.*|102.0.*|103.0.* |
| magento/module-catalog | 101.0.*|102.0.*|103.0.*|104.0.* |
| magento/module-cms | 101.0.*|102.0.*|103.0.*|104.0.* |
| magento/module-backend | 100.1.*|100.2.*|101.0.*|102.0.* |
| magento/module-graph-ql | 100.3.*|100.4.* |
| magento/module-import-export | 100.3.*|101.0.* |
| magento/module-media-storage | 100.3.*|100.4.* |
| symfony/yaml | >=3.2 |
Requires-dev 1
| Package | Constraint |
|---|---|
| magento/magento-coding-standard | ^5.0 |
Compatibility
Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.
Code Quality
Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge — a phpcs finding can't make a module incompatible.
Static analysis
Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.
| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Fail | 254 | 82 errors, 172 warnings (ruleset: Magento2) — 11 auto-fixable with phpcbf |
| PHPMD | Warning | 16 | 16 rule violations (MissingImport:10, UndefinedVariable:5, ExcessiveClassComplexity:1) |
| Cpd | Pass | 0 | |
| Composer validate | Info | 1 | valid; 1 advisory note (composer validate --strict) |
PHPStan
Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases. Cell → details modal.
Tests
Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.
Unit tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Integration tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Security
Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.
More from snowdog
View vendorHyva Checkout compatybility module for PayPo
Hyva Checkout compatybility module for Santander eRaty
Hyva Checkout compatibility module for PayNow
Turn an existing module into recurring revenue.
If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.