RELEASES:

v6.16.1
Focus: bug fixes

BUGS:
1. When viewing results of a QUICKSEARCH, ensure the toggle switch for search parameters works.
2. Ensure musings assigned to a user group can be viewed by all members of that group.

MAINTENANCE:
1. Update Czesh translation.
2. Update Finnish translation.
3. Update Hungarian translation.
4. Update Korean translation.
5. Update Slovenian translation.
6. Update Swedish translation.
7. Update Chinese translation.
8. Update Chinese Traditional translation.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.15.1
Focus: bug fixes

BUGS:
1. When viewing results of a QUICKSEARCH, ensure the toggle switch for search parameters works.
2. Ensure musings assigned to a user group can be viewed by all members of that group.

MAINTENANCE:
1. Update Czesh translation.
2. Update Finnish translation.
3. Update Hungarian translation.
4. Update Korean translation.
5. Update Slovenian translation.
6. Update Swedish translation.
7. Update Chinese translation.
8. Update Chinese Traditional translation.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.14.1
Focus: bug fixes

BUGS:
1. When viewing results of a QUICKSEARCH, ensure the toggle switch for search parameters works.
2. Ensure musings assigned to a user group can be viewed by all members of that group.

MAINTENANCE:
1. Update Czesh translation.
2. Update Finnish translation.
3. Update Hungarian translation.
4. Update Korean translation.
5. Update Slovenian translation.
6. Update Swedish translation.
7. Update Chinese translation.
8. Update Chinese Traditional translation.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.13.1
Focus: bug fixes

BUGS:
1. When viewing results of a QUICKSEARCH, ensure the toggle switch for search parameters works.
2. Ensure musings assigned to a user group can be viewed by all members of that group.

MAINTENANCE:
1. Update Czesh translation.
2. Update Finnish translation.
3. Update Hungarian translation.
4. Update Korean translation.
5. Update Slovenian translation.
6. Update Swedish translation.
7. Update Chinese translation.
8. Update Chinese Traditional translation.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.16.0
Focus: security, maintenance

IMPORTANT INFORMATION:

This version, whose code is strictly identical to 6.13.0, 6.14.0 and 6.15.0, increases the minimum supported version of MariaDB (10.6). At the time of this release, earlier versions of MariaDB are no longer maintained.

MAINTENANCE:
1. Switch MariaDB minimum version to 10.11.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.15.0
Focus: security, maintenance

IMPORTANT INFORMATION:

This version, whose code is strictly identical to 6.13.0 and 6.14.0, increases the minimum supported version of MySQL (8.4) and MariaDB (10.5). At the time of this release, earlier versions of MySQL and MariaDB are no longer maintained.

