Released n98-magerun2 version 1.1.5

With the release of Magento CE 2.0.4 out the door, a new maintenance release of N98-Magerun2 is available.

Next to offering a new Magento 2 package, there was probably one noteworthy bug patched for the URL sys-check. The rest of the changelog is merely improvements of the code-base and testing. All Changes are:

  • Fix: #172 Base-URL check on IP addresses (TK)
  • Fix: Whitespace and code-style (TK)
  • Feature: Install command: magento-ce-2.0.4 version (TK)
  • Feature: Extract config-loader (TK)
  • Feature: Add dry-run mode for db:dump (TK)

Some legwork for upcoming features.


Released n98-magerun version 1.97.15

It came to our attention, that the install command in Magerun 1 was missing the latest release from the beginning of the month. After finding out, this was quickly addressed with the 1.97.15 release.


Released n98-magerun version 1.97.12

Looks like we were too busy to update Magerun in February, so it took a month and quite a half for the next tagged release. And I present you Magerun 1.97.12 for download. We have seen quite some contributions within February and beginning of March which is just great. Please make Magerun your project, we keep updates steadily coming even for the Magento 1 edition, never letting you down 🙂 .

Special mention to Luke Rodgers who made even multiple pull-requests keeping commits flowing in steadily, especially the last days. But whether you provide patches or do reporting and feedback, all contributions are welcome.

The important thing is that you request and talk about what you actually need. Jeroen Boersma for example had an issue executing the base test-case which is part of Magerun when developing an extension. We don’t know what great stuff he is creating 😉 – Even we can’t say if it’s worth sharing (or he ever decides to share anything at all), there was something to fix as he could not run the test-suite for his extension as he wanted to. After some discussion we found a simple way to cover all your bases. I have to admit we even topped existing solutions for that matter, for example Drupal’s. With respect for each others needs, we should strive for the best and with ease. This month he for sure is Mr. Nice Guy for so much care-taking 🙂 .

Framework Pro & Contra

Magerun is a command-line tool that is based on the Symfony 2 CLI components. As with every framework this comes with trade-offs and the like. In the current release I can say we have dealt with both sides of the coin.

For the bad news I personally was tipping into a trap of internal state with the application object and the input and output layer. It was initialized at a later place I expected it to and was testing for previously. Therefore I had to fix some flaws, learning the imposed rules by the application framework – and it was not fixed with the first nor second change-set. I really hope now we were able to cover all bases with fixing the error – you’ll never know until the next report 😉 .

For the good news, I have discovered there are even tools that assist you in generating auto-completion files for the shell. I had integrated bamarni/symfony-console-autocomplete in 1.97.11 already. A bit silently, only the change-log had a small note, but it does a great job.

Executing build/bin/ from the project root will update the auto-complete file(s). Done prior release will provide the latest completion file with each release, which I did this time (lets cross fingers we don’t forget it with the next release).

But there is a problem 🙂 – I only did this for the Bash as I’m using it. So if you’re using Zsh, it should be an easy target as there are templates already with bamarni/symfony-console-autocomplete but you have to do at least some little work for it. Bilal Amarni who maintains it is pretty responsive for such a special interest tool. If you miss anything, don’t forget to file reports upstream as well, but don’t forget to file an issue with Magerun, too. I had some whitespace issues with the templates for example but this was all easy to fix and upstream PR went in smooth and quickly. Just wonderful.

What I liked especially about bamarni/symfony-console-autocomplete is that it generates a static completion file. So Magerun itself is not invoked to provide the auto-completion (when you tab-expand in the shell) as a different package does*1 (invoking PHP, the whole Symfony command line application and Magerun startup then in our case ). This means a better user-experience – at least I say so for me because I really dislike it when I press tab and it feels like it takes ages until the completion is offered. I know that for certain switches and parameters we don’t have context in the completion, but the bash completion now not only has the command names but also switches per command and file-system completion which is a great improvement (!).

