LORIS Release v26.0.0
This is the LORIS v26.0.0 release. It includes many major new features such as a rewritten Data Query Tool that doesn't require CouchDB and enforces permissions, preliminary OpenID Connect support, HED tag support in the EEG browser, a new scheduling module, a candidate diagnosis evolution tracker, the ability to customize the "Sex" options for candidates in LORIS, PHP 8.3 support, and multiple bug fixes and optimizations.
For the full changelog see: v25.0.2...v26.0.0
Upgrade Instructions
To upgrade LORIS from v25.0.x (previous versions should first upgrade to v25):
- Update to the v26.0.0 version of the code.
- Run the SQL update patch
SQL/Release_patches/25.0_To_26.0_upgrade.sql
. - Run the command
make
from your LORIS root directory.
What's Changed
- [Tools] Generate tables include path fix by @laemtl in #8674
- [LINST] Add .meta option to skip XIN rules by @driusan in #8714
- [candidate_list] Multiselect for visit label, site, and cohort by @charlottesce in #8730
- [candidate_parameters] Participant status - mandatory comments if not active or complete by @charlottesce in #8731
- [api] Add cohorts to project info by @driusan in #8774
- [conflict_resolver] Add description field by @charlottesce in #8845
- [DataQuery] New DQT backend implementation by @driusan in #8268
- [IssueTracker] Fix for "othersWatching" history tracking by @sanjay-thiyagarajan in #8875
- [JS] Add username/id to Loris helper object by @driusan in #8876
- [OpenID] Add OpenID Connect support to LORIS by @driusan in #8255
- [script] Add script to create a new module by @driusan in #8918
- [Core] Allow module entrypoint to be written in typescript by @driusan in #8873
- [SQL] Require test_names.Sub_group to not be null by @driusan in #8933
- [instruments] Bulk load SessionID and VisitLabel by @driusan in #8855
- [CouchDB_MRI_Importer] Remove extra argument in _getQueryForSelectedFiles by @CamilleBeau in #8947
- [NDB_BVL_Instrument] Cleanup duplicate method definition for _addMetadataFields() by @zaliqarosli in #8956
- Remove 'Scan done' field from 'Start visit' menu by @GeorgeMurad in #8955
- feat: add robots.txt file by @divyakelaskar in #8946
- [Tools] fix timepoint data problems by @xlecours in #8949
- [bvl_feedback] Update summary in real time by @CamilleBeau in #8966
- [examiner] Only show active examiner sites by @CamilleBeau in #8967
- [dataquery] New Data Query Module by @driusan in #8907
- [api/instruments] Add endpoint that allows you to add instruments to a battery by @driusan in #8868
- [New Feature] Tracking and Configuration of Candidate's Diagnosis Evolution by @jesscall in #7560
- [Brainbrowser] file_url query param by @laemtl in #8335
- [jsx] Remove DynamicDataTable by @driusan in #8993
- [Candidate_parameters] Consent status - Add NA option by @charlottesce in #8732
- [candidate_parameters] use DoB and DoD format by @CamilleBeau in #9001
- [my_preference] Add support for my_preference widgets by @driusan in #8938
- Add PHP 8.3 support by @driusan in #9019
- [Instrument List] Show Timepoint Project by @skarya22 in #9039
- [candidate] Create Sex table and remove Sex enum by @CamilleBeau in #9025
- [Instrument List] Refresh on Stage Update by @skarya22 in #9040
- [User Accounts] Site as multi select by @sruthymathew123 in #9022
- [electrophysiology_browser] Replace Physiological Annotations with Events by @jeffersoncasimir in #9032
- [htaccess] Modifies rule to allow spaces in filename when downloading files. by @racostas in #9029
- [electrophysiology_browser] Revised EEG filters + Store reference fix by @jeffersoncasimir in #9038
- [Instrument_list] Refresh on Send to DCC by @skarya22 in #9072
- [install] fix db installer host name by @maximemulder in #9107
- [electrophysiology_uploader] Add PSCID and Visit Label filters to data table by @jeffersoncasimir in #9113
- [help] fix the help widget extending over the height of a page by @shonibare in #9105
- Increase LINST instrument read buffer by @regisoc in #9117
- [dicom archive] Fix dicom archive details links by @maximemulder in #9081
- [data_release] refactoring to use data framework. by @racostas in #9051
- [candidate_profile] Fixing the display of cohorts in candidate Info card by @GeorgeMurad in #9125
- [tools/script] fix projectID issue by @kongtiaowang in #9069
- [user] Add getSites functions in User class by @CamilleBeau in #9102
- [configuration] Fix option deletion issue. by @racostas in #9121
- [electrophysiology_browser] HED Tag Support by @jeffersoncasimir in #9033
- [api_docs] add ModuleID to permission by @ridz1208 in #9145
- [NDB_Client] Allow loading images from images.loris.ca by @jeffersoncasimir in #9161
- [media] bug fix - string to int by @kongtiaowang in #9156
- [instrument_manager] Fixing error in generate_tables_sql_and_testNames tool by @AlexandraLivadas in #9157
- [electrophysiology_browser] Minor HED display modifications by @jeffersoncasimir in #9166
- [issue_tracker] null option assignee by @regisoc in #9169
- EEGVisEnabled check issue and webpack cache by @laemtl in #9159
- [imaging browser] Remove unused button by @maximemulder in #9075
- [statistics] bug fix - projectID issue by @kongtiaowang in #9170
- [Login] password reset page- missing element import by @kongtiaowang in #9171
- [Publication] Fix deletion of file when editing project by @CamilleBeau in #9181
- [Statistics] Fix checkbox places in Imaging Statistics by @miladheshmati in #9184
- [document_repository] Uploading file too large not reporting correctly #9158 - fix by @kongtiaowang in #9174
- [examiner] fix error message display format by @shonibare in #9176
- [new_profile] Site not selected when recruiting another candidate by @nicolasbrossard in #9197
- [Behavioural_QC] Display profile level feedbacks by @CamilleBeau in #9192
- [Schedule Module] add new schedule module into Loris by @kongtiaowang in #6150
- [notification] Fix sender name in email by @maximemulder in #9203
- [publication] Fix number of files in Upload tab by @CamilleBeau in #9179
- [statistics] Recruitment graph optimization by @driusan in #9196
- [Publication] Fix for auto-selecting Project in edit by @skarya22 in #9187
- [media] 413 error improperly handled #9163 - fix by @kongtiaowang in #9175
- [publication] Fix download prevention by overriding download notification function by @jeffersoncasimir in #9208
- [Publication] Fix baseurl missing from emails by @skarya22 in #9186
- Help UI fix by @laemtl in #9210
- [candidate_list] Make candidate_list use LORIS streamable binary format by @driusan in #9195
- Add to configuration server_processes_manager module by @GeorgeMurad in #9189
- [RB_files] Removed erroneous insertions in RB_physiological_file by @jeffersoncasimir in #9211
- [Acknowledgements] Fix for selecting all roles by @skarya22 in #9209
- [dicom archive] Remove superfluous newline in dicom archive view details by @maximemulder in #9214
- data_dictionary_builder.php unique constraint fix by @laemtl in #9201
- [behavioural_qc ] Auto-open behavioural panel with query parameter by @jeffersoncasimir in #9183
- [examiner] Adds permission check when adding examiner to site. by @racostas in #9188
- [Settings] Cache settings after first retrieval by @driusan in #9216
- [dataquery] Share cache of module dictionary across queries by @driusan in #9217
- Survey Module Validation Fix by @sruthymathew123 in #9116
- Improve webpack configuration by @maximemulder in #9225
- [dictionary] Fix loading of dictionary module by @driusan in #9227
- [instrument] Fix data type of getCandID function by @driusan in #9228
- Fix webpack compilation of JS modules by @maximemulder in #9231
- [dataquery/dictionary] Add option to display enums as either value or field in dataquery module by @driusan in #9224
- [RB_files] Sampling frequency updated in RB_physiological_parameter_file.sql by @jeffersoncasimir in #9241
- [new_profile] Make list of available projects user dependent by @ridz1208 in #9236
- [dashboard] Add project filter for tasks widget by @CamilleBeau in #9220
- [statistics] Fix timeseries graph spline bug by @jeffersoncasimir in #9257
- [form + mri_violations] Add DatetimeElement to filter fields by date and time by @maximemulder in #9190
- [Login] Add login suggestion and redirection for error 403 by @maximemulder in #9041
- [Acknowledgment] Fix awkward language in citation policy placeholder #9246 - modify text by @kongtiaowang in #9269
- [score_instrument] use getInstanceData to get the instrument data by @driusan in #9263
- [media] ajax function has been removed by @kongtiaowang in #9282
- [conflict_resolver] Rename TableName to TestName by @CamilleBeau in #9270
- [electrophysiology_browser + RB_files + SQL] Rename physiological parameter for chunks path by @jeffersoncasimir in #9275
- [imaging_uploader] Invalid log message shown for uploads with status … by @nicolasbrossard in #9278
- [tools] Refactor recreate_conflicts.php to use getInstrumentNamesList() by @ay-bh in #9280
- [imaging_uploader] Make auto-launch info popup modal by @nicolasbrossard in #9287
- [media] Remove instrument autoselect by @CamilleBeau in #9288
- [EEG] Montage color map by @laemtl in #9273
- [media] fixes permissions. Allows media_read to download, renames "Delete" to "Hide". by @racostas in #9222
- [statistics] Do not depend on instrument table for queries by @driusan in #9252
- [imaging uploader] fixing upload a large file frozen by @kongtiaowang in #9289
- [EEG Uploader] User messaging and Documentation update by @laemtl in #9296
New Contributors
- @divyakelaskar made their first contribution in #8946
- @SantiagoTG made their first contribution in #8559
- @maximemulder made their first contribution in #9066
- @ay-bh made their first contribution in #9280
Full Changelog: v25.0.2...v26.0.0