magewirephp / magewire
magewirephp/magewire
A framework that makes building reactive and dynamic interfaces simple in Magento 2
Magewire PHP
Looking for v1? See the 1.x branch.
MagewirePHP brings the power of reactive, server-driven UI development to Magento 2—without writing JavaScript.
Inspired by Laravel Livewire, MagewirePHP lets you build dynamic, interactive frontend components using only PHP,
fully integrated with Magento’s architecture.
Whether you're creating real-time search, dynamic product forms, or interactive checkout steps, MagewirePHP enables a clean,
component-based approach that stays true to Magento’s conventions while simplifying complex frontend behavior.
- ✅ Write less JavaScript
- ✅ Maintain component logic in PHP
- ✅ Ideal for dynamic UIs like filters, modals, and configurators
MagewirePHP helps you deliver modern UX experiences in Magento—faster, cleaner, and with less frontend overhead.
- Website
- Documentation
- Discord
- Admin Compatibility
- Hyvä Theme Compatibility
- Hyvä Checkout Compatibility
Sponsors
![]() |
Click here to start sponsoring.
Upgrading from 1.x
See UPGRADING.md for migration notes — dependency changes, the #[HandleBackwardsCompatibility] opt-in, and wire:model semantics.
Contributing
Thank you for considering contributing to Magewire! Please read the contribution guide to know how to behave, install and use Magewire for contributors.
Code of Conduct
In order to ensure that the Magewire is welcoming to all, please review and abide by the Code of Conduct.
Security Vulnerabilities
Please do not report security issues publicly. Email [email protected] with a private report — see SECURITY.md for the full policy. All vulnerabilities will be promptly addressed and responsibly disclosed.
License
Copyright © Willem Poortman
Magewire is open-sourced software licensed under the MIT license.
It's important to emphasize that this package is completely independent of any business entities. There is absolutely
no involvement or interference from other companies expressing their preferences. This package is created by the
community, for the community, ensuring its integrity and unbiased nature.
Changelog - Magewire
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
3.2.0 (2026-06-14)
Features
- Magewire compiler resource path from generated to var (812f6ae)
- Rate limiting dev-mode disabled (502706a)
- Removed all theme compatibility modules from this package (118d518)
Bug Fixes
- Correct v1 emit() param spreading and implement empty emit methods (0eadd6c)
- Correct v1 emit() param spreading and implement empty emit methods (2/2) (10c00fc)
Miscellaneous Chores
- Added updating argument swapping for backwards compatible components (2377627)
- Rate limiting system config improvements (0f52472)
- Upgrade docs URL to docs.magewirephp.nl (#234) (9bf650b)
3.1.0 (2026-06-02)
Features
Bug Fixes
- complies check continues, even if resolver was already found (069be4f)
- HTML fragment attribute render restored (81c8e9d)
Miscellaneous Chores
- Added missing wire attributes CSS (3b2d704)
- Backwards compatibility improvements (Hyvä) (b6bf1aa)
- Code revert (cf4acfa)
- Compilation refactoring (6be4fd7)
- Component call wrapper bugfixes (6cd2707)
- Component fragment property improvements (a821297)
- Component resolver edge-case enhancements (3c4d8cd)
- Explanation above BC event dispatchment (a8aba93)
- JS-lib rebuild (69fc50b)
- Magewire priority block for early JS-code execution (after body starts) (c60353e)
- Magewire resolver arguments data-object -> data collection migration (81c0426)
- Mago fixes (037ae6b)
- Mago Github action (645c9ef)
- Mago improvements (490df65)
- Mago run result badge for main (d98c2dd)
- Mago test action fixes (7070a9e)
- Minor resolver management improvements (e6ea76b)
- Removal of BC component check on magewireMakeComponentBackwardsCompatible method (36d6629)
- Removed -o on sh command for Mago Github action (fc45270)
- Removed backup file from Mago config (eda215a)
- Removed Mago config entity and removed installation of Magento from Mago Github action (b335034)
- Removing the Flake compiler backup (deprecated) (f53ff53)
- Replaced not-found-exception with replacement (52dfa04)
- Runtime lifecycle improvements (24dd03f)
- Setup addition for Data Collections (5b7b9e9)
- Support class improvements (5a30555)
- Typo (60a4ef5)
Unreleased
3.0.0 - 2026-04-23
Magewire 3.0.0 is a full rewrite that ports the Laravel Livewire v3 core into Magento 2,
replaces the hand-written v1 runtime with a formalised Mechanisms and Features pipeline,
and introduces a template compiler, a snapshot-based state flow,
and a first-class backwards compatibility layer for v1 components.
Upgrading from 1.x? See UPGRADING.md.
Full reference in the docs.
Added
- Nothing added (new baseline).
Changed
- Nothing changed (new baseline).
Removed
- Nothing removed (new baseline).
[3.0.0-beta1] - 2025-06-02
Added
- Nothing added.
Changed
- Now based on Livewire V3.
Removed
- Support for all PHP version below 8.2.
| Version | Stability | QA Status | Compatibility | Released |
|---|---|---|---|---|
| 3.2.0 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-06-14 15:13:46 |
| 3.1.0 | stable | Not tested | Not yet tested Details | 2026-06-02 06:33:54 |
| 3.0.0 | stable | Not tested | Not yet tested Details | 2026-04-25 21:31:09 |
| 1.13.3 | stable | Not tested | Not yet tested Details | 2026-01-09 13:28:55 |
| 1.13.2 | stable | Not tested | Not yet tested Details | 2025-11-10 10:36:22 |
| 3.0.0-beta.1 | beta | Not tested | Not yet tested Details | 2025-09-08 11:56:57 |
| 1.13.1 | stable | Not tested | Not yet tested Details | 2025-05-16 10:03:09 |
| 1.13.0 | stable | Not tested | Not yet tested Details | 2025-04-30 14:57:47 |
| 1.12.1 | stable | Not tested | Not yet tested Details | 2025-02-21 07:53:40 |
| 1.12.0 | stable | Not tested | Not yet tested Details | 2025-02-20 18:25:53 |
| 1.11.1 | stable | Not tested | Not yet tested Details | 2024-07-29 09:28:49 |
| 1.11.0 | stable | Not tested | Not yet tested Details | 2023-11-16 09:17:08 |
| 1.10.10 | stable | Not tested | Not yet tested Details | 2023-10-25 13:26:41 |
| 1.10.9 | stable | Not tested | Not yet tested Details | 2023-10-21 12:22:49 |
| 1.10.8 | stable | Not tested | Not yet tested Details | 2023-09-24 13:26:37 |
| 1.10.7 | stable | Not tested | Not yet tested Details | 2023-08-08 09:34:50 |
| 1.10.6 | stable | Not tested | Not yet tested Details | 2023-08-04 08:47:04 |
| 1.7.6 | stable | Not tested | Not yet tested Details | 2023-07-06 08:21:07 |
| 1.9.2 | stable | Not tested | Not yet tested Details | 2023-07-06 08:20:52 |
| 1.8.6 | stable | Not tested | Not yet tested Details | 2023-07-06 08:20:27 |
| 1.10.5 | stable | Not tested | Not yet tested Details | 2023-07-06 08:15:11 |
| 1.10.4 | stable | Not tested | Not yet tested Details | 2023-06-18 13:11:32 |
| 1.10.3 | stable | Not tested | Not yet tested Details | 2023-06-14 13:28:50 |
| 1.10.2 | stable | Not tested | Not yet tested Details | 2023-06-13 10:26:52 |
| 1.10.1 | stable | Not tested | Not yet tested Details | 2023-06-06 17:46:43 |
| 1.10.0 | stable | Not tested | Not yet tested Details | 2023-06-02 06:17:03 |
| 1.9.1 | stable | Not tested | Not yet tested Details | 2023-04-11 07:54:55 |
| 1.9.0 | stable | Not tested | Not yet tested Details | 2023-04-07 12:48:26 |
| 1.8.5 | stable | Not tested | Not yet tested Details | 2023-04-03 11:27:05 |
| 1.8.4 | stable | Not tested | Not yet tested Details | 2023-03-27 11:02:44 |
| 1.8.3 | stable | Not tested | Not yet tested Details | 2023-03-21 09:10:47 |
| 1.8.2 | stable | Not tested | Not yet tested Details | 2023-02-13 10:30:51 |
| 1.8.1 | stable | Not tested | Not yet tested Details | 2023-01-31 20:37:37 |
| 1.8.0 | stable | Not tested | Not yet tested Details | 2023-01-31 12:23:26 |
| 1.7.5 | stable | Not tested | Not yet tested Details | 2023-01-11 14:06:30 |
| 1.7.4 | stable | Not tested | Not yet tested Details | 2022-11-18 12:18:24 |
| 1.7.3 | stable | Not tested | Not yet tested Details | 2022-11-09 09:19:19 |
| 1.7.2 | stable | Not tested | Not yet tested Details | 2022-11-03 18:40:08 |
| 1.7.1 | stable | Not tested | Not yet tested Details | 2022-10-31 11:17:22 |
| 1.7.0 | stable | Not tested | Not yet tested Details | 2022-10-25 14:07:21 |
| 1.6.6 | stable | Not tested | Not yet tested Details | 2022-10-20 14:24:15 |
| 1.6.5 | stable | Not tested | Not yet tested Details | 2022-10-12 05:54:26 |
| 1.6.4 | stable | Not tested | Not yet tested Details | 2022-10-11 06:30:49 |
| 1.6.3 | stable | Not tested | Not yet tested Details | 2022-08-10 14:34:18 |
| 1.6.2 | stable | Not tested | Not yet tested Details | 2022-06-11 21:36:14 |
| 1.6.1 | stable | Not tested | Not yet tested Details | 2022-06-05 12:58:11 |
| 1.6.0 | stable | Not tested | Not yet tested Details | 2022-04-20 12:22:58 |
| 1.5.0 | stable | Not tested | Not yet tested Details | 2022-04-03 12:22:32 |
| 1.4.0 | stable | Not tested | Not yet tested Details | 2022-03-25 10:48:22 |
| 1.3.0 | stable | Not tested | Not yet tested Details | 2022-01-19 08:03:32 |
| 1.2.0 | stable | Not tested | Not yet tested Details | 2021-12-20 16:01:01 |
| 1.1.0 | stable | Not tested | Not yet tested Details | 2021-11-29 07:51:13 |
| 1.0.0 | stable | Not tested | Not yet tested Details | 2021-11-29 07:48:56 |
Requires 4
| Package | Constraint |
|---|---|
| illuminate/support | ^10.48 |
| magento/framework | * |
| magewirephp/validation | ^1.0 |
| php | >=8.2 |
Requires-dev 4
| Package | Constraint |
|---|---|
| captainhook/captainhook | ^5.25 |
| captainhook/hook-installer | ^1.0 |
| magewirephp/portman | ^0.5.10 |
| ramsey/conventional-commits | ^1.6 |
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 | 2586 | 41 errors, 2545 warnings (ruleset: Magento2) — 759 auto-fixable with phpcbf |
| PHPMD | Warning | 14 | 14 rule violations (UnusedFormalParameter:7, UndefinedVariable:4, TooManyPublicMethods:2, EmptyCatchBlock:1) |
| Cpd | Warning | 54 | 54 duplicated chunks spanning 4051 total lines (min-lines=5, min-tokens=70) |
| 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.
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.
