Table of Contents
Useful Git 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.
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.
Features that may be useful but which the core VuFind® team is not yet ready to fully support are given feature branches.
- feature/consume-whitespace - This adds a post-processor to allow templates to include a special tag for consuming whitespace (submitted via pull request #2374). It was not adopted as a core feature but may be useful in the future.
- feature/foundation5 - This adds a new theme based on the Foundation framework. See the Foundation5 Theme page for details.
- feature/heroku - This adds experimental support for running VuFind® on Heroku. Not all features are supported. See #913 for details.
- feature/text-only-theme - A stripped-down, text-only theme for extreme bandwidth situations. Inspired by https://text.npr.org/.
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/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.