Release Notes 2.20 (May 2024)
App Panel Improvements
Categories for Parameters
When building an App Panel, Parameters can now be grouped into categories.

Input Parameter Types with Validation & Ranges
Previously, Input Parameters did not have validation or specific types with meaningful differences. Now, users creating an App Panel can choose from the following types when creating Input Parameters:
String with validation pattern
Number (float) with range
Integer with range



List Parameter Types
It was also previously not possible to specify a type when creating List Parameters. Now, users creating App Panels with List Parameters can choose from all of the same types available when creating Input Parameters and also have the additional option of choosing the Boolean parameter type as shown below.
String
Number (float)
Integer
Boolean

Required Parameter Checkbox
Users building App Panels can now specify parameters as required so to run the Capsule a user must first input/select a value for these parameters. These parameters are denoted by a red asterisk in the App Panel as shown below.

Pinnable Help Text with Support for Markdown
Users can now add markdown formatting to their parameter help text to make it easier to read or add links, tables, etc.


R Package Caching + Configure CRAN Repository
Adding R packages to a Linux environment can often take a significant amount of time because the packages need to be downloaded, compiled, and then installed. To help reduce R package installation time (by up to 80%), R Package Caching is now implemented by default in Code Ocean for R(CRAN) and Bioconductor packages.
The deployment's cache stores the binary (compiled) versions of installed packages so the system can reuse them and skip the compiling steps for these packages that have been installed in the deployment before.
Administrators can enable/disable R Caching from the new R Package Caching tab of the Admin Dashboard. Additionally, a private CRAN repository can now be added from the same tab of the Admin Dashboard to easily leverage installation of packages from a specific managed repository. To use this functionality, the URL input in Code Ocean should return the package index and packages as expected by any self-hosted mirror.

Once R Package Caching is enabled, a command will be added to the Dockerfiles of new Capsules as shown below. For Capsules created prior to enabling R Package Caching, the Dockerfile will be updated when the environment is modified.

Support for Generic OIDC

Previously, Code Ocean supported OIDC integration specifically for authenticating via Google for SSO -- now it's also possible to connect with other SSO providers via OIDC.
Code Ocean Infrastructure Enhancements
EFS Infrequent Access and S3 Intelligent Tiering
New storage lifecycle policies are now implemented by default to decrease storage costs by up to 40%. All applicable Code Ocean managed S3 buckets are now configured with a lifecycle policy which transitions all new objects into S3 Intelligent Tiering 14 days after creation. Similarly, the Code Ocean managed EFS volumes are now configured with a lifecycle policy which transitions data to EFS Infrequent Access 7 days after creation. Existing data will be transferred to S3 Intelligent Tiering and EFS Infrequent Access following upgrade to v2.21. These new policies only utilize Instant Access tiers and do not decrease the speed at which data in the deployment can be accessed.
If you have manually configured storage policies on your Code Ocean deployment S3 buckets and/or EFS volumes, ensure that they are not overwritten/contradicted by the new default Code Ocean policies.
Extended Back up and Restore/Disaster Recovery Functionality
The system comes with a default backup plan that includes: EBS & RDS daily snapshots using AWS Backup, S3 bucket versioning, and a 14 day (configurable) retention period. You can now configure the backup frequency (cron expression) to meet RPO (restore point objective) requirements, and the retention period (days) through the CloudFormation template parameters when updating the Code Ocean stack.
As part of a disaster recovery plan, you can now also protect production data on your Code Ocean deployment even further by configuring automated backups to a different AWS account and/or region. Full details are available in our Admin Guide here.
Last updated
