This fixes bugs that were discovered after the 19.1.0 release. In addition to a number of PHP warnings being fixed, the following bug fixes are included:
- Links to incomplete forms on the dashboard now work
- The installer is more robust in detecting whether it's being run behind HTTP or HTTPS (including when run behind a proxy using HTTP)
- Fixes the retrieval of file QC info in the API, and now allows hyphens in file names.
- Fixes a bug where filenames that have a "+" could not be downloaded from the document repository
This release primarily improves the technical documentation of LORIS modules, by adding a README.md file to each module which describes the scope, use, and configurations which affect the module.
In addition to that, it adds a configuration option which permits the instrument links in the Imaging Browser to be customized, and begins work on a (still under-development) v0.0.3 version of the API. The development version adds support for an endpoint which allows you to get all images that have been uploaded to a LORIS instance, optionally filtered by date.
To upgrade LORIS from 19.0, you must do the following:
- Upgrade the code
- Run the SQL patch
This fixes various minor issues found in the v19.0.1 release of LORIS. In particular:
- [Examiner] A bug where the examiner module would improperly throw errors is fixed.
- [Examiner] In Training/Not Certified examiners no longer require a date to be saved
- [Imaging Uploader] The validation of file name is more strictly to more accurately match the imaging pipeline
- [Imaging Uploader] A bug preventing re-uploading of valid files is fixed
- [All] Years in date elements are now restricted to 4 characters long. This will be need to be revisited in the year 10,000.
- [Tools] The Zero date removal script is now explicit about null-ability in the patches it generates
- [Candidate Parameters] The error messages regarding DoB for probands is now accurate.
- [Document Repository] Fixed bug which prevented comments from being saved.
- [Instrument Manager] The filename is now sanitized properly before being passed to the shell
- Various warnings are fixed.
This fixes some bugs that have been found since the LORIS 19.0.0 release, in particular:
- Fixed bug in the DQT preventing filtering in some cases
- Fixed bug where surveys could not be loaded in IE
- Fixed the display of error messages in imaging uploader
The primary new functionality of LORIS 19.0 is the ability to have
publicly accessible modules, which can be accessed by users that
are not logged in. This architecture is currently used by the
login module, but may be used by any module that has a public
component and is available for any content to be hosted in LORIS.
Updates and Improvements
All LORIS modules which are part of the core LORIS distribution
have been updated to use the "modern" module architecture, where
there is a Module class within the module's namespace which describes
metadata about the module (such as whether or not it should be
publicly available.) Modules that do not have a Module class should
still work, but are deprecated and support will be removed in a
future LORIS version.
Along with this new feature, 19.0 contains a number of bug fixes
and fixes a number of warnings that were generated by certain pages
and minor improvements such as the media and imaging uploader
displaying the maximum upload size of a file to the user before
they attempt to upload a file, rather than an error afterwards.
Caveats for Existing Projects
The _setupPage() function of LORIS pages have been removed. This
was used as a pseudo-constructor, and most of the logic has been
moved to the real class constructor. (The setup() function still
exists, to set up the page after authentication, and in most cases
all that is required is renaming the page function and removing
assignments to $this->form or $this->CommentID.)
Help content for modules is now managed as markdown files within
help/ directory of the module. Any customized content from
the help editor should be backed up before upgrading. (The
module remains as a way to customize help content for instruments.)
To upgrade LORIS from 18.x, you must do the following:
- Upgrade the code
- Run the script
tools/cleanup_mri_tables_for_19-0_release.phpfrom the LORIS
toolsdirectory to ensure there is no orphaned data in tables that this release adds foreign keys to. (Note: This script will fail if you aren't inside the tools directory.) Ensure this script ran properly before proceeding to the next step to avoid database errors.
- Run the SQL patch
This fixes some minor issues found in LORIS since LORIS v18.0.4
- [Install/Vagrant] Add dependencies to Vagrant so that it works
- [Brainbrowser] Upgrade BrainBrowser to incorporate bug fixes from BrainBrowser. This improves loading of some scans.
- [Media] Fix potential SQL injection vulnerability in media module (#3349)
This fixes 2 minor bugs which were discovered since the v18.0.3 release. Namely:
- [user_accounts] There was a bug causing examiners with a "0" in their ID to not be considered valid. This is fixed. (#3242)
- [issue_tracker] PHP notices were causing warnings to be printed in the issue tracker ajax calls, causing the frontend to think issue creation failed with some combinations of php.ini settings. These notices are fixed. (#3241)
This addresses bugs that have been discovered since the 18.0.2 release of LORIS. In particular, the following bugs are addressed:
- [tools] Fixed a bug DB_date_zeros_removal.php script used for upgrading (#3195)
- [create_timepoint,new_profile] Improved site validation on form (#3210)
- [Core] Fixed user that User::singleton() returns for command line scripts (#3212)
- [MRI Violations] Fix Site Filter for projects with more than 9 sites(#3222)
This release clears the backlog of minor bug fixes that didn't make it in to the LORIS v18.0.0 release, or were discovered after release. Future bug fix releases will happen on an as-needed basis.
The full list of changes are as follows:
- [Core] Fix issues when user logs in by typing their username in a different case than is stored in the database (#3178)
- [Instruments] Fix saving of instruments where the column name is a number (#3179)
- [Instrument List] Fix the CenterID access check in the instrument list module. (#3182)
- [Instruments] Fix bug where "0" was refused as a value in required fields. (#3180)
- [Dashboard] Fix convert array to string error in dashboard (#3149)
- [DQT] Fixed a bug where the CouchDB MRI Import script was failing with strict MySQL settings (#3131)
- [Imaging Uploader] Prevent upload duplication when the same file is uploaded twice.
- [Heroku Install] Fixed Heroku postdeploy password generation (#3171)
- Update VERSION file