Thanks to Jeff Geerling, you can now easily run Phergie v2 on Ansible in about 3 minutes, even on a Raspberry Pi with Raspbian if you like. Check out the profile and role (complete with a GitHub repository). Thank for your contribution, Jeff!
The foundational packages for Phergie 3 have firmed up and we expect to have an initial development release of a full-featured bot implementation in the coming months. Stay tuned for further developments.
- Updated nick parsing to conform to RFC 2812 (elazar)
- Fixed crash on encountering malformed CTCP messages (elazar)
- Added support for CTCP ACTION requests and responses (elazar)
- Updated WriteStream to support CTCP ACTION requests and responses (stil)
- Expanded unit tests to achieve 100% coverage (elazar)
- Improved documentation (elazar)
- Refactored connection and event handling (elazar)
- Added support for one-time and recurring timed events (elazar)
- Improved connection error handling (elazar)
- PHP 5.5 was added to all project Travis CI configurations
We love our contributors! Many thanks to those without whom these releases would not have been possible.
- stil has frequently submitted issue reports, pull requests, and inspiration for new features
- igorw has kept an eye on our use of React libraries and guided us towards optimal approaches
There have been a few months of quiet on this site, but we’ve been working toward getting our foundational packages for Phergie 3 stable and continuing work toward a full-featured bot. Stay tuned for further developments.
- Fixed issues with parsing of prefix hostnames (elazar)
- Fixed parsing of messages with an undemarcated trailing parameter (elazar)
- Added Composer vendor directory to .gitignore (julien-c)
- Fixed typo in README example code (chrisbarr)
- Fixed overly general filtering of optional parameters from generated commands (elazar)
- Added default values for servername and hostname per RFC 2812 (elazar)
- Add an easily configurable bot runner to phergie-irc-client-react
- Complete unit tests for phergie-irc-client-react
- Create a plugin system that integrates with phergie-irc-client-react
- The ACTION CTCP command is now supported (henriwatson).
- Nick parameters containing underscores are now parsed correctly per RFC 2818 Section 2.3.1 (henriwatson).
- Parameter parsing will fall back to being more relaxed in cases where the trailing parameter is not prefixed with a colon (elazar).
- Response parameters are now parsed (elazar).
Following our last post regarding the new phergie-irc-parser project, we’re happy to announce that the second Phergie sub-project, phergie-irc-generator, is now available. This sub-project provides a fairly fast and easy-to-use PHP-based library for programmatically generating messages conforming to the IRC protocol. You can find the source code for it on GitHub and it is available on Packagist as well.
This project has sadly not received as much attention over the last year as in past years. We were hoping to get into a more regular release cycle, but it’s been more than a year since the last release. We are, however, hoping to get 2.2.0 out within the year.
A few maintenance releases may follow 2.2.0, but not long after that the 2.x branch of Phergie will reach EOL. Following the 2.2.0 release, efforts will be focused on Phergie 3, which will entail a number of changes we’re very excited about.
- We will be splitting the project into multiple sub-projects, following suit with projects like PHPUnit and Zend Framework. Sub-projects will have their own repositories under the umbrella of the Phergie GitHub organization.
- We will move to requiring PHP 5.3 or higher for most or all sub-projects. All new code will use PHP namespaces.
- We will make sub-projects reusable by other projects. To that end, we will be supporting use of Composer and publishing sub-projects on Packagist.
- We will integrate existing projects where possible. In particular, we’re looking at using React for the daemon portion of Phergie 3.
- We will maintain continuous integration using Travis CI.
- We will implement a low-friction process for contributing to documentation likely using either GitHub’s pages or wiki features.
We’re happy to announce the first Phergie sub-project, phergie-irc-parser. This sub-project provides a fairly fast and easy-to-use PHP-based parser for streams of data conforming to the IRC protocol. You can find the source code for it on GitHub and it is on Packagist as well.
We hope to have more announcements soon. Stay tuned!
Alex Mace gave a presentation at a recent PHPWM user group meeting on Phergie and the XMPP driver he’s been developing for her. It’s a great quick high-level overview of Phergie’s history and architecture and Alex’s experiences in implementing the XMPP driver. Go check it out!
After over 11 months — trust us, we don’t want to go that long without a release ever again — Phergie 2.1.0 is now available. You can read about the many bug fixes and new additions in this release on the Changelog page. This release sports several new plugins, a number of new plugin features and updates, numerous bug fixes, and a few unit test and coding standard compliance improvements. As always, our thanks go out to all of our users and contributors for their help in making the Phergie project a continued success!
Until now, the main GitHub repository for the Phergie project had been kept under a single user account at http://github.com/elazar/phergie. It has been transferred to an organization on GitHub. The new repo address is http://github.com/phergie/phergie.
There are a few reasons for this transfer:
- A new core team will be given merge rights to streamline acceptance of contributions where it was previously limited by the availability of a single developer.
- Eventually, plugins and other sub-projects can be split off into their own repositories within the same organization to be developed independently from the main project and to allow more fine-grained grants of merge rights.
Any pull requests and issues should be directed to the transferred repository. Any existing clones of the original repository will need to have their upstream remotes updated to point to the new location. This can be done using the following command:
git remote set-url upstream git://github.com/phergie/phergie.git
Any questions about this change can be directed to the #phergie IRC channel on Freenode or in a comment on this post.
Anthony Wlodarski has posted an example of an Upstart script he wrote to easily start, stop, and restart Phergie. The script source is open and freely available. Thanks to Anthony for taking the time to write up, publish, and tell us about his blog post on this neat method of controlling Phergie.