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.

Overview

DSpace Developer meetings are a time when Committers and interested Developers can discuss new software features, upcoming releases of DSpace software, and generally plan out the roadmap of DSpace. All meetings are public. We welcome anyone and everyone to attend, speak their opinions or just listen in on the discussions. Please note that we archive all discussions (see Meeting Archives), as a service for those who are unable to attend.

Meeting Schedule 

DSpace Developer meetings take place on the following schedule:

  • Every Thursday (except where noted in agendas) from 15:00-16:00 UTC in https://lyrasis.zoom.us/my/dspace?pwd=RTk4QUhISnhPRi9YenVrTFJKbDllQT09 (Meeting ID: 502 527 3040). 
  • All meetings are held for 1 hour. 
  • Slack is used for meeting reminders, sharing agendas and day-to-day discussions.
    • #dev:  For ongoing, day-to-day (between meetings) updates / discussions / questions.
    • #angular-ui : For DSpace (Angular) UI updates, discussions and/or questions.
    • #rest-api : For DSpace REST API updates, discussions and/or questions.

Meeting topics often include:

  • Recent updates on upcoming DSpace releases, bug fixes or features
  • Reviewing of recent reported issues/bugs/feature requests
  • Occasionally we vote or make decisions on upcoming DSpace technology plans/roadmap (see Developer Voting Procedures for more info)

If you are unable to attend a meeting, please feel free to add your own notes/comments to the meeting's wiki page.

Developers Meeting on Thurs, December 4, 2025

Time/Location

 from 15:00-16:00 UTC

Location: https://lyrasis.zoom.us/my/dspace?pwd=RTk4QUhISnhPRi9YenVrTFJKbDllQT09 (Meeting ID: 502 527 3040).  Passcode: dspace

10.0 Release Schedule (TENTATIVE - Not Finalized)

  • New Feature Development Deadlines
    • Feature PR Creation Deadline: Friday, February 20, 2026
    • Feature PR Review/Test Deadline: Friday, March 13
    • Feature PR Merge Deadline: Friday, March 27
  • 10.0 Release Candidate:  Friday, April 3
  • 10.0 Testathon: April 6-17 (two weeks)
  • 10.0 Translation updates: April 6-17 (during Testathon)
  • Bug Fix Deadlines
    • Bug Fix PR Creation Deadline: Friday, May 1
    • Bug Fix PR Merge Deadline: Friday, May 15
  • Documentation & Release Week: May 18-22 
  • 10.0 Release Announced: Tuesday, May 26, 2026


There will be no Developers Meeting on Thursday, November 27 because of the USA Thanksgiving holiday.  We will resume meetings on Thursday, December 4.

Agenda

Attendees

Current Work

Project Boards

To quickly find PRs assigned to you for review, visit https://github.com/pulls/review-requested  (This is also available in the GitHub header under "Pull Requests → Review Requests")

Goals for 10.0

To be decided by DSpace Steering Group with feedback from Leadership Group

Priorities listed at DSpace Release 10.0 Status

Goals for 9.2 / 8.3 / 7.6.5

Deadline is TBD for 9.2, 8.3 and7.6.5.  Bug fix releases do not have fixed/scheduled deadlines. Instead, the developer team will determine when to create a release based on the significance of the issues to solve. (e.g. If major issues are fixed, then a bug fix release will occur more rapidly.  If minor issues are found, then a bug fix release may be delayed until sufficient fixes have been made to warrant a release)

  • Bug/security fixes only.  These minor releases will not include any new features.
    • New "themeable components" (for dspace-angular) are allowed in bug fix releases, provided that they don't significantly modify component behavior or similar.
    • Accessibility fixes are also allowed in bug fix releases, provided they don't significantly modify component behavior or similar.
  • Bug fix PRs should be created against "main" branch where possible. The "main" branch has the most strict code style rules. (i.e. PRs created against dspace-7_x  are becoming more difficult to port forward.)
  • Per our support policy, bug fixes are only guaranteed to be ported back to 9.x.  That said, where possible, we'll try to backport bug fixes (especially significant ones) to 8. x and 7.6.x.

Try "Pull Request Trading" for a quicker review

Do you have a PR stuck in "under review" that you really want to see move forward?  Or maybe it's someone else's PR but you want to get it more attention?

See Trading reviews on Pull Requests for how to get immediate attention to that PR!

Notes

DSpace-DSpace-CRIS Merger Updates

General Status Updates

  • The merger is now official and will begin with DSpace 10, continuing (and finishing) with DSpace 11
  • Announcement & reports from the Technical Planning Group and Strategic Planning Group were posted on the mailing list

  • Public feedback form is available; responses will help create a merger FAQ

  • Participants encouraged to ask questions now or in future meetings

