VuFind 6.1.2, 7.0, 7.0.1, 7.0.2 and 7.1

22 Sep 2020

VuFind Change Log

Author Name
Demian Katz
Translated by
Dina Hashim - Knowledgeware Technologies

Release 7.1 - currently in development

New features:

  • Tags can now be applied to user lists as well as resources; this feature is disabled by default (see the listTags setting in config.ini). The ListItems channel provider now has new options to take advantage of list tags for channel selection. See pull request #1645 for details.

  • Facet values can be filtered natively in Solr (by prefix or regular expression) using the new facet_prefix_by_field and facet_matches_by_field settings in facets.ini; see pull request #1694.

  • The XCNCIP2 ILS driver has been significantly revised and improved.

  • If you wish to render a custom template instead of displaying a specific “no cover” image when a cover graphic cannot be found, you can use the useCoverFallbacksOnFail setting in combination with the ajaxcovers setting in config.ini; see pull request #1679.

  • Permissions (and associated permission denied behavior) can now be applied to columns within combined search results. See pull request #1707 for details.

Possible backward compatibility breaks:

  • Image removed. Be sure to run a database upgrade to reflect table changes (see also the database changelog).

  • Image removed. VuFind\Db\Row\UserList now has the VuFind\Tags service as a constructor parameter; in the unlikely case that you have a custom subclass/factory, be sure to adjust it accordingly. See commit 2b05cef for details.

  • Image removed. VuFind\ChannelProvider\ListItems now has the VuFind\Db\Table\ResourceTags table object as a constructor parameter; in the unlikely case that you have a custom subclass/factory, be sure to adjust it accordingly. See pull request #1645 for details.

  • Image removed. The Symfony YAML library has been updated from version 3 to version 4, which has more strict validation rules; if you have custom YAML configurations, you should make sure that they still load correctly, and fix them if they contain errors.

  • Image removed. If you use the XCNCIP2 ILS driver, you should review pull request #1672 and make sure that the changes and fixes there do not conflict with any local customizations.

  • Image removed. The EDS integration now stores search options in the cache; this improves performance and stability by reducing reliance on the API, but it also means that you may need to clear your local cache if you change settings in EBSCO's admin panel.

  • VuFind's Markdown processor (league/commonmark) has been upgraded to version 1.5; this deprecates the “inner_contents” setting for the HeadingPermalink plugin, replacing it with “symbol.” In the unlikely event that you have customized this setting in markdown.ini, you should update its name accordingly.

  • VuFind\Db\Row\UserList::getTags() has been deprecated in favor of VuFind\Db\Row\UserList::getResourceTags(). VuFind\Db\Table\ResourceTags::destroyLinks() has been deprecated in favor of VuFind\Db\Table\ResourceTags::destroyResourceLinks(). The deprecated methods will be removed in VuFind 8.0. See commit 2b05cef for details.



Release 7.0.2 - currently in development

  • Minor bug fix release.

  • Image removed. An incompatibility between content security policy support and the asset pipeline has been resolved. If you are using both features, be sure to set the new asset_pipeline_max_css_import_size setting appropriately and/or adjust your CSP rules. See pull request #1719 for details.

  • Image removed. A fix for the KohaRest ILS driver added a parameter to the constructor, which introduced a change to the corresponding factory; if you have a custom subclass of this driver, minor adjustments may be needed.



Release 7.0.1 - 8/31/2020

  • Minor bug fix release.

  • Includes updates to several dependencies (Laminas components, etc.).

  • Image removed. To fix problems related to IP detection behind a proxy, the allow_forwarded_ips and forwarded_ip_filter settings have been added to config.ini. If you run VuFind behind a proxy and rely on IP detection, you should review these settings (and the related security wiki page) carefully. Some constructor signatures have changed to support this functionality, but backward compatibility breaks are unlikely; see pull request #1681#1682 and #1687 for details.



Release 7.0 - 7/20/2020

