Upgrade

Source
There are two methods to upgrade FusionPBX source.

1. Menu -> System -> Upgrade (doesn't update all files) Used to update FusionPBX to the latest release.

2. Subversion (currently the preferred method to use) Login to the FusionPBX web inteface. <== note this is critical or you may not be able to do update schema afterward

Login to the console, navigate to the fusionpbx directory:

svn update

Database
Login as a user that is a member of the super admin group. Then run Advanced -> Upgrade Schema which will ensure that your database structure is correct.

http://domain_or_ip/core/upgrade/upgrade_schema.php

Menu
Now update the menu to the latest version.

http://domain_or_ip/core/menu/menu_list.php

Press 'Restore Default'

SQLite Database Restore
You shouldn't need to do this, and it's probably the wrong thing to do, but if your database won't load after an upgrade...

Synopsis of what happened [to me]
You're probably seeing an error like this: (Fatal error: Call to a member function execute on a non-object in /var/www/fusionpbx/includes/menu.php on line 76)
 * 1) You were not logged into the browser interface
 * 2) You updated from svn via CLI
 * 3) You went to login to run upgrade->Schema, but couldn't due to some changes.

Remedy
mv /var/www/fusionpbx /var/www/fusionpbx.bak reinstall the lastest fusionpbx...
 * from cli:
 * if you are using svn checkout make sure you set the permissions correctly on the fusionpbx directory structure before proceeding to the next step

login via the gui, complete the install... Don't log out cd /var/www/fusionpbx/secure mv fusionpbx.db fusionpbx.db.new cp /var/www/fusionpbx.bak/secure/fusionpbx.db ./ chown www-data:www-data fusionpbx.db   (or whatever your webserver user/grp is) go to: http://domain_or_ip/core/upgrade/upgrade_schema.php This should fix the database. You will need to have FusionPBX recreate all of the FreeSWITCH xml files. When you reinstalled, they were properly deleted (the database was empty at that point). Edit an extension/gateway/route/etc, and click save (you won't need to edit it).
 * from browser
 * back to cli
 * from browser

In the future
Make sure you're logged into the browser interface before doing an upgrade...