The New Myth family: SprintPHP Bonfire Practical CodeIgniter 3

New Myth Media Blog

Serving the New Myth Media Family.

Practical CodeIgniter 3 Released

My new book about making the most of CodeIgniter 3 is out in Early Access!

Posts Filed Under “Bonfire”

First, I've released another round of bug fixes for Bonfire:

  • 0.7.6 includes CodeIgniter 2.2.3, but allows you to use CI 3.x; this release is intended primarily to support sites built on CI v2.x which are being migrated to CI3.
  • 0.8.2 includes CodeIgniter 3.0, but allows you to use CI 2.x; this release is intended primarily for new sites or those which have already been migrated to CI3.

Other than the default version of CodeIgniter included, there are only a small number of differences between the two versions of Bonfire.

Notes on Bonfire's Branches on GitHub

This may be confusing for some users, but, in order to continue supporting 0.7.x and 0.8.x while developing future versions of Bonfire, I've added some branches in GitHub:

  • Development branches:
    • 0.7-dev - The development branch for 0.7.x
    • 0.8-dev - The development branch for 0.8.x
    • develop - The development branch for v0.9+
  • Release branches:
    • 0.7.6 - The current 0.7.x release
    • master - The current 0.8.x release (0.8.2)

This leads to a couple more announcements...

Bonfire Plans

Minimum PHP Version

As previously requested, a few users have provided feedback regarding the minimum version of PHP used in Bonfire. Given the current feedback, I've moved the develop (v0.9+) branch to a minimum PHP version of 5.4. Moving to 5.5 is currently planned for Summer 2016.

The 0.7.x and 0.8.x branches will remain at a minimum PHP version of 5.3.

Feature Freeze on 0.7.x and 0.8.x

The 0.7-dev and 0.8-dev branches are now bugfix-only branches. While this is not quite as strict as CodeIgniter's status on the 2.x branch (which currently receives only security fixes), there will be no new features or major code changes in the 0.7.x and 0.8.x lines.

Versions 0.7.x and 0.8.x will continue receiving bug fixes until October 31, 2015 (the EOL date for CI2). After that, 0.8.x will continue receiving bug fixes, but 0.7.x will end. If there's no demand for continued support of PHP 5.3, I'll probably close out 0.8.x by the end of the year.

v0.9+

The develop branch (0.9+) will start removing support for CI2 and code deprecated before 0.7.4/0.8.0. I'm also hoping that we can start making it easier to replace Bootstrap v2.x on the admin pages, eventually allowing the bootstrap3 branch to be merged and/or go away.

As usual, I have a lot of plans for Bonfire's future, and I'm happy to see that people continue to try it out and come forward with new bug reports and ideas for new features.

Over at GitHub, I've opened an issue regarding increasing the minimum PHP version for the 1.0 release of Bonfire. We're interested in finding out what version of PHP everyone out there is currently using, especially those of you who might have less control over the PHP version run on your server(s).

https://github.com/ci-bonfire/Bonfire/issues/1140

It has been over two years, and three hundred thirty issues have been opened in our GitHub repository, since we upgraded the minimum version of PHP for Bonfire to 5.3. At this time, we're considering upgrading to 5.4 for the 1.0 release (so 0.7.x and 0.8.x will be unaffected), and probably moving to 5.5 after another 6-12 months.

Further details regarding the benefits and ramifications of the upgrade can be found over at GitHub.

Thanks for your help in this matter and continued support,

  • Mat Whitney

The short version (all dates tentative):

  • 0.7.4 by June 11th, 2015
  • 0.8 by June 12th, 2015
  • 1.0 by January 1st, 2016

The long version:

I am currently planning to release Bonfire 0.7.4 next week. This is intended to be the last release which ships with CodeIgniter 2.x. While the release will go into the master branch on GitHub initially, I will create an additional branch to hold this release for those users who still need a CI2 release of Bonfire in the future (and there may be future 0.7.x releases to keep CI2 in synch, as needed). Of course, since CI2 itself will only be receiving security updates through October, it is highly recommended that everyone using Bonfire make an effort to move to CI3.

With that in mind, Bonfire 0.8 will also be released next week. Bonfire 0.8 will continue to support CI2, but will ship with CI 3.x installed and enabled by default. The process for using CI2 in Bonfire 0.8 will be similar to the process for using CI3 in Bonfire 0.7, and the documentation will be updated to include that process.

Sometime after CI2 reaches end of life, I will go through a similar process to create a support branch for 0.8 (for those people transitioning their sites from CI2), and start working on a 1.0 release for Bonfire, which will drop support for CI2. This will remove some of the extra code which currently allows Bonfire to support both CI2 and 3, though some things (like the bcDirectoryMap function in the BF_directory_helper) may remain longer than others.

Thanks for your continued support and interest in Bonfire.

  • Mat Whitney

Thanks to the help of some issue reports on GitHub and a focused effort on testing the Bonfire core with CodeIgniter v3.0, I'm announcing the release of Bonfire v0.7.3. This release drastically improves the functionality of Bonfire when used with CodeIgniter v3.x.

At this point, I believe Bonfire is ready for real-world use with CI3. Since I intend to start testing integration of my own site with CI3 using this release, fixes for any bugs I find or which are reported for this release will go into v0.7.4.

At this time, I intend for the future v0.7.4 release to be the last release which ships with CI2 installed and running by default. While I intend to support using CI2 in the v0.8.x line, it will require some extra steps to get things working, similar to those currently required for CI3.

I'd like to thank everyone for their patience regarding the lack of progress in other areas of Bonfire during this period of transition to CI3.

On April 10th, CodeIgniter 2's EOL date was set for October 31st, 2015.

I was expecting the EOL date to be a little further out, but I think it's a workable timeframe for Bonfire. Given this, and having released Bonfire 0.7.2 (also on April 10th), I am expecting to spend the time until then working on issues with CI 3 support. Pull requests and issue reports will still be welcome for all areas of Bonfire, but I only expect to have one more release of Bonfire (0.7.3) with CI 2 support. After the EOL date (October 31st, 2015), CI 2 support in Bonfire is expected to be deprecated.

After the 0.7.3 release, I will bump the version to 0.8.0 (or should it be 1.0.0? I think that version number has some implications beyond what I wish to imply, but 0.7 to 0.8 doesn't seem like enough). At that time, I will start removing those CI2 compatibility measures which have the largest impact on performance (the most obvious of which would be to enforce the CI3 filename standards). I will also switch the default $system_path to load CI3, include CI3 in the download, and remove all CI2 files except those which have been modified for use in Bonfire. So, in the next version after 0.7.3, the process for using CI2 will be similar to the current process for using CI3: filenames will have to be fixed for CI3 compatibility, CI2 will have to be downloaded separately, and the $system_path will have to be changed to point to CI2.

As Sprint and Bonfire-Next mature, the direction of Bonfire will likely move towards creating an migration path to those platforms. For now, though, my priority is to ensure that Bonfire is still available on a stable, supported base for both existing sites (including my own) and new development.

-- Mat Whitney