Installing DSpace provides an overview of the DSpace 9 installation process and all prerequisite software. You should review this before attempting an upgrade, in order to ensure you are running the required versions of Java, Node, etc. Upgrading DSpace provides a guide for upgrading from any old version of DSpace to v9. As in the past, your data migrates automatically, no matter which older version you are running. |

9.0 Release Notes
As a "Release Candidate", this release is not production ready. It is an early preview of the upcoming 9.0 release made available for community testing during the 9.0 Testathon (April 7-18). For more information on the expected release timeline for 9.0, see DSpace Release 9.0 Status To try out DSpace 9.0-rc1 immediately, see Try out DSpace 9. To test an upgrade to DSpace 9.0-rc1 from 8.x or any prior version, see Upgrading DSpace - To upgrade to 9.0-rc1, you MUST upgrade both the backend and frontend (user interface).
To install DSpace 9.0-rc1, see Installing DSpace. |
The final 9.0 Release is not yet complete. This means all 9.0 Documentation is still a work in progress. If you have any feedback or notice any typos / flaws, please add comments to the flawed page. If you have access rights yourself, you are welcome to correct the documentation.
To request a (free) wiki account, email wikihelp@lyrasis.org. Once you have an account, if you wish to help us improve this documentation, get in touch with Tim Donohue to get access to modify DSpace documentation. |
DSpace 9.0 is a major release of the DSpace platform. It provides new features and improvements, along with bug fixes. You should be aware that all major releases may provide some "breaking changes" (major changes that may impact your local customizations).
Security Fixes
- (None, as of yet. If any are added, they will go here. Otherwise this section will be removed prior to the final 9.0 release.)
New User Features
This list of new features may be incomplete, as it is still under review. This notice will be removed once it is considered complete. |
- OpenAlex integration. DSpace now supports importing content (on MyDSpace) from OpenAlex.org. The Publication Claim feature also now supports importing a Publications related to a Researcher Profiles, provided that the profile has an OpenAlex ID. Additional screenshots & examples at https://github.com/DSpace/DSpace/pull/10433
- Support for tracking usage statistics via Matomo (a Google Analytics alternative). DSpace can now integrate with Matomo Analytics, in order to track usage statistics, search statistics and downloads. This requires an existing Matomo account or instance. See screenshots at https://github.com/DSpace/DSpace/pull/10435
- ORCID Login flow is improved. Users logging in via ORCID can now merge their ORCID login with an existing DSpace login. Users can also login via ORCID without sharing their email from their ORCID account to DSpace. See https://github.com/DSpace/DSpace/pull/9849 for more details
- Support for SAML authentication. DSpace now includes a SAML Authentication Plugin, which can be configured to allow your DSpace site to use an external SAML IdP. See also https://github.com/DSpace/DSpace/pull/9470 and https://github.com/DSpace/DSpace/issues/9438 for more details
- Request a Copy now supports sending a secure download link for larger files. Files under a (configurable) size threshold are still attached in requests. But, larger files now send a secure (auto-expiring) link to allow the requester to download the file. See also https://github.com/DSpace/dspace-angular/pull/3984
- ALTCHA captcha protection is now supported. At this time, ALTCHA is only used by the (updated) Request a Copy feature. It may be extended to other features in the future. See CAPTCHA Verification.
- Embargo release dates for embargoed files are now displayed on Item page. The user interface includes a new "showAccessStatuses" configuration for bitstreams on the Item page. When enabled, any embargoed files will show a "badge" next to the file name on the Item page. This badge will display the date the embargo ends. Screenshots can be found in the comments of https://github.com/DSpace/dspace-angular/pull/3882
- PDF Citation Cover Page has been enhanced to use a Thymeleaf HTML template. This provides more control over the look and feel of these cover pages: https://github.com/DSpace/DSpace/pull/9844
- Support for Geospatial maps, including browsing and searching. If any Items/Entities include geospatial data in the "dcterms.spatial" metadata field (or similar), then new "geospatialMapViewer" settings now provide ways to interact with this data via maps. This includes options to display a map of the location on the Item page, view search results on a map, or browse geospatial data via a map. See https://github.com/DSpace/dspace-angular/pull/3540
- The default tab on Community/Collection pages is now configurable. By default it will still be the "Search" tab, but it can be modified using the new "defaultBrowseTab" setting under the "community" or "collection" configurations in your config.*.yml.
- The "Edit Item → Metadata" tab now supports a dropdown for "dspace.entity.type" field. In previous versions, this field was free-text, but now only valid Entity types can be selected. Metadata field code was also refactored on this page. See https://github.com/DSpace/dspace-angular/pull/3722
- Creative Commons license display now uses the backend configuration. The existing "cc.license.name" and "cc.license.url" configurations on the backend are now used by the frontend to determine which metadata field(s) to use for display of the CC license on the Item page. See https://github.com/DSpace/dspace-angular/pull/3165
- CSV Export from Admin Report. The Administrator Reports (Beta feature) now supports CSV export. After running a report, next to the results is export button that allows you to export those results to a CSV. See https://github.com/DSpace/dspace-angular/pull/4071
- Bitstream Storage (assetstore) now supports Apache JClouds, supporting many cloud providers. See Configuring JCloudstore for Asset Storage documentation and https://github.com/DSpace/DSpace/pull/9915
Breaking Changes
This list of breaking changes may be incomplete, as it is still under review. This notice will be removed once it is considered complete. |
The following major changings may negatively impact or "break" your local customizations to prior versions of DSpace. Please be aware of them before upgrading.
- Migration from Yarn to NPM. The DSpace User Interface MUST now be built using "npm" commands instead of "yarn". See https://github.com/DSpace/dspace-angular/pull/3173 and https://github.com/DSpace/dspace-angular/blob/main/README.md
- Frontend configuration "ssr > paths" has been replaced by "ssr > excludePathPatterns". In DSpace 7.6.3 and 8.1, it was possible to only enable SSR (server-side rendering) for specific User Interface paths (configured by the "ssr > paths" configuration in your "config.*.yml" file. This setting has been replaced by the inverse configuration, which allows you to exclude specific paths from SSR. See "excludePathPatterns" in the "ssr" section of the User Interface Configuration and https://github.com/DSpace/dspace-angular/pull/4227
- HTML Templates now require "Control Flow" syntax. The user interface now uses Angular Control Flow syntax in all HTML Templates ("*.component.html" files). This means that all usages of "ngIf" and "ngFor" are now replaced with their equivalent "control flow" syntax (e.g. "@if" and "@for"). This may impact your site during your upgrade if you've customized the HTML of DSpace (either in the source code directly or in custom themes). During your upgrade you will need to migrate your custom HTML files to use "control flow" syntax. You may be able to perform this migration via automated migration tools provided by Angular.
- Apache Solr 9.x is now required on the backend. As Apache Solr version 8.x is now end-of-life, the DSpace backend now requires using Solr 9.x. See the Upgrading DSpace guide or Installing DSpace guide for more about Solr 9 requirements.
- PDF Citation Cover Page has been updated to use a Thymeleaf HTML Template. If you have this feature enabled in your DSpace, you may wish to modify the default HTML template. This template will give you more control over the look of your cover pages.
- Backend Java code no longer uses "java.util.Date" or "java.util.Calendar". This is less likely to impact most institutions, but if you've heavily customized the backend (Java code), you may need to update any customized code that previously used
java.util.Date or java.util.Calendar to instead use the modern java.time.* Date classes. See https://github.com/DSpace/DSpace/pull/10432 - Corrected spelling of two "reinstate" configurations in dspace.cfg. In prior versions of DSpace, two configurations had an incorrect spelling of "reinstate": "core.authorization.community-admin.item.reinstatiate" and "core.authorization.collection-admin.item.reinstatiate". These are now correctly spelled as "core.authorization.community-admin.item.reinstate" and "core.authorization.collection-admin.item.reinstate". If you are using these configurations in your local.cfg, you must also correct their spelling.
- (Also included in v8.1 and v7.6.3) DSpace has a new, separate command-line log file (
[dspace]/log/dspace-cli.log-[date]) for logging the output/results of any scripts that are started from the command-line. The DSpace backend web application still logs to dspace.log-[date] in the same directory. You may need to update any local/custom log management scripts to include this new log file.- This change was necessary to fix a major bug where the backend webapp would sometimes stop logging if a "logrotate" was triggered. See #9832
Major Updates and Improvements
- (This section is not yet filled out. It will be added as final release gets closer.)
- Improved proxy support for all external sources/APIs. All external connections should now use the DSpace Proxy Configuration
- Fixed a large number of other small bugs. See Changes in 9.x for a list of all changes.
- Major Dependency updates: Backend updated to ___. Frontend updated to Angular 18.
New/Updated Language support
- (To be added as final release gets closer.)
9.0 Acknowledgments
DSpace 9.0 had ____ lines of code changed and ___ unique individuals contributing to either the frontend or backend.
Frontend / User Interface Acknowledgments
The below list is the list of contributors to 8.0. This list will be updated prior to the 9.0 release, at which point this warning will be removed. |
The following __ individuals have contributed directly to the new DSpace (Angular) User Interface in this release (ordered by number of GitHub commits): Alexandre Vryghem (alexandrevryghem), Andrea Barbasso (AndreaBarbasso), Francesco Molinaro (FrancescoMolinaro), Giuseppe Digilio (atarix83), Enea Jahollari (enea4science), Mattia Vianelli (Sondissimo), Tim Donohue (tdonohue), Yury Bondarenko (ybnd), Alisa Ismailati, Andreas Awouters (AAwouters), Davide Negretti (davide-negretti), Vladzislav Novski (vNovski), Art Lowel (artlowel), Francesco Bacchelli (frabacche), Kim Shepherd (kshepherd), Jean-François Morin (jeffmorin), Kuno Vercammen, Simone Ramundi, Jens Vannerum (jensvannerum), Michele Boychuk (Micheleboychuk), Vincenzo Mecca (vins01-4science), Zahraa Chreim (ZahraaChreim-Atmire), Sascha Szott (saschaszott), Lotte Hofstede (LotteHofstede), Alan Orth (alanorth), Hugo Daniel Dominguez de la Cruz (hugo-escire), Koen Pauwels (KoenP), Toni Prieto (toniprieto), Eike Löhden (Leano1998), Mark Wood (mwoodiupui), Paulo Graça (paulo-graca), Ricardo Saraiva (rsaraivac), Stefano Maffei (steph-ieffam), Max Nuding (hutattedonmyarm), Hrafn Malmquist (J4bbi), Oscar Chacón (oscar-escire), Pierre Lasou (pilasou), Sergio Fernández Celorio (sergius02), Thiago Rodrigues, William Welling (wwelling), Alfeu Uzai Tavares, Kristof De Langhe (Atmire-Kristof), Marie Verdonck (MarieVerdonck), Michał Dykas (michdyk), Nona Luypaert (nona-luypaert), Michael Spalti (mspalti), Mirko Scherf (mirkoscherf), Thomas Misilo (misilot), Victor Hugo Duran Santiago (VictorHugoDuranS), Yana De Pauw (YanaDePauw), Abel Gómez (abelgomez), Agustina Martinez (amgciadev), Florian Gantner (floriangantner), Milos Ivanovic (imilos), Hardy Pottinger (hardyoyo), Marco Aurelio Cardoso, Gaurav Patel (GauravD2t), Reeta Kuukoski (reetagithub), Maciej Kleban (Dawnkai), Andrea Bollini (abollini), Andreas Mahnke (mahnkong), Bram Luyten (bram-atmire), IgorBaptist4, Janne Jensen (mugraph), José Carvalho (josekarvalho), Mohamed Ali, NTK, Pascal-Nicolas Becker (pnbecker), Philipp Rumpf (philipprumpf), Nagy Akos (akoscomp), Milan Majchrak (milanmajchrak), Ahmad Nasser.
The above contributor list was determined based on contributions to the "DSpace" project in GitHub between 7.6 (after June 23, 2023) and 8.0 using "git shortlog" on the main branch and excluding all merge commits:
git shortlog -s -n -e --no-merges --since 2023-06-23
Backend / REST API Acknowledgments
The below list is the list of contributors to 8.0. This list will be updated prior to the 9.0 release, at which point this warning will be removed. |
The following __ individuals have contributed directly to the DSpace backend (REST API, Java API, OAI-PMH, etc) in this release (ordered by number of commits): Tim Donohue (tdonohue), Francesco Bacchelli (frabacche), Michele Boychuk (Micheleboychuk), Mohamed Eskander (eskander17), Mark Wood (mwoodiupui), Kim Shepherd (kshepherd), Stefano Maffei (steph-ieffam), Agustina Martinez (amgciadev), Toni Prieto (toniprieto), Alexandre Vryghem (alexandrevryghem), Andrea Bollini (abollini), Alan Orth (alanorth), Sascha Szott (saschaszott), Vincenzo Mecca (vins01-4science), Paulo Graça (paulo-graca), Adán Román Ruiz (aroman-arvo), Mattia Vianelli (Sondissimo), Koen Pauwels (KoenP), Yana De Pauw (YanaDePauw), Christian Bethge (ChrisBethgster), Nicholas Woodward (nwoodward), Florian Gantner (floriangantner), Marie Verdonck (MarieVerdonck), Kristof De Langhe (Atmire-Kristof), Pascal-Nicolas Becker (pnbecker), Andrei Alesik (AndrewAlesik), Michael Spalti (mspalti), Nona Luypaert (nona-luypaert), Damian Jozefowski (damian-joz), Jean-François Morin (jeffmorin), Francesco Molinaro (FrancescoMolinaro), Jens Vannerum (jensvannerum), Philipp Rumpf (philipprumpf), Xiqinger, Roy Brushini (Bezkup), Thomas Misilo (misilot), Max Nuding (hutattedonmyarm), David Steelman, Eike Löhden (Leano1998), Hrafn Malmquist (J4bbi), Luca Giamminonni (LucaGiamminonni), Martin Walk (MW3000), William Welling (wwelling), Marsa Haoua (marsaoua), wwuck, Christian Clauss (cclauss), Damiano Fiorenza, John Abrahams (jabrah), Marie-Hélène Vézina (mhvezina), Mark Cooper (mark-cooper), Mirko Scherf (mirkoscherf), Sean Kalynuk (uofmsean), Shankeerthan Kasilingam, Yannick Paulsen (YPaulsen-TLC), Corrado Lombardi (corrad82-4s), Milan Majchrak (milanmajchrak).
The above contributor list was determined based on contributions to the "DSpace" project in GitHub between 7.6 (after June 23, 2023) and 8.0 using "git shortlog" on the main branch and excluding all merge commits:
git shortlog -s -n -e --no-merges --since 2023-06-23
Additional Thanks
Additional thanks to our DSpace Leadership Group and DSpace Steering Group for their ongoing DSpace support and advice. Thanks also to Lyrasis for your leadership, collaboration & support in helping to speed up the development process of DSpace 9.
Thanks also to the various developer & community Working Groups who have worked diligently to help make DSpace 9 a reality. These include:
- DSpace Developers Team - This volunteer-based team leads the development of new releases. Anyone is welcome to join the Developer Meetings
- DSpace Community Advisory Team (DCAT) - This team helped organize/lead the DSpace 9.0 Testathon (to bang on the system to find any last bugs), and they also provided us with advice on features, etc.
We apologize to any contributor accidentally left off this list. DSpace has such a large, active development community that we sometimes lose track of all our contributors. Acknowledgments to those left off will be made in future releases.