So with N98-Magerun 1.97.12 you see auto-completion updates for Bash and if you’re a user of Zsh or Fish (I know there are Magerun users out there with these flavors), it’s worth to take a look to integrate with the automated creation of the completion files. So maybe you can also provide support for it. Better than providing a “manual” update request and to limit changes to Magerun alone, make a difference for every and all Symfony console component based applications (yes, there are some 😉 ). You can even profit from these changes more or less directly for Magerun, too. It’s easy, and if you file an issue with Magerun you’ll get support for integrating this with the automation and the Bamarni’s tool.

*1 The mentioned different package is: stecman/symfony-console-completion


Find available updates for installed modules

The Hypernode team of byte a hosting company in the Netherlands created a very useful n98-magerun plugin to detect outdated modules in your shop.

You can find the plugin on github.

The plugins adds two new command to your command list:

  • sys:modules:list-updates
  • sys:info:patches

The command sys:modules:list-updates command checks your locally installed modules against a list of 500 community modules and prints all module which are outdated.


The other command sys:info:patches prints all not applied official patches.


Thanks Byte for this useful n98-magerun plugin.


Released n98-magerun2 version 1.1.4

Magerun 2 - Best run with Magento 2

You might have already noticed we were a bit late with the Magerun releases for the new Magento releases. It’s busy times in the office with all the new and shiny Magento 2 to teach, learn, read and tinker around. And so many new and shiny things to develop for Magerun 2 🙂 – So finally I can announce we shipped out Magerun 2 version 1.0.4 today which now offers the setup for Magento CE 2.0.1 and 2.0.2.


Released n98-magerun version 1.97.11

As Magento CE has been released some days ago, this is the according Magerun release containing it as a version for the setup command. Thanks again for OpenMage Magento-Mirror for the care-taking.

Next to the Magento update, it yet again comes with some fixes and improvements. And these are some again as we didn’t announce some revisions:

  • #758 Add Magento (by Tom Klingenberg)
  • improved bash autocompletion file (by Tom Klingenberg)
  • #752 Fix install cmd fails using custom PHP binary (by Jacob Siefer)
  • #748 Non-zero exit status with module rewrite conflict (by Steve Robbins)
  • #747 Fix uncaught TypeError in sys:setup:incremental (by Tom Richards)
  • #746 Untry composer required version (by Tom Klingenberg)
  • #746 Try composer required version (reported by Vinai Kopp)
  • #741 Fix remove customer exec dependency (by Tom Klingenberg)
  • #745 Fix Sys:cron:run all marked with [1] (by Christian Münch)
  • Test and code improvements (by Tom Klingenberg)
  • #727 Fix sys:cron:list cron expression display (by Robbie Averill)
  • #736 Fix missing Admin store in dev:template-hints (by Steve Robbins)
  • #733 Fix extenions:search display (by EmPeWe)
  • #732 Fix DB:console unknown variable (reported by robinero)
  • #729 Fix YAML::parse input type (by Dane MacMillan)

And don’t forget: Behind each of those numbers does not only stand a name of who contributed and patched an issue. It’s also you tweeting, blogging, asking and answering questions over at Stackoverflow or doing an issue reporting or just explaining someone else out there how much easier is running your Magento installation with Magerun. Every contribution counts!


Magerun 2.0 is alive!

n98-magerun2 Logo

If you missed it: V2 of n98-magerun dedicated for Magento 2 is here!
We deployed it on November 11 before an exclusive “Stammtisch” after the official Magento 2 release.
As you can imagine we had to fix several issues after the official Magento 2 launch one day before.


Released n98-magerun version 1.97.8

If you’re in the mood: A little cadeaux surprise for under the Christmas tree. Magerun for the legacy Magento 1 is available in a new maintenance and stability release.

Here the listing from the change-log (incl. change from non-announced 1.97.7 release):

  • #727 Fix sys:cron:list cron expression display (by Robbie Averill)
  • #736 Fix missing Admin store in dev:template-hints (by Steve Robbins)
  • #733 Fix extenions:search display (by EmPeWe)
  • #732 Fix DB:console unknown variable (reported by robinero)
  • #729 Fix YAML::parse input type (by Dane MacMillan)
  • #724 Add missing versions from magento-mirror (by Fabrizio Branca)
  • #722 Magento downloads are no longer working from (by Tom Klingenberg)
  • #720 Add Info notice if dev:class:lookup returns a non-existent class (by Robbie Averill)
  • Improve installer magento version switch argument parsing (by Tom Klingenberg)

