Releases: aces/Loris
LORIS Release 28.0.1
What's Changed
This release fixes the bugs which were fixed in the v27.0.3 release in the v28.0.x release line. In particular, it fixes a bug where new LORIS installs would sometimes load and sometimes not depending on the value of the "sandbox" config file at compile time.
It also fixes a number of potential security issues identified by the Ministère de la Cybersécurité et du Numérique.
Full Changelog: v28.0.0...v28.0.1
LORIS Release 27.0.3
This release fixes a bug where new LORIS installs would sometimes load and sometimes not depending on the value of the "sandbox" config file at compile time.
It also fixes a number of potential security issues identified by the Ministère de la Cybersécurité et du Numérique.
Full Changelog: v27.0.2...v27.0.3
LORIS v28.0.0
LORIS v28.0.0 is the first multilingual release of LORIS. It adds support for English and français in LORIS, as well as incomplete/experimental support for 日本語 and हिंदी. It includes a number of other new features and functionalities as described below.
Note: this release is fully compatible with LORIS-MRI 27.
Notes For Existing Projects
Upgrading LORIS requires following the upgrade process each major and minor release (bug fix releases can be skipped) to ensure the schema is up to date.
For upgrading to 28 from 27:
- Source the
SQL/Release_patches/27.0_To_28.0_upgrade.sqlpatch - Run the
tools/single_use/27_Publication_Collaborators_Into_New_Entries.phpto move publication collaborators into their own database entries.
What's Changed
- [API] Add dicom upload by @maximemulder in #9154
- [biobank] new module by @HenriRabalais in #9475
- [dqt - dataquery - permissions] Separate permissions for dqt and dataquery by @jeffersoncasimir in #9918
- [policies] Add infrastructure to track user decisions to policies by @skarya22 in #9818
- [dataquery/dictionary] Remove instruments and visits that the user doesnt have access to by @skarya22 in #9903
- [flag] Add flag editors table by @skarya22 in #9478
- [help-editor] add help form for the instrument by @kongtiaowang in #9821
- [Core] Add Support for TOTP / 2FA to LORIS by @driusan in #9972
- [electrophysiology_browser] EventPanel 2.0 | HED Endorsement | Channels Support (EEG-BIDS) | Miscellaneous Features by @jeffersoncasimir in #10062
- [dataquery] Improve internationalization of query run time by @driusan in #10196
- Dqt improvements field selection by @marandmart in #10161
- [Meta] Add AI policy to CONTRIBUTING.md by @driusan in #10345
- [multilingual/login] Persist selected language in login after logging in + Language select in menubar by @skarya22 in #10356
New Contributors
- @AdamAlAttrach made their first contribution in #10222
Full Changelog: v27.0.2...v28.0.0
LORIS Release v27.0.2
What's Changed
This incorporates fixes from the v26.0.5 release into the v27.0.x line.
Full Changelog: v27.0.1...v27.0.2
LORIS Release v26.0.5
What's Changed
- [issue_tracker] Fix inactive user query by @CamilleBeau in #8904
- [instrument_list] Fix deprecation warning (24.1) by @regisoc in #9053
- StaticDataTable mixed column types sorting by @regisoc in #9120
- [tools] Fix SQL error for duplicate rows by @GeorgeMurad in #9007
- Fix 26.0-release CI by @kongtiaowang in #9536
- Fixing the display of the Entity Type options in the Imaging Browser by @GeorgeMurad in #9542
- [user_accounts] Made Site & Project multiselect expandable by @ridz1208 in #9562
- [imaging_uploader] Sort by UploadDate for most recent uploads by @ridz1208 in #9563
- [Core] fix timeout redirect location by @ridz1208 in #9534
- Push 24.1 into 26.0 by @ridz1208 in #9645
- [Core] Fix redirect URL AGAIN by @ridz1208 in #9794
- [JSX] Revert CSV data transformation: replace flatMap with map by @HenriRabalais in #9784
- [github CI] waiting for mysqld - fix in 26.0-release by @kongtiaowang in #10118
- [instruments] Make legacy dictionary use OPTIONAL as a default by @ridz1208 in #9786
- [datadict] Fix missing variables & ignore meta fields by @ridz1208 in #9955
- [tools] Bugfix for generate_candidate_externalids.php by @ridz1208 in #10178
- [test] fix CI 26.0 failure by @kongtiaowang in #10293
Full Changelog: v26.0.4...v26.0.5
LORIS Release v27.0.1
This bugfix release fixes various issues that were discovered since the release of v27.0.0.
What's Changed
- [wiki] fix README.md in 02_GETTING_STARTED by @SKADE2303 in #9817
- Fix MariaDB initialization hang in GitHub Actions - 27 by @kongtiaowang in #9963
- IBIS 27 fix - error_log minor bug by @kongtiaowang in #9926
- IBIS 27 fix sex chart by @kongtiaowang in #9933
- [issue_tracker] fix new issue creation breaking IBIS v27 by @shonibare in #9931
- [IBIS 27] [htdocs] fix can't override in project/moudle by @kongtiaowang in #9916
- [dataquery] Fixed Import csv for Empty csv and submitting without uploading by @SKADE2303 in #9882
- [genomic_browser] SNP does not load - fix by @kongtiaowang in #9971
- [notification_modules] Add Issue Tracker notifications to schema by @CamilleBeau in #10005
- [battery_manager] Filtering for minimum age/maximum age = 0 does not work - fix by @kongtiaowang in #9983
- IBIS 27 update patch file by @kongtiaowang in #9930
- [Battery manager] fix can't active and edit using 0 days as minimum age days by @kongtiaowang in #9976
- [NDB_BVL_Instrument_LINST] Change Examiner type to enum by @jeffersoncasimir in #9873
- Update MNI+MCIN URLs by @jeffersoncasimir in #10042
- [candidate_profile/imaging_browser] Fix Imaging QC Summary widget on candiate_profile by @driusan in #10050
- [dicom_archive/imaging_uploader] Residual fixes for advanced permissions by @ridz1208 in #9761
- [Document_Repo] fix perm in editcategory by @kongtiaowang in #9965
- [dataquery]Fix shared query name not displaying by @shonibare in #9887
- [LINST] Fix loading of LINST instruments by @driusan in #10079
- [candidate_profile] Fix loading of instrument list by @driusan in #10080
Full Changelog: v27.0.0...v27.0.1
v27.0.0
Summary
The LORIS 27 release adds many new features and optimizations detailed below such as:
- Optimizations for the new dataquery tool which also optimize various components throughout LORIS
- Improvements to permission handling through different modules
- A new "Batch Mode" for the issue tracker
- The CandID in LORIS is now 10 digits instead of 6 to support larger projects
- Foreign Key references to the
candidatetable are now standardized:CandidateIDwhich refers tocandidate.ID - Instrument's
flag.datamoved toinstrument_datatable - LORIS now has the ability to display summary statistics of the LORIS instance (either from an SQL query or a query built with the new data query tool) on the login page.
- A new redcap module allows to importing of data from redcap into LORIS
- Various other bug fixes and features detailed below
Notes For Existing Projects
Upgrading LORIS requires following the upgrade process each major and minor release (bug fix releases can be script) to ensure the schema is up to date.
For upgrading to 27 from 26:
- Source the
SQL/Release_patches/26.0_To_27.0_upgrade.sql - Run the
tools/update_issues_with_description.phpto back-populate the new issue tracker description column. (The description was previously based on the first comment.)
Note that if LORIS 27 was installed before 2025-09-09, the LORIS instance will not include the issue tracker notification settings in the "My Preferences" module.
What's Changed
Features
- [IssueTracker] Add description field to issues table by @sanjay-thiyagarajan in #8864
- [document_repository] New features by @pierre-p-s in #7103
- [SQL] Move flag.data column to own table by @driusan in #9215
- [instrument_manager] Use JSON data for uploaded linst instruments by @driusan in #9324
- [Core] Add Compression middleware by @driusan in #9207
- [document_repository] Remove File Type Restriction by @skarya22 in #9388
- [candidate_profile] Add error boundary to cards with errors by @driusan in #9333
- [JSX] Relax Strictness of Filter for Multiselect in Filter Component by @HenriRabalais in #9402
- [issue_tracker] Convert batch/normal mode toggle to tabs and implement permission control by @ay-bh in #9434
- [JSX] Add ProgressBar to FilterableDataTable for Progressive Loading UI by @HenriRabalais in #9401
- [SQL][Instrument List][Battery Manager] Move DDE Enabled to Test_Battery by @skarya22 in #9264
- [conflict_resolver] Add Cohort filter and field by @victori444 in #9407
- [issue_tracker] Add Instrument dropdown to Issue form by @ay-bh in #9311
- [data_release] Introduce Project Separation by @skarya22 in #9385
- [Survey Module] Update survey status upon data_entry by @victori444 in #9441
- [Core] Add database query class to represent the results of a DB query by @driusan in #9334
- [Core] Add support / fix PHP 8.4 support by @driusan in #9513
- [issue_tracker] Add Batch Mode by @ay-bh in #9339
- [Media] Upload Digest Notifications (Override from CCNA) by @skarya22 in #8849
- [dataquery] Add ability to retrieve results of previous run from API by @driusan in #9301
- [NDB_BVL_Instrument] Hide inactive examiners for site from selection, unless if already selected by @skarya22 in #9416
- [timepoint] Add Default Site to Dropdown by @victori444 in #9408
- [issue_tracker] Receive notifications for all issues by @skarya22 in #9396
- [dataquery] Add instrument flags to instruments query engine by @driusan in #9529
- [data_release] FileUpload version permission by @victori444 in #9489
- [SQL] Refactor FK CandID int(6) to CandidateID int(10) (candidate.ID PK) by @jeffersoncasimir in #9556
- [Login] Summary Statistics by @skarya22 in #9518
- [Core] New Filters and Logic by @ridz1208 in #9548
- [issue_tracker] Add more granular permissions for Issue Tracker by @shonibare in #9554
- [imaging_uploader] Sort by UploadDate for most recent uploads by @ridz1208 in #9563
- [dictionary] Cohort Filter by @skarya22 in #9390
- [dicom archive] add project permission check based on tarchiveID by @regisoc in #9359
- HTMLSpecialChars() Double escaping default to false by @KLaFleur in #9557
- [Core] Add performance profiler logger by @driusan in #9383
- [imaging_qc] Make module only display data affliated to user's site and project by @shonibare in #9399
- [user_accounts] Made Site & Project multiselect expandable by @ridz1208 in #9562
- Add Project Affiliations Menu to Main Interface by @NadaElmasry in #9417
- [imaging_uploader] Site&Project check with config setting and permission by @ridz1208 in #9533
- [dataquery] (demographics) Include missing fields from deprecated CouchDB_Import_Demographics. by @racostas in #9566
- [dashboard] Improve visual styling for a more modern look by @GeorgeMurad in #9734
- [battery_manager] Add required DDE selection by @skarya22 in #9741
- [JSX] Refactor Modal Component to Support Conditional Form Wrapping by @HenriRabalais in #9516
- Add the MRI variables in the imaging_browser's query engine by @nicolasbrossard in #9824
- [candidate_parameters] Add hasAccess to module class #9834 by @kongtiaowang in #9843
- [dataquery] Add 'PSCID' as a default field by @jeffersoncasimir in #9845
Optimizations
- [dataquery] Optimize filtering of valid candidates for large datasets by @driusan in #9344
- [Optmization] Replace bulkLoadInstanceData with generator by @driusan in #9347
- [Utility] Cache getVisitList result by @driusan in #9346
- [Utility] Remove unnecessary joins in queries by @driusan in #9369
- [bugfix] Cleanup TestName->TestID transition by @skarya22 in #9387
- [server_processes_manager] Monitor incomplete processes only by @jeffersoncasimir in #9725
- [redcap] new module by @regisoc in #9474
- [dashboard] Optimize statistics queries by @skarya22 in #9793
- [instruments] Add view permission by @adamdaudrich in #9762
Bug Fixes
- [issue_tracker] Fix inactive user query by @CamilleBeau in #8904
- [instrument_list] Fix deprecation warning (24.1) by @regisoc in #9053
- StaticDataTable mixed column types sorting by @regisoc in #9120
- [tools] Fix SQL error for duplicate rows by @GeorgeMurad in #9007
- Defining default decimal point for non JSON table LINST instruments by @regisoc in #9277
- [acknowledgements] Remove "Present" column from database and dynamically calculate by @driusan in #8339
- [User Account] Checkbox alignments by @laemtl in #9352
- Update Typescript by @maximemulder in #9394
- [User_Accounts] Fix examiner always pending & bugfix by @skarya22 in #9409
- Replace DoB/EDC with 'Derived Age'/'EDC Age' by @GeorgeMurad in #8990
- [Conflict_resolver] Show examiner name by @skarya22 in #9404
- [NDB_BVL_Instrument] Fix for clearing instrument by @skarya22 in #9411
- [document_repository] Error for filenames with comma by @victori444 in #9461
- [Tools] assign_missing_instruments.php - fix wrong type by @kongtiaowang in #9484
- [NDB_Page] Add default maxYear for date elements by @skarya22 in #9498
- [issue_tracker] 'My Issues' filter for users with no issues by @CamilleBeau in #9483
- [conflict_resolver] Replace 'Value 1 & 2' with 'Incorrect Answer' by @victori444 in #9506
- [NDB_BVL_Instrument] Fix addHourMinElement being never required by @victori444 in #9482
- [media] Fix download of filenames with commas by @victori444 in #9510
- Fixing the display of the Entity Type options in the Imaging Browser by @GeorgeMurad in #9542
- ...
LORIS Release v24.1.8
What's Changed
- StaticDataTable mixed column types sorting by @regisoc in #9120
- [tools] Fix SQL error for duplicate rows by @GeorgeMurad in #9007
- [DataTable] Fix multiselect containing commas by @victori444 in #9743
Full Changelog: v24.1.7...v24.1.8
LORIS Release v26.0.4
What's Changed
Full Changelog: v26.0.3...v26.0.4
LORIS Release v26.0.3
What's Changed
- [SQL] remove DownloadPath from sql files - 26.0-release by @kongtiaowang in #9467
- [electrophysiology_uploader] Fix minor unexpected behaviours by @ZhichGaming in #9470
- [composer] manage project dependencies by @regisoc in #9496
- [Deprecated DQT] Fix type error in demographic import script by @driusan in #9508
- [Raisinbread] Add physiological_event_archive entries by @jeffersoncasimir in #9515
- [Candidate] RE-add support to create candidates from the backend (unix user) by @ridz1208 in #9485
- [issue_tracker] Add [priority,status] in the body and 'study' to subj… by @shonibare in #9471
- [EEG Browser] Fix webpack and ts config by @laemtl in #9517
New Contributors
- @ZhichGaming made their first contribution in #9470
Full Changelog: v26.0.2...v26.0.3