Note that the version numbering convention for Language Packs is always the same as the current DSpace release, with an additional
Language pack updates are not back-ported. If you are making a security release for an older branch of DSpace, there will be no language pack commits to release. Continue with Final Commits & Preparation, below.
For each module, perform the full release steps that follow. To save space, the steps are only listed for one of the modules (but don't forget to run it for both language packs):
- Add the new contributors to the list: DSpaceContributors
- Coordinate Announcements with DuraSpace Staff:
- You might send post draft announcements to a service such as https://gist.github.com/ and send out a call to committers for review. When finalized, DSpace releases should be announced on the dspace-devel mailing list for reviewcommunity, dspace-devel and dspace-tech lists/groups.
- Announcement on dspace.org, duraspace.org, twitter
- Ensure that the Latest Release page on dspace.org is updated.
- Plus, ask dspace.org admins to upload latest documentation in PDF/HTML format
- Announce on all DSpace mailing lists
- Link announcement on Home of DSpace Wiki, change any version numbers listed on that page.
- Update Wiki pages, particularly these pages which refer to the Current and Next Releases:
- Also, update the Documentation Wiki area! Specifically:
- All Documentation page -> Has current release info
- Add a warning to the documentation of the newest unsupported release (e.g. the warning for DSpace 1.7) and link to our Support Policy.
Spaces - Space directory - (i) next to the space - Space Admin - Themes - Configure Theme - Header
- Homepage for the current Documentation (e.g. DSpace 6.x Documentation) -> Has links to download latest version of DSpace
- Update the database schema diagram
- For major releases, create a new branch in GitHub for any upcoming bug-fix releases:
- E.g., after the 3.0 release, we created a 3.x branch for any subsequent bug fix releases.
- To automatically create a branch, you may be able to use the release:branch command (NOTE: untested, but it should work! once we test it out, this may be the best practice way of creating a branch).
To manually create a branch, run commands similar to:
Code Block language bash
git clone email@example.com:DSpace/DSpace.git branchit cd branchit git checkout -b dspace-3_x dspace-3.0 git push --set-upstream origin dspace-3_x
Then, go back to your
mastercheckout, and make sure to update its version numbers in the pom.xml files by running the following:
git checkout master mvn release:update-versions -Dmirage2.on
(Remember to enter in the next appropriate major version number. E.g. After releasing 3.0,
mastershould be updated to "4.0-SNAPSHOT", while the new
3_xbranch should be at "3.1-SNAPSHOT")
- NOTE: the
update-versionscommand doesn't always work perfectly. You will want to try a complete rebuild of DSpace before committing anything, as it sometimes misses updating a few version numbers.
- Push your verified changes back to GitHub.
- You'll also need to ensure that all version numbers and the
<scm>section is appropriate in the pom.xml files of your new Branch. Remember, the
<scm>configurations should point at the branch, rather than back at
- Updates to JIRA:
- Move any uncompleted issues to the next DSpace version tag in JIRA.
- Ask a JIRA Administrator to close out the release in JIRA (this will ensure no new issues can be added to that release).
- Updates to GitHub: Move any uncompleted PRs to the next DSpace version tag.
- Find the number of contributors (helpful data for the announcement, you are drafting an announcement, right?): for bugfix releases, it's:
git shortlog -ns branch_name_goes_here ^master | wc -l