Chris Wiegman Chris Wiegman

Kana 0.2.1

This week I updated my WordPress development environment package, Kana, to version 0.2.1. It contains a number of improvements including the following:

  • Heavy refactor of the application to better reflect how its use has evolved as well as to be more performant.
  • Removed the redundant “Commit Hash” from the version command
  • Default “config” command will now list local site values as well as global app configuration values
  • The default PHP version for new installs is now 8.1
  • Assign a random port to bind the database to the host. This allows external DB apps like TablePlus to be able to access the DB directly
  • Add phpMyAdmin to local sites using the phpmyadmin setting or start flag
  • Add initial Linux support
  • Linux version can now be installed via Homebrew and .deb and .rpm files are available on GitHub releases
  • Only install default plugins that aren’t already installed
  • Warn the user (without failing) if a default plugin cannot be installed
  • Using the “name” flag now works with sites that had originally been started with the “–local” flag
  • PHP 8.2 support

Of all of those there are a couple I would really like to call out, the first being initial Linux support. In the past Linux support for a Docker app tended to be much more difficult because so many images failed to properly handle usernames resulting in files that couldn’t easily be read on the host. This is fine for many server applications but entirely breaks developer apps like Kana when the developer can no longer edit many of the files they’re working on without jumping through significant hoops. I’ve spend countless hours rebuilding my own images in the past to solve this but this time the images I’ve been using “just worked” with only a few tweaks to run the appropriate images as the right user. That was so refreshing.

Today Linux users can install Kana via Homebrew which will ensure it remains up to date. As an added bonus you can run it with just Docker Engine on Linux and no manual installation of docker-compose is required. This will help my own work so much as I do more and more from Linux and, I hope, may be of interest to others as well.

The second big call-out in 0.2.0 won’t be as immediately noticeable to users but is, in my opinion, just as important. I’ve rewritten large chunks of Kana to be more performant and easier to maintain and expand in the future. This work meant changing over 1/2 the code in the whole project but has resulted in a leaner application that should work better for users and be easier for me to develop on myself in the future.

Kana is still just getting started. If you’re looking for a simple, usable WordPress development environment for Mac or Linux I do recommend giving it a shot. It just might change the way you work on WordPress.