Merger Management Team

  • A draft charge for the new Merger Management Team is under Steering Group review

  • Team will:

    • Assist Tim and Holger in managing merger progress

    • Keep roadmap aligned with release schedules

    • Help identify delays and adjust work as needed

  • Merger will not shift release dates; still targeting May / early June annually

GitHub Label for Merger

  • New GitHub label for merger created, exists in frontend and backend
  • Use to track PRs/issues related to the merger
  • Contributors should add the label where appropriate and notify Tim if something is missing

Technical Topics

Integrating NG Dynamic Forms Library into Codebase

  • Goal: Copy the NG Dynamic Forms library directly into the DSpace codebase to:
    • Allow upgrading NG Bootstrap
    • Gain more control over dependencies
  • The library is outdated/unmaintained; copying preserves license and enables future replacement
  • Replacement of the library will come in later releases (likely 11 or 12)
  • Art added ad reviewer to PR (#4898)
  • Tim emphasized the need for licensing verification

Dependabot / Node / NPM Compability Issue

Issue

Attempted Solutions & Final Fix

  • Tim and Alan Orth experimented with ranges: unsuccessful / unsatisfying results

  • Vincenzo found another project’s solution:

    • Pin the NPM version to 10 in package.json

    • Dependabot obeys that pin and produces correct lock files

Next Steps

  • Tim will merge the PR once the build passes

  • NPM version can be updated later once DSpace fully moves to Node 24

Spring Bean / XML File Configuration

  • Kim voiced concern that some services / beans are configured through XML inside the webapp instead of external config files, making configuration harder

Discussion Summary

  • Mark: Beans placed internally are those meant for developers, not administrators (harder to accidentally alter)

  • Tim: Some beans are required at boot and shouldn't be user-editable; but if specific beans should be configurable, they can be moved

  • Kim: Considering moving configurations to annotations to remove XML entirely

  • Mark: Some XML-defined beans may be unnecessary—Spring could auto-detect them

  • Tim: Encourages reviewing XML files gradually; acknowledges mix of XML + annotations is historical

Action Items

  • Kim may create tickets/PRs where individual XML files should move or convert to annotations

  • Team supports long-term cleanup of Spring configuration

Additional Discussion

  • Giuseppe noted that a PR related to custom URLs also modified validation service XML configuration

  • Kim should review whether this PR interacts with her concerns around configuration placement

Cache-Busting Dynamic Configuration Files & Theme CSS (PR)

Purpose of PR (#3993)

  • Adds hashing/fingerprints to CSS & config files to prevent browser caching after updates
  • Helps administrators & users avoid having to hard-refresh after deployments

Status

  • PR is old (for DSpace 7.x), has merge conflicts

  • Art: Their team uses it in production; works well

  • Art will ask Yura to refresh the PR

  • Tim requests:

    • Updated PR

    • A corresponding PR for main as well (PR currently has label "port to main")

  • Reviewers assigned: 
    • Sasha 
    • Martin
    • Tim (tentative)

Deleted Bitstream Download URLs Returning Wrong HTTP Code (#11611)

  • Deleted bitstreams return 401 Unauthorized instead of 404 Not Found

  • Causes:

    • SEO issues: Google won’t unindex the file properly

    • UI issue: Redirects users to login page instead of showing 404

  • Deleted bitstreams are:

    • Flagged as deleted in DB

    • Unlinked from parent bundle

    • Still returned in queries that fetch all bitstreams

  • Permission check finds the deleted bitstream and treats it as a restricted resource → 401

Discussion

  • Tim: Bitstreams should behave like items—deleted = 404; restricted = 401

  • Art: Need to confirm we’re not exposing existence of restricted content

  • Kim: Suggests testing after cleanup script runs; maybe the state changes from “deleted but present” to fully removed

  • Conclusion:

    • Behavior should mirror item-level deletion

    • Need to update logic so deleted bitstreams bypass authorization checks and return 404

Action

  • Tim will summarize conclusions into the GitHub issue

Removing the "webapp" database table 

  • DSpace command "version" reads from the webapp table

  • Since DSpace 7, the table is no longer used

Discussion

  • Tim: Agrees table should be removed but keep the version command with updated logic

  • Mark: The existing version command never worked reliably

  • Sasha will create a GitHub issue to remove the table and related Java code

Auto-Closing Stale Issues (#11550)

  • Issues: Add stale label after 3 years, close after 7 days

  • PRs: Add stale label after 1 year, close after 14 days

  • Tim seeks reviewers; Nick assigned himself during the meeting

Other topics

  • Briefly looked at and discussed merger-related PR regarding custom URL for items (#11549)
  • Note: No meeting on December 25 and January 1



Meeting Archives

Historical Notes and Transcripts from all Developers Meetings are available off of the Developer Meeting Archives page.