V3.0.0 released with Magento 2.3 support

We released a new major version of n98-magerun2.
Why a new major version? We dropped the official support for Magento 2.0 which is already end of life. We also decided to drop support for PHP 5.6 which will also be end of life to the end of the year. More informations can be found in our previous post.

No official support means that we do not test anything anymore to be compatible with Magento 2.0. Maybe the most of the tool can run in this old version but we will not fix anything. If you need support for Magento 2.0, please install the latest compatible version 2.3.3. All old phar files can be found in our release archive.

Please not that the recommended way to use n98-magerun2 is by executing a phar file. We know that the installation by composer is not working. This will be harder with every new Magento 2 release where we have to be compatible with different dependencies (e.g. Symfony Components).


  • Compatibility to Magento 2.3.0
  • Refactoring of Application class
  • Fix: #411 create customer store id
  • Removed official support for Magento 2.0.x
  • Removed support for PHP 5.6

End Of Life Magento 2.0 and PHP 5.6

With the next major release of n98-magerun2 we will drop our official support of old Magento 2.0.x instances. This does not mean that n98-magerun2 will not work anymore. Our version archive contains all old n98-magerun2 release. Feel free to use the latest compatible phar file for your old shop (
We also drop support of the old PHP versions 5.5 and 5.6.

Why do you drop the support?

It is more and more difficult to provide a compatible n98-magerun2 version for the up to date Magento versions. With every new release of Magento 2 the number of used third party dependencies of the Magento 2 Core and n98-magerun2 has to be checked. This is not possible anymore, because Magento 2 will constantly upgrading the dependencies (which is is a must have). If we do not drop the support for old Magento versions we are not able to provide a working version. Unlike Magento 1, the speed of development of Magento 2 is much higher.

Another point is, that we do not want to provide support for end of life software. End of life means that there is not more active security patch support for the used software. As shop owners and developers we should try to upgrade our e-commerce software constantly. We know that this is not easy, but we must! We are all responsible that the Magento platform is safe for the buying customers.


The next version of n98-magerun2 will be refactored in the way we detect Magento versions. This means that the software will have a reorganized Application class.
The Travis Setup will be more clear:

As you can see, see main program is running as well in our development branch. At the moment we have to fix some incompatibilities between different used Symfony components.

Stay tuned…


n98-magerun2 V2.3.0 released

Second release this week. After the M1 version, we release also a new version for Magento 2.


  • Add CE 2.2.6 and 2.1.15 (by Bono de Visser)
  • Add CE 2.1.14, 2.2.5 (by Marc)
  • Add to the stripped db dump command the dotmailer group with email sensitive data (by Calin Dumitrescu)
  • Additional enterprise-only tables missing from the table group configuration (by Matthew O’Loughlin)
  • Emulation-Mode not needed after set current area. This resolves #245 on empty cache (by Julian Wundrak)
  • Homebrew php tap is deprecated (by Anton Evers)
  • Updated docs (by kolaente)
  • Implemented option to create git friendly dumps / resolves #386 (by kolaente)
  • Update readme with dotmailer group (by Calin Dumitrescu)
  • Update README (by Daniël van der Linden)
  • Strip company_* tables for the Commerce B2B extension when using @customers (by Daniël van der Linden)
  • Update readme.rst (by Leandro F. L)
  • Fix: #377 sys:cron:run – translation is not loaded (by Christian Münch)
  • Fix: #381 Area code not set (by Christian Münch)
  • Fix: #302 Replace n98-magerun.phar witg n98-magerun2.phar Christian Münch)
  • Fix: #388 Add correct default for –add-time option (by Christian Münch)


With the next release we will try to bring compatibility to the upcoming Magento 2.3.0 version.


n98-magerun v1.102.0 released

A new release for the Magento 1 version is available. The new release provides the installer for the latest Magento versions.

We also added PHP 7.2 syntax check to the travis build pipeline to be prepared for the next Magento 1 release which will be read for PHP 7.2 out of the box.

Please note that we removed “mcrypt”  from list of required PHP modules. This is also needed to be prepared for PHP 7.2. If you are only using older PHP versions you can re-add the check by creating a .n98-magerun.yaml in your home directory with this content:


  • New: Magento (by Bono de Visser, #997)
  • New: Magento (by Joel Lupfer, #999)
  • New: dry-run flag for self-update command (port of M2 project)
  • Add openmage-lts to installable versions (by Daniel Fahlke, #1005)
  • Fix: Avoid stripping newsletter templates when stripping subscribers (by Scott Buchanan, #993)
  • Fix: Remove obsolete global DB env variabe (by Daniel Ruf, #988)
  • Imp: Add database setting to travis test matrix (by Daniel Ruf, #986)

n98-magerun2 V2.2.0 released

A new n98-magerun2 release is available.


  • Add –dry-run option to self-update command (by Christian Münch)
  • Added downloads: CE 2.1.12, 2.1.13, 2.2.3 & 2.2.4 (by Marc)
  • Fix db:dump “@sessions” table group (by Tjerk Ameel)
  • Fix: db:dump fixed table-group @customer (by Matthias Herold)
  • Cache type parameter documentation for cache:flush (by Sebastian Lechte)
  • Add types parameter to cache:flush (like on cache:clean) (by Jonas Huenig)
  • Correct –forceUseDb help description (by Stephan Hochdörfer)
  • Remove used use statement as reported by php-cs-fixer (by Stephan Hochdörfer)
  • Add option to force Composer to use same PHP binary (by Stephan Hochdörfer)
  • cache:clean > fixing help message (by Rafael Corrêa Gomes)
  • Fix issue #333 – dev:template-hints not working with Magento 2.2.0 (by Christian Münch)
  • Added additional tables to “search” table-group (by Erfan)
  • Reverted composer/composer constraint to v1.0 (by Pieter Hoste)
  • Unstripping “authorization*” in db:dump (by Edward Simpson)
  • Fix grammar in readme by (Erik Hansen)

n98-magerun v1.101.0 released

We published a new version of Magento 1 Version of n98-magerun.


  • Fix: Typo in config:get command (by Ari Molzer, #958)
  • New: Meta generator for phpstorm > 2016.1 (by Guillaume Gill, #965)
  • Imp: Option to schedule cron in magento crontab instead of running with current user (by Guillaume Gill, #966)
  • New: Add current Magento version (by Brad Berger, #967)
  • Imp: Support for multi module decleration in module:enable command (by Peter O’Callaghan, #969)
  • Imp: Ability to import db from STDIN (by Peter O’Callaghan, #970)
  • Imp: Add Magento-Root to sys:info command (by Christian Münch)



n98-magerun2 v2.1.1 released

A new version of n98-magerun2 for Magento 2 is released.

The new release contains improvements and fixes and one new command to change the password of a customer.

  • Imp: Polish code – Comvert array syntax and corrected docblocks (by Christian Münch)
  • Fix: Fixed running cronjobs configured in database, scheduled imports for example (by Johan Spoelstra)
  • New: Add customer:change-password command (by Christian Münch)
  • Imp: Add requirements for Magento 2.2 / make:module in dev:console (by Christian Münch)
  • Fix: Fix version for Magento CE 2.1.10 download (by Mystix)
  • Fix: Ignore the public folder when gathering the magerun scripts (by Mark Simon)
  • Imp: Add 2.2.1 + 2.1.10 to install command (by Alexander Menk, #335)
  • Imp: Add Magento-Root to sys:info command (by Christian Münch)
  • Imp: Magento keys are now found in Magento Marketplace (by Jonas Hünig. #325)
  • Fix: Fix bash autocompletion, fixes (Tom Klingenberg, Floddy, #331)

Phive support for n98-magerun

With the growing number of Composer packages in the PHP Universe, we have more integrations. On the downside, we get more and more version conflicts. n98-magerun, especially Version 2, has to to deal with a wide range of dependencies. One of the advantages of n98-magerun is that you are able to manage multiple Magento versions with only one tool installation. This means that we as maintainer have to support various different Magento dependencies at once. Maybe this is not anymore possible in the future, according to unresolvable conflicts with new Magento dependencies.

This is one of the purposes that we recommend the use of the .phar distribution over of a Composer installation. Other tools have similar problems. That is why Phive was created.

What is Phive

Phive is a tool manage tool distributed as phar file. Have a look on to see a list of popular tools like PHPUnit, PHPStan, phpDoc etc. which can easily be installed with Phive.

New in the list of available tools is “n98-magerun” and “n98-magerun2”.

How does this works?

First, you install Phive on your machine.

Now you can install n98-magerun with Phive in your Project.

phive install n98-magerun
Phive downloads the .phar file and puts it under ~/.phive. In the project only a symlink will be generated. It is also possible to install different versions of one tool. Every project can have it’s own tool dependencies.

Phive creates a “phive.xml” file in your project root directory. In this file you can specify version contraint similar to composer’s contraints for the targeted tools.


For a good security, all phar files are checked against a GPG key. We added support for GPG Signature checks to our files.

On our download site, we provide the SHA-256 and the GPG Signature to verify the download manually. If you download with Phive, GPG verification is already included.

To download the GPG signature manually, add “.asc” to the download URL of the phar file.



GPG Signature:

A verification can be done with this script:

We hope you like the new additional way to download n98-magerun 1/2.

Have fun!



Version 2.0.0 released / Magento 2.2 Compatibility

After we published the 100. Feature Release for the Magento 1 version we also provide a new version for Magento 2.

Renamed Config Commands

Magento 2.2 comes with a new config:set command. This conflicts with the n98-magerun2 config:set command. We decided to rename our command to be compatible with Magento 2.2. The commands have a new namespace.

As in a previous post announced, we deliver a major break in this new version. That’s why we increase the major version number to 2.

config:set -> config:store:set
config:get -> config:store:get
config:delete -> config:store:delete

Magento 2.2 Compatibility

Magento 2.2 comes with updated 3rd party dependencies. This means that n98-magerun2 has to deal with old dependencies for old and new dependencies, because we deliver one phar file for every store.

One of the main issues was the new PHPUnit 6 Framework upgrade of Magento 2.2. This caused a lot of issues in the autoloading.

This issues were the purpose for the delayed release. The solution was very complex. We replaced the core Autoloader of Magento with an own Autoloader Decorator which implements the \Magento\Framework\Autoload\AutoloaderInterfaceof Magento.

The Autoload Decorator is delegating calls to the n98-magerun2 Composer Autoloader. If a class cannot be fulfilled by n98-magerun2, it fallbacks to the original Magento Autoloader.

Here are some of my tweet on the way to provide compatibility.

The generation:flush command respects now the changed path for generated classes.

New Commands

The new release comes with new commands.

media:dump Command

Dump the content of “pub/media” in a zip file. This is useful to share product and “wysiwyg” images between instances. It can be used to backup media data or to provide this data on developer machines.

The media:dump command comes with a handy strip option to exclude the product image cache which reduces the file size tremendously. Thanks to Elias Kotlyar for porting the command.

eav:attribute:remove Command

Simply deletes EAV attributes from database. This command is provided by my colleague Jürgen Thelen.


We deliver a bunch of improvements with the new release. The db:dump command strips now all “admin tables”. The installer allows now a lot more config values as default. Tom polished the code.

Release Notes / Version 2.0.0

  • Major Break: config:get, config:set, config:delete commands are renamed
    -> config:store:get, config:store:set, config:store:delete (by Christian Münch)
  • New: Command eav:attribute:remove (by Jürgen Thelen, #307)
  • Imp: Strip admin tables (by Max Chadwick, #309)
  • Imp: Updated Magento releases (by Kristof Ringleff, #311)
  • Imp: More config values for install command (by Manuele Menozzi, #312)
  • New: Command media:dump (by Elias Kotlyar, #319)
  • Fix: Undefined index during cronjob execution (by Anton Evers, #201)
  • Imp: Code imrovements (by Tom Klingenberg)
  • Fix: Magento 2.2 Compatibility (by Christian Münch)

Magerun Feature Release 100!

Yes, you read right. We published our 100. release containing new features!
After the first release on 1. August 2012 we constantly published new commands, improvements and bugfixes for you – the Magento Community.

With a very small set of commands we started this project.

Today we ship 124 commands within the n98-magerun.phar file. The file size of the n98-magerun.phar file grows from ~127 KByte to 4,6 MByte.
The first release was not extendable. No module or plugin system was available. Today we have a log of agencies, hosting companies which are very happy with programming interface. An incomplete list of 3rd party extensions related to n98-magerun can be found in the Github Wiki.

Release Notes – Version 1.100.0

• New: db:dump – allow arbitrary mysqldump options (by Brice Burgess, #945)
• strip admin tables (by Max Chadwick, #946)
• New: Add cms:block:list command (by Luke Rodgers, #948)
• New: Add current Magento version (by Simon Sprankel, #951)
• New: config for pre-commit framework (by Christian Münch)
• Fix: Codecov settings (by Christian Münch)
• Imp: Add yaml quoting (by Tom Klingenberg)