New features:

  • Static pages can now be built using Markdown as well as PHP templates.

  • New Content Block plugin: TemplateBased, which allows you to embed a template that will behave similarly to a static pages in terms of supporting internationalization, Markdown, etc.

  • VuFind now supports configurable Content Security Policy headers, for improved security. These default to “report only” mode to avoid breaking existing installations, but administrators are strongly encouraged to turn these to enforcing mode in production.

  • VuFind now supports CAPTCHA plug-ins, maintaining the pre-existing ReCaptcha support while making it possible to use alternative mechanisms for blocking automated agents. See pull request #1574 for additional details.

  • ArchivesSpace integration (support for ingesting Dublin Core records harvested from ArchivesSpace over OAI-PMH; see pull request #1623).

  • Improved ILS drivers: the FOLIO driver is now production-ready, and the new KohaRest driver provides richer support for Koha (compatible with Koha 20.05+ using the koha-plugin-rest-di plugin).

  • When using the optional link shortener feature, you can now configure how shortlinks redirect to full URLs (HTML-based, header-based, or conditional URL-length-based redirection). See pull request #1533.

  • VuFind's integration with EBSCO Discovery Service has been significantly improved, with a large number of bug fixes and added support for citation and export functionality.

  • New view helpers (“slot” and “parentTemplate” / “templatePath”) make it easier to extend and customize core templates. See pull request #1454 and pull request #1458 for details.

  • Custom Feedback Forms now support help text both before and after form elements through new pre/post help configuration settings.

  • Unpaywall DOI links now include both PDF and non-PDF resources (previously, only PDFs were linked).

  • It is now possible to obtain links from multiple DOI handlers (either in sequence or merged together); see pull request #1560.

  • You can now choose between extra-short and more private short links via the url_shortener_key_type setting in config.ini; see pull request #1549 for details.

  • VuFind's plugin generator can now build controllers, controller plugins, and Symfony console commands.

  • The NoILS driver can now extract data from more than one MARC field at a time (for displaying status/call number information). See pull request #1622.

  • VuFind's API now offers access to the secondary Solr index configurable through Search2.ini as well as the website index.

  • Support routines have been developed for indexing geographic data from dc:coverage fields in XML records; it may be optionally turned on in the DSpace indexing example. See pull request #1465 for details.

  • The ObalkyKnih cover image provider is now supported as an external content source.

  • In VuFind's browse module, the display order of browse options is now controlled by the order of configuration settings in the [Browse] section of config.ini.

  • VuFind's Mailer class now supports multi-part messages (though this capability is not being used in the core code yet). See pull request #1610 for details.

  • The util/scssBuilder command line utility has been added for users who wish to use SCSS instead of the default LESS for building VuFind's CSS.

  • VuFind now sets the SameSite attribute on cookies for improved browser compatibility; see pull request #1664.

Possible backward compatibility breaks:

  • Image removed. Be sure to run a database upgrade to reflect table changes (see also the database changelog); if you are using the shortlinks feature, be sure to run the web-based upgrade even if you are using PostgreSQL to back-fill hashes properly.

  • Image removed. The Solr schema has changed to remove the deprecated recordtype field, so records should be reindexed after an upgrade. See the index schema changelog for more details.

  • Image removed. VuFind now requires PHP 7.2 or newer; please ensure you have a compatible version installed before upgrading.

  • Image removed. Zend Framework has become Laminas; this upgrade has caused significant changes throughout the code because of class and package name changes. You should update your local code to match. See pull request #1537 for details.

  • Image removed. The Laminas\Console component has been deprecated, so all command line tools have been migrated to use Symfony\Console instead; see pull request #1571 and the console migration blog post for more details.

  • Image removed. The ZfcRbac module has been replaced with LmcRbacMvc to reflect the Laminas migration; custom authentication code may need minor adjustments to reflect the namespace change and the switch of the configuration key from zfc_rbac to lmc_rbac. See pull request #1657 for details.

  • Image removed. VuFind's default Solr port has changed from 8080 to 8983, to better reflect Solr best practices and to reduce port conflicts with other applications; it can easily be changed back as needed.

  • Image removed. As noted above, you are strongly encouraged to configure a content security policy for improved security. Note that adjustments to local custom themes may be needed to conform to security requirements; for example, Javascript event attributes (onclick, etc.) should not be used, and all scripts should be loaded through the Laminas headScript or inlineScript helpers instead of with hand-written script tags.

  • Image removed. If you are using ReCaptcha, several configuration settings have been renamed; the automated configuration updates through the web-based upgrade tool will take care of this, but if you are using a different mechanism to upgrade, you may need to make some adjustments to config.ini; see pull request #1574 for details.

  • Image removed. The recaptcha view helper has been replaced by a more generic helper. If you have custom templates referencing this view helper, you will need to update them; see pull request #1574 for details.

  • Image removed. VuFind's session handler code has been significantly refactored to improve extensibility and testability; see pull request #1506 for details. If you have built a custom session handler, it will likely need to be adjusted; otherwise, this should not impact you.

  • Image removed. VuFind's jQuery version has been upgraded from 2.1.1 to 3.5.1; if you have custom jQuery code, you should double-check its compatibility.

  • Image removed. Several templates have been rewritten to use the slot view helper instead of view variables, improving readability and extensibility; if you have extended these templates yourself, the code may need to be adjusted. See pull request #1454 details.

  • Image removed. The record/cover.phtml template has been moved to RecordDriver/DefaultRecord/cover.phtml, so that cover thumbnail rendering is now record-driver-specific. See pull request #1566 for details.

  • Image removed. Support for Amazon cover images and reviews has been removed; the ZendService\Amazon library has been deprecated, and there was insufficient demand to take the time to port the code to a new library. If you need Amazon support, please open a new JIRA ticket.

  • Image removed. The \VuFind\Search\Base\Params::getFilters() method, which was deprecated in release 6.1 (see pull request #1489), has now been completely removed; use \VuFind\Search\Base\Params::getRawFilters() instead.

  • Image removed. The constructor signature of the \VuFindTheme\Initializer has been changed so that it can now optionally accept a service container instead of an MVC event object; if you have subclassed the Initializer, you will have to adjust your method signature to match. See pull request #1600 for details.

  • Image removed. The \VuFindSearch\Backend\Eds\Zend2 class has been renamed to \VuFindSearch\Backend\Eds\Connector to prevent Laminas-related confusion; this should only impact you if you have made low-level changes to the EDS integration. See pull request #1546.

  • Image removed. The sitemap generator now uses the search service instead of direct access to the Solr connector; to support this, the constructor signature of \VuFind\Sitemap\Generator has changed, and the service is now constructed using a factory instead of hard-coded controller logic. If you have customized any of this, adjustments may be needed; see pull request #1486.

  • Image removed. The way feedback forms do text translation has been refactored; if you have customized this code, you may need to adjust to match. See pull request #1565.

  • Image removed. AJAX item status loading has been improved and refactored; in the unlikely event that you have customized or extended this Javascript code, you may need to make adjustments. See pull request #1663.

  • Image removed. The Javascript cookie management library used by the book bag feature has been replaced with something more up-to-date; see pull request #1673.

  • Image removed. Because score values are never used in core code (except when dumped out in non-MARC staff view tabs), the default field list retrieved from Solr has been changed from “*,score” to simply “*”. There is now a default_record_fields setting in searches.ini (and other equivalent Solr backend configurations) which can be used to customize the field list. See pull request #1568 for details.

  • Image removed. The SierraRest ILS driver now defaults to API version 5 instead of API version 3 to reflect deprecations in the Sierra platform. See pull request #1659 for details.

  • Image removed. Some internals of the Primo Central integration have changed slightly; see pull request #1653.

  • Image removed. Some configuration settings have been renamed to use more inclusive terminology: whitelist/blacklist in Voyager.ini and VoyagerRestful.ini are now include_list/exclude_list; domain_whitelist in config.ini is now legal_domains. Legacy values will still be acknowledged for backward compatibility, but new values will take precedence. See pull request #1671 for details.

  • The EBSCO Discovery Service integration now uses POST instead of GET for search API requests; the legacy GET behavior can still be accessed through an EDS.ini setting. See pull request #1627 for details.

  • The \VuFind\RecordTab\TabManager::zendConfig property has been renamed to legacyConfig to prevent Laminas-related confusion; because this property is only used for accessing obsolete configuration settings, the impact of this change is expected to be minimal… but if you have customized the TabManager, you should check for issues. See this commit for details.



Release 6.1.2 - 7/13/2020

  • Minor bug fix / improved accessibility release.

  • Image removed. Note: when using this release, you may see a warning about MySQL SSL configuration while indexing MARC records; this is a side effect of improved MySQL 8 compatibility, but it is harmless. MySQL SSL configuration will be addressed in more detail in a future release; see VUFIND-1395.

  • Image removed. Because of accessibility improvements/fixes, there are some LESS/CSS and template changes in this release; you should review custom themes in case they are impacted.


About Blog

About me blog aims to provide collaborative spaces to accommodate all librarians and those who care about the latest developments in fields like information access technologies and OSS knowledge management systems, to share the latest news and future trends in areas like electronic libraries, digital repositories and archiving, content curation and crowdsourcing, discovery portals and search engines, systems arabization and translation, knowledge and research center mangement systems, artificial intelligence, and open access content.

subscribe to our newsletter

subscribe to our newsletter
The subscriber's email address.