So keep on reporting if you run into any issues. We changed the updater to HTTPS. Additionally now the PHAR file in Magerun 1 has streamlined timestamps to the last commit thanks to the PHAR Utils library from Jordi Boggiano.


Released n98-magerun version 1.97.6

A new stable version of n98-magerun is available for download containing the download of Magento CE- (thanks again to OpenMage mirror) and a good share of fixes and improvements under the hood.

Patches anyone?

While I have your attention, I’d like to highlight two magerun commands that are just a weeks old but useful helpers for the Magento security patch SUPEE-6788 which also lead to the release.

The two commands dev:template-vars and dev:old-admin-routing are part of MageRun Addons by peterjaap a magerun module which just was a must-have for reviewing and patching stores in the light of SUPEE-6788. Thanks to the great community it’s under constant development.


But back to the magerun release itself. The changes listed here are those from 1.97.6 and as well from not yet explicitly announced versions 1.97.5 and 1.97.4:

  • #704 Fix missing custom cache types (fixed by Jon Acker)
  • #691 Fix PHP 7 forward compat (reported by Yireo, fixed by Tom Klingenberg)
  • #678 Fix sys:maintenance result report (by Wojtek Naruniec)
  • #670 Fix Slow Unit-Tests on Travis (reported by Aydin Hassan, fixed by Tom Klingenberg)
  • #664 Fix GenerateCommand::wrapCdata (by Tom Klingenberg)
  • #669 Fix Magerun2 download instructions (by Pierre du Plessis)
  • #665 Fix Magento announced as (reported by jurgisl)
  • #657 Fix and improve input processing in “local-config:generate” command (by Aydin Hassan)
  • #654 Fix PHP warning in Rewrite command (by Pieter Hoste)
  • #648 Fix FPC cleared – even if not (by Steve Robbins)
  • #643 Fix fatal error in customer:delete (by Tom Klingenberg)
  • #640 Fix db:dump duplicate help (by Alexander Menk)
  • #634 regression in user-interaction (reported by 25thhour, fixed by Tom Klingenberg)
  • Add support for single autoloader files (by Christian Münch)
  • #718 Package magento-mirror- (by Achim Rosenhagen)
  • #698 Add path completion in bash autocomplete (by Chris N)
  • #651 Update symfony dependencies to ~2.3 (by James Halsall)
  • #671 Unit Tests for Uninstall command (by Aydin Hassan)
  • #662 Unit Test for LocalConfigGenerate (by Aydin Hassan)
  • #645 Add fish autocomplete file (by Simon Sprankel)
  • #616 Add db:dump exclude option (by Alexander Menk)
  • Add js and css merging commands (by Simon Sippert)
  • Add cache:dir:flush command (by Tom Klingenberg)
  • Show supported compression values (by Tom Klingenberg)

Released n98-magerun version 1.97.3

A new stable version of n98-magerun is available for download addressing a fatal error and the availability of Magento CE for the install command (thanks  to OpenMage mirror).

The phar file is now compressed with gzip.

It’s recommended for every user of version 1.97.x to upgrade.

If you wonder why some revisions were skipped, this was due to issues with our release process and automated builds. I hope we could have adressed all issues with that and the new version is a worry-free update. If not, please file an issue.


  • Changed phar compression from bzip2 to gzip
  • #627 n98-magerun: command not found (reported by Qbixx, fixed by Tom Klingenberg)
  • #620 cache:disable does not validate code (by Luke Rodgers)
  • Minor fix bumping the revision (by Tom Klingenberg)
  • #630 Magento is out (by Tom Klingenberg)
  • #632 fix of PHP Fatal error: [] operator not supported for strings (by Tom Klingenberg)

You can also find the changes.txt file in the repository.

Build the phar your own

If you would like to build the phar file your own, all you need is to  clone the repostiory and place an executeable copy of composer.phar inside  it. Then review and invoke ./ and a fresh n98-magerun.phar will be build.

You can then change build.xml according to your needs, for example if you would like to try bzip2 compression.