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.
Version 9.0
Table of Contents:
DSpace 9.0 was released on May 23, 2025
For all the details of the 9.0 release, see the Release Notes
To try out DSpace 9 immediately, see Try out DSpace 9. This includes instructions for a quick-install via Docker, as well as information on our Demo Site.
To test an upgrade to DSpace 9.0 from 8.x or any prior version, see Upgrading DSpace
- To upgrade to 9.0, you MUST upgrade both the backend and frontend (user interface).
To install DSpace 9.0, see Installing DSpace.
- Download DSpace 9.0 Backend: https://github.com/DSpace/DSpace/releases/tag/dspace-9.0
- Download DSpace 9.0 User Interface: https://github.com/DSpace/dspace-angular/releases/tag/dspace-9.0
DSpace 9.0 priorities were aligned with investigations of a possible merger with DSpace-CRIS
On October 21, 2024, the DSpace Steering Group announced that DSpace and DSpace-CRIS are investigating a possible merger. While this merger would not occur in the 9.0 release, the 9.0 priorities are taking into account a possible future merger (in 10.0 or later). Any donated features which make a potential merger more difficult would not be included in 9.0.
Release Notes
Release Notes for DSpace 9.0 are now available.
Priorities for 9.0
Based on the DSpace Steering Group announcement, the following priorities have been set for the 9.0 release. Anyone is welcome to donate features / development work which aligns with these priorities. If there are alignment questions, get in touch with Tim Donohue or ask in a Developer Meeting.
- Improving performance / scalability in general
High CPU usage for server-side rendering, https://github.com/DSpace/dspace-angular/issues/3110
Unable to route network requests to different REST URL during server-side rendering (public vs private REST requests): https://github.com/DSpace/dspace-angular/issues/1485
- Serve REST configuration more efficiently: https://github.com/DSpace/DSpace/issues/9056
- User permissions should be obtained in fewer REST requests: https://github.com/DSpace/dspace-angular/issues/3161
- Submission Form should be loaded using fewer REST requests: https://github.com/DSpace/dspace-angular/issues/3162
- Search Results should be loaded using fewer REST requests: https://github.com/DSpace/dspace-angular/issues/3163
- Easier Installation and Upgrades
- Discussions around simplifying installation process: https://github.com/DSpace/dspace-angular/issues/3184
Use "npm" instead of "yarn" for frontend installation: https://github.com/DSpace/dspace-angular/pull/3173
- Can we simplify the installation/upgrade process of DSpace, especially now that there's a frontend & backend to manage?
- Code Cleanup / Maintenance
- Dependency upgrades:
Upgrade to Angular 18 (https://github.com/DSpace/dspace-angular/issues/3304) and
Spring Boot 3.3 (https://github.com/DSpace/DSpace/pull/9885)
- Replace Submission Form library (as the one we use is unmaintained): https://github.com/DSpace/dspace-angular/issues/2216
- All collections should have a workflow – a default noninteractive workflow would facilitate applying curation tasks (such as virus scanning) to all submissions: https://github.com/DSpace/DSpace/issues/8820
- Shall we automatically change metadata in flyway migrations?
- DOIs
- Changing the field a DOI is using (dc.identifier.uri vs. dc.identifier.doi)
- Changing the resolver (https://doi.org vs. http://dx.doi.org)
- DOIs
- Dependency upgrades:
- Modularization
- Angular : library-based architecture proposal - As of 8.0, we've already migrated to "standalone components". We can now consider whether to potentially migrate to using Nx.
- Do we need a UI/UX guide to enable module developer to achieve a common "DSpace" look and feel? https://github.com/DSpace/dspace-angular/issues/3211
- Bitstream persistence URLs (if it does not interfere with a potential DSpace-CRIS merger) - As of DSpace 7, there are no persistent URLs for bitstreams. The URL is based on UUID, and if you replace or version a bitstream the URL will change: https://github.com/DSpace/DSpace/issues/9083
- Accessibility fixes and other major bug fixes.
- Features or fixes that make a potential DSpace-CRIS merger easier. (For more information on the potential merger, see the announcement from DSpace Steering.)
Features tabled for a later release
The following features are unlikely to be in 9.0, as they may conflict with a potential DSpace-CRIS merger (see above) because they are (primarily) features already available in DSpace-CRIS.
That said, if anyone wants to port these features from DSpace-CRIS back to DSpace, they could be considered for 9.0 provided that "port" makes the DSpace-CRIS merger easier. If you have questions about potentially porting a specific feature, get in touch with Tim Donohue or join a Developer Meeting.
- Enabling Configurable Entities by default (Basic improvements to make Entities easier to work with are already available in DSpace-CRIS)
- What do we need to achieve to enable Entities by default?
- How can entities be made more usable? (Several features to improve Entity usefulness already in DSpace-CRIS)
- Improving scalability/performance/functionality of Relationships
- Basic Nested/hierarchical metadata (e.g. dates on a Person's affiliation with an OrgUnit). Related also to https://github.com/DSpace/DSpace/issues/9736 (Already available in DSpace-CRIS)
- If entities are enabled by default how could a migration look like? Shall we offer a script to add a field dspace.entity.type="Publication" to all items without an entity type?
- Convert a Relationship to a DSpaceObject - it will benefit of all the DSpaceObject has to offer, like: metadata, resource policies
- Enhanced Statistics for DSpace (Enhanced statistics, including exporting of reports, is already available in DSpace-CRIS)
- Paulo Graça volunteered to perhaps start an interest group / working group around Statistics enhancements as his organization is interested in enhancing this for DSpace.
- Features which existed in DSpace 6 (and earlier)
- CMS - bringing back old features to new the DSpace version like the ability to the admin user to change content like: news, default license,... https://github.com/DSpace/dspace-angular/issues/3200 (This ability to edit news / default license already exists in DSpace-CRIS)
- Administrative User Interface enhancements/improvements (Several of these features already exist in DSpace-CRIS)
- Associate submission forms to collections in the UI - https://github.com/DSpace/dspace-angular/issues/3194 (Already available in DSpace-CRIS)
- The bitstream permissions flow is confusing, we should improve the usability - https://github.com/DSpace/dspace-angular/issues/3203
- Any DSpaceObject, like a Bitstream can have custom fields. After creation, there should be a place in the UI to view and edit them (Exists somewhat in DSpace-CRIS. In DSpace-CRIS, it's possible to modify Item/Entity displayed fields from Admin UI tools)
- Communities/Collections: there should be a way in the UI to move sub-communities to a different place: https://github.com/DSpace/dspace-angular/issues/3196, https://github.com/DSpace/dspace-angular/issues/3198
- Permissions: Possibility of granting granular permission to individuals and groups to edit / see only some metadata (Already available in DSpace-CRIS)
- Results of DCAT UX Project Team Testing (This work is unlikely to be completed in time for 9.0 development)
Tickets & Pull Requests to review for possible inclusion
All potential tickets & pull requests may be found on our 9.0 Project Board.
- 9.0 Project Board: https://github.com/orgs/DSpace/projects/31
If there is a feature you wish to work on which is not on that 9.0 Project Board, please create a GitHub issue ticket to describe it (or find one if it exists) and contact Tim Donohue (via email or Slack) about possible inclusion in 9.0.
Keep in mind, even if a ticket/PR exists on the 9.0 Project Board, that does not guarantee it will be completed in time for 9.0. All development & testing/reviewing is volunteer based. You can help ensure a PR's inclusion by volunteering to help test or review the code! Any work that cannot be achieved in time for 9.0 will be rescheduled for a future release.
Organizational Details
Release Coordination
The 9.0 Release will be coordinated by Tim Donohue and the DSpace Committers.
Updates and discussions will take place in weekly Developer Meetings.
Release Timeline
Please note that the dates below are estimates of when particular activities may occur. As there are many factors involved in a major release, these are subject to change. If you are interested in more information, please see the notes from our Developer Meetings.
| Date | Milestone | What it means |
|---|---|---|
| Deadline for feature pull requests | If you wish to contribute features to DSpace 9.0, you must submit a pull request by this date. | |
| Feature PR Review/Test Deadline | Initial reviews/testing of PRs should be completed by all assigned reviewers. | |
| Feature PR Merge Deadline (Feature Freeze) | DSpace 9.0 is considered feature-complete on this date. All Feature PRs should be merged. Only bug fixes will be pulled between this date and final release. | |
| Release Candidate 1 tagged | A DSpace 9.0 Release Candidate will be available for wider testing. This release is not production ready, but is made available for early testing. | |
| 9.0 Testathon | Intensive public testing of the 9.0 Release Candidate is invited. The Release Team will focus on getting problems resolved. | |
| Translation Updates | During Testathon, we invite translators to work on translating DSpace 9.0. | |
| Deadline for bug-fix pull requests | Bug fixes should ideally be submitted by this date. | |
| Bug-Fix PR Merge Deadline (Code Freeze) | Ideally all bug fixes are merged by this date. Code is "frozen", with exceptions only made if major issues are discovered. | |
| Final Cleanup / Documentation | This week is set aside for any final cleanup (or very late bug fixes) that need to be applied to the code. Also used to finalize Documentation, Release Notes, etc. | |
| DSpace 9.0 is publicly released | DSpace 9.0 is released for download and general use. |
Release Process needs to proceed according to the following Maven release process: Release Procedure