There’s a known issue with the Phergie 2.0.3 release that prevents some events from being processed. This is due to three circumstances:
- Human error – In an effort to push the release out more quickly to replace the existing Phergie 1.x installation on Freenode with a 2.x instance, this issue was simply overlooked and somehow didn’t present itself distinctly during rudimentary testing. This was a big mistake on our part and we apologize to any affected users.
- Lack of sufficient unit testing – This is something we’re working on. However, the problem was actually with two Phergie core components that had full code coverage. This shows that, while code coverage can be useful to expose blocks of code that are definitely not covered by any tests, don’t assume code is fully covered simply because code coverage says it is.
- Unexpected behavior – What appears to be a bug in PHP itself, specifically in the FilterIterator class, contributed to the problem. Oddly, this class also appears to have full code coverage, affirming the related point above.
For those users affected, there are two options for dealing with this issue pending the next release.
- Downgrade to Phergie 2.0.2 – Not ideal, but that release was relatively stable.
- Patch 2.0.3 – The patch is in the git repository if you’d like to apply the patch to fix the issue yourself.
- Run Phergie bleeding edge – This is done by cloning the git repository, placing your settings file on the same level as the Phergie directory, and running the phergie.php script there.
We’re hoping to make another release within the next couple of weeks.