v3.1 Release Notes

Details of administrative changes

Breaking Changes

User Settings File Change

We had to change the location of the user settings file off of the DATAROOT which is cluster specific and problematic for sites that have separate HOME directories for each cluster.

The new default location is under the XDG_CONFIG_HOME. This change was made to accomidate sites that have separate HOME directories for each cluster.

Sites who have never used this configuration do not need to do anything.

Sites that have reconfigured the user settings file need to provide the full path for this file. It’s recommended that you do not use a path in the DATAROOT as that is cluster specific.


RedHat/CentOS 7 packages deprecated

OnDemand 3.0 was the last OnDemand release to support RedHat/CentOS 7.

3.1 does not support RedHat/CentOS 7.

Dependency updates

This release updates the following dependencies:

  • Ruby 3.1 (RHEL 8 & 9 only)


    The change in Ruby version means any Ruby based apps that are not provided by the OnDemand RPM must be rebuilt or supply their own bin/ruby to use the older version of ruby.

  • NodeJS 18 (All OSes except RHEL 7)


    The change in Node version means any Node based apps that are not provided by the OnDemand RPM must be rebuilt.

  • Passenger 6.0.17

  • NGINX 1.22.1

  • ondemand-dex 2.36.0

  • mod_auth_openidc (RHEL 7 & 8 only)

Upgrade directions


As always please update the development or test instances of OnDemand installed at your center first to test and verify before you modify the production instance.


The OnDemand upgrade has only been tested going from 3.0.x to 3.1.x.

  1. Update OnDemand release RPM

    sudo yum install -y https://yum.osc.edu/ondemand/3.1/ondemand-release-web-3.1-1.el7.noarch.rpm
  2. Enable dependencies

    RHEL/Rocky/AlmaLinux 8 & 9 only

    sudo dnf module reset nodejs
    sudo dnf module enable nodejs:18
    sudo dnf module reset ruby
    sudo dnf module enable ruby:3.1
  3. Update OnDemand

    sudo yum clean all
    sudo yum update ondemand
  4. (Optional) If using Dex based authentiction, update the ondemand-dex package.

    sudo yum update ondemand-dex
  5. Update Apache configuration and restart Apache.

    sudo /opt/ood/ood-portal-generator/sbin/update_ood_portal
    sudo systemctl try-restart httpd24-httpd.service
  6. (Optional) If ondemand-dex was installed, restart the ondemand-dex service.

    sudo systemctl try-restart ondemand-dex.service
  7. (Optional) If ondemand-selinux was installed, see SELinux after Updates

  8. Force all PUNs to restart

    sudo /opt/ood/nginx_stage/sbin/nginx_stage nginx_clean -f

Details of new features

Globus integration

The files application will now provide a link to Globus endpoints when users navigate to a directory that is within that endpoint.

Administrators need to configure OnDemand to map directories to Globus endpoints. Refer to the configuration entry for enabling globus endpoints.

Path Selector widget

Open OnDemand now ships it’s own path_selector form widet. This replaces the library at https://github.com/osc/bc_js_filepicker for centers that have or do use this library.

You can go here to find details on the path selector.

Google Analytics 4 support

Google Analytics has updated since version 3.0 and 3.1 has support now for this update.

Refer to the google analytics configuration for how to configure this.

Dynamic Checkboxes

check_box form widgets can now be used with dynamic data-set and data-hide directives.

Refer to Dynamic Form Widgets for more details.

Disabling uploads and downloads

Sites can now disable uploads and downloads through the file browser. See the configuration for disabling downloads and disabling uploads for how to configure this.

Custom Javascript files

Sites can now add custom javascript files that will get loaded on every page of the dashboard application. Refer to the custom_javascript_files configuration property for more information.

Support added for completed.{md,html}.erb

Sites can now add a completed.{md,html}.erb to interactive applications to display information on the session’s card when the job has completed.

See completed.{md,html}.erb for more information.

Updated Apache options

We’ve updated ood_portal.yml for two common apache configurations sites may wish to enable.

The first is to disable apache logging in favor of supplying a global log configuration in a seperate file.

The second is to alllow for custom directives. You can now supply custom location directives and custom virtual host directives.

Improved shell connections

The shell app has been updated so that shell sessions can last longer. The app is better at keeping the connection alive, meaning users will maintain shell sessions for longer.

aarch64/arm64 and ppc64le packages

Added aarch64/arm64 and ppc64le packages for some operating systems. See Supported Operating Systems and Architectures for a full list of which operating systems support aarch64 and ppc64le.

Amazon Linux 2023 packages

Added Amazon Linux 2023 packages. See Install Software for installation instructions.

Debian 12 packages

Added Debian 12 packages. See Install Software for installation instructions.