Releases: aces/Loris
LORIS Release v20.2.0
This release of fixes bugs, adds new permissions, and does various cleanup to different LORIS modules. For a complete list of features see here.
New Features
- [Data Release] New permissions, cleanup and batch permission assignment (#3062)
- [Login] Log bad password attempts (#3949)
- [Data Release] Two new permissions added to this module (#4280)
Bug Fixes
- [API] Fix bugs accessing /login and /projects/ endpoints (#4101)
- [MediaUpload] Restrict file upload to candidate who has visited user's site (#4084)
- [Data Dictionary] Fix multi-select filtering (#3922)
- [MRI Violations] Fix duplication of MRI violations when multiple subprojects per candidate (#3860)
- [Media] Restrict file upload to candidate who has visited user's site (#4084)
Notes
- This release contains much general clean-up and Reactification of the code, as well as re-factoring javascript in some modules to use ES6 standards.
Upgrade process
- Update the code
- Source the SQL patch:
SQL/Release_patches/20.1_To_20.2_upgrade.sql
Known issues
LORIS Release v20.1.2
LORIS Release v20.1.1
This release fixes bugs found since the 20.1.0 release and creates the release SQL patches omitted in the 20.1.0 release.
- [Imaging Uploader] Prevent duplicate insertions #4024
- [Feedback MRI Popup] Don't call functions that don't exist! #4092
- [Statistics] Fix PHP Notices on Imaging Statistics #4129
- [Core: Utility] Add code comment on calculateAge() #4137
- [Configuration] Clarify warning when creating new subprojects #4152
- [ImgBrowser, DicomArchive] Prepend PatientName to DICOM download filename #4157
- [Core: Middleware] Restore 403 page to its former beauty #4166
Due to the change in the SQL patches, the new release procedure becomes:
- Update your code
- Source the SQL release patch
SQL/Release_patches/20.0_To_20.1_upgrade.sql
- [Optional] Source the clean-up patch
SQL/Archive/20.1/Cleanup/2018-08-20_remove_duplicate_incoming_path_from_config_tables.sql
LORIS Release v20.1.0
This release of LORIS cleans up PHP notices and security fixes and improves parts of the documentation. In addition to that, it adds a few new features. For a complete list of features see here
New Features
- [Core: Login, User Accounts] Allow certain users to access the system in a time window basis (either accounts that don't activate until the future, or accounts that expire.)
- [Imaging Uploader] Validate filename in front-end before attempting upload.
New Development Features
- [React] Added loader component to standardize loading messages
- [Database ] Added On Duplicate Update Function to Database Class
Deprecations
- [tools] The excelDump script was moved into the tools/deprecated/excelDump as it depended on an old and deprecated library which is no longer maintained.
Upgrade process:
- Update the code
- Source the SQL files:
- SQL/New_patches/2018-08-22_user_activeFrom-activeTo.sql
- SQL/New_patches/2018-08-20_relabelling_MRI-Upload_Directory_to_MRI_incoming_Directory.sql
- SQL/New_patches/2018-08-16_make_config_lookup_center_a_drop_down.sql
(Note this release was accidentally published on GitHub before the concatenated patch was ready. A v20.1.1 bugfix release should simplify the upgrade.)
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