Release Notes 21.11 (November 2021)

2024-03-28

This topic provides full release notes for version 21.11 (November 2021).
Important upgrade note:

LabKey has released updated versions (22.3.2 and 21.11.10) to address the Spring MVC security vulnerability (CVE-2022-22965). These versions also address the Log4J vulnerabilities discovered in December 2021. In order to minimize the impact of these vulnerabilities, all administrators must upgrade their installations immediately.

Premium edition users will find the latest patch release on their support portal now. Community users can download the latest versions here: Learn more in these message threads:


LabKey Server

Study

  • Assign a dataset category when linking assay or sample data to a study. (docs)
    • Sample Types and Assay Designs can also include the category as part of their definition. (docs | docs)
  • Subscribe to notifications of changes to individual datasets. (docs)
  • Changing the display order of datasets offers "Move to Top" and "Move to Bottom" options. (docs) Also available in release 21.7.2.

Samples

  • Customize the naming pattern used for aliquots in the Biologics and Sample Manager applications. (docs)
  • Sample names can incorporate field-based counters using :withCounter syntax. (docs)
  • Sample Type definitions can include the dataset category to assign when linking sample data to a study. (docs)
  • Incorporate lineage lookups into sample naming patterns. (docs)
  • Show Shared Sample Types in Sample Manager when used in conjunction with a Premium Edition of LabKey Server. (docs)
  • See the Sample Manager section for more sample management enhancements.

Assays

  • Link Assay Data to Study: Users who do not have access to the original assay data may be unable to view the linked dataset in the study. This regression was fixed in release 21.11.9.
  • Assay designs can specify the dataset category to assign when linking assay data to a study. (docs)
  • Flow Cytometry: If Samples are defined at the project level, they can be referenced from Flow subfolders without having to redefine new local copies. (docs) Available in 21.11.1
  • Flow Cytometry: Support for FlowJo version 10.8, including "NaN" in statistic values. (docs) Also available in release 21.7.3.

Data Integration

  • Specify a custom date parsing pattern. (docs)
  • Cloud: Import folder archives and reload studies from S3 storage. (docs)
  • Cloud: Enable queue notifications on your S3 bucket to facilitate a file watcher for automatic reloading of lists from S3 storage. (docs | docs)
  • ETLs: Hovertext shows the user who enabled an ETL. When deactivating a user, the admin will be warned if the deactivation will disable ETLs. (docs | docs)

Security

  • Easier testing of CSRF Tokens: Testing CSRF tokens is now available on production servers. (docs)

Queries

  • Improved visibility options for user-defined queries in the schema browser. (docs)
  • LabKey SQL supports VALUES syntax. (docs) Also available in release 21.8.
    • If your queries might include the word "Values" as a column, alias, or identifier, see the Upgrade section for a change you may need to make.

Panorama - Targeted Mass Spectrometry

  • When viewing a protein or molecule list, multiple peptides and molecules chromatograms are plotted together. (docs)
  • Monitor iRT metrics (slope, intercept, and r-squared correlation) to track system suitability. (docs)
  • Integrate Panorama with LabKey Sample Manager (docs)
  • Review the upcoming distribution changes section for important information about the future of Panorama.

Premium Resources

Logging

  • Additional help for site administrators using loggers to troubleshoot server issues. (docs)
  • Improvements to labkey-error.logs rotation to avoid filling the disk. (docs)

Issue Tracking

  • Email notifications for issue updates now support using HTML formatting. (docs)
    • If you have customized the default template, see the Upgrade section for a change you may need to make.

Distribution Changes and Upgrade Notes

  • Release 21.11 of LabKey Server no longer supports Java version 14 or 15. We recommend upgrading to Java 17 for long term support. (docs)
  • Release 21.11 of LabKey Server no longer supports PostgreSQL 9.6. We recommend upgrading to the latest point release of PostgreSQL 14.x. (docs)
  • Premium edition users of Single Sign-On authentication will no longer see placeholder text links when no logo is provided. (docs)
    • Because existing deployments might be relying on these links, the 21.11 upgrade will add placeholder logos in any place where logos have not been provided. Administrators of these deployments will likely want to replace or remove the placeholders after upgrade.
  • The Luminex module no longer supports SQL Server and has been removed from standard distributions of release 21.11. If you are using a premium edition and require the Luminex module, you may see an error during startup. Please contact your Account Manager to confirm that you have received the correct distribution.
  • Email notification templates for issue updates now support using HTML.
    • We previously turned newlines and "\r" into HTML <br> tags, and with this update will no longer do so.
    • If you customized your Issue update template(s), you will want to edit them now to explicitly add <br> tags for line breaks, otherwise issue update email notifications will have unexpected formatting.

