diff --git a/doc/release-notes/4.17-release-notes.md b/doc/release-notes/4.17-release-notes.md index 90a7d054427..33ee3e1b758 100644 --- a/doc/release-notes/4.17-release-notes.md +++ b/doc/release-notes/4.17-release-notes.md @@ -10,14 +10,18 @@ Tools that integrate with Dataverse can now be launched from the dataset page! T ### Performance Enhancements -Dataverse now allows installation administrators to configure the session timeout for logged in users using the new `:LoginSessionTimeout` setting. (Session length for anonymous users has been reduced from 24 hours to 10 minutes.) Setting this lower will release system resources as configured and will result in better performance (less memory use) throughout a Dataverse installation. +Dataverse now allows installation administrators to configure the session timeout for logged in users using the new `:LoginSessionTimeout` setting. (Session length for anonymous users has been reduced from 24 hours to 10 minutes.) Setting this lower will release system resources as configured and will result in better performance (less memory use) throughout a Dataverse installation. + +Dataverse and Dataset pages have also been optimized to discard more of the objects they allocate immediately after the page load. Thus keeping less memory permanently tied up for the duration of the user's login session. These savings are especially significant in the Dataverse page. ## Major Use Cases Newly-supported use cases in this release include: -- As a user, I can launch and utilize external tools that allow me to work across the code, data, and other files in a dataset. +- As a user, I can launch and utilize external tools that allow me to work across the code, data, and other files in a dataset. +- As a user, I can add a footer to my dataverse to show the logo for a funder or other entity. - As a developer, I can build external tools to verify reproducibility or allow computation. +- As a developer, I can check to see the impact of my proposed changes on memory utilization. - As an installation administrator, I can make a quick configuration change to provide a better experience for my installation's users. ## Notes for Dataverse Installation Administrators @@ -46,15 +50,29 @@ This is optional, but all future changes will go to these files. It might be a g In case you use custom metadata blocks, you might find the new `updateSchemaMDB.sh` script beneficial. Again, see http://guides.dataverse.org/en/4.17/admin/metadatacustomization.html#updating-the-solr-schema +### Memory Benchmark Test + +Developers and installation administrators can take advantage of new scripts to produce graphs of memory usage and garbage collection events. This is helpful for developers to investigate the implications of changes on memory usage and it is helpful for installation administrators to compare graphs across releases or time periods. For details see the `scripts/tests/ec2-memory-benchmark` directory. + ### New Database Settings [:LoginSessionTimeout](http://guides.dataverse.org/en/4.17/installation/config.html#loginsessiontimeout) controls the session timeout (in minutes) for logged-in users. ## Notes for Tool Developers and Integrators -### Dataset Level Explore Tools +### New Features and Breaking Changes for External Tool Developers + +The good news is that external tools can now be defined at the dataset level and there is new and improved documentation for external tool developers, linked below. + +Additionally, the reserved words `{datasetPid}`, `{{filePid}`, and `{localeCode}` were added. Please consider making it possible to translate your tool into various languages! The reserved word `{datasetVersion}` has been made more flexible. -Tool developers can now define the scope of an external tool as file or dataset. This will allow tools to appear for selection at the dataset or file level. For more information, check out the Guides section on External Tools. +The bad news is that there are two breaking changes. First, tools must now define a "scope" of either "file" or "dataset" for the manifest to be successfully loaded into Dataverse. Existing tools in a Dataverse installations will be assigned a scope of "file" automatically by a SQL migration script but new installations of Dataverse will need to load an updated manifest file with this new "scope" variable. + +Second, file level tools that did not previously define a "contentType" are now required to do so. In previously releases, file level tools that did not define a contentType were automatically given a contentType of "text/tab-separated-values" but now Dataverse will refuse to load the manifest file if contentType is not specified. + +The Dataverse team has been reaching out to tool makers about these breaking changes and getting various tools working in the https://github.com/IQSS/dataverse-ansible repo. Thank you for your patience as the dust settles around the external tool framework. + +For more information, check out new Building External Tools section of the API Guide. ## Complete List of Changes @@ -81,6 +99,12 @@ If this is a new installation, please see our