MAINTENANCE:
1. Switch MySQL minimum version to 8.4 [#729].
2. Switch MariaDB minimum version to 10.5 [#727].

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.14.0
Focus: security, maintenance

IMPORTANT INFORMATION:

This version supports PHP 8.2, 8.3, 8.4, 8.5.

It is strictly identical to version 6.13.0 but removes support for PHP 8.1.

MAINTENANCE:
1. Removes support for PHP 8.1 [#667].

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.13.0
Focus: bug fixes, maintenance, improvements

IMPORTANT INFORMATION:

This version supports PHP 8.1, 8.2, 8.3, 8.4, 8.5. It’s the first offering PHP 8.5 support.

BUGS:
1. Fix some issues which caused logon operations (user or readOnly) to occasionally fail.
2. Fix graph display in visualize plugin after the addition of security measures (embed graphs in display dialog as base64 encoded string).
3. Wildcards in search strings ('?' and '*'): safely deal with e.g. "blah ? moreblah" to avoid a fatal error.
4. Fix an error in DOCX export related to the CODE HTML entity.
5. Fix an error adding/editing users where there are no resources with creators [#737].
6. If using bibutils for the conversion of bibliography formats, ensure the output file is downloadable through the standard WIKINDX processes.
7. When importing a bibTeX file or pasting bibTeX entries, ensure all selected categories are correctly registered.
8. If searching a list and compressing attachments to a zip file, the zip file can now be successfully downloaded [#739].
9. When exporting a DOCX file from a list, ensure the interim DOCX folder is deleted after DOCX creation.
10. If using browserTabID, fix an issue that caused moderated new user registration to fail (new user was unable to log on).
11. If no word is input for QUICKSEARCH, ensure there is a valid error message.
12. Replace PHP translation catalogs by JSON, since some of them were corrupted [#742].
13. Ensure users who are members of a group bibliography, can select that bibliography when importing resources or adding/editing a new one.
14. Fix an issue in MYWIKINDX email notification where the user's preference was not stored.
15. Fixes session purging: the session access time was not always recorded in the same time zone [#740][#743].
16. User groups: ensure all members of the group can make ideas, musings, and metadata comments available to the group.

MAINTENANCE:
1. Update PHPMailer (v7.0.2).
2. Update Smarty (v5.8.0).
3. Unicode 17.0 support [#732].
4. Added custom exception and fatal error handlers: these should facilitate debugging and bug reporting.
5. Update jQuery (v4.0.0).
6. Update Adminer library (v5.4.2).
7. Convert and store all dates in database with UTC.
8. Bump component compatibility version of plugins to 20 (change for JSON format of translation catalogs).
9. Bump component compatibility version of styles to 31 (new fields for publications).
10. Bump component compatibility version of templates to 8 (new icons for publications).
11. Support PHP 8.5 [#724].

IMPROVEMENTS:
1. Add a spinner when adding attachments to a resource in order to indicate ongoing activity (useful for large attachments).
2. Correct the order of publication list front page display to resource timestamp rather than publication year—this matches the typical display of the WIKINDX front page and ensures that newly added entries in the publication list that are missing a publication year are actually displayed.
3. When viewing a single resource from a list, the 'Return to list' link now returns to the previous place in the list (rather than the start of the list).
4. When viewing a single idea + subidea(s) from a list, the 'Return to list' link now returns to the previous place in the list (rather than the start of the list). Additionally, when viewing the list, make each group of idea + sub-idea(s) more distinct.
5. Allow registered users to change their preferred timezone and display all dates according to it and the user's preferred locale.
6. CMS hooks: added getPublist as an action. This will retrieve the resources in the defined publication list for insertion into a CMS or website. The URL of the list can be obtained from the Admin|Bibliographies...|Publications menu or, for normal users and their own publication lists, the My Wikindx menu.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.12.1
Focus: bug fixes, maintenance

BUGS:
1. Remove a warning about a deprecated '$useimap' argument of PHPMailer.
2. Trigger the session gc every 100 requests otherwise the session table size grows too much [#723].
3. The sessions were not purged according to the administrator's configuration while the loaded sessions respected this same configuration [#723].
4. Ensure a user who is a member of a group bibliography can add to and view resources in that bibliography.
5. Ensure the owner of a group bibliography can also browse it.

FEATURE ENHANCEMENTS:

IMPROVEMENTS:
1. Improve the naming of database tables by replacing temp_storage table with session_browser_tab table. Add the column sessionbrowsertabUserId to aid in session garbage collection and housekeeping.
2. Intercept the return from curl in a variable so as not to slow down execution.
3. Allow registered users to compile publication lists from their bibliographies (see My Wikindx).

MAINTENANCE:
1. Update Adminer library (v5.4.1).
2. Update PHPMailer (v7.0.0).


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.12.0
Focus: bug fixes, feature enhancements, improvements, maintenance, security.

IMPORTANT INFORMATION:

This version supports PHP 8.1, 8.2, 8.3, 8.4. It’s the first offering PHP 8.4 support.

BUGS:
1. SQL error when upgrading SoundExplorer plugin with MariaDB 11.5.
2. Fix translation loading in TinyMCE on OS with a case-sensitive filesystem.
3. In the resource form, don't automatically fill in a series number value when selecting a series in the select box [#691].
4. In the resource form, fix an error in adding user Ids to the abstract and note fields [#692].
5. Fixes the name of languages ​​displayed by browse search to follow the user's preferred language.
6. Fix zoom errors where the paging is less than the total resources in the database [#695].
7. Fix a blank front page when the list is set to display resources in the last x days [#697].
8. Don't increment the view counter if a resource is missing (crash).
9. If the admin has set only the resource originator as able to edit/add attachments, another registered user can now (as should be the case) view those attachments. Along the way, improve checks on who can manipulate attachments.
10. Registered users not allowed to edit a resource can now add the resource to a user bibliography (as they can tag the resource with user tags).
11. Ensure that the resource originator of a quarantined resource has access to that resource for listing, viewing, and editing.
12. When importing a bibliography (if allowed by the admin), a user could tag the import but could not delete the import tag (and associated resources). This has been fixed with a menu option under Resources. 
13. Don't publish a sitemap when the website is not public.
14. Fix a few errors in Advanced Search: a) fields like publisher and collection were not available to search and b) the previous search fields were not stored correctly when reloading the search form.
15. Fix an empty innerHTML error in the advanced search form and its results (#697).
16. If browsing a user bibliography, the bibliography was not always used as the source for various operations.
17. File upload was blocked when memory_limit = -1 (infinity).
18. Accept URL of external images longer that 255 characters (8000 max).
19. Images containing special characters in their name such as a space were not exported in HTML/RTF documents.
20. Fix a small warning when the download of an image fails during RTF/DOCX export.
21. Fix base64 encoded media type in paper HTML exports.
22. If an image is included more than once in an RTF/HTML export, only the first temporary file was purged at the end of the export.
23. Fix missing rows in search_resources and search_abstractnotes. Code to write these rows was missing in the import code for bibtex and endnote (now fixed in this release).
24. Ensure, for proceedings and proceedings_article types, that conference organiser, conference name, and publisher are properly handled for display, import, and export.
25. When browsing, correct the resource counts for creators, system users, departments, and institutions.
26. Use the right mime-type when returning JSON.

FEATURE ENHANCEMENTS:
1. Users can now export resources and word processor papers to DOCX (compatible with, for example, Word, Libre Office and OpenOffice). RTF exporting is still available because the DOCX export remains to be fully tested in the wild. At some point in the future RTF export will be removed in favour of DOCX export as the latter is a more modern format and easier to maintain. Note that, if you export to DOCX, your document has sections, and you specify a style using endnotes which restart at each section, results may be unexpected when the document is opened in Libre Office. This is because Libre Office does not yet handle DOCX sections at all well. Opening this DOCX in Word, will work as expected.
2. Implement publication lists. This means that research groups, for example, can embed a special URL to the publication list in an external site which then gives readOnly access and restricts all search, browse, etc. operations to that list. A list comprises one or more user or group bibliographies. The attachments in a publication list can be viewed, and the setting (Yes or No) will override the setting in the WIKINDX configuration (although attachments can still be embargoed). See management Admin|Bibliographies...|Publications for details.
3. Admins can now administer user/group bibliographies from the Admin|Bibliographies...|User/Group menu. This includes creating, editing, deleting, and (re-)assigning bibliographies to users.
4. In all search and list results, the user now has various filter and other options such as limiting results to user bibliographies, viewing only attachments, zipping attachments for download, and so on. See also IMPROVEMENTS:14.
5. With publication lists and filtering of search and list results, the concept of setting a user or group bibliography as the default browse bibliography has fallen by the wayside.
6. New translation: Arabic (with DeepL and Google Translate).

IMPROVEMENTS:
1. Display time zone in footer [#162].
2. Compress the output with Gzip or deflate if the client accepts it.
3. If the resource no longer exists or never did, correctly respond with a 404 error to the visitor and search engines.
4. Browse: also allows you to find resources without language.
5. Return an HTTP error 410 on display if a resource has been deleted [#699].
6. In addition to more stringently checking user access for various view and write operations, the user access to viewing and manipulating resources and associated metadata has been overhauled. If the configuration allows the adding, editing, or deletion of resources this includes not only the resource itself but also associated fields such as categories, keywords, custom fields, and similar, and the abstract and notes. Unless the metadata subsystem is disabled, registered users can always add quotes, paraphrases, comments, and musings to a resource. Registered users can only edit and delete their own contributions—an admin can do anything.
7. Ensure admins (other than the superadmin) cannot operate on other admins. Only the superadmin can annoint or demote admins when editing user data.
8. Improve the management of user bibliographies in the My Wikindx interface for registered users: a user bibliography can be converted to a group bibliography and vice-versa.
9. Prevent search engines to browse almost all links (direct access to resources is already provided by the sitemap.xml file).
10. In textareas for e.g., abstract, quotations, etc., add a tool to remove line breaks from selected text. Useful when pasting from e.g., PDF.
11. For plugin configuration, add another level to $authorize: '3' for superAdmin. The existing level '2', which previously was for the superAdmin only, is now for any admin. If you wish to ensure that your plugin, previously set to $authorize = 2, remains available to superAdmin only, you should update the plugin config to $authorize = 3. Otherwise, it is not necessary to change anything.
12. Improved the method of deleting users: there is now the option to transfer much of the deleted user's data to any other user.
13. ReadOnly users cannot export metadata with resource lists.
14. Substantially rewritten the code for quick search and advanced search. For both searches, the SQL has been reformulated as has the logic dealing with AND, OR, and NOT parts: in the new code, all AND, OR, and NOT search fragments are each grouped together. This improves the precision of search results returned, particularly from advanced search (and thus some bugs have been squished), and makes the construction of complex SQL queries simpler—it is no longer necessary to think about the order in which you assemble AND, OR, and NOT searches. The advanced search form has also been rationalised with regard to the operation of the radio buttons.
15. Reduction in number of SQL statements required for startup and initial configuration.
16. Added a 'return' navigation icon (to the first stage) for various pages where there is a second stage in the process.
17. When deleting import tags (in the Resources menu), there is now the option to remove the import tag without deleting resources. See also BUGS:13.
18. Improve the operation of the General category. Any resource is part of the General category unless it is part of another category—a resource cannot belong to the General category and another category.
19. When editing their user details in MyWikindx, ensure a superadmin can declare themselves to be a creator in the WIKINDX and a member of a department and institution.
20. Allow the owner of a resource to embargo attachments.

MAINTENANCE:
1. Unicode 16.0 support [#689].
2. Update FakerPHP library (v1.24.1).
3. Update PHPWord library (v1.3.0).
4. Update PHPMailer (v6.10.0).
5. Update Smarty (v5.5.2).
6. Remove forced UTF-8 configuration as it has become the default since PHP 7.0 and PHP 5.6 usage has dropped to zero since 2022.
7. Limits the change of encoding detection of read data to the specific case of BibTeX.
8. Add support for MariaDB 11.5 [#690].
9. Fix Year 2038 problem of MySQL/MariaDB [#492].
10. Update Adminer to version 5.4.0 (PHP 8.3 support).
11. Update XpdftoText component with version 4.05 of XpdfReader command line tools.
12. Removed collation forcing during search and sort (configuring collation on login is sufficient for debugging since the default collation of MySQL and MariaDB servers uses utf8mb4 in debugging situations).

SECURITY:
1. Enable strict session ID mode which validates session ID sent by the browser and forces the ID to be regenerated if it is unknown [#542].
2. Forbid direct access to config.php file during the upgrade [#687].
3. Provides predefined .htaccess files for Apache web server [#197].
4. Guard against IFRAME and link injections when using browserTabID feature.
5. Add an option to set Session Cookies Secure Attribute [#688].
6. Add X-Content-Type-Options header (blocks browsers'MIME type sniffing) [#688].
7. Turn off misguided X-XSS-Protection browser feature [#688].
8. Set Referrer-Policy header to strict-origin-when-cross-origin [#688].
9. Add an option to set Strict-Transport-Security policy. If a client tries to access the site via HTTP they will be blocked for 3 minutes (non-configurable duration) [#686].
10. Set X-Permitted-Cross-Domain-Policies header to none [#688].
11. Set X-Download-Options header to noopen [#688].
12. Set X-Frame-Options header to SAMEORIGIN [#688].
13. Block Tabnabbing.
14. Use robots.txt only to advertise the sitemap [#688].
15. Set Permissions-Policy header. Disable not used major features of browsers (bluetooth, geolocation, camera, microphone, payment).
16. Set Access-Control-Allow-Origin header to * [#685].
17. Set Cross-Origin-Opener-Policy header to same-origin [#685].
18. DDOS attacks: recent attacks noticed by us give a wikindx URL with a random browserTabID and this leads to excessive 
writing of rows to temp_storage. The writing of rows to temp_storage in this case has now been blocked, a 404 (not available) message is returned in the headers and the 'user' is redirected to the logon page.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.11.0
Focus: bug fixes, maintenance, security.

BUGS:
1. Ensure messages (no. successful imports, discarded duplicates, etc.) are properly generated for resource importing when browserTabID is enabled.
2. When entering a new resource (or editing an existing one), it was not possible to insert a citation in the abstract or notes field.
3. In past upgrades, not all collections were properly collated and labelled in the collections table.
4. Fix the date of files in release tarballs to the date of the release (EPOCH can confuse FTPs).

FEATURE ENHANCEMENTS:
1. Detect whether the user is using a mobile device or desktop computer.
2. In Admin|Configure, the admin can make certain menus and items within them unavailable to users depending on the device (see 1. above).

IMPROVEMENTS:
1. Remove verticalorange and enluminure templates [#638].

MAINTENANCE:
1. Update Smarty (v5.3.1).
2. Update PHPMailer (v6.9.2).

SECURITY:
1. Prevent session fixation (session.use_only_cookies PHP option).
2. Prevent session hijacking by sharing the cookie only via HTTP (session.cookie_httponly PHP option).

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.10.2
Focus: bug fixes.

BUGS:
1. Fix a function typing error in libs\PAGING.php.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---



v6.10.1
Focus: bug fixes.

BUGS:
1. Fix a crash for mixed types in \UTILS\OSName().

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.10.0
Focus: bug fixes, feature enhancements, and improvements.

FEATURE ENHANCEMENTS:
1. Under the Admin|Users... menu, there is now the option to merge two users into one.

IMPROVEMENTS:
1. Improved the usability of numeric paging of resource lists and ideas especially where the list is large. For totals that are more than paging * pagingLinks, the new system uses a zooming in and out principle giving quicker access to resources higher up the list. 
2. In the popup window displayed when clicking on the cite icon of a single resource, RIS can now be selected as the export of the resource.
3. Ensure RIS output is plain text.
4. Ensure BibUtils output is also available from the Resources|Exported files menu.
5. Improve the multiple punctuation check (if enabled in the style definition) for bibliographic entries (including footnotes and endnotes). For example, if the entry is <author. date. title?> and the 'ultimate' field begins with a defined punctuation character such as '.' (see CITELOC), the previous entry would have been <author. date. title?.>. Now the '.' is removed. Other characters in the 'ultimate' field are retained.

BUGS:
1. Ensure user registration requests not only appear on the front page of the admin's WIKINDX but also (back) in the Admin|Users submenu.
2. If $QUICKSEARCH$ was inserted in the front page, the input search term was not always picked up leading to a missing error message or use of the previously entered word.
3. Some fixes to the browserTabID system.
4. Separate the FRONT list ids and search/list/browse ids so that viewing a single resource from either of the types of list gives the right set of ids for the previous and next arrows.
5. For resource lists, fix display of resource users where there is both an add user and an edit user.
6. Fix a deprecation warning on \URL\build_query() call.
7. Remove table wkx_bibtex_string restored by mistake in db schema [#681].
8. Fix some incorrect registering of Yes/No select boxes in the configure interface.
9. Ensure that, if email is disabled, the admin can reset a user's password in the Admin|Users...|Edit interface.
10. Fix the display of a missing message in RepairKit during users merge.
11. Fix [#684] editing of collections.
12. Fix a warning during upgrade step 13 with PHP 8.1.


MAINTENANCE:
1. Allow to configure the CUS server URL from the admin panel [#669].

SECURITY:
1. Restrict direct access to config.php file.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.9.1
Focus: maintenance.

NB: THIS VERSION IS A MAINTENANCE VERSION ONLY TO FACILITATE THE TRANSITION
FROM PHP 8.0 TO PHP 8.1. ITS CODE IS STRICTLY IDENTICAL TO VERSION 6.9.0
MINUS SUPPORT FOR PHP 8.0.

MAINTENANCE:
1. Switch PHP minimum version to 8.1 [#472].

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.9.0
Focus: bug fixes and improvements.


IMPORTANT INFORMATION:

Smarty replaced the 'implode' modifier with the 'join' modifier. This will cause a lot of deprecation warnings if your template is custom. To correct these messages use the new syntax described by the Smarty documentation.

https://smarty-php.github.io/smarty/stable/designers/language-modifiers/language-modifier-join/


IMPROVEMENTS:
1. When zooming on titles, for ease of display of the zoom links, long titles are reduced to the first two words. For example, 'The important rules of play' would be reduced to 'The important.' This has been improved by first filtering from the title a list of words defined by the admin (the ignore list for searching) so that, if 'the' is in the list, the title would then be displayed as 'important rules.' This is a little more informative for the user.
2. Remove experimental status of the BrowserTabID feature. If this is enabled by the admin, users can conduct a number of independent operations, such as searching and listing, across multiple browser tabs or windows.

FEATURE ENHANCEMENTS:
1. New translation: Hungarian (with DeepL).
2. New translation: Latvian (with DeepL).
3. New translation: Norwegian Bokmål (with DeepL).
4. New translation: Portuguese (Brazil) (with DeepL).
5. New translation: Slovak (with DeepL).
6. New translation: Slovenian (with DeepL).

BUGS:
1. Avoid an SQL error in QUICKSEARCH by allowing the use of apostrophe in all searches.
2. Commenting out a property of the CONFIG class of config.php causes a warning since PHP 8.2 [#679].
3. Warning displayed when an unconnected user modifies their preferences.

MAINTENANCE:
1. Update Smarty (v5.0.2).
2. Simplifies the structure of translation files to follow the Transifex layout.
3. Replace deprecated Smarty 'implode' modifier by 'join' modifier (Smarty 5 compatibility) [#678].
4. Bump component compatibility version of templates to 7 [#678].

SECURITY:
1. Deal with cross-site scripting problem vulnerability [#680].

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.8.2
Focus: bug fix.

IMPORTANT INFORMATION:

This version corrects data loss caused by versions 6.8.0 and 6.8.1. Lost data cannot be recovered.

BUG FIXES:
1. If there were no ideas in the WIKINDX, an upgrade to v6.8.0 or 6.8.1 deleted all rows in the resource_keyword table. If you have upgraded to either of these versions and discover that there are none of the expected keywords when you select Search|Browse...|Keywords, then you will need to restore the previous database before upgrading with the v6.8.2 code.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.8.1
Focus: bug fixes and improvements.

BUG FIXES:
1. If used with PHP 8.4, the polyfills of mb_trim() and mb_ltrim() call mb_rtrim.
2. Upstream bugfix of mb_trim and mb_rtrim polyfills: trailing newline was ignored.
3. Fix a message warning when configuring plugins through the Admin Components interface and ensure a pluginX menu is displayed even if there is only one plugin enabled for that menu [#670].
4. IDEAS: Fix an incorrect link on ideas keywords [#672].
5. IDEAS: Fix the next/previous icons and improve navigation through ideas [#672].
6. Bump component compatibility version of templates to 6 [#672].

IMPROVEMENTS:
1. Ensure the export of the ideas basket also includes sub-ideas.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.8.0
Focus: bug fixes, feature enhancements, improvements, and maintenance.

IMPORTANT INFORMATION:

This version supports PHP 8.0, 8.1, 8.2, 8.3. It’s the first offering PHP 8.3 support.

This version supports the 8.x branch of MySQL, and MariaDB 10.4 and higher.

With this version we are introducing something new into the release cycle.
In addition to Release Candidates (RC aka beta), correction releases (X.Y.1, X.Y.2, ..., X.Y.N)
of the latest stable release (X.Y.0) will be published if security bugs
or serious bugs are discovered that render WIKINDX unusable,
result in data loss, or violate our release policy.

FEATURE ENHANCEMENTS:
1. Added tooltips (short help texts when hovering over a menu item) to selected menu items [#555]. NB all plugin menu structures are changed to take account of this—see the WIKINDX help for details.
2. As per [#590], there is an option in Admin|Configure|Resource lists to change the default word conjunction in search fields (OR or AND).
3. Embed a full parser for MS Word binary files.
4. Support all EndNote XML formats: X1/X4, and X8 and higher.
5. Validate DOI resources on input [#504].
6. When viewing a single resource, the user and group bibliographies to which the resource belongs can now be edited.
7. Ideas can no longer be searched via Advanced search but are searched within their own interface under the Metadata menu.
8. Replaced the option to display the bibtex export of an individual resource with an icon that opens a pop-up to display either the bibtex export or the formatted (e.g. APA, IEEE, etc.) resource for copying. Where the formatted resource has a long URL that has been shortened for the display in WIKINDX, this facility allows you to copy the formatted resource with URL intact.
9. Add a "Protect case" button in the TinyMCE toolbar [#606].
10. New translation: Bulgarian (with DeepL and Google Translate).
11. New translation: Czech (with DeepL and Google Translate).
12. New translation: Finnish (with DeepL and Google Translate).

FEATURE ENHANCEMENTS (PLUGINS):
1. Renamed backupmysql to backupwikindx. The plugin now allows the option to back up combinations of the database, images, and attachments in the one ZIP file: all that is required to recreate the WIKINDX in another location.
2. adminstyle plugin: added creator formatting previews.

IMPROVEMENTS:
1. Speed up bibtex file imports by decreasing the number of MySQL statements required [#593].
2. When an input error occurs when adding/editing a resource, highlight the offending form object.
3. Improved fulltext search for exact phrase and improved the boolean logic for fulltext search.
4. When adding/​editing a resource, ensure more informative error messages are given [#599].
5. Simplify the selection of the usersNotifyAddEdit option.
6. In the backup database plugin, make the list of clickable URLs (existing backed-up files) scrollable.
7. Convert most yes/no radio buttons to select boxes.
8. In Advanced Search, improve the user bibliography filtering [#587]
9. Create a set of database tables (search_xxx) to hold HTML-filtered texts from tinyMCE textareas. This improves the accuracy of the search where, otherwise, HTML elements would have interfered with the search results.
10. Transfer ideas from the resource_metadata table to the new ideas table and transfer idea keywords from resource_keyword to ideas_keyword.
11. Improve navigation of ideas.
12. When viewing a single resource, include comments belonging to this user when determining if there are any other resources citing this resource.
13. Ensure that the superuser is directed to the logon page after completing a fresh install or upgrade of WIKINDX (they are not bumped back to read-only mode on the front page).
14. Invert the format of a resource's title where necessary. e.g., if the original title has elements in italics and the title field of the bibliographic template is enclosed in italics, remove the formatting of those original elements. The same for underline, bold, superscript, and subscript. An option to turn this on or off has been added to each bibliographic style.
15. Use the small custom field type (plain text) exclusively for adding fields to bibliographic resource templates and the long custom field type (HTML-enabled) to display extra information when viewing a resource [#637]. As part of the upgrade to v6.7.3, all existing small custom fields are converted to long. Should you wish to use an existing custom field as a bibliographic template field, you should convert it to a small custom field in the Admin|Custom Fields interface.
16. Make the interface for merging keywords the same as the interface for merging creators.
17. Improve handling of multiple punctuation in the bibcite engine.
18. Tidying up of the bibliographic styles.
19. Redirect the user to the login page at the end of install/​upgrade [#620] [#625].
20. Add config option to choose either "AND" or "OR" as QuickSearch default between words [#590].

BUG FIXES:
1. Endnote styles such as IEEE using normal text for the in-text citations now display the citation wrapping characters.
2. Some endnote and footnote styles did not compile properly if any of the idem, ibid, and opCit templates were empty [#589].
3. Allow both footnotes and endnote in the same RTF WP export [#589].
4. Fix footnote arabic numbering of RTF WP export [#589].
5. For citation formatting, ensure headings and blockquotes delimit sentences. Part of [#589].
6. BibCite engine: The command to list all creators in footnote lists and bibliographic lists was ignored. Now fixed.
7. BibCite engine: The implementation of creator list limiting and subsequent abbreviation was incorrectly calculated for citations. This has been fixed.
8. For styles not using editorSwitch, the SQL statement for lists meant that not all resources were displayed in the list. This has been fixed.
9. Ensure punctuation within a title does not interfere with the implementation of the title : subtitle separator.
10. adminstyle plugin: ensure the bibliography template view works with the addition of custom fields without having to save the template first.
11. Fix BibTeX key transliteration [#600].
12. In resource form completion, ensure publisher details are filled in for web articles and web encyclopædia articles.
13. Fix browsing of resource keyword groups (where the list of resources incorrectly came from only one keyword in the group).
14. Fix counting of metadata when browsing keyword groups.
15. Fix idea search highlighting.
16. Fix difference in ordering of alphabetical paging links for MySQL [#654].
17. If the Quick Search phrase 'presencing NOT heidegger' is searched for, where 'presencing' produces no results and 'heidegger' produces some results, the final results list should be empty (rather than containing results with 'heidegger'). This is now so.
18. Fix and improve the display of creator hyperlinks in single resource view where there are creator aliases.
19. Somewhere along the line bibliography import tags disappeared from the Search|Browse menu—this has been corrected.
20. Displaying more than one wide custom field was inconsistent [#633].
12. EndNote export broken with custom fields—fixed [#595].
22. Endnote export duplicates creators—fixed [#602].
23. EndNote import emits warnings—fixed [#596].
24. Fix a warning when the EndNote import tool is used without a file.
25. Fix incorrect creator orders on Endnote imports [#603].
26. Fix RIS export for brochure resource types [#655].
27. The physical db name of howpublished field was exported instead of its value—fixed [#644].
28. “Export comments” option were not remembered by the user session like the other export options—fixed [#642] [#645].
29. Ensure the Admin|Delete resources can actually delete.
30. Fix merge creators merge feature.
31. Fix warnings on "Browse User tags" page.
32. Where read-only mode was denied or login was required, text attachments did not have their text extracted to the database. This has been fixed [#605].
33. Ensure the names of users adding and editing ideas are displayed in a multiuser WIKINDX.
34. Fix usersNotifyThreshold option saving.
35. Fix the creation of user groups in My WIKINDX.
36. Choosing users from a group to create it is now mandatory.
37. Fix the code that clears HTML input before the citation processing (<li> was becoming <td>).
38. Fix UTILS::reduceLongText() algorithm (preg_split could eat characters).
39. Fix incorrectly nested HTML structures.
40. Corrections for HTML entities (importing bibTeX and exporting RIS).
41. Fix character escaping in general [#306] [#466] [#466] [#570] [#579] [#607] [#612] [#646]
42. Fix the content of resourcecreatorCreatorSurname [#153].
43. The session GC is never triggered when WIKINDX is used by a single user, so do not read data from an expired session to prevent its resurrection [#464].
44. The RepairKit failed to create a column with auto increment option or auto CURRENT_TIMESTAMP on update—fixed [#628].
45. Fix CSS/JS inlining [#608].
46. Fix SQL syntax differences between MySQL and MariaDB which caused the upgrade of a MySQL database to partially fail.

MAINTENANCE:
1. Update the support of MySQL: 8.0.11, the first official release of branch 8.x, is the minimum [#577].
2. PHP 8.3 support [#629].
3. Further clarify support for future versions of MariaDB [#598].
4. Further clarify support for older MySQL versions [#597].
5. Further clarify support for PHP versions.
6. Bump component compatibility version of plugins to 19.
7. Bump component compatibility version of templates to 5.
8. Add a separate upgrade procedure for style components when components are loaded [#557].
9. The reduction of menu levels is no longer controllable by template authors. Users can still use this option while waiting for a responsive menu to be implemented [#638].
10. Add an internal debug option for Pseudolocalization (experimental).
11. Add a fuzzing library to fuzz resources data (experimental).
12. Update jQuery (v3.7.1).
13. Update PHPMailer (v6.9.1).
14. Update Smarty (v5.0.0-rc2).
15. Update JpGraph (v4.4.2).
16. Update the word processor characters map (Unicode (UCD) 15.1.0.0).
17. PHP 8.4 support (CURLOPT_BINARYTRANSFER is deprecated) [#656].

SECURITY:
1. XSS with search argument list_AscDesc [#636].
2. Protect parsers against forbidden XML characters (crash) [#547].
3. Add `spellcheck="false"` to all password fields and some text fields to avoid spell-jacking data leaks [#631].
4. The file name of the main page of dbadminer is no longer adminer.php because hacker bots have this name in their dictionary [#650].


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.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.


MAINTENANCE:
1. Remove the support of MySQL 5.7 [#577].
2. Remove the support of MariaDB 10.2 [#578].
3. Remove the support of MariaDB 10.3 [#578].


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.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.

BUG FIXES:
1. Double escaping of Atom/RSS titles and descriptions.
2. Don’t show the same resource twice in Atom/RSS feed.
3. For a new database, ensure the category table has the catchall category 'General'.
4. Fix missing highlighting of search terms in lists and single resource views.
5. 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).
6. The maximum file size was incorrectly capped at the value of upload_max_filesize when using PHP 8.x or higher.
7. Serialized PHP in db was broken by NFC normalization [#527].
8. Fix the writing of creator attributes on bibliographic resource elements in styles.
9. Improve handling of multiple punctuation in the bibcite engine.
10. User config was not saved when a boolean field was implied (MySQL engine only, not MariaDB).
11. Remove the use of temporary tables because MySQL and MariaDB do not have the same behavior.
12. ZipArchive issues warnings when trying to open empty files from PHP 8.0 (PHP 8.0 support [#339]).
13. Replay upgrade SQL queries with syntactical errors from previous steps.
14. Cannot display image preview in the Word Process image gallery (implicit float to int conversion, PHP 8.0 support [#339]).
15. Wrong memoization of short month names.
16. Fixes custom XML styles which have not been well upgraded.
17. 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.
18. On searches for exact phrases ("xxx xxx xxx"), fix a crash with a space at the start and/or end of the exact phrase.
19. adminstyle: ensure that creator strings are saved.
20. Fix database upgrade errors [#569].
21. And empty abstract raised an error in RSS [#571].
22. Misdetection of db engine version during upgrade.
23. Fix a truncation of the name of the downloaded papers when the name use a single quote.
24. Fix the advanced search preview (not all option are displayed if advsearch_BibId was not set [#583].
25. Compute properly the resourceBibtexKey field with ASCII encoding [#564].
26. RTF export error about custom fields and URL [#580].
27. Export error of time fields in RIS [#581].

FEATURE ENHANCEMENTS:
1. 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.
2. 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.
3. Allow the 'General' category to be renamed by the admin.
4. Related to bug 5, ensure that only populated user and group bibliographies are displayed in Wikindx|Bibliographies.
5. For resource lists, split the 'Timestamp' order option into 'Timestamp: added' and 'Timestamp: edited' options.
6. 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.
7. Tooltip for attachments.
8. Add to the citation engine the detection of imperial and SI measurement units [#417].
9. Convert XML style to JSON [#524].
10. Upgrade on autopilot.
11. New translations: Chinese (zh), Korean (ko), Swedish (sv).

MAINTENANCE:
1. Update to Smarty dev-master/5.0.0.
2. Reimplementation for Smarty 4 of the SmartyMenu function as an extension.
3. Remove style caching.
4. Bump component compatibility version of templates to 4.
5. Redistribute XML styles attributes from resource elements to subordinate elements.
6. Bump component compatibility version of styles to 28.
7. Update XpdftoText component with version 4.04 of XpdfReader command line tools.
8. Remove workaround code for PHP 7.4.
9. Remove configlanguage which is not used anymore since the default language is controlled by the browser headers.
10. Convert most checkboxes to radio buttons.
11. Update PHPMailer (v6.8.0).
12. Update jQuery (v3.7.0).
13. Transpose cache table columns to rows [#528].
14. Changing the RepairKit Schema format to JSON allows for better versioning.
15. No longer ignore SQL errors when upgrading or installing [#534]
16. 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]
17. Always crash on SQL error so you don't miss silent errors [#534].
18. Bump component compatibility version of plugins to 18.
19. Transifex has changed the address of its platform.
20. Replace iconv by some Intl transliterator [#565].

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


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.7.0
Focus: maintenance.

NB: THIS VERSION IS A MAINTENANCE VERSION ONLY TO FACILITATE THE TRANSITION
FROM PHP 7.4 TO PHP 8.0. ITS CODE IS STRICTLY IDENTICAL TO VERSION 6.6.8
MINUS SUPPORT FOR PHP 7.4.


MAINTENANCE:
1. Drop PHP 7.4 support [#471].


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.6.8
Focus: bug fixes, feature enhancements, and maintenance.

NB: THIS VERSION IS THE LAST SUPPORTING PHP 7.x.

BUG FIXES:
1. Fix a number of issues to do with resource, basket, and ideas listing.

FEATURE ENHANCEMENTS:
1. Added dictionary paging. For resource lists ordered by creator and title (or attachment when using advanced search to display only attachments), paging can now be set to dictionary (e.g., aardvark <—> batman, batmobile <—> kitten and so on) in MYWIKINDX.

MAINTENANCE:
1. Reduce the number of SQL statements required for resource lists (speeds up processing and reduces memory requirements).
2. Merge the SmartyMenu class with the MENU class and keep the menu handler inside the Smarty plugin (change in anticipation of Smarty 5).
3. Register a missing function for Smarty (array_key_exists).
4. Reimplementation for Smarty 4 of the SmartyMenu plugin as a function.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.6.7
Focus: bug fixes.

BUG FIXES:
1. Bump component compatibility version of plugins to 17.
2. Fix MySQL/percona vesion number detection.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.6.6
Focus: bug fixes.

BUG FIXES:
1. Fix an issue with displaying attachment lists from advanced search.
2. Wrong name of optional bz2 extension.
3. Note 'xml' extension as mandatory.
4. Missing licence header.
5. Missing persistent mode for MySQL.
6. Missing socket support for MySQL [#509].
7. Replace the image of the statistics bar with CSS code because it is not accessible in some cases.
8. Escape histograms tooltips.
9. Resource type histograms tooltips were not translated.
10. Sort resource type names by following their translation.
11. Add missing fields from component.json in Admin Style editor.
12. Restore the licence field of component.json file of styles.
13. Clear the version table when a component is uninstalled.
14. Simplification of the translation system [#511] and standardization of catalogs between the core and the plugins [#510].
15. Ensure that the 'Return to list' icon when viewing a single resource is properly pointing back to the basket if basket was the last list type.
16. Fix HTML syntaxic errors (empty title and target attributes).
17. Fix quicksearch bug with no results when using AND [#517]
18. Wrong target attributs in resource view and attachments.
19. Follow the W3C standardization recommendation for strings to NFC (see https://www.w3.org/International/questions/qa-html-css-normalization).
20. \FORM\selectedBox() could truncate option’s values.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.6.5
Focus: bug fixes.

BUG FIXES:
1. Although the database was updated correctly, the checkbox for 'Print PHP errors and warnings to the screen:’ in the Configure menu was always checked.
2. Fix a crash when the mailing function is called.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.6.4
Focus: bug fixes.

BUG FIXES:
1. Use PHPMailer sender mechanism to set Return-Path header.
2. The style cache was corrupted.
3. Wrong display of MySQL engine version in debug config page [#515].
4. ’CAST( bla AS INT )’ is not a syntax supported by MySQL engine.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.6.3
Focus: bug fixes.

BUG FIXES:
1. Crash when a directory of a zipped component is unpacked.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.6.2
Focus: bug fixes, and maintenance.

FEATURE ENHANCEMENTS:
1. Notify administrators of pending registration requests on the front page.
2. Hide the moderation page of registrations when the moderation is disabled.

BUG FIXES:
1. Fix directory hash algo.

MAINTENANCE:
1. Remove json2.js (JS library not used anymore).
2. Improve the registration page.

SECURITY:
1. Replace the registration captcha by an honeypot.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.6.1
Focus: bug fixes, and maintenance.

BUG FIXES:
1. Crash when editionOrdinalStyle of a bib style is not defined.
2. Set the default locale of TinyMCE according to the default locale of WIKINDX.
3. Use a hash signature for compiled style to prevents the loading of expired styles.
4. Fix the captcha challenge on registration page.
5. configImgWidthLimit and configImgheightLimit were not saved.
6. Handle the Return-Path in SMTP mode.

MAINTENANCE:
1. Set error_reporting level to E_ALL on a fresh install.
2. Update jQuery from v3.6.2 to v3.6.3 (bug fix version).
3. Remove Progress bar.js (JS library not used anymore).
4. Use PHPMailer properly when the the Reply-To field is not defined (PHP 8.x only).
5. Explains messaging options better.
3. Remove json2.js (JS library not used anymore).


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.6.0
Focus: bug fixes, major feature enhancements, and maintenance.

IMPORTANT INFORMATION:

This version supports PHP 7.4, 8.0, 8.1, 8.2. It’s the first offering PHP 8.1 and 8.2 support. PHP 7.3 support is dropped.

Because the new citation engine uses SQL more efficiently, all bookmarks are deleted at upgrade.

BUG FIXES:
1. When viewing a single resource, ensure all uses of '{...}' to maintain letter case in titles are removed when hovering over 'View all bibliographic details.'
2. Adminstyle plugin: ensure independent fields are a) saved for all resource templates and b) are available, once saved, in the template field of the editor. In this example of part of a resource template,
|%(%|originalPublicationYear%-%|publicationYear|%).%|
the two outer fields ('|%(%|' and '|%).%|') are independent fields and govern the formatting of the two inner fields taken together.
3. Adminstyle plugin: some corrections to style preview relating to revisionYear for web-type sites and articles.
4. Bypass the limitations of FILTER_VALIDATE_EMAIL PHP filter which does not accept UTF-8 IDNs (<https://bugs.php.net/bug.php?id=69140>).
5. Restoration of the exception management code of the PHPMailer library: the library does not always honor its "no exceptions" mode.
6. Fix warnings for getMusing method of the CMS interface.
7. Fix a crash for getParaphrase method of the CMS interface.
8. Fix warnings for getQuote method of the CMS interface.
9. Fix a wrong data structure for getParaphrase method of the CMS interface.
10. Adminstyle plugin: ensure previewCite is working properly.
11. Improved citation formatting particularly in-text subsequentCitation checks.
12. Add the missing message 'broadcastYear' to MESSAGES.
13. Fix errors in resource URL edit form.
14. Fix a crash during registration confirmation (wrong case of usersListLink field).
15. Fix HTTP(S) protocol detection behind a load balancer.
16. Fix locale detection for digraphic languages on Windows.
17. Work around a MySQL bug. GROUP_CONCAT misbehaves when group_concat_max_len is exactly 1073741824.
18. Fix to ordering lists by year.
19. Fix a typo in PUBMED import that caused a crash.
20. Rationally and clearly deal with session/temp storage data for list operations.
21. Fix bundle of attachments in advanced search.
22. Fix https://sourceforge.net/p/wikindx/v5bugs/434/—the organization functions do not work when viewing a basket.
23. Work around a bug on Mac with Zip files (PHP bug #79296).
24. Add UTF-8 support to JpGraph error dialog box.
25. UTF-8 word wrapping in RtfTexter.
26. Warning about non standard CSS zoom property.
27. Cleaning disabled user options was broken.
28. Store serialized PHP inside BLOB db fields [#426].
29. Not boolean default value for WIKINDX_LIST_LINK_DEFAULT.
30. Allow collection title with an apostrophe [#458].
31. Fix HTML entities JS decoder (allow selection and copy of values with apostrophe).
32. Abbreviate compound name well: Jean-Pierre => J.-P.
33. Wrong binary OR operator when the RSS is escaped.
34. Wrong self link id in RSS 2.0 format.
35. Memory exhaustion on high traffic (missing condition on temp_storage table SELECT query) [#486].
36. Fix translations on MacOs : replace Gettext internal catalogs by PHP arrays [#424] [#490].
37. Fix bibTeX import using codes such as \textit{...} as per https://sourceforge.net/p/wikindx/discussion/326884/thread/8118eebf6a
38. The word processor does not save the change when only the title of a new paper was touched.
39. Fixed loading translations on Mac by replacing Gettext with Intl [#280] [#402] [#431].
40. Force browser download mode for exported papers.
41. Download raw papers in HTML.
42. Checking pattern of WIKINDX_MEMORY_LIMIT option didn't catch numbers.
43. Fix the default value of WIKINDX_URL_BASE ("" instead of FALSE).
44. Enforce type parameters in CONFIG class.
45. Crash when following an author link on statistics page.

FEATURE ENHANCEMENTS (GENERAL):
1. Most feature enhancements for this version revolve around implementation of a new citation engine to handle citation and bibliography formatting. Related to this, is an enhancement of localization options for the citation engine. The major changes and improvements for both of these are listed below.
2. Auto detection of the domain name when it is set in 'SERVER_NAME' header.
3. Add links to help during the Install/Upgrade process.
4. Improve navigation within lists (e.g., new 'Return to list' icon when viewing a single resource from a list).
5. Add neutral terms for French and German (du, des, et, und).
6. Added a password bypass checkbox to My WIKINDX when editing the user's details.
7. When exporting a list or basket to HTML, the export bibliographic style can now be chosen.
8. The max lifetime (in days) of a user session with the ’Remember Me’ option checked is configurable [#332].
9. When highlighting text (e.g., after a search operation), use <mark>syntax</mark>. The HTML element uses the existing highlight class in the templates. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark for more details.
10. Conform resource languages to locales as described at https://sourceforge.net/p/wikindx/v5bugs/300/.
11. Highlight search results with <mark> HTML5 element [#484].
12. SMTP authentication method can be forced in addition to automatic mode.
13. Add more list types for HTMl textareas and the Wordprocessor.
14. RTF export has been completely rewritten: the RTF is more accurate and, among other things, nested lists and tables are now possible.
15. AVIF image format support [#491].
16. Ideas can now be stored in a basket that is independent to the resource basket.
17. Help messages for configuring uploaded files [#279].
18. New translation: Danish (with DeepL and Google Translate).
19. New translation: Dutch (with DeepL and Google Translate).
20. New translation: Greek (with DeepL and Google Translate).
21. New translation: Indonesian (with DeepL and Google Translate).
22. New translation: Dutch (with DeepL and Google Translate).
23. New translation: Japanese (with DeepL and Google Translate).
24. New translation: Polish (with DeepL and Google Translate).
25. New translation: Portugese (with DeepL and Google Translate).
26. New translation: Romanian (with DeepL and Google Translate).

FEATURE ENHANCEMENTS (SPECIFIC):
WORD PROCESSOR:
1. The word processor has been rewritten and is no longer a plugin but part of the core under the menu 'Authoring'.
2. In addition to RTF export, papers can be exported to HTML.
3. RTF export has been improved particularly regarding footnotes and endnotes.

CITATION ENGINE:
The citation/bibliographic formatting engine and relevant parts of the adminstyle plugin have been completely rewritten and improved in a number of ways including:
1. Added special field 'citePages' to specific resource types that have page numbering. This is only for incrementing footnotes and incrementing endnotes drawn from cited text where an endnotes/footnotes template is set to 'citation'.
	a) In the case of footnotes, the full footnote template for that resource is used if using 'citation', and, in addition to the 'pages' field (e.g., article page range in a journal), the 'citePages' field can be added to the template. This relates to the specific page(s) cited in the text.
	b) In the case of endnotes, the full bibliography template for that resource is used if using 'citation', and, in addition to the 'pages' field (e.g., article page range in a journal), the 'citePages' field can be added to the template. This relates to the specific page(s) cited in the text.
2. In all citation templates (in-text and endnote styles), the 'year' field can now be replaced with a partial template using 'year1' and 'year2' fields for specific resource types. 'year1' is the original publication year; 'year2' is either the reprint year (book-type resources) or the revision year (web_encylopedia-type resources). Thus, an in-text citation can now be, for example,
	(Grimshaw-Aagaard 2002-2021)
	instead of
	(Grimshaw-Aagaard 2021)
	and similarly for endnotes.
3. Enabled localization for style files. This affects only ordinals for edition numbers, and day of the month, and month names in bibliographic entries.
4. Adminstyle plugin: added another option to edition numbers and day of the month: 'Cardinal + '°').
5. Bibliographic style compilers can now add a delimiter to page ranges for citations, footnotes, and bibliographic templates.
6. Bibliographic style compilers can now specify normal/superscript/subscript for the ordinal's extension in edition and day of the month formatting.
7. Citations (in-text and endnote styles) can now be automatically repositioned in the sentence such as after the relevant creator name(s), after the relevant quotation, before or after the end of the sentence.
8. In-text citations, footnotes/endnotes, and bibliographic entries can now have any subtitle capitalized independently of title capitalization.
9. When using a citation style that is either incrementing endnotes or endnotes with the same ID (but NOT ordered by bibliographic ordering), footnotes that are not citations can either be separate footnotes or part of the endnotes. Such footnotes are part of footnotes for incrementing footnotes citation styles and are always footnotes for other styles.
10. Added creatorRepeatOverrideFormat field to the Bibliography Creators block in the adminstyle plugin. If using a string to replace names for repeat creators, you can remove formatting in the replaced field.
11. Added noMultiplePunctuation field relating to bibliographic/endnotes templates. If template fields are removed because of missing values, punctuation in the fields before and after might lead to unwanted multiple punctuation. In some cases, ensuring the punctuation is conditional on the presence of the missing field or not will solve the problem, or you can trust to WIKINDX to attempt the job by setting this flag.
12. Added orderUsePrefix to the Bibliography Order block. When sorting bibliography/endnotes by First Creator, for example, should 'de Malherbe' come before 'Heidegger' or after?
13. Adminstyle plugin: preview endnote/footnote citations in addition to in-text citations.
14. All style files are upgraded when installing the new WIKINDX version.
15. Force the plain text paste mode of TinyMCE for specific fields (titles, subtitles...) [#428].
16. Add field 'shortTitle' to footnote/endnote templates.
17. Add field 'creatorSurname' to footnote/endnote templates. creatorSurname takes precedence over any creator field present.
18. Add running time to the audiovisual resource type.
19. Running time for audiovisual, film, and broadcast resource types now has seconds and milliseconds fields in addition to hours and minutes.
20. Make runningTime format a template rather than a select box—style: files have been updated for this. The WIKINDX style is the only style in the official release that has runningTime in the audiovisual, film, and broadcast bibliography templates.
21. Improve formatting of dates (day and month). The bibliographic formatting of dates now uses templates—the style files have been updated.

LOCALIZATION:
Style files now have independent style localization and cite localization settings. The former controls bibliographic output (reference lists) while the latter controls the way text with citations is handled. This means, with cited text such as in resource metadata and especially in the word processor, you can write in, for example, French (e.g., French quotation markers around cited text) and output the reference list in an English style (e.g., English ordinals and dates). The ability to recognize locale-specific quotation markers (along with locale-specific punctuation, abbreviations, number formatting, etc.) is key to the citation engine's new feature of repositioning citations in the text (see CITATION ENGINE: 7. above). This requires a) that the [cite] tag is positioned WITHIN the relevant sentence (but, as noted above, the citation engine can reposition the citation at the end) and b) that the [cite] tag relevant to any quoted text is the FIRST [cite] tag appearing AFTER the quotation. The citation engine makes these assumptions because a) it works on a sentence-by-sentence basis and b) it parses the sentences from left to right.
1. Added new files for style and cite localizations in core/bibcitation/libs/: STYLELOC.php and CITELOC.php (if you make any enhancements here for your specific locale/language, PLEASE CONTACT THE WIKINDX ADMINS SO THAT WE CAN INTEGRATE YOUR CHANGES INTO THE CORE CODE).
2. Improved recognition of author names in the sentence. This is relevant to the use of different templates depending on presence of the name(s) and repositioning the citation after the name(s). The recognition works on all combinations of (first) creators' firstname(s), initials, prefix(es), and surnames, and includes localized conjunctions, soft punctuation, possessives, and creator abbreviations that are set for the specified locale in CITELOC. For example, for a resource having Mickey Mouse, Donald D. Duck, and de Pluto as first creators, the following are just a few of the combinations that will be recognized assuming the locale in CITELOC is set-up accordingly:
	Mouse
	Mouse and Duck
	Mouse, Duck & Pluto
	M. Mouse, D.D. Duck, and de Pluto
	Mouse and co-authors
	etc.
 

MAINTENANCE:
1. Corrections to all styles relating to bug #2 above.
2. Suppress auto response messages from Outlook.
3. Update TinyMCE v5.10.5.
4. Avoid 301 HTTP error when the admin has not set a override.css file.
5. Update to PHPMailer 6.7.1 (PHP 8.1 / 8.2 support [#411] [#493]).
6. Update to Smarty 4.3.0 (PHP 8.0, 8.1, 8.2 support [#339] [#411] [#493]).
7. Tidying up of the bibliographic and citation code.
8. Update to jpGraph 4.3.5 (bugfix).
9. All bibliographic/citation code is WIKINDX specific (i.e., no longer optional to use defunct OSBib). This simplifies the code somewhat.
10. Ensure, when upgrading bibliographic style files, that they (and component.json files) are readable/writeable.
11. Upgrade MySQL requirements to v5.7.9.
12. Added modules/list/ADVSEARCHFORM to separate form creation from search operation. A +3500-line(!) file was split into two (perhaps more work to do here to aid maintenance).
13. PHP 8.1 custom support for JpGraph library [#415].
14. Speedup the loading of TinyMCE custom plugins.
15. Store configDeactivateResourceTypes, configNoSort, configSearchFilter unserialized.
16. Use only the user session to generate CMS tags.
17. PHP 8.1 support: Return Type Compatibility with Internal Classes [#411].
18. Softens error messages in case of absence of reference messages.
19. Drop PHP 7.3 support.
20. Remove legacy code using COM objects on Windows (not working without php_com_dotnet.dll lib).
21. Add a fallback challenge if GD library fails.
22. Relax errors with trigger_error() when the process can eventually run without crashing [#436].
23. PHP 8.2 support: Replace utf8_encode and utf8_decode [#437].
24. Rename usersCookie field to usersAuthRememberMe.
25. Merge pdftotext library with core.
26. Merge PHPMailer library with core.
27. Merge RtfTools library with core.
28. Merge Smarty library with core.
29. Merge jQuery library with core.
30. Merge jsonjs library with core.
31. Merge progressbarjs library with core.
32. Merge TinyMCE library with core.
33. Remove vendor components type (merged with core).
34. Rename folders containing translations catalogs (languages => translations).
35. Bump component compatibility version of all components (plugins:16): new translation system.
36. Removed support for Internet Explorer (EOL since July 2022).
37. Update jQuery from v3.6.0 to v3.6.2.
38. Remove \UTF8\mb_chr() polyfill.
39. Remove \UTF8\code2utf8() polyfill.
40. Update JpGraph from v4.3.5 to v4.4.1 (official PHP 8 support).
41. Rely only on Intl library (ICU) for i18n (ignore the system locale) [#280] [#402] [#431].
42. Store translation catalogs with a custom PHP derivated format instead of gettext [#490].
43. Allow office.php only in Trunk version mode.
44. The WIKINDX_MAX_WRITECHUNK option is no longer useful and has been removed [#494].
45. The user config was not reloaded immediately after a successful logon [#498].
46. Help users with messages when config.php is misconfigured.
47. Unify methods of logout [#285].
48. Support the binary and octal format for WIKINDX_MEMORY_LIMIT option [#493].
49. Simplified PHPMailer update.

SECURITY:
1. Remove the parseSql() function of the CMS print API.
2. Update to Smarty 4.0.3 (CVE-2021-21408).
3. Prevent the execution of CLI script via the web server.
4. Prevent folder listing with index.php files.
5. Add .htaccess rules disallowing access to main and dbschema folders [#197].
6. Extend the captcha challenge.
7. Use a SameSite=Strict cookie policy [#320].


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.5.0
Focus: bug fix and maintenance

IMPORTANT INFORMATION:

This version supports PHP 7.3, 7.4, and 8.0. It’s the first offering PHP 8.0 support.

BUG FIXES:
1. Fixed bug #416 — incorrect formatting of citations/bibliography when exporting to RTF using a footnote/endnote style.

MAINTENANCE:
1. Update Ukrainian translation.
2. Update TinyMCE vendor component to 5.10.0.
3. Remove the spellchecker feature (this feature has been deprecated by the next TinyMCE version and browser spellcheckers are fine).
4. Prevent PHPMailer to throw exceptions.
5. Migration to TinyMCE 5 [#119] [#119].
6. Autosave of WordProcessor papers [#155].
7. Update Smarty v4.0.0-rc.0 (PHP 8.0 support [#339]).
8. PHP 8.0 support.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.14
Focus: maintenance

MAINTENANCE:
1. Keep the pre-PHP 8.1 behavior instead of throwing an exception when an error occurs in the MySQLi lib [#411].
2. Hardcode the pre-PHP 8.1 behavior of html_entity_decode() and htmlspecialchars() [#411].
3. Replace calls to strftime() for an IntlDateFormatter formater [#411].
4. The FILE_BINARY constant is deprecated by PHP 8.1 [#411].
5. Support Unicode 13 and 14.
6. Hide characters not defined by Unicode from the character table (ranges are not always full).
7. Hide characters not defined by the PHP mbstring lib from the character table.
8. Update components using the version number or the hash signature (allow to release again a component with a higher version number or release twice a day with different hashs: E.g. reverting code to fix a crash).
9. Bump component compatibility version of all components (plugins:15, style:8, template:3): allow to upload again a component of same version.
10. Display useful information for debugging in debug config admin.
11. Update French translation.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.13
Focus: maintenance

BUG FIXES:
1. Prevent a warning when $this->img is not a GdImage object [#315].

FEATURE ENHANCEMENTS:
1. In QUICKSEARCH, ensure the 'include attachments' checkbox is only shown a) when the configuration allows it for the user and b) if there are attachments.

MAINTENANCE:
1. Configure jpGraph lib to support PHP 8.0 [#350].
2. Download the signature files of components instead of using the precomputed hash of the components list: allow to upload again a component of same version.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.12
Focus: bug fix

BUG FIXES:
1. Remove a bug on upgrade to 6.4.11.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.11
Focus: bug fixes, feature enhancements, maintenance

BUG FIXES:
1. In QUICKSEARCH ensure the 'Include attachments' checkbox only shows if there are attachments.
2. Correct some CMS paths.
3. Fix a path that broke the wordprocessor plugin when saving to RTF.
4. Ensure bookmarks are only available for registered users.
5. Fix bug [#407]: ensure '<' and '>' in style templates are printed in HTML as is.
6. In v6.4.8, the view of statistics (popularity etc.) was disabled by default due to speed concerns on large databases. Display of the popularity index when viewing random metadata was overlooked causing a slow reponse—this has been corrected.
7. Apply Smarty pull request 586 to fix a crash with Turkish locale [#408]: https://github.com/smarty-php/smarty/pull/586
8. Memoization of false translations when the instantiation of localization objects occurs before the complete determination of the user's locale.
9. On the front page, either the latest added/edited resources can be displayed or resources added/edited in the last xxx days. In both cases, an error occurred if there were no such resources. This has been fixed.
10. Fix bug [#409]: SQL error on publisher statistics.
11. Fix the random resource display: SQL LIMIT was inconsistent.
12. Fix a warning about missing components.

FEATURE ENHANCEMENTS:
1. Rewrote the interface for the adminstyle plugin.
2. Turkish translation (Thanks to Süleyman Arslan).

MAINTENANCE:
1. Update PHPMailer (v6.5.1).
2. Update Ukranian translation.
3. Internalize knowledge of builtin components to simplify their format.
4. Simplify the component.json format (v2) (remove fields component_builtin and component_updatable).
5. Bump component compatibility versions (needed by the new component.json format).


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.10
Focus: bug fixes, maintenance

BUG FIXES:
1. Correct display of resource icons in list view – 4 possibilities: resource only, resource with metadata, resource with attachment, resource with metadata and attachment. Update the latter icon.
2. Fix missing message when authGate is enabled.
3. Fix RSS/ATOM feed display.
4. Fix an issue paging through a basket.
5. Do not restore memory_limit configuration to work around PHP bug #81070 (in PHP 7.4 and 8.0).

FEATURE ENHANCEMENTS:
1. QUICKSEARCH: Add a check box to toggle searching of attachments.

MAINTENANCE:
1. The default db name become 'wikindx'.
2. Some rationalization of bibliographic style code moving a lot into the core from the adminstyle plugin.
3. Upgrading of bibliographic styles.
4. Split Chicago bibliographic style into two styles, one for footnote version and one for author-date version.
5. Bump component compatibility version of plugins to 13 (style editor change for v6 style components).

SECURITY:
1. Update PHPMailer (v6.5.0, CVE-2021-3603).


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.9
Focus: bug fixes, maintenance, feature enhancements

IMPORTANT INFORMATION:

The attachment cache is completely rebuilt to take advantage of new supported formats and fixes.


BUG FIXES:
1. The default value configBrowserTabID option was wrong in the configuration screen.
2. Restore the migration of config options of from 5.3.1 (this code should not change).
3. RSS language tag was not compliant with the spec when the country part is added.
4. Don’t crash when opening a non Zip Archive.
5. Fix the mimetype detection of attachments.

FEATURE ENHANCEMENTS:
1. Option to disable Google Scholar indexing (indexing is enabled by default now).
2. Option to disable the RSS Feed (the RSS Feed is enabled by default now).
3. Option to disable the sitemap for search engines indexation (the sitemap is enabled by default now).
4. Syndication Feed in Atom 1.0 and RSS 2.0 formats [#282].
5. Better name and description of syndication options.
6. Add the resource abstract to RSS feeds [#393].
7. Better parsing of ODT documents for attachment caching [#380].
8. Support FODT (Flat ODT) text extraction (attachments) [#380].
9. Support ODP/OTP/FODP presentation extraction (attachments) [#383].
10. Support STI/SXI presentation extraction (attachments) [#384].
11. Support STW/SXW text extraction (attachments) [#385].
12. Support POTM/POTX/PPTM/PPTX Powerpoint extraction (attachments) [#386].
13. Support FB1/2 FictionBook extraction (attachments) [#387].
14. Support XPS text extraction (attachments) [#361].
15. Support SLA Scribus text extraction (attachments) [#388].
16. Support PostScript text extraction (attachments) [#367].
17. Support DjVu text extraction (attachments) [#389].
18. Support DVI text extraction (attachments) [#390].
19. Support reStructured text extraction (attachment) [#391].
20. Support markdown text extraction (attachments) [#356].
21. Support AbiWord documents text extraction (attachment) [#392].
22. Fix the mimetype of attachments in db and rebuild the cache of attachments with a wrong mimetype [#394].
23. Add a switch in Admin|Configure|Users to allow registered users to edit categories and subcategories. This replaces the userwritecategories plugin which is now retired.

MAINTENANCE:
1. Better hints for the sitemap option.
2. Set a higher limit to the RSS feed (50 resources displayed).
3. Remove the custom style of RSS (use the global style now).
4. Fix the type of the default SMTP port value.
5. Rename option configRssDisplay to configRssDisplayEditedResources.
6. Bump component compatibility version of plugins to 12.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.8
Focus: bug fixes & feature enhancements

IMPORTANT INFORMATION:

Three extensions become mandatory: curl, dom (libxml) and zip.

This allows:

- More attachment formats covered by search
- Components update more stable


BUG FIXES:
1. Fixed a rare error (missing URL array) when adding/editing resources.
2. Replace some call to strstr by mb_strstr (UTF-8 support).
3. Set max_allowed_packet to 1073741824 (allow to store LONGTEXT type in one statement, MySQL).
4. Fix an error in paging ideas following Advanced Search when ideas are the only field searched on.
5. Matching with matchPrefix() and matchSuffix() was partly insensitive.
6. Prevent issues when a plugin is removed but not disabled safely by the admin.
7. Fix a crash on creation of resource_attachments table.
8. Fix a crash during a fresh install (error on table counting).
9. Fix a bug in search highlighting that remembered a previous search instead of removing it.
10. Fix a bug in resource view for the delete icon for a user's own resource if they are not the superadmin.
11. Fix bug [#314] (warning if not enough creators available for creator grouping).
12. Fix charset handling of BiBTeX import [#366].
13. Fix APA style for web sites and web articles.

FEATURE ENHANCEMENTS:
1. Add a switch in MyWikindx|Resources to toggle the display of certain statistics when viewing a single resource. The display of views index and popularity index greatly slows down the display of the resource so these can be turned off (the default on upgrade) and only number of views, number of downloads, and maturity index will be viewed. Popularity and view indices will appear in a later version in the Statistics menu.
2. Set the timezone of the db engine.
3. New plugin XpdfReader PdftoText: a second option to convert PDF attachments.
4. Support EPUB text extraction (attachments) [#355].
5. Support TXT text extraction (attachments) [#360].
6. Support (X)HTML text extraction (attachments) [#359].
7. Support MHT/HTML text extraction (attachments) [#357].
8. QUICKSEARCH now also searches on cached resource attachments.
9. Moved the functions of the importexportbib plugin to the core code (Under Resources menu, Resources|Basket menu, and Metadata menu).
10. Custom session garbage collector (see Admin|Configure|Users).

MAINTENANCE:
1. Align group_concat_max_len value with max_allowed_packet (MySQL).
2. Document MySQL/MariaDB settings.
3. Store the content of attachment cache files in the database [#352].
4. Add missing mime-types of parsable attachments.
5. Fix return_bytes for negative values (e.g. memory_limit) [#351].
6. curl PHP extension is mandatory now.
7. dom PHP extension is mandatory now.
8. zip PHP extension is mandatory now.
9. Keep the userId of users who have been logged in at least once.
10. Transfer registered users' baskets and bookmarks to separate tables – these are maintained permanently regardless of what happens with FEATURE ENHANCEMENT 10 above.
11. Be more reliable when a component is removed by hand [#373].
12. Bump component compatibility version of plugins to 11.
13. Query PUBMED with curl [#364].
14. Improve mime-type detection of getMimeType() [#362].

SECURITY:
1. Update PHPMailer (v6.4.1, CVE-2020-36326, a regression of CVE-2018-19296 object injection introduced in 6.1.8).
2. Prevent session fixing by using a custom session name.
3. Prevent session fixing by regenerating the session id before a major change of status.
4. Reduce cookie lifetime to 1 month.
5. Hide the value of WIKINDX_DB_PASSWORD in the debugtool.
6. Just in case while a user is logged on and is deleted by the superadmin, ensure their next action returns them to the logon prompt.
7. Update Adminer to version 4.8.1 (fix an XSS in doc_link + PHP 8.0 support).


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.7
Focus: bug fixes, maintenance

IMPORTANT INFORMATION:

This version remove the database prefix 'wkx_' from tables (official and unofficial).

This functionality is only useful for several programs sharing the same database with the same table names or several WIKINDX installations in the same database. These two practices are to be avoided because they are a good way to lose your data. Each software should be isolated in its own database for privacy, security, bug resistance and ease of maintenance. We believe that very few installs use this feature.

6.4.0 harcoded the 'wkx_' prefix but still offered the possibility of cheating with the constant WIKINDX_DB_TABLEPREFIX.

6.4.6 removed the 'cheat mode' and checks that you don't have a mix of tables with another. Otherwise, collisions could occur. If you are affected by this change please contact us for help with the transition.

IT WOULD BE A GOOD IDEA TO BACK UP YOUR DATABASE FIRST BEFORE PROCEEDING WITH THE UPGRADE.

You must apply one or more of these corrections before you can continue.

If you have written your own plugin with your own tables they should use the default prefix 'wkx_' to be portable.

If you customized the prefix, use the cli-migrate-db-prefix.php script to replace it with the default prefix 'wkx_'.

If you have installed another application in the same database, move the tables from WIKINDX, or the database objects from the other application, to its own database.

If you have other tables in the database for various reasons, please drop them or move them to another database.

The official tables for version 6.4.6 were:

wkx_bibtex_string, wkx_cache, wkx_category, wkx_collection, wkx_config,
wkx_creator, wkx_custom, wkx_import_raw, wkx_keyword, wkx_language, wkx_news,
wkx_plugin_localedescription, wkx_plugin_soundexplorer, wkx_plugin_wordprocessor,
wkx_publisher, wkx_resource, wkx_resource_attachments, wkx_resource_category,
wkx_resource_creator, wkx_resource_custom, wkx_resource_keyword,
wkx_resource_language, wkx_resource_metadata, wkx_resource_misc, wkx_resource_page,
wkx_resource_text, wkx_resource_timestamp, wkx_resource_url, wkx_resource_user_tags,
wkx_resource_year, wkx_session, wkx_statistics_attachment_downloads,
wkx_statistics_resource_views, wkx_subcategory, wkx_tag, wkx_temp_storage,
wkx_user_bibliography, wkx_user_bibliography_resource, wkx_user_groups,
wkx_user_groups_users, wkx_user_keywordgroups, wkx_user_kg_keywords,
wkx_user_kg_usergroups, wkx_user_register, wkx_user_tags, wkx_users, wkx_version


BUG FIXES:
1. Fix appending of bibliographies to RTF exports in the word processor [#349].

MAINTENANCE:
1. Remove the db table prefix [#346].
2. Block the install if non WIKINDX tables are found [#348].


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.6
Focus: bug fixes, features, maintenance

IMPORTANT INFORMATION:

The next version of WIKINDX will remove the prefix from tables.

This functionality is only useful for several programs sharing the same database with the same table names or several WIKINDX installations in the same database. These two practices are to be avoided because they are a good way to lose your data. Each software should be isolated in its own database for privacy, security, bug resistance and ease of maintenance. We believe that very few installs use this feature.

6.4.0 harcoded the 'wkx_' prefix but still offered the possibility of cheating with the constant WIKINDX_DB_TABLEPREFIX.

This version (6.4.6) removes the 'cheat mode' and checks that you don't have a mix of tables with another app because the next version will rename all tables without the prefix. Otherwise, collisions could occur. If you are affected by this change please contact us for help with the transition.

IT WOULD BE A GOOD IDEA TO BACK UP YOUR DATABASE FIRST BEFORE PROCEEDING WITH THE UPGRADE.

You must apply one or more of these corrections before you can continue.

If you have written your own plugin with your own tables they should use the default prefix 'wkx_' to be portable.

If you customized the prefix, use the cli-migrate-db-prefix.php script to replace it with the default prefix 'wkx_'.

If you have installed another application in the same database, move the tables from WIKINDX, or the database objects from the other application, to its own database.

If you have other tables in the database for various reasons, please drop them or move them to another database.

The official tables for version 6.4.6 are:

wkx_bibtex_string, wkx_cache, wkx_category, wkx_collection, wkx_config,
wkx_creator, wkx_custom, wkx_import_raw, wkx_keyword, wkx_language, wkx_news,
wkx_plugin_localedescription, wkx_plugin_soundexplorer, wkx_plugin_wordprocessor,
wkx_publisher, wkx_resource, wkx_resource_attachments, wkx_resource_category,
wkx_resource_creator, wkx_resource_custom, wkx_resource_keyword,
wkx_resource_language, wkx_resource_metadata, wkx_resource_misc, wkx_resource_page,
wkx_resource_text, wkx_resource_timestamp, wkx_resource_url, wkx_resource_user_tags,
wkx_resource_year, wkx_session, wkx_statistics_attachment_downloads,
wkx_statistics_resource_views, wkx_subcategory, wkx_tag, wkx_temp_storage,
wkx_user_bibliography, wkx_user_bibliography_resource, wkx_user_groups,
wkx_user_groups_users, wkx_user_keywordgroups, wkx_user_kg_keywords,
wkx_user_kg_usergroups, wkx_user_register, wkx_user_tags, wkx_users, wkx_version


BUG FIXES:
1. Remove dead code about Etag HTTP headers and fix a wrong image mimetype in images dialog [#333].
2. Localize dates with the current locale.
3. Fix a syntaxic error in upgrade step 34.
4. Re-enable the insertion of plug-ins into the metadata menu. Where the plugin config.php file inserted into 'text', this should now be 'metadata'.

FEATURE ENHANCEMENT:
1. Localize the dates in the images dialog.
2. Accept the webp image format because since September 2020 all browsers support it (TinyMCE included).
3. Distinct image, attachment and file upload max file size [#278].
4. Display max file sizes on upload forms [#278].
5. Restrict the uploadable file type when possible.
6. Disable uploads if PHP file_uploads option is Off [#345].
7. Display the limit of the number of files to upload from PHP (max_file_uploads) [#344].

MAINTENANCE:
1. Rename configImagesMaxSize option to configImgUploadMaxSize for consistency.
2. Rename configImagesAllow option to configImgAllow for consistency.
3. Rename configFileAttach option to configFileAttachAllow for consistency.
4. Hardcode the db prefix in SQL files [#346].
5. Throw a fatal error if the database contains non WIKINDX tables [#346].


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.5
Focus: bug fixes, maintenance

IMPORTANT INFORMATION:

The storage (file to db) and format (php_serialize) of sessions change.
All sessions will be lost when upgrading to this version.

BUG FIXES:
1. Allow missing directory for SQL on upgrade (but not creation).

MAINTENANCE:
1. Use the php_serialize handler for session serialization which can managed corner cases.
2. Store sessions in db [#274].
3. Restore garbage collection of sessions (except during an upgrade).
4. Remove the barrier against double session launching from plugins. The change of includes must have corrected this problem.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.4
Focus: bug fixes, maintenance, feature enhancements

BUG FIXES:
1. Add missing indices, again.
2. In the distribution, rename override.css to override.css.dist. This stops any required override.css being overwritten at upgrade. To make use of override.css.dist for CSS control, rename override.css.dist to override.css.
3. Fix search on titles with hyphens [#324].
4. Align textboxes on “File URLs edit” screen.
5. Search on title fields of resources failed where the title/subtitle made use of {...} to protect against changes in bibliographic capitalization [#336].
6. Corrected added/edited message on resource add/edit form return.

MAINTENANCE:
1. Shift resource URLs from the resource_text table to a new resource_url table [#284].
2. Remove base64 encoding/decoding from the cache table.
3. Drop the resource_summary table, create a new resourcemiscMetadata column in resource_misc, and set it to 1 if the resource has metadata.
4. Update PHPMailer (v6.4.0).
5. As part of the upgrade process for 1., this version deletes all registered users sessions related to SQL including bookmarks, last multi view etc.
6. Remove base64 encoding on collection defaults [#331].
7. Protects the upgrade against SQL files with incorrect permissions.
8. Protects the upgrade against rogue files (.DS_Store, thumb...): execute only file with a .sql extension.
9. Remove the base64 encoding of config / constants [#329].

FEATURE ENHANCEMENT:
1. Registered users can add comments to others' quotes and paraphrases – added ability to delete those comments.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.3
Focus: bug fixes

BUG FIXES:
1. Undefined variable during upgrade.
2. Version comparison could fail. E.g. strcmp(’5.7.5’, ’5.7.31’).
3. Fix the rewrite function of config.php (syntax errors).
4. Fix a warning on upgrade when the db engine version number is not standard.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.2
Focus: bug fixes, maintenance

BUG FIXES:
1. When adding a new resource form, if a duplicate title is detected, the form is now re-presented with the filled-in form data intact [#313].
2. Fix SQL formatting.
3. Rearrange the order of some default function fields in readiness for PHP 8 [#312].
4. In some cases, QUICKSEARCH searched on an empty field in FULLTEXT mode (abstracts, notes, etc.) – fixed.
5. Recreate the usersUsernameUnique index with a BTREE type [#318].
6. Index_Type option is unreliable for InnoDB due to functionality of [bug #22632](https://bugs.mysql.com/bug.php?id=22632).
7. Edit collection did not update the collection's resources [#319].
8. Drop old form_data table.
9. Add a missing index on resourceattachmentsResourceId (previous upgrade code missing).
10. Add a missing index on resourcecustomCustomId (previous upgrade code missing).
11. Add a missing index on resourcelanguageLanguageId (previous upgrade code missing).
12. Add a missing index on resourcelanguageResourceId (previous upgrade code missing).
13. Add a missing index on resourcemiscCollection (previous upgrade code missing).
14. Add a missing index on resourcemiscPublisher (previous upgrade code missing).
15. Add a missing index on resourcetimestampTimestamp (previous upgrade code missing).
16. Add a missing index on resourcetimestampTimestamp (previous upgrade code missing).
17. Add a missing index on resourcetimestampTimestampAdd (previous upgrade code missing).
18. Fix indices categoryCategory, keywordKeyword, and resourceTitle.
19. Workaround a limitation of MySQL (no self update of a table).
20. Allow the two syntax of current_timestamp() for MySQL and MariaDB.

FEATURE ENHANCEMENT:
1. Added the ability to add an impressum/legal notice at the footer of each page – see Admin|Configure|Miscellaneous.
2. Added code to interface with a Word add-in if the WIKINDX allows read-only access, can be reached through https:// and has
in-text citation styles (such as APA, Harvard, MLA etc.). The add-in allows the importation of references and citations (quotations/paraphrases) direct from one or more wikindices. The word document can be 'finalized' in the add-in and this (re)formats the inserted references to the
chosen style and appends a bibliography ordered as required.
3. Allow to use the CN as a LDAP login.

MAINTENANCE:
1. Blocks install/upgrade if the db engine does not meet the requirements [#311].
2. Move technical details in debug mode [#301].
3. Move the documentation on the website [#294].
4. Update Smarty (v3.1.39).
5. Update PHPMailer (v6.3.0).
6. Add a lot of missing indices.
7. Add missing FULLTEXT indices on resources.
8. When the WIKINDX_DEBUG_SQL is TRUE, always die on db error [#289].
9. Embed icons in HTML with base64 encoding [#321].
10. Remove dead code validating components ot type language.
11. New rule (code 34) about the characters set of the component_id field of the component.json file.
12. Note the ldap PHP extension as optional.
13. WIKINDX_MEMORY_LIMIT: follow the default official value of PHP memory_limit (128MB).
14. WIKINDX_MAX_EXECUTION_TIMEOUT: follow the default official value of PHP max_execution_time (30 seconds).
15. Remove the deprecated syntax of WIKINDX_MAX_EXECUTION_TIMEOUT. The value cannot be a string now.
16. Use a better system to rewrite the config file.
17. Ensure utf8mb4_unicode_520_ci is always the default collation of the database.
18. Standardize the name of the application to WIKINDX.
19. Update jQuery from v3.5.1 to v3.6.0.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.1
Focus: Minor bug fixes, maintenance, security

BUG FIXES:
1. Typo in changelog.
2. Field userkgusergroupsUserGroupId in table user_kg_usergroups should not accept NULL on first install.
3. Fix https://sourceforge.net/p/wikindx/v5bugs/304/ (missing input when clicking on Quarantine in Admin menu).
4. Syntax error in TinyMCE spellChecker code.
5. Syntax errors in API doc.
6. Remove some leftover print_r() statements.
7. Fix a missing icon when deleting a resource.
8. Correct totals when paging through the front page list.
9. Fix a missing input error in bibliographic/citation styles (bugs #249 & #305).
10. Fix a crash on upgrade of step 34 for version 6.4.0. MariaDB and/or MySQL engines don’t support to fill, drop, and create a table in a single transaction.
11. Vendor components cannot be enabled/disabled.
12. Ensure that user database rows are universally deleted when deleting a user.
13. Ensure that logged-in users can attach resources to user tags.
14. Ensure that logged-in users can only edit a resource's categories, keywords, and languages if they own the resource or allowed to by the superadmin.
15. Add a default value to the users.usersFullname field [#316].
16. In My WIKINDX, after a successful operation, return to the previously selected pane rather than the top User pane.

MAINTENANCE:
1. The curl_close() function no longer has an effect (PHP 8.0 support) [#265].
2. Update future TinyMCE (5.6.2).
3. Add browserTabID functionality to the home page.
4. Update Smarty (v3.1.38).
5. Update style xml files for locales (ticket #308).
6. Bump component compatibility version of styles to 5.
7. Fix some typos (ticket #310).
8. Simplify MySQL/MariaDB version query.
9. Full Ukranian translation (thanks to Yuri Chornoivan).
10. Set utf8mb4_unicode_520_ci as the default collation of the database.
11. Improve browserTabID functionality for single resource views.
12. Credits of translators.

SECURITY
1. A cross-site scripting (XSS) vulnerability in many forms of version 6.4.0 allows remote attackers to inject arbitrary web script or HTML via the 'message’ parameter (CVE-2021-3340, thanks to jppuetz).

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.4.0
Focus: Minor bug fixes, major feature enhancement, and maintenance

IMPORTANT INFORMATION:

The attachment cache is cleared because their creation has been greatly improved and search results will be better.

This version supports php 7.3 and 7.4 only. php 8.0 support is a work in progress.

It is no longer possible to modify the prefix of the tables in the database. This functionality is only useful for several programs sharing the same database with the same table names or several wikindx installations in the same database. These two practices are to be avoided because they are a good way to lose your data. Each software should be isolated in its own database for privacy, security, bug resistance and ease of maintenance. Firstly, the "wkx_" prefix will be kept for some versions and cannot be changed. Secondly, it will be deleted. We believe that very few installs use this feature and we will handle it on a case-by-case basis. If you are affected by this change please contact us for help with the transition.

BUG FIXES:
1. When merging or deleting keywords, ensure integrity of keyword_groups is maintained.
2. Properly handle resource attachment upload errors in all three forms.
3. Fix a missing input error message when clicking on a metadata keyword.
4. Fix the editing/setting of embargo dates for existing resource attachments.
5. Fix the bibliography description edition.
6. Fix a bug in editing keyword groups when there are no user groups.
7. Component admin wrote empty Plugin config.php files.
8. Display a message on failure when a component is disabled.
9. Display a message on failure when a component is uninstalled.
10. When copying a bibliographic style in the adminstyle plugin, ensure the appropriate component.json file is written too.
11. Unbreak the plugin configuration.
12. Fix a regression preventing ldap auth.
13. When importing bibTeX or EndNote bibliographies, ensure certain fields are integers if required by the database structure.
14. Update the locales list on each last step of an upgrade.
15. Session was lost when visiting the login page.
16. Properly decode the HTML entities of texts extracted from a DOCX file.
17. Crash in news edition.
18. Restore front page description translation functionality (bugs #211 and #228).
19. Bibtex export : encode HTML before regular characters.
20. Bibtex export : use file links that return appropriate HTTP code with the correct mime type.
21. Migrate option configEmailnewRegistration to configEmailnewRegistration with several versions of delay.
22. Ensure the session is actually destroyed on logout.
23. Fix PHP escaping of strings in config.php migration script (#286).

FEATURE ENHANCEMENT:
1. When editing a form, use internal representations to repopulate the form in case of error and lessen the load on sessions. Also, restructure form management by splitting form presentation from DB data writing and use redirects to mitigate errors caused when attempting to reload a submitted form.
2. Improve the user interface for several forms.
3. Create the component.json file when creating or copying a style.
4. In single resource view, added icons to toggle between quarantining/approving the resource (quarantining must be enabled in Admin|Configure|Users).
5. When viewing a list of quarantined resources, admins can now approve resources en masse via the organize select box.
6. Retrieve better info from an ldap user account.
7. When adding URLs to a resource, a default URL prefix can now be defined (see Admin|Configure|Miscellaneous).
8. All edit and add functions when viewing a single resource now have a 'Return' link to that resource.
9. If browsing a user bibliography, use it also for the front page (which otherwise uses the master bibliography) – set in Wikindx|Bibliographies.
10. Added the possibility to conduct various operations independently across different browser tabs/windows. Previously, data relating to searches and similar were stored in PHP sessions but these are common to all tabs/windows – searches in different tabs would make use of search data (such as search parameters, last multi search etc.) from the most recently conducted search in whatever tab. v6.4.0 makes use of javascript sessionStorage which allows for browser tabs/windows to be uniquely identified allowing search data to be unique to that search. Not all browsers support sessionStorage (a list of compatible browsers can be found here: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage#Browser_compatibility or https://caniuse.com/?search=sessionStorage) so, for this reason, the feature is disabled by default in WIKINDX. To turn it on, go to Admin|Configure|Miscellaneous.
11. Complete reimplementation of LDAP authentication. (https://sourceforge.net/p/wikindx/v5bugs/254/).
12. Accept the webp image format because since September 2020 all browsers support it. However TinyMCE does not support it yet.
13. Better content extractor for DOCX files.
14. New format supported for document extractor: OpenDocument Writer (ODT).
15. New format supported for document extractor: Rich Text Format (RTF).
16. Send HTTP Error Code 404 for a missing download.
17. Ignore empty sub-menus.

MAINTENANCE:
1. Remove the need of WIKINDX_WIKINDX_PATH and use automatically WIKINDX_DIR_BASE instead.
2. Replace WIKINDX_BASE_URL by  WIKINDX_URL_BASE.
3. Make PHP includes independent of the web server layout: https://sourceforge.net/p/wikindx/v5bugs/244/
4. Bump WIKINDX_COMPONENTS_COMPATIBLE_VERSION of plugins to 9 (for includes and WIKINDX_URL_BASE).
5. Remove the check of title and subtitle length in TinyMCE editor.
6. Remove the type attribute of scripts elements previously mandatory in XHTML.
7. Convert bibliography descriptions to plain text.
8. Convert the  attachment descriptions to plain text.
9. Always disable the SQL debug output if WIKINDX_DEBUG_SQL is not yet defined (on install).
10. Gives the CLOSE class alone the responsibility of displaying SQL traces.
11. Isolate some functions for enabling/disabling a component.
12. Enable by default private bibliographic styles.
13. No more controls over manually configuring a plugin's configuration.
14. Uses a consistent name for the plugin load class.
15. Delete the Amazon import plugin. This imported one resource (only books) at a time from Amazon but it is too much bother keeping up with Amazon's constant changes to the API and connection protocols.
16. Make packaging reproducible.
17. Drop PHP 7.0 support.
18. Drop PHP 7.1 support.
19. Drop PHP 7.2 support.
20. Update PHPMailer to version 6.2.0 (PHP 8.0 support).
21. Remove WIKINDX_DB_TABLEPREFIX: It is no longer possible to modify the prefix of the tables in the database. This functionality is only useful for several programs sharing the same database with the same table names or several WIKINDX installations in the same database. These two practices are to be avoided because they are a good way to lose your data. Each software should be isolated in its own database for privacy, security, bug resistance and ease of maintenance. Firstly, the "wkx_" prefix will be kept for some versions and cannot be changed. Secondly, it will be deleted.
22. Update jpGraph from 4.2.10 to 4.3.4.
23. Remove multistage in upgrade.
24. enchant_broker_free() and enchant_broker_free_dict() are deprecated; unset the object instead (PHP 8.0 support).
25. The curl_close() function no longer has an effect (PHP 8.0 support).
26. Stop storing a copy of the session state in db and use only PHP plain session.
27. Support PHP 8.0 for zip files.
28. New vendor component RtfTools for RTF format handling.
29. Keep internal version numbers in a dedicated table (#268).
30. Update Adminer to version 4.7.8 (PHP 8.0 support).
31. Remove table database_summary and count resources on the fly.
32. Use an internal version for plugins.
33. Assume the bibUtils are in the system PATH.
34. Updated French translation.

SECURITY:
1. Replace crypt/hash_equals() by password_hash/password_verify() which is stronger by default.
2. Disallow access to backups of config.php.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.10
Focus: Interim bug fix

NB: THIS VERSION IS THE LAST SUPPORTING PHP 7.0, 7.1 and 7.2.

BUG FIXES:
1. When organizing a list into categories, keywords, and so on, selecting the radio button 'Use all in list' then put all resources in the database into the selected categories, keywords, and so on. This operation should, of course, just use the members of the list. This has been corrected.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.9
Focus: Minor bug fixes, maintenance, and feature enhancements

BUG FIXES:
1. When viewing a list, fix the use of 'Use all checked' and 'Use all in list' when organizing resources, adding to basket etc.
2. Add back in the missing Admin|Languages menu item.
3. Fix global deletion when editing note and note happens to be an empty string.
4. Fix paging of ideas from Advanced Search.
5. Ensure that an idea can comprise just an image.
6. Fixed case where noteEdit to second resource are lost upon saving after noteEdit of first resource are saved (editing resources in multiple tabs).
7. Extended fix #6 to also allow editing individual quotes, paraphrases, and musing independently of other edits.

MAINTENANCE:
1. Update Smarty (v3.1.36)
2. Intl PHP extension is mandatory now.

FEATURE ENHANCEMENTS:
1. Improved the interface for managing uploaded images (Admin|Images) by displaying thumbnails of images selected for deletion. When deleting images, replace any reference to them in metadata and front page description with "[Image deleted by WIKINDX Administrator]."
2. Improved the interface for grouping and ungrouping creators (Admin|Creators...|Group).

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.8
Focus: Minor bug fixes, maintenance, and feature enhancements

BUG FIXES:
1. For the special restricted user, ensure they cannot change their user details (inc. password) in My WIKINDX.
2. Tidied up display of My WIKINDX.
3. Fix a duplicate declaration of default value for db users.usersFullname field.
4. Update the repairkit schema.
5. Prevent a crash when the database is empty and the userId is known by the session.
6. Prevent a crash with a negative result when full-text searching attachments (Advanced search).
7. When full-text searching attachments (Advanced search), ensure all attachments with the search term are presented for each resource.
8. When browsing resources or listing some by various parameters, ensure the displayed list parameters are maintained through reordering operations.
9. Fix a missing input message when the last multi list is Metadata:Keyword.
10. Fix for web server crash with pasted images: https://sourceforge.net/p/wikindx/v5bugs/239/
11. Guard against null resource IDs in the total list when executing some searches.
12. Correct 'Resources citing this' link when viewing a single resource.
13. When browsing cited creators, ensure cited resources without creators do not cause an error.
14. Ensure there is no option to add bookmarks when viewing the front page.
15. When deleting resources from within a list (i.e. using the select box to delete set resources), ensure that the new display of the list has the corrected number of resources and the correct paging links. Equally, if all resources in the list are deleted, return to the FRONT page.
16. When browsing metadata keywords, clicking on the Reorder button produced and error: fixed.

MAINTENANCE:
1. Remove the MySql persistent connection option (WIKINDX_DB_PERSISTENT). Experienced users who know how to use this tricky option can still use the host's 'p:' syntax.
2. Remove unnecessary serialize/base64 combinations when dealing with session arrays.

FEATURE ENHANCEMENTS:
1. Added a keyword group feature. Keyword groups allow the individual user to group semantically similar keywords together so the resources or metadata can then be browsed together. To create a keyword group, at least two keywords must be in the database. A keyword group is private to the user who created it but the ability to browse them can be shared with one or more user groups (created in WIKINDX|My WIKINDX). When creating a keyword group, adding one or more user groups is not required, likewise the keyword group description: the name and at least two keywords, though, are required. Once created, the resources belonging to all of the keywords in the group can be browsed in Search|Browse... and metadata can be browsed in the Metadata menu.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.7
Focus: Minor bug fixes and feature enhancements.

BUG FIXES:
1. Correct a path for a file icon.

FEATURE ENHANCEMENTS:
1. Added delete icons to individual quotes, paraphrases, and musings when viewing a resource.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.6
Focus: Minor bug fixes and maintenance.

BUG FIXES:
1. When adding a plain/txt attachment to a resource, ensure it is copied to the cache directory so it can be searched from Advanced search.
2. In Advanced search, correct a path when zipping attachments.
3. Minor correction APA style for unpublished works.

MAINTENANCE:
1. Update PHPMailer to 6.1.7.
2. Add a component compatible version for each type of component.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.5
Focus: Minor bug fixes and maintenance.

BUG FIXES:
1. For the WIKINDX testdrive, update the password of user 'wikindx'.
2. Ensure menu plugins display in the menu system where $authorize in the plugin's config.php is set to 1.
3. Fix an SQL error for non-admin registered users using QUICKSEARCH and alphabetical listing.
4. Corrected incorrect paging when inserting a citation into metadata.

MAINTENANCE:
1. Switch the project to ISC License.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.4
Focus: Quick bug fix.

BUG FIXES:
1. Fix for PHP < 7.2.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.3
Focus: Quick bug fix.

BUG FIXES:
1. Fix the release of ideagen plugin and default template components.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.2
Focus: Maintenance and minor feature enhancement.

BUG FIXES:
1. Fix an error that prevent the upgrade of components.
2. Fix some notices when a resource without creator is displayed.
3. Fix the BCP 47 code of to_TO locale.
4. Temporary fix to legacy issue (to be fixed permanently on next database upgrade) – disabled resource types can be stored incorrectly leading to errors when disabling the types from Admin|Configure.
5. Fix mismatch between search results in numerical and alphabetical mode.
6. Add missing message about 'shortNewspaper'.
7. Fix display of deactivated resource types in Admin|Configure.

MAINTENANCE:
1. Changes the operation of the component version number so as not to mislead users.
2. Increase memory prerequisite to 64MB.
3. Add a notice about memory comsumption of upgrade stage 13.
4. Add compatibility functions for higher versions of PHP (polyfill-php.php).
5. Update jQuery from v3.3.1 to v3.5.1.
6. Force browsers to reload JS and CSS files when a new version is installed.

FEATURE ENHANCEMENTS:
1. Add possibility to quarantine resources on import.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.1
Focus: Quick bug fix.

BUG FIXES:
1. Fix an error in v6.3.0 upgrade relating to components.json and an incorrect UPDATEDATABASE.php.
2. Upgrade plugins to WIKINDX plugin version 8.
3. Attempt to deal with a memory leak when caching large PDF files on attachment uploads.
4. As an exception to guarantee access in the event of a misconfiguration or an offline server, if the LDAP authentication of the Super Admin account fails, a second will be attempted with the native method.
5. Prevent the loading of broken plugins.
6. Force to refresh the components.json files on upgrade.
7. Catch more errors of LDAP auth.

MAINTENANCE:
1. Changes the operation of the component version number so as not to mislead users.
2. Increase memory prerequisite to 64MB.

SECURITY:
1. Update PHPMailer to 6.1.6 (CVE-2020-13625).
2. When LDAP auth is On, prevent the user to login without password.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.3.0
Focus: Minor bug fixes and feature enhancements and maintenance.

BUG FIXES:
1. Fix SQL errors on insert citation.
2. Fix SQL errors on listing citing resources when viewing a single resource.
3. Fix display of user bibliography details when viewing a single resource.
4. Fix SQL error in QUICKSEARCH resulting from a NULL id.
5. Fix an error of version check in the repairKit.
6. When loading the basic configuration, only check email settings if email is enabled.
7. Fix the type of the default value of WIKINDX_MAIL_RETURN_PATH to a string and fix the current config.
8. Fix the default smtp encryption method (after a migration).
9. Fix the default smtp backend (after a migration).
10. Fix the type of the default value of WIKINDX_AUTHGATE_MESSAGE to a string and fix the current config.
11. Fix accessors to config variables of array type (#149).
12. Handle a warning in CLI mode about HTTP_HOST.
13. Fix a warning of smarty when the contactEmail is empty.
14. Fix the display of the password size requirement.
15. Bug 214 (https://sourceforge.net/p/wikindx/v5bugs/214/) – allow forward slashes in searches.
16. Ensure the superadmin can edit all quotes and paraphrases (original behaviour that seems to have dropped away).
17. Fix user creation in LDAP context.
18. Fix duplication of username in user creation.
19. Corrected templates – if read-only users are allowed to view attachments (see Admin|Configure), then display attachments when viewing a single resource.
20. Remove statistical lists and ordering (by views, downloads, and popularity indices) as these take too long to compile with large databases.
21. Fix the default value of usersTemplateMenu (#217).
22. Fix the type mismatch bool/Varchar(N) of WIKINDX_LIST_LINK (#216).
23. Fix type mismatch in users options (#218).
24. Fix utf8 encoding of two characters that triggers errors during the manual building.
25. Fix some errors in user administration/preferences.
26. Plugged some memory leaks particularly virulent for large databases.
27. Missing message (https://sourceforge.net/p/wikindx/v5bugs/224/).
28. Admin|Images – fix a bug that causes images (with spaces in their names) to be displayed as NOT used in metadata when they are.
29. Fix the setting of language/locale once and for all . . .
30. Ensure the selected bibliography is taken account of when doing a Quick list all...
31. Fix a potential SQL error with the use of single quotes in the search field of QUICKSEARCH and Advanced Search.
32. Fix some housekeeping statistics generated at the start of each month.
33. Some fixes to user notifications regarding resources added/edited.
34. Ensure specific emails (news and resource notifications) are properly decoded for UTF-8.
35. Fix quicksearch bug (https://sourceforge.net/p/wikindx/v5bugs/226/).
36. Fix an error encoded URLs when paging ideas.

MAINTENANCE:
1. Remove the upgrade code before version 5.1.
2. Remove the PHP mail() function email backend.
3. Remove the option to send erroneous SQL requests by email.
4. Change PHP error level to E_ALL in preparation for PHP 8 support (#186).
5. Rename constants for clarity.
6. Remove duplicate configuration checks.
7. Don't force email ReplyTo to a default wrong value. This option is facultative.
8. Don't force email From to a default wrong value. This option is facultative if the SMTP don't validate the sender.
9. Restrict the LDAP protocol to authorized values.
10. Relocate WIKINDX_TRUNK_VERSION option in the database and rename it WIKINDX_IS_TRUNK.
11. Change the type of the timezone option from TEXT to Varchar.
12. Add WIKINDX_PATH_AUTO_DETECTION option to config.php to explicitly control auto-detection of the path and base url.
13. Drop usersChangePasswordTimestamp column from the DB schema.
14. DB upgrade – transfer data from statistics, resource_misc and resource_attachments tables to new statistics_resource_views and statistics_attachment_downloads tables and drop statistics table and other relevant columns.
15. Add a UNIQUE constraint on usersUsername column (#219).
16. Fix the default value of users table.
17. Disable display of views index, popularity index and downloads index in single resource views and resource lists and disable ability to order by these in Quick list all... operations. On large databases, the compilation of the indices takes too long. At a later stage such indices will be available in the Statistics menu.
18. Update of PHPMailer to 6.1.5 version.
19. Remove superAdmin user configuration from Admin|Configure interface. superAdmin details can be edited from My WIKINDX and from Admin|Users|Edit.
20. Update adminer to 4.7.7 (https://github.com/vrana/adminer/releases/tag/v4.7.7).

FEATURE ENHANCEMENTS:
1. When the admin edits a user, a checkbox allows for the bypassing of the password integrity check, removing the need to enter the password again.
2. Added the option to override CSS styles globally. This is linked to in components/template/xxxx/display.tpl and allows the overriding of any CSS in the templates' own .css files. Custom template designers should add:
<link rel="stylesheet" href="components/templates/override.css" type="text/css">
in display.tpl following the template.css link and create a components/templates/override.css in which the global CSS is placed.
3. In the Metadata menu, keyword browsing can now be fine-tuned according to metadata type.
4. When adding/editing a resource, ensure the title and subtitle textareas are locked to plain text. This stops the insertion of HTML code and images etc.
5. Add a guard to disable the LDAP auth when the PHP LDAP extension is not enabled.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.2.2
Focus: Minor bug fixes.

BUGS:
1. Remove a forgotten var_dump() that breaks the output.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.2.1
Focus: Minor bug fixes.

BUGS:
1. Fix the config include of dbadminer plugin.
2. Add missing logos of templates.
3. Fix a config error of the tag high size.
4. Fix the type of configImagesMaxSize option in the configuration panel.
5. Fix the type of configMailSmtpPort option in the configuration panel.
6. Respect the font size limits of the tags cloud.
7. Fix a saving error of the config by converting the font sizes of the tags cloud to a scalling factor.
8. Drop the float type of the config table.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.2.0
Focus: maintenance.

NB: THIS VERSION IS A MAINTENANCE VERSION ONLY TO FACILITATE THE TRANSITION
FROM WIKINDX V5 TO V6. THIS VERSION REMOVES THE UPGRADE SUPPORT OF V3.8
AND V4.X DATABASE.


MAINTENANCE:
1. Drop upgrade support before v5.1.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.1.0
Focus: maintenance.


NB: THIS VERSION IS A MAINTENANCE VERSION ONLY TO FACILITATE THE TRANSITION
FROM PHP 5.6 TO PHP 7.0. ITS CODE IS STRICTLY IDENTICAL TO VERSION 6.0.8
MINUS SUPPORT FOR PHP 5.6, PLUS SUPPORT FOR PHP 7.4. THIS VERSION IS THE LAST
SUPPORTING PHP 7 AND AN UPGRADE FROM WIKINDX 3.8 TO 6.


MAINTENANCE:
1. Drop PHP 5.6 support.
2. Add  PHP 7.4 support.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.0.8
Focus: Minor bug fixes and feature enhancements.

NB: THIS VERSION IS THE LAST SUPPORTING PHP 5.6 AND AN UPGRADE FROM WIKINDX 3.8 TO 6.

BUGS:
1. Fix a syntaxic error in importexportbib plugin.
2. Fix memory leak when email resource change notifications (https://sourceforge.net/p/wikindx/v5bugs/207/).
3. Fix memory leak when upgrading database and compiling the statistics.
4. Fix the initialisation of configUserRegistrationModerate config variable.
5. Fix some test error in the global configuration screen.
6. Add a missing initialisation of configLastChangesDayLimit config variable.
7. Add a missing initialisation of configPagingTagCloud config variable.
8. Remove config options added by mistake (configMaxWriteChunk, configCaptchaPublicKey, configCaptchaPrivateKey, configRegistrationModerate).
9. Fix the configRestrictUserId default value 0 to instead of FALSE.
10. Fix the configLdapDn default value "" to instead of FALSE.
11. Fix a character case error for option configListLink.
12. Fix the name of the default values of global options.
13. Fix a global option name (configSqlEmail => configDebugEmail).
14. Fix the LDAP Server validity check.
15. Fix a crash on a first install when the statistics are compiled without resources available.
16. Fix the name of the default constant value of WIKINDX_CONTACT_EMAIL.
17. Add a missing default value for WIKINDX_DEACTIVATE_RESOURCE_TYPES (configDeactivateResourceTypes).
18. Fix the name of the default constant value of WIKINDX_EMAIL_CONTACT.
19. Fix the name of the default constant value of WIKINDX_EMAIL_NEWREGISTRATIONS.
20. Fix the name of the default constant value of WIKINDX_EMAIL_NEWS.
21. Fix the name of the default constant value of WIKINDX_EMAIL_STATISTICS.
22. Fix the name of the default constant value of WIKINDX_FILE_DELETESECONDS.
23. Fix the name of the default constant value of WIKINDX_IMG_WIDTHLIMIT.
24. Fix the name of the default constant value of WIKINDX_IMG_HEIGHTLIMIT.
25. Fix the name of the default constant value of WIKINDX_METADATA_ALLOW.
26. Fix the name of the default constant value of WIKINDX_PAGING_MAXLINKS.
27. Fix the name of the default constant value of WIKINDX_DEBUG_SQLERROROUTPUT.
28. Prevent errors when the config table is not yet initialized during the installation.
29. Move the initialisation of the config table in LOADCONFIG table: this prevent misconfigured options.
30. Logos without version number.
31. Add missing default values for WIKINDX_URL_BASE and WIKINDX_TRUNK_VERSION options.
32. Fix the language display and setup.
33. Prevent a 404 HTTP error about favicon.ico when a template is not used.

FEATURE ENHANCEMENTS:
1. Implement FULLTEXT searches on some database fields. In QUICKSEARCH and ADVANCED SEARCH, certain fields (abstract, notes, long custom,
and metadata such as quotes, comments etc.) are searched on with MySQL's BOOLEAN FULLTEXT methods. This gives a significant speed gain.
2. Always display a trace and die when a SQL query fails otherwise a debug is very hard when the debug mode is not on or during an upgrade/installation.
3. Add an option to enable/disable the SiteMap.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.0.7
Focus: Minor bug fixes.

BUGS:
1. Fix some heredoc string opening syntax.
2. Fix display of Register User in the WIKINDX menu – under the right conditions (Admin|Configure interface), the menu item is now displayed.
3. Fix RSS.
4. Fix text replacement in Help files.
5. Fix an crash during translation in the link dialog of the custom TinyMCE dialog.
6. Remove useless instances of ENVIRONMENT class.
7. Fix a warning in JS debugger of the browser about a missing JS map.
8. Disable the CSS of the TinyMCE dialog in o2k7 skin because this interacts poorly with the templates CSS.
9. Fix the encoding of TinyMCE html files.
10. Use an absolute path for tinyMCE js if possible (unbreak templates CSS in some TinyMCE dialogs).
11. Call LOADCONFIG class in WEBSERVERCONFIG.php which fix a hidden bug in RESOURCEMAP.php during an RTF export.
12. Add a cache directory for common files.
13. Fix RTF export of images (#206).
14. Fix a letter case issue stopping the plugin working on some systems.

MAINTENANCE:
1. Better way of setting WIKINDX_WIKINDX_PATH, wikindxBasePath, and WIKINDX_URL_BASE.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.0.6
Focus: Minor bug fixes.

BUGS:
1. Fix a non-disruptive warning when upgrading from v3.8.
2. Fix an unnecessary GROUP BY statement in QUICKSEARCH that greatly slows down the search.
3. Fix the migration of 5.8.2 styles when foreign files are present in style folders.
4. Fix the migration of image links in papers.
5. Fix the migration of image links in resources.
6. Partial fix for the escaping of a LIKE SQL clause.
7. Change the default language in the user config and try to fix a crash of the chooseLanguage plugin.
8. Fix the sort order of the list of resource types in the configuration.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.0.5
Focus: Minor bug fixes.

BUGS:
1. Fix the character case of style and template options in db.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.0.4
Focus: Minor bug fixes.

BUGS:
1. If QUICKSEARCH is called by the special string $QUICKSEARCH$ on the front page, the help icon is already in use – don't
override it with search help.
2. Fix the character case of all style options in db.
3. Fix the style options to lowercase to avoid empty formatting of resources when a session has a bad character style after a migration from a pre-5.9.1 version or a non-installed style.
4. Prevent a crash when a style already defined in an option is not yet enabled in the new component system.
5. Prevent a crash when a template already defined in an option is not yet enabled in the new component system.
6. Prevent a crash when a language already defined in an option is not yet enabled in the new component system.
7. Repair the image library (JS libs packaged in vendor components).
8. Fix the encoding of the special chars dialog.
9. Fix the special chars dialog (JS libs packaged in vendor components).

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.0.3
Focus: Minor bug fixes.

BUGS:
1. When a user selects menu reduced level 2 from My WIKINDX, there were fatal errors when menus with submenus were selected. Fixed.
2. Add a missing string in English messages of collections.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---


v6.0.2
Focus: Minor bug fixes and maintenance.

BUGS:
1. Fix the return value of displayUserAddEditPlain().
2. Add some missing messages.
3. Fix missing variable configIsCreator in Configure.
4. When listing resources containing resources with multiple creators, the number of resources returned as per the paging value was
incorrect. An erroneous GROUP BY statement has been corrected.
5. Ensure read only users have access to some configuration options (WIKINDX|Preferences menu).
6. Correct a syntax error preventing code execution under PHP 5.6 and 7.0.

MAINTENANCE:
1. Remove dead code/comments.
2. Removes the class FACTORY_GENERIC which has never been used in practice
   which eliminates the need for the PHP Reflection extension.
3. Check limits of MySQL max_allowed_packet variable.
4. Add a lot of missing function prototypes in manual.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6.0.1
Focus: Minor bug fixes and maintenance.

BUGS:
1. Fix bug #202 (https://sourceforge.net/p/wikindx/v5bugs/202/) – unable to read temporary config.php when editing
plugin configurations – and ensure the temporary file has a secure name (and do this for all temporary files throughout WIKINDX).
2. Fix JS includes of the word processor.

SECURITY:
1. No longer use session_id() as a random string.

MAINTENANCE:
1. Switch the project to license CC-BY-NC-SA 4.0.
2. Add an internal version number that trigger the upgrade process.
3. Fix a warning in the components signature script.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v6
Focus: Minor bug fixes.

BUGS:
1. Fix the default db value of the usersLanguage field (auto instead of en_GB) for the RepairKit.
2. Fix some bug in the detection of index mismatchs in the RepairKit.
3. Fix a string access error in BibTex import/export (PHP 7.4 support).
4. Fix an error in the folder check of a component.
5. Fix an error in the version check during an upgrade.
6. Correction of the loading of certain configuration variables defined
   in the database and which have been moved from the config.php file.
7. Fix the migration of the word processor papers.
8. Move all component folders to a "components" sub-folder.
9. Fix the loading of styles.
10. Fix escaping of values in multiUpdate() function.
11. Fix the values updated by the  multiUpdate() function.
12. Fix a wrong array access in upgrade of 5.8.1.
13. Fix the style loading during a setup or when there are only the default style available after an upgrade.
14. Fix the query of contact email during the upgrade.

MAINTENANCE:
1. Enable the check of plugins version.
2. Change the databasesummaryDbVersion field to databasesummarySoftwareVersion and the notion of minor/major upgrade/version.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.9.1
Focus: Minor bug and security fixes and major feature enhancements.

An existing database is upgraded with this release – backup the database before running the code.

DEPRECATED:
1. The database table prefix (wkx_) is kept but its configuration for users
through the $WIKINDX_DB_TABLEPREFIX variable will be removed at the next major
delivery. People who have changed the prefix should rename the tables with the
default prefix and correct their configuration. It will no longer be possible to
install two WIKINDXs in the same database. If you are in this rare case contact us.
2. PHP 5.6 support is deprecated and will be dropped in favor of PHP 7.0.
WIKINDX 5.9.1 is the last version supporting it.

BUGS:
1. Fix for https://sourceforge.net/p/wikindx/v5bugs/169/ (warning on missing array when viewing a resource).
2. Fix some warnings related to sessions [https://sourceforge.net/p/wikindx/v5bugs/170/].
3. When exporting a basket with the importExport plugin (to bibTeX, RTF etc.), sometimes the last multi view was exported instead.
4. When browsing metadata keywords, a fatal error occurred if a keyword was not attached to resources but only attached to ideas.
5. Fix resource edit warning noted in https://sourceforge.net/p/wikindx/v5bugs/166/.
6. In user Preferences, ensure the value of 'Default no. paging links to display/screen' is a minimum of 4.
7. In user Preferences, ensure the language is get from the database when the chooseLanguage plugin is enabled.
8. Disable enchant on Windows because pspell is not installable and restore spell checking for others OS [https://sourceforge.net/p/wikindx/v5bugs/24/].
9. Ensure a basket of resources can comprise just one resource.
10. Fix the display of selectboxes during the setup.
11. send a E_USER_NOTICE error instead of dying when the PHP mail() function is disabled.
12. Fixed inability of new users to register before session data had been loaded.

FEATURE ENHANCEMENTS:
1. In Admin|Components, a remote server may now be queried in order to get new plugins or to update existing plugins,
styles, templates, and languages (only those that are enabled in the Admin|Components interface will be updated). An Internet connection
is required. When updating existing plugins, user edits to the config.php file  are maintained (e.g. the plugin's menu placement) and
those plugins that are disabled will not be updated. This system requires that the variable $wikindxVersion of each plugin's config.php
file be set to 5.9. This assumes that $wikindxVersion was previously 3 and that the plugins are in fact the latest from the Sourceforge
server (https://sourceforge.net/projects/wikindx/files/plugins%20wikindx%20v5.x/). This is a one-off requirement when upgrading to
WIKINDX 5.9.1 in order to get the plugin versions in sync. If $wikindxVersion is not 5.8 for any plugin after installing WIKINDX 5.8.3,
then that plugin will not be visible to users even if enabled in the Admin|Components interface – you will need to update your plugins.
Following the official release of WIKINDX 5.9.1, the latest plugins, styles, templates, and languages will only be available through
the Admin|Configure interface. In order to download and install components, the following directories and subfolders and files must be
writeable by the web user:
plugins/, templates/, styles/, and languages/ [https://sourceforge.net/p/wikindx/v5bugs/172].
2. Increase the minimum PHP version needed for the core to version 5.6.0. This version will be EOL at the end of 2020.
3. Migration of the localisation system to gettext [https://sourceforge.net/p/wikindx/v5bugs/139/].
4. Partial support of PHP 7.4 (some warnings can appear if you use the debug mode, dbAdminer and Visualize plugins, RTF export or PDF
to Text features) [https://sourceforge.net/p/wikindx/v5bugs/173].
5. Be able to use the language sent by the browser [https://sourceforge.net/p/wikindx/v5bugs/80/].
6. Improved interface for Wikindx|Bibliographies.
7. Configure the user's preferred locale in addition to the language (without separating these two notions for the moment).
8. Remove the need of disabling ONLY_FULL_GROUP_BY sql mode and don't force it anymore (ONLY_FULL_GROUP_BY is the default since MySQL 5.7)
[https://sourceforge.net/p/wikindx/v5bugs/68/].
9. Merge and improve the WIKINDX|Preferences and WIKINDX|My WIKINDX interfaces so that the interface now matches Admin|Configure.
10. Cache, data, and third-party software folders are separated into "cache", "data", and "vendor" folders for easy maintenance. On upgrading
the database, copying of existing files is carried out automatically (the admin is informed of this after the upgrade).
- The "cache" folder contains data that can be deleted and will be recreated by the application.
- The "data" folder contains additional information such as attachments, images, and user data that must be saved in the same way as the database.
- The "vendor" folder contains the third-party software libraries used by the WIKINDX core to facilitate their update.
[https://sourceforge.net/p/wikindx/v5bugs/171/]
11. With the new folder structure, remove the options in config.php to configure attachments and files locations.

SECURITY:
1. Migrate the WIKINDX official website to HTTPS.
2. Remove options to set a session location ($WIKINDX_SESSION_PATH_CLEAR, WIKINDX_SESSION_PATH).

MAINTENANCE:
1. Update progressbar.js from 1.0.1 to 1.1.0.
2. Update of PHPMailer to 6.1.4 version.
3. Update Smarty from 3.1.23 to 3.1.34-dev-7 : PHP 7.3 and 7.4 compatibility.
4. Remove template.js from templates. Popups are not handled like that anymore and the browser detection of this file is not reliable.
5. Remove aside.txt option from templates.


---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.8.2
Focus: Minor bug, feature, and security fixes and improvements.

BUGS:
1. Fix for https://sourceforge.net/p/wikindx/v5bugs/167/ – select box for languages reverting to default language and slashes before quotes.
2. Fix display of ‘next’ arrow when displaying a random idea.

FEATURE ENHANCEMENTS:
1. Improved the processing and display of creator aliases.

SECURITY:
1. Fix an XSS vulnerability in paging (CVE-2019-13588)

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.8.1
Focus: Minor database upgrade and bug fixes

BUGS:
1. Minor display issues with the 'next' link when displaying a random resource.
2. Incorrect display of resource lists and totals when using alphanumeric paging.
3. In SQL:like(), a collation of 'COLLATE utf8mb4_bin' meant many results were not found in QUICKSEARCH that should have been found.
This has been corrected to 'COLLATE utf8mb4_unicode_520_ci'.
4. Fix for https://sourceforge.net/p/wikindx/v5bugs/156/ – ensure matches across table and directories for attachments (checked when upgrading).
5. Fixed display of internal citations in the long custom field.
6. With a new install of 5.7.3, the folder styles/CACHE/ is missing and WIKINDX will not run. This has been fixed. Errors here, and in 5.7.3,
resulted from the use of a new compression routine when making the release file – this routine did not compress empty folders.

FEATURE ENHANCEMENTS:
1. Removed WIKINDX_ALLOW_DBUPGRADE (too clumsy to use) and instead enhanced the warning messages during DB upgrade in case a user
attempts to use SVN code requiring such an upgrade on a production server.
2. Use the viewport for tablets.

SECURITY:
1. Fix an XSS vulnerability in menu display (CVE-2019-12930)

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.7.4
Focus: Quick bug fix for a broken 5.7.3 release.

Private release that contains bug fix 6 and feature 2 of version 5.8.1.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.7.3
Focus: Quick bug fix for a broken 5.7.2 release

BUGS:
1. With a new install of 5.7.2, the folder tplcompilation/ is missing and WIKINDX will not run. This has been fixed.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.7.2
Focus: Maintenance release

FEATURE ENHANCEMENTS:
1. Migration programming manual to phpDocumentor 3.
2. Full support of PHP 7.3.x (#154).
3. Update json2.js library to 2017-06-12 version
4. Add the constant WIKINDX_ALLOW_DBUPGRADE (TRUE/FALSE). Allow DB upgrade or not. WIKINDX_ALLOW_DBUPGRADE should be FALSE for SVN
	code and TRUE for release code (whether that release code upgrades the DB or not)

BUGS:
1. Add a missing column (resourceattachmentsResourceId) in GROUP BY clause of list common, that fix a crash on MySQL 5.6.x.
2. Check minimal MySql and MariaDB engine version flawlessly, without diying hard, in debug mode.
3. Fix for the search bug and accents (https://sourceforge.net/p/wikindx/v5bugs/157/). A new MySQL server setting for the length of
   GROUP_CONCAT() has been set: if, in config.php, $WIKINDX_DB_PERSISTENT is set to TRUE, set it to FALSE temporarily to pick up this new setting.
4. Fix #158: unterminated regular expression literal in json2.js
5. Fix #159: URL editor: syntax error in advlink.js
6. Fix "character_set_connection" and "collation_connection" values by not calling SET CHARACTER SET 'utf8mb4'
   after SET NAMES utf8mb4 COLLATE 'utf8mb4_unicode_520_ci'; Indeed, "SET CHARACTER SET" has the perverse effect
   of resetting to utf8 these two variables that "SET NAMES" has already positioned well in utf8bm4.
7. Fix https://sourceforge.net/p/wikindx/v5bugs/160/ – abbreviation of creator name lists using et al. or similar.
8. Fix upgrade of [code]example[/code] bbcode tags broken by the migration of preg_replace to utf8:
   Warning: preg_replace(): Unknown modifier '.' in .\wikindx\core\display\BBCODE.php on line 114
9. Fix a bug in the display of ideas. Template designers should change the following in content_ideas.tpl:
		{if isset($ideaList.navigation)}
			<tr>
				<td align="right">
					{"&nbsp;&nbsp;"|implode:$ideaList.navigation}
				</td>
			</tr>
		{/if}
	to:
		{if isset($navigation)}
		<tr>
			<td align="right">
				{"&nbsp;&nbsp;"|implode:$navigation}
			</td>
		</tr>
		{/if}

SECURITY:

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.7.1
Focus: bug fixes for v5.7 and minor feature enhancements. The database is NOT upgraded.

FEATURE ENHANCEMENTS:
1. There are now three ways to add attachments to resources including drag and drop of multiple files.
Template designers should add the following to templates/xxxx/template.css and edit according to style:
	/**
	* START multiple file upload styles
	*
	* Adapted from https://code-boxx.com/simple-drag-and-drop-file-upload/
	*/
	.attachmentBorder {
	 border: #F90 1px groove;
	}
	#uploader {
		height: 200px;
		background: transparent;
		padding: 10px;
		border-width: 1px;
		border-style: solid;
	}
	#uploader.highlight {
		background: #7FFF00;
	}
	#uploader.disabled {
		background: #aaa;
	}
	/**
	* END multiple file upload styles
	*/
2. When editing a resource's attachments, it is now possible to delete all attachments via a single checkbox.

BUGS:
1. repairkit plugin (v1.6.1) : corrected a misnamed, case-sensitive path.
2. Update copyrights.
3. When adding (and caching) a new attachment, the filemtime() check sometimes incorrectly reported the file still needed
caching when going to the front page.
4. Make use of template/xxxx/icons/viewmetaAttach.png in list views when there are both metadata and attachments in a resource.
5. Fix incorrect display of Added by/Edited by 'Deleted user' when displaying lists and single resources.

SECURITY:

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.7
Focus: Major feature enhancements mainly for user authentication, bug fixes, and security improvements. The database is upgraded.
N.B. There are no versions 5.4, 5.5, or 5.6 (bringing WIKINDX version no. in sync. with the database version no.).

FEATURE ENHANCEMENTS:
1. In order to speed up searching of attachments, PDF, DOC, and DOCX files are cached as text files in the new attachments_cache/ folder. A cache
check is done on first running of the home page of v5.7 and above and the caching proceeds as necessary – depending on how many attachments you
have and how large they are, this one-off process might take some time. Subsequently, each time an attachment is added to a resource, it is cached.
2. Added LDAP authentication for accessing the WIKINDX. Set this up from Admin|Configure.
3. Implemented an authentication gate that can be controlled through the Admin|Configure menu. This is intended to ensure users read and accept any
privacy policy such as any used for the EU's General Data Protection Regulation.
4. From the Admin|Users menu, admins can now temporarily block/unblock users. Among other things, blocking users is useful when upgrading the database.
5. Update Smarty from 3.1.30 to 3.1.33 : PHP 7.2 compatibility.
6. Update PHPMailer from 6.0.3 to 6.0.6 : PHP 7.3 compatibility.
7. Different strengths of user password can be set. Set this up from Admin|Configure.
8. Replace AdoDB library by a native Database abstraction Layer that support multiple queries.
9. Use the full power of the native DDL for db upgrade.
10. Provide a way of upgrading the db structure of plugins.
11. Use MySql utf8mb4 encoding and utf8mb4_unicode_520_ci collation that fix a number of sorting issues (based on UCA 5.2.0 weight
keys [http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt]).
12. Version 3 of plugins (fix the display of plugins menus).
13. Optimized database upgrade process.

BUGS:
1. Fixed a session error that led to read-only users experiencing a PHP memory allocation error when listing large numbers of resources.
2. Fixed a minor bug in the search function when inserting a citation that caused an error when there were no results.
3. Fixed a bug in upgrading a pre-v5 database: collections such as journals are no longer being removed from the resources (duplicates are
being correctly removed from the collections table while the collection field in resource_misc is now correctly updated).
4. Fixed a fatal error that stopped WIKINDX loading if plugin versions were not compatible with the latest WIKINDX version.
5. 'Quick List All...' now takes account of the user bibliography that is set for browsing.
6. A template error (on the next metadata link) when viewing random metadata has been fixed.
7. Stop changing the charset and the collation of the database because (WIKINDX can be in a shared db).
8. Fix a warning about configListlink for public access.
9. Fix an error in the template compilation of the resource delete page. Template designers should amend the following lines in content.tpl:
	{if isset($resourceList.submit)}
	<div class="resourceListSubmitBlock">{$resourceList.submit}</div>
	{/if}
to:
	{if isset($submit)}
	<div class="resourceListSubmitBlock">{$submit}</div>
	{/if}
10. Fixed a minor issue with presenting the logon screen following a logout if read only access was enabled.
11. Fixed a bug with the display of quotes, paraphrases, and musings. Template designers should change the following (or similar) in:
	content_quotes.tpl:
		<td><strong><span class="small">{$resourceSingle.quotes.title}</span></strong>
		{if isset($resourceSingle.quotes.editLink)}&nbsp;&nbsp;{$resourceSingle.quotes.editLink}{/if}</td>
	to:
		<td><strong><span class="small">{$resourceSingle.quotesTitle}</span></strong>
		{if isset($resourceSingle.quotesEditLink)}&nbsp;&nbsp;{$resourceSingle.quotesEditLink}{/if}
		</td>
	and
	content_paraphrases.tpl:
		<td><strong><span class="small">{$resourceSingle.paraphrases.title}</span></strong>
		{if isset($resourceSingle.paraphrases.editLink)}&nbsp;&nbsp;{$resourceSingle.paraphrases.editLink}{/if}</td>
	to:
		<td><strong><span class="small">{$resourceSingle.paraphrasesTitle}</span></strong>
		{if isset($resourceSingle.paraphrasesEditLink)}&nbsp;&nbsp;{$resourceSingle.paraphrasesEditLink}{/if}
		</td>
	and
	content_musings.tpl:
		<td><strong><span class="small">{$resourceSingle.musings.title}</span></strong>
		{if isset($resourceSingle.musings.editLink)}&nbsp;&nbsp;{$resourceSingle.musings.editLink}{/if}</td>
	to:
		<td><strong><span class="small">{$resourceSingle.musingsTitle}</span></strong>
		{if isset($resourceSingle.musingsEditLink)}&nbsp;&nbsp;{$resourceSingle.musingsEditLink}{/if}
		</td>
12. Fixed an issue with user self-registration that sent users to the login prompt instead of the registration screen.
13. Fix for bug https://sourceforge.net/p/wikindx/v5bugs/151/ – incorrect browsing of collections.
14. Fix slow queries on some installations of MySQL when INFORMATION_SCHEMA and TABLE_SCHEMA are used.
15. Fix for bug https://sourceforge.net/p/wikindx/v5bugs/123/ (surnames with apostrophe or dash were not found when entered into
quicksearch and cases where one author goes under several nom de plumes).

SECURITY:
1. Enforce session security against session usurpation, cookies forgery, and Cross-Site Scripting attacks.
2. Add a .htaccess in docs/manual to prevent malicious code execution in that directory.
3. On WIKINDX initialization, forbid common superadmin usernames.
4. Update Smarty from 3.1.30 to 3.1.33 : fix for CVE-2018-16831.
5. Update PHPMailer from 6.0.3 to 6.0.6 : Fix potential object injection vulnerability. CVE-2018-19296.
6. Fix an XSS Vulnerability in ressource view (CVE-2019-9961).

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.3.2
Focus: Minor feature enhancements and bug fixes.

FEATURE ENHANCEMENTS:
1. Optimizations to search and list routines: speed is improved and next/previous links on single resource view work as they should.
2. Optimizations of SQL inserts when organizing large numbers of resources (resource lists can be bulk-reorganized with keywords, categories etc.).
3. Improved display of idea lists and the idea thread view now has links for previous and next thread.
Template designers should add the $ideaListInfo block to their content_ideas.tpl file
(see templates/default/content_ideas.tpl) and change the code
	<td align="right">
		{$ideaList.navigation}
	</td>
to
	<td align="right">
		{"&nbsp;&nbsp;"|implode:$ideaList.navigation}
	</td>

BUGS:
1. Admin Configure Miscellaneous interface: Fix incorrect sorting on restricted user so that the database userId is correctly used.
2. When citing another resource, ensure the apostrophe is no longer split in some citation styles. e.g. "As Grimshaw (2018)'s
article states" is now correctly rendered as "As Grimshaw's (2018) article states".
3. Corrected incorrect mapping of page numbers when importing bibtex files with book chapters.
4. Minor debugging and improved validification of search phrase.
5. https://sourceforge.net/p/wikindx/v5bugs/140/ (delete images) and some related debugging re. uploading of images.
6. Fix an issue stopping a newly registered user logging on.
7. Update special chars table to Unicode 11
8. Fix broken session saveState() – for logged on users, sessions are now restored for each logon.
9. Fix minor error in monthly statistics compilation.
10. Fix bibtex and endnote import where deactivated resource types were not ignored (https://sourceforge.net/p/wikindx/v5bugs/143/).

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.3.1
Focus: Minor feature enhancements and bug fixes. The database is upgraded.

1. Improved wildcard matching in quick search and advanced search.
2. Progress on PHP 7.2 support.
3. When first adding (rather than editing) quotes, paraphrases, and musings, fill in the keyword textarea with the resource's keywords.
4. Request dx.doi.org, wikipedia, sourceforge.net, amazon, www.ncbi.nlm.nih.gov, www.unicode.org via HTTPS.
5. resourceForm.js, RESSOURCEWRITE.php : test HTTP and HTTPS.
6. Added the American 'Fall' (Autumn) to the list of months in English CONSTANTS.php
7. Added calendar functionality to embargo date when adding an attachment to a resource and to the resource new/edit form.
8. Rewritten the Admin|Configure interface to be more user friendly.
9. Many variables in config.php have been moved to the Admin|Configure interface. Check config.php.dist to see what is now expected
in config.php. When upgrading an existing WIKINDX to v5.3, config.php is rewritten with a limited set of variables – all other variables
are transferred to the database which is upgraded when running v5.3 for the first time.
10. Via Admin|Configure, it is now possible to display all statistics to read-only users (choosing to hide user data if required).
11. Update jQuery from v1.12.4 to v3.3.1.

BUGS:
1. Fix bug #126 : PHP 7.2 changes the behaviour of sessions and we can't define *session.usecookies* at startup.
Since *session.usecookies* is ON by default after PHP 5.3, we can remove this operation safely.
2. Fixed the display of backslashes in text fields.
3. Some journal article page numbers are given in the format 500.e1-500.e9 where, presumably, the 'e'
stands for electronic (online). Such numbers are now stored as is instead of being expanded as an exponent (e.g. 500.e3 –> 500000).
4. Fix a crash of all templates on attachments listing when an anonymous user sees a resource.
5. Fix warnings in image uploader (unable to calculate the size of the uploaded image).
6. Fix bug #126 : count on non array variable is now forbidden.
7. Remove a dead JS link (blocking for IE).
8. Fix wikindxImageDialog.js to accept https content.
9. Fix HTML syntax errors.
10. Under some circumstances, a previously entered URL was not displayed when editing resources.
11. Under some circumstances, the editUserId field was not updated in the database when editing a resource. This resulted in the
display of 'Deleted User' as the last person editing the file.
12. Fix to https://sourceforge.net/p/wikindx/v5bugs/132/ (searching on exact phrase with a filtered word).

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.2.2
Focus: Minor feature enhancements and bug fixes.

1. Upgrade PHPMailer to 6.0.3 (no new option provided, but imply that autosigned certificates
   are allowed, server names are not checked:
   cf. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#updating-ca-certificates).
2. Upgrade PdfToText to 1.6.6 (add compliance with PHP versions < 5.6 and a better support of UTF8).
3. Word search fields in Quick and Advanced search can now use the wildcard characters '?' and '*'.
These are treated as literal characters in "exact phrases".
4. BUG FIXES: https://packetstormsecurity.com/files/146208/Wikindx-5.2.1-Cross-Site-Scripting.html

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

v5.2.1
Focus: Major feature enhancements, optimization, and minor bug fixes.

NB -- This version upgrades the database so ensure your pre-existing WIKINDX database is
backed up before running.  Either a v3.8.2 database or a v4.x database can be upgraded.

NB -- at least PHP 5.5.0 is now needed.

NB -- template designers will need to update their .tpl files to account for Smarty 3.1's
stricter type and variable checking (without 2.x BC compatibility mode).
This means the use of {if isset($variable)}. . .{/if} statements. See the default/
templates for examples.

NB -- you will need to add the following variables to config.php (see config.php.dist):
1. $WIKINDX_CMS_LANGUAGE
2. $WIKINDX_MAX_WRITECHUNK
3. $WIKINDX_IMAGES_ALLOW
4. $WIKINDX_IMAGES_MAXSIZE
5. $WIKINDX_DEBUG_EMAIL

A number of email-related variables have been removed from or added to config.php --
see Feature Enhancement 15 below.

$WIKINDX_RSS_HOST has been removed from config.php.

NB -- if your database is over 1500 resources and you expect to export
lists of resources of at least this length (with the importexportbib plugin), then you should set
public $WIKINDX_MEMORY_LIMIT = "64M";
or more in config.php in order to avoid memory allocation errors. See also $WIKINDX_MAX_WRITECHUNK.

FEATURE ENHANCEMENTS:
1. Added ideas. Where musings are specific to resources, ideas are database
wide, are threaded and can be public, private or shared
with a group. Template designers should update their .tpl files accordingly.
See templates/default/content.tpl and templates/default/content_ideas.tpl --
a new .tpl file, content_ideas.tpl, should be created and linked to in content.tpl
in the section labelled
{* START METADATA ENTRY DISPLAY (NEW/EDIT QUOTES, PARAPHRASES, MUSINGS AND COMMENTS) *}
2. Added a glossary. When adding/editing keywords, a glossary annotation may be
appended to the keyword. The annotation is displayed when the mouse hovers over a keyword.
3. Resource originators can delete resources they added.
4. Replaced Select Resources, Search Resources, Select Metadata, and Search Metadata
with a new Advanced Search that allows complex, composite search and select operations
to be quickly and easily constructed. Additionally full-text searches may be performed
on resource attachments of type PDF, DOC, or DOCX. Files larger that 10MB are quietly ignored. Searching
across several attachments takes some time . . . If your PHP installation has CURL installed, this
time is dramatically cut.
5. My WIKINDX email notification. When setting notification to a digest of recent updates,
added the option to receive either a list of all recently added or edited resources or,
above a set value, just the total number of added or edited resources since the last notification.
6. Bibliographic styles can now include custom fields if these have been added to the
style using the adminstyle plugin.
7. When adding or editing a resource that belongs to a collection (e.g. an article in a
journal, a paper in proceedings), selecting the collection from the select box will now fill
in default data for that collection in several other fields. This can be overridden in the
resource add/edit form for each individual resource. The default values are set when editing
collections and the process of editing these values will also apply them to all resources in
that collection.
8. Added a new image browser for use when inserting images in the metadata textarea. In addition to
pointing the image to a URL (as before), users can now upload images to the images/ folder and can
browse and select images. This uploading can be disabled by setting the new configuration variable
$WIKINDX_IMAGES_ALLOW (see config.php.dist) to FALSE. File sizes are controlled through WIKINDX_IMAGES_MAXSIZE.
9. Clear template cache after the user chooses another template.
10. Upgrade Smarty template engine to version 3.1.30.
11. Upgrade ADOdb from v3.1.1 to v5.20.9.
12. Upgrade to HTML 5.
13. Add support for robots.txt and sitemaps to facilitate indexing of public content by web crawlers
and to hide internal stuff.
14. For reasons of memory optimization when displaying lists, COinS data (e.g. for exporting resources to Zotero)
have been separated from the list display. To access COinS, display a list then chose 'Export to COinS' from the
select box.
15. PEAR::MAIL is no longer used by WIKINDX. Instead, email has been rewritten to use PhpMailer 5.2.23 (https://github.com/PHPMailer).
Variables pertaining to email have been deleted in config.php: $WIKINDX_PEARMAIL_USE and $WIKINDX_MAIL_SMARGS
have been removed and xxxx_PEARMAIL_xxxx variables have been renamed to xxxx_MAIL_xxxx -- check config.php.dist.
16. Upgraded statistics view to give more options.
17. RSS feed conforms to the RSS standard and $WIKINDX_RSS_HOST has been removed in config.php.
18. Convert database table names to lowercase to be crossplatform.
19. Full support of UTF8 (code base and database [MySQL 3 bits only]).
20. More advanced RTF export of resources.
21. Compliance with RTF 1.9 specification.
22. Google's CAPTCHA (for user registration) has been replaced by a WIKINDX solution.

OPTIMIZATION:
1. Database: All data from research_quote, research_quote_text, research_quote_comment,
research_paraphrase, research_paraphrase_text, research_paraphrase_comment, research_musing,
research_musing_text have been moved into research_metadata and those tables removed. Columns in
research_keyword relating to quotes, paraphrases, and musings have been removed and their data
transferred to the researchkeywordMetadataId column.
2. Removed some javascript pop-ups in favour of HTML pop-ups (cf single resource view: 'View
all bibliographic details').
3. Many SQL statements have been optimized for speed especially those related to searches.
4. Other speed optimizations such as the loading of bibliographic styles.
5. PHP memory optimizations.

BUG FIXES:
1. Fixed SQL injection bug reported at: https://sourceforge.net/p/wikindx/discussion/326884/thread/9976f9f5/.
In config.php, WIKINDX_DEBUG_ERRORS should be FALSE on production servers.
2. Minor bugs with making the bibtexKey when importing bibtex.
3. When alphabetical paging is on, sorting by title produced an SQL error. This has been fixed.
4. Fixed a bug that, in some circumstances, prevented part-registered users from confirming their
registration.
5. Fixed a bug in SMTP.php that sometimes sent out news items to multiple addresses multiple times.
6. When editing a resource, the ID of the originator of the resource was replaced by the editor's ID. This
has been fixed.
7. When displaying a list of resources, deleting items from a user bibliography or from the database
has been fixed.
8. The peer reviewed flag has been added to books, book articles, and book chapters.
9. Users could be identified with resource creators when the user was added or edited. Now, from the
Admin|Config menu, the superadmin can likewise be identified.
10. Fix any memory leaks due to an oversight in fclose().
11. Separate is_dir and file_exists tests because order evaluation is not guaranteed for the same operator precedence in TEMPLATE loading.
12. Double quotes in a resource title caused display problems -- this has been fixed.
13. Braces {...} are removed from database field values that serve as the ordering field in lists, searches, browses and so on.
14. Fix some missing aspects of header and footer behaviour in specific pages (popup and page without menu).
15. Separate template cache to not confuse template programmer between template directories and special directories for template.
16. Remove use of functions deprecated in PHP < 7 (except MySQL extension).
17. Set unlimited memory when we launch a backup with the backupMySQL plugin (for very large databases).
18. When storing the plain version of resource title and subtitle (stored in resource::resourceTitleSort), ensure all HTML and
non-letter symbols are removed in order to correctly sort resources by title.
19. Turn on error_reporting to E_ALL if required to follow PHP >= 5.4.x policy.
20. Inifite loop if a curly brace was not balanced in titles.
21. Timeout in RTF export when a resource contains a picture.
22. Return correct mime types.

---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---
---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---:::---

CHANGELOG v4:  see the CHANGELOG.txt in the tarball of a v4 release.
CHANGELOG v3, v2 and v1:  see wikindx3/CHANGELOG in the WIKINDX 3.8.2 download