Potential Backwards Compatibility Issues

  • Support for VALUES syntax added to LabKey SQL in 21.8 means that if you currently use "Values" anywhere as an identifier (column, alias, identifier, etc), it now needs to be surrounded with double-quotes or the SQL will generate a parse error.
    • You can find queries that need to be updated by running Validate Queries in each project and scanning subfolders. Look for the error message: "Syntax error near 'Values'" in the validation results.
  • The core.qcstate table is renamed to core.datastates beginning in version 21.10.
    • Querying the user schema tables core.qcstate and study.qcstate is still supported, but mutating queries will need to be updated to use the new core.datastates table name.
  • Linked schemas now check that the user who created them still has permission to the source data. (docs)
    • If the creating user's permissions have changed, the linked schema definition will need to be recreated by a new owner.

Upcoming Distribution Changes


Sample Manager

  • Archive an assay design to hide it from Sample Manager data entry, but historic data can be viewed. (docs)
  • Manage sample status, including but not limited to: available, consumed, locked. (docs)
    • An additional reserved field "SampleState" has been added to support this feature. If your existing Sample Types use user defined fields for recording sample status, you will want to migrate to using the new method.
  • Incorporate lineage lookups into sample naming patterns. (docs)
  • Assign a prefix to be included in the names of all Samples and Sources created in a given project. (docs)
  • Prevent users from creating their own IDs/Names in order to maintain consistency using defined naming patterns. (docs)
  • The "User Management" dashboard shows project users, not all site users. (docs)
  • Customize the aliquot naming pattern. (docs)
  • Record the physical location of freezers you manage, making it easier to find samples across distributed sites. (docs)
  • Manage all samples and aliquots created from a source more easily. (docs)
  • Comments on workflow job tasks can be formatted in markdown and multithreaded. (docs)
  • Redesigned job tasks page. (docs)
  • Edit sources and parents of samples in bulk. (docs)
  • View all samples (and aliquots) created from a given Source. (docs)
  • Lineage graphs changed to show up to 5 generations instead of 3. (docs)
  • Redesigned job overview page. (docs)
  • Aliquot views available at the parent sample level. See aggregate volume and count of aliquots and sub-aliquots. (docs)
  • Find samples using barcodes or sample IDs (docs)
  • Import aliases for sample Sources and Parents are shown in the Sample Type details and included in downloaded templates. (docs | docs)
  • Improved interface for managing workflow and templates. (docs)

Biologics

  • Manage process parameters in lab workflows. Available in development mode. (docs)
  • Archive an assay design to hide it from Biologics application data entry and menus, but historic data can be viewed. (docs)
  • Manage sample statuses like available, consumed, and locked. (docs)
  • Incorporate lineage lookups into sample naming patterns. (docs)
  • Apply a container specific prefix to all bioregistry entity and sample naming patterns. (docs)
  • Prevent users from creating their own IDs/Names in order to maintain consistency using defined naming patterns. (docs)
  • Customize the definitions of data classes (both bioregistry and media types) within the application. (docs)
  • Sample detail pages include information about aliquots and jobs. (docs)
  • Customize the naming pattern used when creating aliquots. (docs)
  • Comments on workflow job tasks can be formatted in markdown and multithreaded. (docs)
  • Redesigned job tasks page. (docs)
  • Edit lineage of selected samples in bulk. (docs)
  • Customize the names of entities in the bioregistry. (docs)
  • Redesigned job overview page. (docs)
  • Lineage graphs changed to show up to 5 generations instead of 3. (docs)
  • Aliquot views available at the parent sample level. See aggregate volume and count of aliquots and sub-aliquots. (docs)
  • Find samples using barcodes or sample IDs. (docs)
  • Import aliases for sample parents are shown in the Sample Type and included in downloaded templates. (docs)
  • Improved options for managing workflow and templates. (docs)

Client APIs and Development Notes

  • To improve troubleshooting, loggers can now display notes indicating the area logged. (docs)
  • The "test.properties" file, and binaries for browser drivers (chromedriver and geckodriver) have been removed from source control. When you upgrade a development machine, you will want to follow these steps:
    • 1. Back up your test.properties file (to retain any custom settings)
    • 2. After syncing, run ./gradlew :server:testAutomation:initProperties to create a new test.properties file from the new test.properties.template.
    • 3. Restore any custom settings you need from your saved test.properties to the new one.
    • 4. Install the version of chromedriver and/or geckodriver compatible with your browser versions.
    • 5. These should either be on your PATH or you can add/update the webdriver.gecko.driver and webdriver.chrome.driver properties in test.properties to point at the corresponding binaries.
    • Learn more here: Run Automated Tests

The symbol indicates a feature available in a Premium Edition of LabKey Server.

Previous Release Notes: Version 21.7