Before making any major change in your Habari installation, it would be prudent to create a backup of your database and your installation, in particular all the files in your Habari /user directory. The /user directory should contain all files which you have customized - plugins you have installed, themes you have installed, class files you may have modified, or locale files you have installed.
Version 0.6 incorporates many changes from the previous version, both in bug fixes and new features. For details see the release notes.
Habari's upgrade process is designed to be transparent, with the only indication that an upgrade is happening being a slightly longer page load time the first time the site is visited after the software is updated.
One major change that affects the upgrade process in this release is in how Habari stores it's configuration details. Habari 0.5.2 and earlier stored site configuration details in global variables. Habari 0.6 marks the move to using a config class, so the variables aren't globally available, a change that was made to improve security. These details are stored in the site's config.php file, which is located either in the root of the site's directory, or, for multisite users, in Habari's /user/sites/site_name directory.
For users who have left their config.php file writable, the necessary changes to the configuration file will be handled by the upgrade process transparently. For users who have made their configuration file read only, some manual changes will have to be made before the upgrade process can begin.
The config.php file for Habari version 0.5.2 and below looks like this:
For MySQL
<?php
$db_connection= array(
'connection_string'=>'mysql:host={$db_host};dbname={$db_schema}',
'username'=>'{$db_user}',
'password'=>'{$db_pass}',
'prefix'=>'{$table_prefix}'
);
?>
For SQLite
<?php
$db_connection= array(
'connection_string'=>'sqlite:{$db_file}',
'username'=>'',
'password'=>'',
'prefix'=>'{$table_prefix}'
);
?>
With version 0.6 and forward the config file looks like this:
For MySQL
<?php
Config::set( 'db_connection', array(
'connection_string'=>'mysql:host={$db_host};dbname={$db_schema}',
'username'=>'{$db_user}',
'password'=>'{$db_pass}',
'prefix'=>'{$table_prefix}'
));
?>
For SQLite
<?php
Config::set( 'db_connection', array(
'connection_string'=>'sqlite:{$db_file}',
'username'=>'',
'password'=>'',
'prefix'=>'{$table_prefix}'
));
?>
The easiest thing to do is, before upgrading, make the configuration file writable. Perform the upgrade, then make the file read only again.
If you don't wish to do that, open the configuration file in a text editor and make the changes shown above, save your changes, then navigate to your site so the upgrade process can proceed.
For specific upgrade instructions for earlier versions of Habari, see the full upgrade notes on the wiki.