Skip to content

Releases: CSCfi/rems

v2.38.1 "Välimerenkatu +1"

27 Jan 13:06
v2.38.1
5e3bec3
Compare
Choose a tag to compare

Fixes

  • Fixed bug in user settings cache that caused notification emails to not show up in the UI, API or CLI until modified.

v2.38 "Välimerenkatu"

28 Nov 10:37
v2.38
b1cd1e3
Compare
Choose a tag to compare

This release contains major changes to the REMS internal architecture regarding the caching of information. We have improved the caching behavior previously during the year, but now we drop the requirement for REMS to reload the application cache every hour or so. This was problematic, if the reload was slow, because it would stop REMS for a while and could lead to running out of memory. REMS got slower with more data, handlers and so on which made the problem worse.

The fundamental idea is that most information in REMS is cached, and can be served from the cache. We have tried to make this the fastest REMS release by going through all the previously sluggish actions. While this does not change the UI, the API or functionality, it is large enough to warrant this note. The release passes all our tests and has also been manually tested. Before deploying this release, consider doing some additional manual testing for your use cases.

About the REMS performance and test data. We have tested REMS performance using 1000+ catalogue items, 3000+ applications with 20+ largeish events each. The workflow contains 100 handlers each. We also test the forms with 200 fields. With these numbers, REMS performance is fine with any modern server with around 4 GB of memory.

