Project Filelist for FusionForge
File Release Notes and Changelog
Release Name: 5.0
FusionForge 5.0 is still an incremental step over 4.8, but many changes have been made, some of which may require caution when upgrading. In particular, the rewriting of the version control subsystem created the possibility for many new VCS tools to be integrated, and indeed several new plugins were implemented (Arch, Bazaar, Darcs, Git and Mercurial). To avoid crowding the chroot, all repositories are now hosted under a two-level subdirectory structure. For instance, where you had a CVS repositories stored under /var/lib/gforge/chroot/cvsroot/<project>, you'll now have it under .../chroot/scmrepos/cvs/<project>. As a consequence, you need to move the repositories by hand and/or add symlinks. Previously existing symlinks will also have to be updated, as well as previously existing working copies obtained by users. Also, the Mediawiki plugin was rewritten to allow for each project to get their own independent wiki. The wiki for project foo-bar is now stored in the plugin_mediakiki_foo_bar in the same database as the rest of the forge. This means the data should be migrated from the existing database to this new location. Depending on your setup and the amount of data involved, it might make sense to either cut and paste by hand or dump the tables and reload them in the new schema. On the internal side of things, access to the database has been converted from the db_query() abstraction layer to the db_query_params() one. This means SQL queries are no longer built as strings with unwieldy and fragile escaping code, while ensuring no data coming from the user can be used for SQL injection attacks. The db_query() function, while deprecated, is still present for the benefit of out-of-tree code that might use it. It might be removed at some point in the future, so maintainers of local plugins or enhancements are encouraged to migrate their code to db_query_params(). For really complex queries that need to be built dynamically, there's also a db_query_qpa() abstraction, with a db_construct_qpa() method to manipulate "QPA" (query+params array) objects. On a more visible note, the default theme has been reworked to increase the accessibility of the web pages; this rewrite also brings better maintainability, easier customisation by CSS and more conformant XHTML.