Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 62 Next »

Upgrade from any past version of DSpace!

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.

Migrating DSpace to a new server provides an alternative way to upgrade by installing the new version of DSpace and migrating your existing data over.

9.0 Release Notes

DSpace 9.0 Release Candidate #1 was released on April 4, 2025

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.

9.0 Documentation is in "DRAFT" status

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

  • Fix possible "Zip Slip" in SWORDv2 ingest process. This potential issue was found via an automated code scan and no exploit has been confirmed. See #10725
  • This release also includes many dependency updates in order to keep all DSpace sites secure. Some of these updates patch vulnerabilities that have been reported by those dependencies. But no exploits of these vulnerabilities has been confirmed in DSpace.

New User Features

  • 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 #10433 (Donated by 4Science)
  • 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 #10435 (Donated by 4Science)
  • 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 #9849 for more details (Donated by 4Science)
  • Support for SAML authenticationDSpace now includes a SAML Authentication Plugin, which can be configured to allow your DSpace site to use an external SAML IdP. See also #9470 and #9438 for more details (Donated by DSpaceDirect)
  • 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 #3984 (Donated by The Library Code)
  • 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. (Donated by The Library Code)
  • 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 #3882 (Donated by nibou230)
  • Support for Geospatial maps, including browsing and searchingIf 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 #3540 (Donated by The Library Code)
  • 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. See also #3164 (Donated by Abel Gomez)
  • 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 #3722 (Donated by Atmire)
  • Health page now includes an "SEO" validation check. A basic check of your DSpace site's Search Engine Optimization is now available on your Health page (/health) in the Admin sidebar.  This SEO report checks that your sitemap is visible, your robots.txt is visible and that you have SSR (Server Side Rendering) enabled. #10485 (Donated by Atmire)
  • Accessibility Settings are customizable by users. Basic accessibility settings like Notification (popup) timeouts and ARIA Live Region timeouts can now be customized by each user of your site via the "Accessibility Settings" link in the footer.  This allows users more control over how long confirmation and error messages are displayed. (Donated by Atmire)
  • 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  #4071 (Donated by Université Laval)
  • Bitstream Storage (assetstore) now supports Apache JClouds, supporting many cloud providers. See Configuring JCloudstore for Asset Storage documentation and #9915 (Donated by Atmire)
  • 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 #3165 (Donated by Abel Gomez)

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".  In most situations the command is the same with "npm" replacing "yarn". All DSpace documentation, including the Upgrading DSpace and Installing DSpace guides now provide the appropriate "npm" commands. Yarn can be uninstalled completely as it is no longer necessary. #3173 (Donated by Alan Orth)
  • 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 #4227 (Donated by 4Science)
    • This change was necessary to fix an SEO bug where error pages and Handle redirects would return "200 OK" responses when the prior configuration ("ssr > paths") was used.  See #4132 and #4042
  • 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.  See #3997 (Donated by 4Science) 
  • Bootstrap 5 is now used by all themes.  As Bootstrap 4 is now end-of-life, all DSpace themes (including default) have been updated to use Bootstrap 5.  If you have done custom theming, you may need to migrate your themes to Bootstrap 5.  For example changes made to DSpace themes see #3506  (Donated by Atmire)
  • 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. #10627
  • 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. (Donated by The Library Code)
  • 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 #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

  • General user enhancements and fixes
    • Search filters now include "Access Type" filter which allows you to filter by open access, metadata only, etc. #10434 (Donated by Paulo Graça)
    • RSS/Atom feeds are now available for search results, allowing you to subscribe to a search via RSS. #2489 (Donated by Atmire)
    • Added ability for users to reject the "Correlation ID" cookie, tracked in the backend's logs for debugging purposes. #3889 (Donated by 4Science)
    • Fixed search bug where stale data could sometimes be returned. #3888 (Donated by Atmire)
    • Fixed bug where access restricted thumbnails were not shown to users who have proper access rights. #4165 (Donated by Atmire)
    • Fixed statistics bug where "view" events could be sent twice when using scoped themes. #4099 (Donated by Atmire)
    • Fixed bug where sorting in descending order on Browse by Author may result in an error. #10519 (Donated by Toni Prieto)
  • Submission / Workflow enhancements and fixes
    • Project Entities can now be imported from DataCite #9636 (Donated by Florian Gantner)
    • Fixed caching issues that could occur on MyDspace page when switching between views. #4205 (Donated by 4Science)
    • Fixed issue where search filters could disappear from MyDSpace page. #4097 (Donated by Arvo Consultores)
    • Fixed infinite loading issue that could occur on submission forms. #4060 (Donated by Atmire)
    • Fixed bug where an admin could not upload a bitstream to an item in workflow when impersonating a user. #4288 (Donated by 4Science)
    • Fixed bug where fields of type "name" in submission forms could not be deleted properly. #4073 (Donated by Atmire)
    • Improved proxy support for all external sources/APIs. All external connections should now use the DSpace Proxy Configuration. See also #10639 (Donated by 4Science)
  • Administrative enhancements and fixes
    • Edit menus on all community, collection, item pages are now dropdowns. #3994 (Donated by Atmire)
    • Fixed bug where CSV import (Batch Metadata Import) was not compatible with Controlled Vocabularies. #9749 (Donated by Atmire)
    • Fixed bug where Processes page wasn't properly supporting integer parameters. #4273 (Donated by 4Science)
    • Fixed bug where list of bitstreams on "Edit Item > Bitstreams" tab would be duplicated when using pagination. #4015 (Donated by Atmire)
    • COAR Notify was not fully adhering to the "Request Endorsement" pattern supported by PCI (https://peercommunityin.org/). #10053 (Donated by Agustina Martinez)
    • Fixed issued where Collection Admins could not add new policies to bitstreams. #10688 (Donated by 4Science)
    • Fixed issued where Collection Admins could not view metadata of withdrawn items. #10668 (Donated by 4Science)
    • Fixed pagination issue with Bulk Access Control script/page which could cause duplicate policies to be created. #10697 (Donated by 4Science)
    • Fixed issue where Handles were not stored for communities & collections when `VersionedHandleIdentifierProviderWithCanonicalHandles` provider was enabled. #10240 (Donated by Atmire)
  • Performance/stability improvements:
    • Limited the number of Items that can be exported at once to 500.  This limit is configurable on backend via "metadataexport.max.items" #10030 (Donated by Atmire)
    • Fixed issue where login endpoints to REST API didn't always close their database connection after login action was completed. #10598 (Donated by Atmire)
    • OpenSearch now limits its results per page to 100, though it is configurable via "websvc.opensearch.max_num_of_items_per_request" setting. #10549 (Donated by Sascha Szott)
    • Fixed performance issue with "import-loader-suggestions" script when run on a large repository. #10719 (Donated by 4Science)
    • Indexing improvements to the "index-discovery" script when your site has a larger number of relationships (between entities). #10351 (Donated by Atmire)
    • Fix bug when DSpace could fail to startup when ORCID connections failed (if ORCID is enabled). #9876 (Donated by The Library Code)
  • Accessibility improvements:
    • Truncated abstracts now use ellipsis for truncation instead of fading out. #4341 (Donated by 4Science)
    • Improved screen reader accessibility for header and recent submissions. #4335 (Donated by Atmire)
    • Enhanced keyboard navigation on several pages. #4244 (Donated by eScire)
    • Fixed small screen display issues in footer and full item page. #4218 (Donated by Jesiel Viana)
  • OpenAIRE v4 compliance improvements to both the OpenAIRE submission forms and the OAI-PMH "oai_openaire" metadata format. #10128 (Built by Atmire, funded from Ireland's National Open Research Forum (NORF) under the 2022 Open Research Fund))
  • Klaro cookie settings popup was replaced with Orejime.  Orejime provides better accessibility and is better maintained. #2718 (Donated by 4Science)
  • OAI-PMH templating has moved from using JTwig to Thymeleaf.  This also fixes errors thrown by the root page (/server/oai) since 8.x. See #10563 (Donated by Kim Shepherd)
  • Includes all bug fixes and accessibility fixes also included in the 8.1 release.
  • Fixed a large number of other small bugs.  See Changes in 9.x for a list of all changes.
  • Major dependency updates: Frontend updated to Angular 18 and Bootstrap 5. (Both donated by Atmire)

New/Updated Language support

  • Catalan (Català) language updates donated by Toni Prieto
  • French (Français) language updates donated by Pierre Lasou (pilasou) and Carolyn Sullivan (Peredwel)
  • German (Deutsch) language updates donated by The Library Code
  • Hindi (हिंदी) language updates donated by DSquare Technologies
  • Polish (Polski) language updates donated by PCG Academia
  • Portuguese (Português) language updates donated by Ricardo Saraiva (rsaraivac) and Paulo Graça (paulo-graca)

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 following 66 individuals have contributed directly to the new DSpace (Angular) User Interface in this release (ordered by number of GitHub commits): Alexandre Vryghem (alexandrevryghem), Andreas Awouters (AAwouters), Francesco Molinaro (FrancescoMolinaro), Sascha Szott (saschaszott), Andrea Barbasso (AndreaBarbasso), Tim Donohue (tdonohue), Kim Shepherd (kshepherd), Andrea Guevara (Andrea-Guevara), Alan Orth (alanorth), Jens Vannerum (jensvannerum), Giuseppe Digilio (atarix83), Yana De Pauw (YanaDePauw), Pierre Lasou (pilasou), Milan Majchrak (milanmajchrak), Alisa Ismailati, Vincenzo Mecca (vins01-4science), Dan Gastardelli (DanGastardelli), Abel Gómez (abelgomez), Art Lowel (artlowel), Yury Bondarenko (ybnd), Adamo Fapohunda, Ricardo Saraiva (rsaraivac), Simone Ramundi, Michał Dykas (michdyk), Toni Prieto (toniprieto), Victor Hugo Duran Santiago (VictorHugoDuranS), Paulo Graça (paulo-graca), Nicolas Boulay, Emmanuel Pastor (pastr), Jesiel Viana (jesielviana), Zahraa Chreim (ZahraaChreim-Atmire), Julia Gilmore (alphapetjg), Kristof De Langhe (Atmire-Kristof),  Igor Baptista (IgorBaptist4), Krzysztof Kubiak (pcg-kk), Koen Pauwels (KoenP), Joran De Braekeleer, Zoltán Kanász-Nagy (kanasznagyzoltan), Mohana Sarmiento, Yannick Paulsen (YPaulsen-TLC), Lotte Hofstede (LotteHofstede), Nicholas Woodward (nwoodward), Arta Seyedian (aseyedia), Elvi Nemiz (eulereadgbe), Miika Nurminen (minurmin), Oscar Chacón (oscar-escire), Sergio Fernández Celorio (sergius02), Vladzislav Novski (vNovski), Alfeu Tavares (autavares-dev), Gaurav Patel (GauravD2t), Agustina Martinez (amgciadev), Bridget Almas (balmas), Carolyn Sullivan (Peredwel), Florian Gantner (floriangantner), Michael Spalti (mspalti), Mohamed Ali (mohamedali654321), Nima Behfourouz (nimabehforouz), Nona Luypaert (nona-luypaert), Abhinav Sidharthan, Jean-François Morin (jeffmorin), Christian Clauss (cclauss), Drew Heles (dheles), Mattia Vianelli (Sondissimo), Nathan Buckingham (ConfusionOrb221), Ray Lee (ray-lee), Escalante Guillermo (guillermo2519).

The above contributor list was determined based on contributions to the "dspace-angular" project (main branch) in GitHub between 8.0 (after June 21, 2024) and 9.0 using "git shortlog" on the main branch and excluding all merge commits: 
git shortlog -s -n -e --no-merges --since 2024-06-21

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,  Corrado Lombardi (corrad82-4s), Milan Majchrak (milanmajchrak).

The above contributor list was determined based on contributions to the "DSpace" project (main branch) in GitHub between 8.0 (after June 21, 2024) and 9.0 using "git shortlog" on the main branch and excluding all merge commits: 
git shortlog -s -n -e --no-merges --since 2024-06-21 

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.

  • No labels