Unreleased Documentation

This documentation is unreleased and still in development. It may describe features which are not yet released in DSpace.
Looking for another version? See all documentation

Upgrade from any past version of DSpace!

Installing DSpace provides an overview of the DSpace 8 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 v8.  As in the past, your data migrates automatically, no matter which older version you are running.  However, as the old XMLUI and JSPUI user interfaces are no longer supported, you must switch to using the new User Interface.

8.0 Release Notes

DSpace 8.0-rc1 was released on April 5, 2024

(warning) As an RC (Release Candidate) release, this is NOT PRODUCTION READY.  This release is for the 8.0 Testathon. (warning) 

To try out DSpace 8 immediately, see Try out DSpace 8.   This includes instructions for a quick-install via Docker, as well as information on our Sandbox Site.

To test an upgrade to DSpace 8.0-rc1 from 7.x or any prior version, see Upgrading DSpace

  • To upgrade to 8.0-rc1, you MUST upgrade both the backend and frontend (user interface).

To install DSpace 8.0-rc1, see Installing DSpace.

These 8.0 Release Notes are in draft state. We believe them to be mostly accurate, but they are still being reviewed/updated.  This notice will be removed once they are "finalized".

DSpace 8.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).

New User Features

  • OpenAIRE Data Correctionthis feature provides a basic integration with the OpenAIRE Content Provider Dashboard via the Notification Broker.  It allows repositories who have subscribed to the OpenAIRE Notification Broker to import JSON data from OpenAIRE in order to enhance or correct the metadata of Items in the repository. (Made possible thanks to the OpenAIRE Call Innovation funded project "Enrich local data via the OpenAIRE Graph” awarded to 4Science.)
  • OpenAIRE Publication Claim: this feature provides a closer integration between DSpace and the OpenAIRE Publication REST API.  It allows DSpace to import possible publications from OpenAIRE for users having a Researcher Profile in DSpace. (Made possible thanks to the OpenAIRE Call Innovation funded project "Enrich local data via the OpenAIRE Graph” awarded to 4Science.)
  • COAR Notify Protocol: DSpace now supports the COAR Notify Protocol for sending & receiving Linked Data Notifications (LDN) messages from external systems.  DSpace is able to register external LDN services to send or receive messages from.  This allows users to request review/endorsement from an external service (supporting COAR Notify) during the Item submission process.  It also allows these external services to send event notifications into DSpace's Quality Assurance tool.  (Donated by 4Science)
  • Request Withdrawal or ReinstatementOptionally, all logged-in users are able to request that a specific Item be withdrawn or reinstated using the DSpace Quality Assurance tool (also used by Data Correction, Publication Claim and COAR Notify).  These requests can be reviewed by an Administrator where they can either accept or reject the request.  The request may also be cancelled by the user who submitted it. (Donated by 4Science)
  • Basic Duplicate Detection in submission and workflow: this feature introduces basic duplicate detection into DSpace submission and workflow, using Solr's ability to search by levenshtein distance. When enabled, all new submissions or items in workflow will be checked against similar items already in DSpace & the user will be notified of any possible duplicate items. (Developed by The Library Code with support of TU Berlin, FHNW and ZHAW.)
  • "Processes" page has been reorganized: To simplify process management through the Administrator UI, the "Processes Overview" page has been restructured to group processes into separate sections for "running", "scheduled", "completed" and "failed". These sections update automatically. (Donated by Atmire)
  • Improved "Primary Bitstream" management: Submitters can now define if a bitstream is a "primary" bitstream directly on the submission page after a file has been uploaded.  On the Item page, the primary bitstream now has a badge. The primary bitstream is the file that will be listed first in the download list, and its thumbnail will be displayed on the Item page. (Developed by 4Science, funded by the University of California - California Digital Library)
  • Search Tab on Community/Collection pages: All Community and Collection pages now include a "Search" tab which displays the Recent Submissions by default.  This tab also provides a search box allowing users to search within that Community or Collection. (Donated by Atmire)
  • Search Facets on Homepage, Community/Collection pages: Optionally, search facets/filters can now be displayed on home page and all Community, and Collection pages.  By default, they are not displayed on the homepage (see "showDiscoverFilters" in Homepage settings), but always displayed on Community/Collection pages (see "showSidebar" in Community and Collection settings). (Donated by DSquare Technologies and Atmire)
  • Advanced Search options: Optionally, a new "Advanced Search" filter can be enabled on the Search page to provide advanced search capabilities.  This "Advanced Search" filter allows supports the searching within fields using the following operators by default: Contains, Not Contains, Equals, and Not Equals. See the "advancedFilters" in the Search settings for more details.  (Donated by DSquare Technologies)
  • Lookup via external sources from the Edit Item page (Relationship tab): When editing an Entity, on the "Relationships" tab you can now click the "+Add" button to lookup and import related entities from supported external sources (e.g. CrossRef, ORCID, PubMed, etc).  (Donated by Atmire)
  • Import via DOI searches multiple sources at once (CrossRef, DataCite):  a new external source has been added which can be configured to query multiple existing sources simultaneously, returning results from either.  By default, this external source is configured for a new "DOI" lookup which will search CrossRef and DataCite simultaneously. (Donated by University of Bamberg)
  • Edit Metadata using Authority Control lookup: User are now able to edit metadata controlled by vocabularies in item's metadata edit form in the same way that is done in submission form. (Donated by Toni Prieto)
  • Option to disable "Forgot Password" link: When using Authentication by Password, it is now possible to disable the "Forgot Password" link via the new "user.forgot-password" backend configuration. See "Authentication by Password" documentation. (Donated by 4Science)
  • Rioxx v3 OAI profile support: DSpace can now expose metadata in the OAI module in the Research Outputs Metadata Schema (RIOXX) Application Metadata Profile Version 3. See Rioxx v3 schema compliance for details. (Donated by Agustina Martinez, Cambridge University)
  • OAI now can expose embargo information & access rightsaccess rights for bitstreams is available in the OAI XOAI format and has been added to the following OAI formats: OpenAIRE and UKETD/EthOS. (Donated by Agustina Martinez, Cambridge University)
  • Research Organization Registry (ROR) Integration: When using Configurable Entities, ROR can be used as an Organization Data Provider.  New "Organizational Unit" entities can be imported via the ROR API (from the existing MyDSpace import tool).  When imported, the ROR icon is displayed on the "Organization Unit" page, linking back to its entry in ROR (as suggested by the ROR-ID guidelines). ROR information is also shareable via OAI-PMH and ORCID.  (Donated by 4Science)
  • Item submission process can be configured at community level: In the "item-submission.xml" configuration, it is now possible to map a submission form to a Community. This will cause all descendant collections to use the mapped item submission process. This can be useful for repositories where top-level communities represent different document types or scopes and descendant collections should share the same submission process. (Donated by Toni Prieto)
  • Administrator Reports (beta): The beta release of the Administrator Reports provides the ability to run the reports and display the results in the User Interface (similar to the "DSpace REST Quality Control Reports" from version 6.x).  Two reports are provided: Filtered Collection and Metadata Query.  It is not yet possible to export these reports. At this time, running large reports with many results may result in site performance issues. Therefore, this feature is disabled by default and should be used with caution. (Donated by Université Laval)
  • Update the DataCite metadata schema to version 4.5: When DSpace register DOIs via DataCite, it has to send metadata to the DOI registry. The DataCite metadata schema used by DSpace was updated to version 4.5. (Donated by The Library Code)

Breaking Changes

The following major changings may negatively impact or "break" your local customizations to prior versions of DSpace.  Please be aware of them before upgrading.

  • Java 17 (or later) and Tomcat 10 (or later) is required for the backend.  The DSpace 8 backend can no longer be run on Java 11 or Tomcat 9 as it has been updated to Spring 6 / Spring Boot v3 to support Jakarta Enterprise Edition 9+.  You must upgrade these dependencies in order to run DSpace 8.  If you are using a different servlet engine, you must ensure it is compatible with Jakarta EE 9+ (e.g. Jetty must be version 11 or later)
    • If you have any custom Java code or custom plugins, they must all be migrated to use "jakarta.*" dependencies instead of "javax.*" dependencies.  It is not possible to use older "javax.*" dependencies in DSpace 8. 
  • Node 18 or 20 is required for the frontend. The DSpace 8 User Interface has been upgraded to Angular 17, and Node 16 is no longer supported. This is less likely to impact local customizations, but is worth being aware of.
  • The deprecated REST API v6 ("dspace-rest" module) was removed.  All custom code must be migrated to the new REST API (first released in 7.x).  Any custom code which depends on the older REST API v6 must be rewritten, as the new REST API is not backwards compatible. For more information on the removed REST API v6, see the DSpace 7.x documentation.
  • "Type" field (dc.type) is now required by default. In all submission form configurations (in "submission-forms.xml" as described in Submission User Interface), the "dc.type" field is now required. This was changed to better support integrations with DataCite and other systems that expect a "type" for every resource.  If you do not want this change, you can undo the changes in your local copy of "submission-forms.xml". (Donated by The Library Code)

Major Updates and Improvements

  • Apache Tomcat is now OPTIONAL for the backend.  A new Runnable JAR exists for the DSpace backend which embeds the latest version of Tomcat within it.  This Runnable JAR can be used to run the DSpace Backend without installing Tomcat. See the Installing DSpace guide for more details (Donated by 4Science)
  • Header and navbar refactoring: change both header and footer structure to make easier to handle DSpace and base themes (Donated by 4Science)
  • Alteration to index-discovery script to only (re-)index specific type of IndexableObject: A new "-t" flag is added to the "index-discovery" script which allows you to only reindex specific object types (E.g. Item, Collection, Community). See Discovery#DiscoverySolrIndexMaintenance
  • Migrate from Joda-Time to java.time:  as required by Joda-Time website, using java.time:
  • UI should have a ProcessPollingService for common polling activities (feature process polling): dspace-angular should have a ProcessPollingService which can be used to check if a specific activity has completed.
  • Translation (i18n) files are now hashed to ensure they reload when updated:  See https://github.com/DSpace/dspace-angular/issues/2461
  • Migrate to standalone components, directives, pipes: Having standalone components, directives and pipes makes it easier to think about the dependencies of the components and are easier to refactor. (Donated by 4Science)
  • Embedding data doesn't work for some rest objects: Rest controllers actually don't use the singular name, but the plural name in their beans. It would be better to normalise this behaviour so that the repositories also work like this. This would also mean that we won't have to use the makeSingular method anymore to find the beans. To avoid Some rest objects to throw a 404 error when you try to embed data.
  • Expose 'creationTime' property on Process object and add it to '/search/byProperty' sort options:  exposes the creationTime property on Process objects and adds it to the possible sort options for /processes/search/byProperty. As startTime and endTime are nullable, processes with these properties set to null can't be sorted properly. Every process does have a creationTime however, making for a more reliable sorting mechanism.

8.0 Acknowledgments

These 8.0 Acknowledgments are NOT yet completed.  Please be patient, as they will be available soon.

Frontend / User Interface Acknowledgments [BASED ON DSpace 7, TO REVISE]

The following individuals have contributed directly to the new DSpace (Angular) User Interface in this release (ordered by number of GitHub commits): Giuseppe Digilio (atarix83), Kristof De Langhe (Atmire-Kristof), Lotte Hofstede (LotteHofstede), Art Lowel (artlowel), Marie Verdonck (MarieVerdonck), Julius Gruber (Flusspferd123), Yury Bondarenko (ybnd), William Welling (wwelling and wellingWilliam), Yana De Pauw (YanaDePauw), Tim Donohue (tdonohue), Alessandro Martelli (alemarte), Michael Spalti (mspalti), Jonas Van Goolen (jonas-atmire), Laura Henze (lhenze), Dániel Péter Sipos (dsipos-dev), Samuel Cambien (samuelcambien), Bruno Roemers (bruno-atmire), Matteo Perelli (sourcedump), Bram Luyten (bram-atmire), Ben Bosman (benbosman), Terry Brady (terrywbrady), Raf Ponsaerts (Raf-atmire), Danilo Di Nuzzo (ddinuzzo), Andrea Chiapparelli (andreachiapparelli), Antoine Snyers (antoine-atmire), Corrado Lombardi (corrad82-4s), Courtney Pattison (courtneypattison), Àlex Magaz Graça (rivaldi8), Chris Wilper (cwilper), Christian Scheible (christian-scheible), Andrew Wood (AndrewZWood), Reeta Kuuskoski (reetagithub), Vítor Silvério Rodrigues (vitorsilverio), Alexander Sulfrian (AlexanderS), muiltje, José Carvalho (josekarvalho), Claudia Jürgen (cjuergen), fernandaruizm, Ivan Masar (helix84), Paulo Graça (paulo-graca), Philip Vissenaekens (PhilipVis), Nagy Akos (akoscomp), Kevin Van de Velde (KevinVdV), Sascha Szott (saschaszott), Mohamed Mohideen Abdul Rasheed (mohideen), David Cavrenne (davidatmire), Hardy Pottinger (hardyoyo), Luca Giamminonni (LucaGiamminonni), Mateus Mercer (MatMercer), Denijs Balodis (Denijsb), Pascal-Nicolas Becker (pnbecker), Mikus Zarins (MixonZ), marciofoz, Andrea Bollini (abollini), Martin Walk (MW3000). 

Backend / REST API Acknowledgments [BASED ON DSpace 7, TO REVISE]

The following individuals have contributed directly to the DSpace backend (REST API, Java API, OAI-PMH, etc) in this release (ordered by number of GitHub commits): Raf Ponsaerts (Raf-atmire), Tim Donohue (tdonohue), Andrea Bollini (abollini), Michele Boychuk (Micheleboychuk), Mark Wood (mwoodiupui), Marie Verdonck (MarieVerdonck), Ben Bosman (benbosman), Luigi Andrea Pascarelli (lap82), Terry Brady (terrywbrady), Tom Desair (tomdesair), Yana De Pauw (YanaDePauw), Chris Wilper (cwilper), Peter Nijs (peter-atmire), Kevin Van de Velde (KevinVdV), Bruno Roemers (bruno-atmire), Giuseppe Digilio (atarix83), Pasquale Cavallo (pasqualecvl), Jelle Pelgrims (jpelgrims-atmire), Andrew Wood (AndrewZWood), Samuel Cambien (samuelcambien), Antoine Snyers (antoine-atmire), Kim Shepherd (kshepherd), Yury Bondarenko (ybnd), Michael Spalti (mspalti), Alessandro Martelli (alemarte), Oliver Goldschmidt (olli-gold), Jonas Van Goolen (jonas-atmire), Kristof De Langhe (Atmire-Kristof), Alexander Sulfrian (AlexanderS), Patrick Trottier (PTrottier), Pablo Prieto (ppmdo), Hardy Pottinger (hardyoyo), Pascal-Nicolas Becker (pnbecker), William Tantzen (tantz001), Paulo Graça (paulo-graca), Luca Giamminonni (LucaGiamminonni), Ivan Masar (helix84), Hrafn Malmquist (J4bbi), Ian Little (ilittle-cnri), Anis Moubarik (anis-moubarik), Claudia Jürgen (cjuergen), Alan Orth (alanorth), xuejiangtao, Danilo Di Nuzzo (ddinuzzo), James Creel (jcreel), Marsa Haoua (marsaoua), Philip Vissenaekens (PhilipVis), Miika Nurminen (minurmin), Bram Luyten (bram-atmire), Christian Scheible (christian-scheible), Nicholas Woodward (nwoodward), József Marton (jmarton), Mohamed Mohideen Abdul Rasheed (mohideen), Saiful Amin (saiful-semantic), Àlex Magaz Graça (rivaldi8)

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 8.

Thanks also to the various developer & community Working Groups who have worked diligently to help make DSpace 8 a reality. These include:

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