RELEASES:


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 lost 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 lost 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 FIX:
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 MyWikindx.
2. Tidied up display of MyWikindx.
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|MyWikindx). 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 MyWikindx, 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 fix: 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 wikindx3.8.2 download
