About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools

Warning: This page has not been updated in over over a year and may be outdated or deprecated.

Useful Git Branches

The VuFind® project uses Git to manage development. This page describes our branching strategies.

Key Branches and Tags

Mainline VuFind® development takes place in the “dev” branch. If you want “bleeding edge” code slated for the next planned release, this is the branch you should use.

If work begins on a major release while a minor release is still being worked on in “dev,” a “dev-x.y” branch (e.g. “dev-8.0”) may be created to allow future development to begin without interfering with nearer-future work.

Whenever a major or minor release is issued, a maintenance branch is created so that bug fixes can be applied as needed. These maintenance branches are named “release-x.y” – for example, “release-6.1” or “release-7.0”. Note that patch releases do not get separate release branches, because we do not apply bug fixes against specific patch releases; we instead simply continue the “minor” release line. Every release receives a tag starting with “v” and the version number (e.g. “v6.1.2” or “v7.0”).


  • If you want the latest bleeding-edge code being prepared for the next scheduled release, use the “dev” branch.
  • If you want a preview of a future major release, you may be able to find a “dev-x.y” branch.
  • If you want the latest bug fixes for a particular major or minor release, use the matching “release-x.y” branch.
  • If you want to get an exact release from a specific point in time, use the “vx.y.z” tag.

Other Branches

Some features are not available in the core VuFind® distribution, either because they have been deprecated, because they have not been released yet, or because the VuFind® team has not yet committed to maintaining them in the long term. These features are maintained in separate branches in the VuFind® GitHub repository and may be merged in manually if they meet your local needs.

Feature Branches

Features that may be useful but which the core VuFind® team is not yet ready to fully support are given feature branches.

Legacy Branches

Features that have been deprecated and removed from dev are given “legacy” branches where volunteers are free to keep them up to date with dev if they need to do so. Feel free to issue pull requests against the legacy branches if you wish to help keep them up to date.

  • legacy/amazon - This contains Amazon cover and review plugins, which were removed in VuFind® 7.0.
  • legacy/blueprint - This contains the Blueprint theme, which was VuFind® 2's default theme until release 2.4. It was removed prior to release 2.5.
  • legacy/bootstrap - This contains the Bootstrap 2 based themes that was released as an experimental beta prior to the official inclusion of the current bootstrap3/bootprint3 themes. These were removed prior to release 2.4.
  • legacy/bundled-dependencies - This contains a vendor directory committed into the repository, representing the old strategy (before we switched to requiring use of Composer). This branch can be used to continue to maintain this approach if a need arises.
  • legacy/clavius - Contains the ClaviusSQL ILS driver (no longer maintained).
  • legacy/google-maps - This contains the Google Maps geographic functionality that was removed prior to release 4.0.
  • legacy/jquerymobile - This contains the jQueryMobile-based theme that was removed prior to release 4.0.
  • legacy/lbs4, legacy/lbs4-daia - Contains two different versions of the LBS4 ILS driver (one that uses all native database calls, and one which delegates some work to DAIA); both are no longer supported due to lack of sybase support in PHP 7+, but could be rebuilt with PDO if demand existed.
  • legacy/mink-autoretry - This contains the test suite logic to retry failed Mink tests, which was removed due to incompatibility with PHPUnit 10.
  • legacy/nojs-cart - This contains the non-Javascript version of cart add/remove that was eliminated in release 9.0 to simplify code.
  • legacy/sierra - Contains the original database-driven Sierra ILS driver that was removed in VuFind® 9.0 (use of the more up-to-date SierraRest driver is strongly encouraged).
  • legacy/stats - Contains the built-in statistics module that was removed in VuFind® 4.0 in favor of external services.
  • legacy/vudl - Contains the legacy VuDL code that Villanova was using prior to the adoption of the Universal Viewer.
development/git-branches.txt · Last modified: 2024/02/05 13:59 by demiankatz