Release Notes

Version 6.7.2

Focus: maintenance

Important information

This version is a maintenance version only to facilitate the transition from MySQL 5.7 to MySQL 8.0 and higher, or MariaDB 1.2/1.3 to MariaDB 10.4 and higher.

Its code is strictly identical to that of version 6.7.1, except for the change of support.

Version 6.7.1

Focus: bug fixes, feature enhancements, and maintenance

Important information

This version is the last supporting MySQL 5.7, MariaDB 10.2 and MariaDB 10.3. Their maintainers no longer offer security support from 2023 for these versions. In addition, the functionality gap has grown and causes bugs that we want to limit.

Feature enhancements

  • In the search menu, added zoom as a different way to browse resources. The number of resources in the database must be at least 10 * your max. paging links. If you zoom in on resource titles, for example, you will be presented with links like ‘aardvark <—> batman’, ‘batmobile <—> kitten’ …. ‘zeugma <—> zygote’. If you click on the first link, you might then get links such as ‘aardvark <—> animal’, ‘animus <—> azure’, …. ‘batch <—> batman’. Clicking further, you will eventually get to a list of resources.
  • Where the browser is capable, provide a preview attachment feature. See, for example, single resource view—clicking on the attachment icon launches the preview, clicking on the attachment name downloads the attachment. Operation is very much dependent on what the browser is capable of.
  • Allow the ‘General’ category to be renamed by the admin.
  • Related to bug 5, ensure that only populated user and group bibliographies are displayed in Wikindx|Bibliographies.
  • For resource lists, split the ‘Timestamp’ order option into ‘Timestamp: added’ and ‘Timestamp: edited’ options.
  • Rationalize the behaviour of editing users regarding passwords—if editing user details, leaving both password fields blank will keep the current password—a character in either of the two password fields will start the password validation process.
  • Tooltip for attachments.
  • Add to the citation engine the detection of imperial and SI measurement units [#417].
  • Convert XML style to JSON [#524].
  • Upgrade on autopilot.
  • New translations: Chinese (zh), Korean (ko), Swedish (sv).

Maintenance

  • Update to Smarty dev-master/5.0.0.
  • Reimplementation for Smarty 4 of the SmartyMenu function as an extension.
  • Remove style caching.
  • Bump component compatibility version of templates to 4.
  • Redistribute XML styles attributes from resource elements to subordinate elements.
  • Bump component compatibility version of styles to 28.
  • Update XpdftoText component with version 4.04 of XpdfReader command lien tools.
  • Remove workaround code for PHP 7.4.
  • Remove configlanguage which is not used anymore since the default language is controlled by the browser headers.
  • Convert most checkboxes to radio buttons.
  • Update PHPMailer (v6.8.0).
  • Update jQuery (v3.7.0).
  • Transpose cache table columns to rows [#528].
  • Changing the RepairKit Schema format to JSON allows for better versioning.
  • No longer ignore SQL errors when upgrading or installing [#534]
  • Write PHP and User errors inside an application level log ; fatal errors like ‘parse error’ are still written in the log defined by error_log php.ini option because the custom error handler cannot be called in that case [#533]
  • Always crash on SQL error so you don’t miss silent errors [#534].
  • Bump component compatibility version of plugins to 18.
  • Transifex has changed the address of its platform.
  • Replace iconv by some Intl transliterator [#565].

Bug fixes

  • Double escaping of Atom/RSS titles and descriptions.
  • Don’t show the same resource twice in Atom/RSS feed.
  • For a new database, ensure the category table has the catchall category ‘General’.
  • Fix missing highlighting of search terms in lists and single resource views.
  • If the user selected an empty user bibliography as the home page, this led to a crash on the front page and other elements such as zoom (now fixed).
  • The maximum file size was incorrectly capped at the value of upload_max_filesize when using PHP 8.x or higher.
  • Serialized PHP in db was broken by NFC normalization [#527].
  • Fix the writing of creator attributes on bibliographic resource elements in styles.
  • Improve handling of multiple punctuation in the bibcite engine.
  • User config was not saved when a boolean field was implied (MySQL engine only, not MariaDB).
  • Remove the use of temporary tables because MySQL and MariaDB do not have the same behavior.
  • ZipArchive issues warnings when trying to open empty files from PHP 8.0 (PHP 8.0 support [#339]).
  • Replay upgrade SQL queries with syntactical errors from previous steps.
  • Cannot display image preview in the Word Process image gallery (implicit float to int conversion, PHP 8.0 support [#339]).
  • Wrong memoization of short month names.
  • Fixes custom XML styles which have not been well upgraded.
  • Use the PCRE word boundaries syntax with REGEXP operator instead of the Spencer syntax which is discouraged (shows inconsistent results) and may crash with MySQL 8.0.4 and higher.
  • On searches for exact phrases (“xxx xxx xxx”), fix a crash with a space at the start and/or end of the exact phrase.
  • adminstyle: ensure that creator strings are saved.
  • Fix database upgrade errors [#569].
  • And empty abstract raised an error in RSS [#571].
  • Misdetection of db engine version during upgrade.
  • Fix a truncation of the name of the downloaded papers when the name use a single quote.
  • Fix the advanced search preview (not all option are displayed if advsearch_BibId was not set [#583].
  • Compute properly the resourceBibtexKey field with ASCII encoding [#564].
  • RTF export error about custom fields and URL [#580].
  • Export error of time fields in RIS [#581].

Security

  • Remove all use of the suhosin extension which only exists for PHP 5.
  • Hides the screen display of insert queries into the session table.
  • Forgotten password system: using a question/answer system is today seen as insecure. Converted to a more secure system using a hash token.
  • Stop sending passwords via email (admin adding a user).