Skip to content

v4.0.0

Compare
Choose a tag to compare
@briri briri released this 26 Oct 22:21
· 352 commits to main since this release
c16f001

Researchers

  • Updated the PDF coversheet to include all Contributors
  • Fixed an issue that was causing the link to organizational guidance to repeat

Administrators

  • Fixed an issue that was impacting API v0 and preventing the batch assignment of users to departments
  • Fixed an issue that was preventing admins from performing a search on the Templates page #3217
  • Removed case sensitivity from the validation rules for Org and Department names.
  • Fixed issues with API v1
  • Fixed an issue that was causing plans that were based off of templates with conditional questions to disappear when the user triggered the condition #3163
  • Fixed an issue that was causing plans to not appear in the publicly visible if 100% of their questions had not been answered #3086

Developers

This release includes a major upgrade of Rails (5.x to 6.1) and an upgrade from Ruby 2.6 to 2.7.6. Please review the following release notes as well as our upgrade guide and be aware that you will most likely need to adjust/modify any local customizations you may have made within your local fork of the code.

This release includes an upgrade from Ruby 2.6 to Ruby 2.7.6 and Rails 5.x to Rails 6.1!

You will need to do the following:

  • Review the new default configuration options for Rails 6.1 and adjust as necessary for your implementation. The config settings can be found in config/initializers/new_framework_defaults_6_1.rb
  • Set a DMPROADMAP_HOST environment variable. Rails 6+ introduces new middleware that helps mitigate DNS rebinding attacks. This includes a hostname whitelist. The value you assign to this environment variable will be added to the whitelist.
  • Update the SUPPORTED_LOCALES CLIENT_LOCALES and DEFAULT_LOCALE in the config/initializers/translation.rb for your instance
  • If you have any raw SQL queries were deprecated in Rails 5.2. You may need to convert these over. See this article

Updates:

  • Updated Ruby from 2.6.3 to 2.7.6 #3139
  • Updated Rails from 5.2 to 6.1 #3103 #3187
  • Updated the TinyMCE editor to v5 and installed the 'oxide' skin #2942
  • Switched from Turbolinks to Turbo
  • Updated all JS and gem dependencies
  • Fixed an issue that allowed researchers to add an ORCID for a contributor that included spaces resulting in URLs that looked like https://orcid.org// 0000-0000-0000-0000. #3212
  • Made some minor modifications to improve query responsiveness on the Contributors, Guidances, Plans, Orgs, Users and Templates pages
  • Replaced all occurrences of update_attributes with updates since update_attributes was deprecated
  • Upgraded chart.js which is used on the Usage page to render the bar and pie charts
  • You can now set a flag that makes the 'coversheet' checkbox on the Plan Downloads page to be checked by default #3063 #3104
  • Made changes to accommodate the new Zeitwerk autoloader (which has stricter convention-over-configuration rules):
    • Changed the name of the JSONLinkValidator class file to JsonLinkValidator
    • Updated models so that any JSON fields have their default values defined prior to serialization
    • Updated deprecated occurrences of record.errors[:model] << 'foo' to record.errors.add(:model, 'foo')
    • Updated JS babel configuration
    • Updated the config/environments/*.rb files to use the new DMPROADMAP_HOST environment variable to defined the Rails.application.routes.default_url_options and new config.hosts setting.
    • Added a new download_coversheet_tickbox_checked flag to the config/initializers/_dmproadmap.rb initializer that will default the Plans Download page to default that checkbox to be true
    • Removed the out-of-date eslint package from webpacker. We will investigate re-introducing a JS linter in a future release
    • Fix to the db/seeds.rb file that is used for new installations so that it uses the find_or_create_by instead of create! to prevent duplicates when the DB already exists.
    • Updated and fixed tests as needed