Additions

  • Catalogue tree now supports keyboard interactions for ARIA role="tree". Navigation works with arrow keys and Home/End, tree nodes can be opened/closed with Enter key, and default action (like add to cart) works with Enter key. (#3336)

Changes

  • The logging of the simultaneous request count (rqc:) is now done for the request and response log lines only, and separately. Previously the same value was used for all logging in a request, which could be confusing as the actual request count can change between the lines.
  • The performance has been improved when there are many handlers. (#3283)
  • The error message "shake" animation has been removed. (#3298)
  • The collapsible component no longer animates on open/close.
  • If REMS is trying to send email, and if the address has an obvious problem, REMS will not try sending it again, but gives up immediately. This should avoid having many hopeless retries, if there is a typo in an email address.
  • Form editor performance has been significantly improved. To give rough numbers, the editor now works smoothly with 200 form fields in test data. (#3105)
  • The wording about experimental is removed from GA4GH API. It is already used in production. (#3299)
  • Licenses are ordered consistently (alphabetically) wherever they appear. (#3302)

Fixes

  • Empty the license attachment field if the upload fails. (#3292)
  • Hooks set in extra scripts were overridden by initialization. The new place for them is rems_hooks. See docs/hooks.md for details. (#3351)

v2.37 "Laivapojankatu"

16 May 14:11
a1bda63
Compare
Choose a tag to compare

Additions

  • The "Change Form" function in administration has been expanded to be able to change both forms and workflows. From now on it is called "Update catalogue item". The old change-form API still exists but has been deprecated. (#3271)

Changes

  • Invitation links work multiple times. Previously, they were single-use. The invitation token is spent on the first use and it grants the rights then. However, the user may still use the link later for navigating into the application or workflow in question. (#3275)
  • Invitation gives a more informative error when handling user tries to join application. (#3291)

v2.36 "Laivapojankuja"

13 Mar 16:45
bcb97ad
Compare
Choose a tag to compare

Additions

  • (Experimental) Voting options are expanded to have types, i.e. reviewer and handler voting. Use :enable-voting. (#3257)
  • Email templates (:t.email/...) and event translations (:t.applications.events/...) now support named format parameters, and default english localizations have been updated for reference. While REMS moves towards fully supporting named parameters, all translations with index parameters should continue to work. Localizations with many parameters (like emails) have been burdensome to maintain with index parameters, so transitioning into named parameters is highly encouraged. (#3241)
  • Processing states have been added. Now, in addition to the main states (draft, submitted, returned, approved, ...), the application tracks new "processing states" (i.e, "sub-states"). They can be added to facilitate for example standard bookkeeping of an application or technical integrations. The handler can change an application's processing state, when at least one has been configured in the application's workflow by the owner. Use :enable-processing-states. (#3259)

Changes

  • Form fields in workflow admin pages are re-structured to show most often needed fields first.

v2.35.1 "Selkämerenkatu +1"

16 Jan 08:21
b92f19f
Compare
Choose a tag to compare

Fixes

  • Fix issue with user roles after deletion. This was introduced in the previous release that optimizes cache updates. (#3243)
  • Mark form as optional in catalogue item creation. Also consider categories optional unless the catalogue tree is enabled. (#3244)

v2.35 "Selkämerenkatu"

13 Dec 09:19
32faf8c
Compare
Choose a tag to compare

NB: This release removes the experimental application PDF export API. The non-experimental PDF export API is preferred instead. (#3098)

Additions

  • By default administration pages show only "own organization" items. (#2046)
  • The command-line use of REMS has been sped up. There are new commands dev-setup and perf-setup that dev_db.sh uses to start faster (a combination of migrate and data).
  • Application expiration can be configured with :application-expiration-process-limit to process a subset of applications instead of everything at once. (#3225)
  • Show organization in create workflow Forms dropdown (#3230)
  • When copying an item, reset the organization, if it's not owned by the user. (#2880)
  • Added malware scanning support. When :malware-scanner-path is set REMS will scan uploaded attachments and licenses with the executable at the provided path. Enabling :enable-malware-scanner-logging will pass the scanner executables output on STDERR to the REMS application log. (#2905)

Changes

  • Application expiration now logs more, and more often. (#3225)
  • Catalogue page has been sped up with optimizations. The API supports not joining organization data if not required (join-organization=false).
  • Adding a user to blacklist does not reload the full cache anymore. This should make it faster. Also the user is directed to Applications page after delete, not to Catalogue.
  • Deleting a (draft) application is now faster because it does not reload the full cache, only update it.
  • Editing workflows (e.g. handlers) should now be faster because it does not reload the full cache, only update it.

Fixes

  • Big improvements in performance from small improvements in how applications and events are processed and cached. REMS should be able to handle a 100k event DB without breaking a sweat. (#2783)
  • Administration dropdown buttons should now respond to clicks more widely, and not only by directly clicking text. (#3167)
  • Catalogue item unarchive should no longer fail when form does not exist. (#3217)
  • Current page updates correctly. (#3218)
  • Fixed faulty check in application expiration that prevents sending expiration notifications for applications, and expiring those applications. (#3225)

v2.34.2 "Santakatu +2"

06 Nov 09:32
cd58196
Compare
Choose a tag to compare

Fixes

  • DUO codes in draft saved event no longer cause schema validation error when :enable-duo config is false.

v2.34.1 "Santakatu +1"

03 Nov 10:32
8db61a0
Compare
Choose a tag to compare

NB: This release contains migrations!

Fixes

  • A bug in event selection prevented migration (introduced in v2.34) from applying properly. This release contains a fixed version of that migration.

v2.34 "Santakatu"

31 Oct 17:35
96bfb99
Compare
Choose a tag to compare

NB: This release contains migrations!
NB: :application/public is renamed to :event/public (in application_event table eventdata column).
NB: :expires-on is renamed to :application/expires-on (in application_event table eventdata column).
NB: :last-activity is redundant and removed from the event (in application_event table eventdata column).

Changes

  • "Show related events" has been removed from events. (#3156)
  • Handler can now redact other handlers attachments. (#3190)
  • The tables take advantage of a new paging feature. Especially, the handler Actions page and its handled applications table uses paging and only fetches handled applications when so requested. The first 50 rows are only fetched by default. Paging can be also configured per table, if the default is not good (page size 50 rows). (#3191)
  • If reminder email is configured for the, expirer bot, it will delete an old draft application if and only if the reminder email is sent and the specified amount of time has passed. Previously it would just delete if the application was very old (esp. when enabling expiry for the first time).
  • Allow leaving :form field away from catalogue item creation API calls. Previously the value was optional but now the key too.
  • Application action buttons now wait until request has completed. This should prevent duplicate concurrent requests caused by repeated clicking. (#3204)

Additions

  • (Experimental) Workflow can be configured to enable voting for the approval. Currently all handlers can vote (including bots). Use :enable-voting. (#3174)
  • There is now a Danish language translation (#3176). We are considering supporting a limited set of languages officially, and improving support for community maintained translations (see #3179).
  • Added experimental support for named format parameters in translations. (#3183)
  • Added extended logging option (:enable-extended-logging), for additionally logging the content of mutating operations. (#3184)
  • Cache reloading can be configured using the new :buzy-hours config. REMS will then try to avoid reloading during the specified time spans. (#3194)
  • Application expiration respects :buzy hours config too.
  • The handling users can now see whether an event is shown to the applicant from a small eye icon in the event history. (#3156)
  • Event now shows which attachments were redacted when viewing as handling user. (#3190)
  • Workflow has new option to anonymize handling users. When enabled, applying users may only see "Handler" in events where handling user's name would appear. Event emails to applying users similarly show only anonymized name where handling user's name would appear. Application API also returns only anonymized name to applying users. Anonymized name is customizable with translation key :t.roles/anonymous-handler, which defaults to :t.roles/handler.

Fixes

  • Email template parameters for :application-expiration-notification event are now documented. The parameters are different from standard event email parameters, which may have caused confusion.

v2.33 "Santakuja"

19 Jun 11:15
58d6fd7
Compare
Choose a tag to compare

Additions

  • PDF output can be customized a little. This enables changing the font, which should fix missing diacritics. (#3158)
  • Workflows can now disable commands dynamically by application state, user role, or both. Rules can be set in workflow administration page under disable commands field. (#3131)
  • Plugins can be written to extend REMS functionality in select extension points. So far there is support for plugins written in Clojure embedded in Markdown files. See docs/plugins.md for details. (#3133)

Fixes

  • Label and header fields have URLs made into links. (#3155)