Releases: aces/Loris
LORIS Release v20.0.2
This fixes minor bugs found since the v20.0.1 release. In particular:
- [Upgrade Tools] Fix a bug in the DB_date_zeros_remove.php script to handle non-nullable fields (#3709)
- [Document Repo] Add an error message if no data is available to download (#3888)
- [Security] Better sanitization of commands in Server Processes Manager (#3944)
- [Docs] The README now specifies Apache 2.4 is requires (#3976)
- [Security] Fixes a possible XSS exploit in error pages (#4026)
- [Media] the media_write permission is now sufficient for accessing the media module (#4028)
Various warnings are also fixed in different modules throughout LORIS.
LORIS Release v20.0.1
This fixes minor bugs which didn't have fixes ready in time for v20.0.0. In particular:
- [API] Header formatting is more consistent in v0.0.3 documentation in documentation (#3758)
- [BVL Feedback] CSS is adjusted to make it possible to close entries with very large titles (#3715)
- [Instruments] A 401 error is returned instead of a 500 error when the user is not logged in 500 (#3665)
- [Error Template] The text "Go to login page" is replaced by "Go to main page" so that it's accurate for logged in users who are sent to the dashboard.
- [SQL schema] Some keys are made more explicit in order to make it possible to install LORIS in clustered environments (#3767)
- [UI] Remove the scroll bar that incorrectly appears under frozen headers (#3605)
LORIS Release v20.0.0
LORIS v20.0 is the next major release of LORIS. This release contains several bug fixes and user interface improvements as well as a some new features and a lot of code clean-up.
New Features
- DICOM download has been added to the [API], and to the [Imaging Browser] and [DICOM Archive] modules. Users can download a package (.tar) of all DICOMs from a single upload/session in one click. Increase the
memory_limit
parameter in yourphp.ini
to enable larger downloads. - [Core] Multiple CouchDB databases now supported in CouchDB.class.inc
- [Media] Search by language on uploaded files
Updates and Improvements
- [Create Timepoint] Visit labels must be selected from pre-defined list, instead of entered manually, when creating a new timepoint (#3209)
- [API] Users affiliated with multiple sites can now create candidates and timepoints at any of those sites
- [ImagingPipeline] Specific scan types can now be excluded from the insertion pipeline (including DICOM-to-MINC conversion) via the Configuration module.
- [Core] New data framework for separation of data access and permission layers
- [Core] New HTTP Server Request Handlers conform to PSR15 standards
- [Candidate Parameters] re-organization of tables for storing consent information
Documentation
- Readmes added inside more module directories -- documenting the Purpose, intended users, Scope, Permissions, configurations and interaction of the module with the rest of LORIS
Notes for Existing Projects
- Apache version >=2.3 is now required due to the usage of the END flag
- Check your project/ directory code to remove obsolete function calls due to PHP code cleanup in:
- Removal of references to Mantis bug tracker from codebase
- Users will no longer manually enter visit labels when creating a timepoint. Clean your
config.xml
in every<visitLabel>
tagset by following the example in #3209.
Several scripts should be run -- See details under Upgrade Process -- for:
- Bugfix in the [Imaging Browser] script
mri_protocol
table (script)- Consent architecture update (script)
Upgrade Process
Several steps are involved in this LORIS release upgrade, due to database schema constraints.
Your LORIS must be updated to 19.1.0 or higher before beginning this upgrade.
Procedure A : recommended for production machines.
- Get the latest release code (download and extract)
- Run
composer install --no-dev
from the Loris root directory to update PHP dependencies. - Source the
19.1_To_20.0_upgrade.sql
SQL file into the database - Run the script
Normalize_Consent_Data.php
from thetools/single_use
directory - Run the script
Normalize_protocol_split_rows.php
from thetools/single_use
directory - Run the script
Update_scan_type_of_mri_violations_log_when_manual_caveat.php
from thetools/single_use
directory
Optional: Cleanup
- First, verify that all data has been successfully transferred to the new
consent
,candidate_consent_rel
andcandidate_consent_history
tables. Any data not transferred will be erased in the next step. - Run the
SQL/Archive/autogenerated/single_use/delete_old_consent_tables.sql
to delete the previous consent columns in theparticipant_status
andconsent_info_history
tables.
Procedure B : recommended for development installations
These commands serve as an example and might vary from machine to machine. These were tested on a Ubuntu 16.04 VM
- Get the latest release code (download and extract OR
git pull
) - Run
composer install
from the Loris root directory to update PHP dependencies.- If errors occur you are probably missing
phan
dependency, follow the steps below:- Run
apt-get install php-ast
to installast
required forphan
- Run
composer install
again to confirm everything was properly set up
- Run
- If no errors occur, continue to Step 3
- If errors occur you are probably missing
- Source the
19.1_To_20.0_upgrade.sql
SQL file into the database - Run the script
Normalize_Consent_Data.php
from thetools/single_use
directory - Run the script
Normalize_protocol_split_rows.php
from thetools/single_use
directory - Run the script
Update_scan_type_of_mri_violations_log_when_manual_caveat.php
from thetools/single_use
directory
- See Optional: Cleanup step above
LORIS Release 19.1.2
This a bug that was discovered after the 19.1.1 release. In addition to a number of PHP warnings being fixed, the following bug fixe is included:
- Prevent deletion or granting of permissions to a user if the editor (individual modifying the permission of another user) does not own the permission in question themself.
LORIS Release 19.1.1
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
LORIS Release 19.1
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.
Upgrade Notes
To upgrade LORIS from 19.0, you must do the following:
- Upgrade the code
- Run the SQL patch
SQL/Release_patches/19.0_To_19.1_upgrade.sql
LORIS Release 19.0.2
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.
LORIS Release 19.0.1
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
LORIS Release 19.0.0
New Features
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
the help/
directory of the module. Any customized content from
the help editor should be backed up before upgrading. (The help_editor
module remains as a way to customize help content for instruments.)
Upgrade Notes
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.php
from the LORIStools
directory 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
SQL/Release_patches/18.0_To_19.0_upgrade.sql
LORIS Release v18.0.5
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)