Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
709 commits
Select commit Hold shift + click to select a range
a156c10
Merge pull request #4860 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
193254f
Merge pull request #4897 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
fbff691
Merge pull request #4894 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Dec 5, 2025
6a87359
Merge pull request #4862 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Dec 5, 2025
ee1c173
Merge pull request #4857 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
74d3c8c
Bump node-forge from 1.3.1 to 1.3.2
dependabot[bot] Dec 5, 2025
0de31ae
Bump eazy-logger from 4.0.1 to 4.1.0
dependabot[bot] Dec 5, 2025
c41235e
Bump vite from 5.4.19 to 5.4.21
dependabot[bot] Dec 5, 2025
73074b3
Bump node-forge from 1.3.1 to 1.3.2
dependabot[bot] Dec 5, 2025
1de2177
Merge pull request #4921 from DSpace-Labs/dependabot/npm_and_yarn/eaz…
tdonohue Dec 5, 2025
2fe4d40
Merge pull request #4920 from DSpace-Labs/dependabot/npm_and_yarn/nod…
tdonohue Dec 5, 2025
5430a1d
Merge pull request #4923 from DSpace-Labs/dependabot/npm_and_yarn/vit…
tdonohue Dec 5, 2025
9f1df0c
Merge pull request #4922 from DSpace-Labs/dependabot/npm_and_yarn/nod…
tdonohue Dec 5, 2025
ac1a6e5
134380: fixed abstract and date field not being escaped
bram-maegerman Dec 8, 2025
ae585c3
Merge pull request #4881 from atmire/backport-4737-to-dspace-7_x
tdonohue Dec 8, 2025
b8732f8
[Port dspace-8_x] Escape html tags in innerHTML #4737 (#4882)
bram-maegerman Dec 8, 2025
e10d7b5
Merge branch 'cache-bust-dynamic-configuration-7.6_CLEAN' into cache-…
Dec 12, 2025
ee7ac38
Include the missing ADD policy action in the resource policy form
toniprieto Dec 12, 2025
d4db342
Include the missing ADD policy action in the resource policy form
toniprieto Dec 12, 2025
2194871
Merge pull request #4938 from DSpace/backport-4937-to-dspace-7_x
tdonohue Dec 15, 2025
15f4585
Merge pull request #4939 from DSpace/backport-4937-to-dspace-8_x
tdonohue Dec 15, 2025
e382997
[Port dspace-8_x] Fix uk lang file (#4943)
dspace-bot Dec 15, 2025
2a9c25d
[Port dspace-7_x] Fix uk lang file (#4942)
dspace-bot Dec 15, 2025
ac8c26f
Sync all i18n files with en.json5 for v7.6.6
tdonohue Dec 16, 2025
3e0b1d6
Sync all i18n files with en.json5 for v8.3
tdonohue Dec 16, 2025
3b73476
Merge pull request #4951 from tdonohue/sync_i18n_7x
tdonohue Dec 16, 2025
5e97057
Merge pull request #4952 from tdonohue/sync_i18n_8x
tdonohue Dec 16, 2025
c55b2de
Update version tag for release
tdonohue Dec 17, 2025
67f6716
Update version tag for release
tdonohue Dec 17, 2025
938244a
Update version tag for development of next release
tdonohue Dec 17, 2025
618ad0a
Merge tag 'dspace-7.6.6' into dspace-8_x
tdonohue Dec 17, 2025
2ead58a
Merge branch 'dspace-8_x' into cache-bust-dynamic-configuration-8.x
Dec 12, 2025
5f0c4c8
Bump express from 4.21.2 to 4.22.1
dependabot[bot] Jan 1, 2026
927df53
Fix docker network inconsistencies in compose files
tdonohue Jan 8, 2026
8788175
Minor cleanup to production Dockerfile. Update to Node v22. Add inlin…
tdonohue Jan 8, 2026
cedc21d
Minor cleanup to Dockerfile. Update to Node v22. Create a staged buil…
tdonohue Jan 8, 2026
b2e6576
Update production docker compose scripts to correct SSR configuration…
tdonohue Jan 9, 2026
88a3993
Remove unnecessary tty/stdin_open settings from several Docker Compos…
tdonohue Jan 9, 2026
fcdca1f
Enable automatic reloading by mounting local 'src' directory and pass…
tdonohue Jan 9, 2026
c0b1268
Update compose scripts based on backend changes in https://github.com…
tdonohue Jan 12, 2026
b5f1a25
Enhance README to better describe image differences
tdonohue Jan 12, 2026
13824e6
Add basic Docker deployment tests in GitHub actions to verify that Do…
tdonohue Jan 12, 2026
66f04e1
Merge pull request #4995 from tdonohue/port_4987_to_8x
tdonohue Jan 13, 2026
3089da9
DURACOM-424 Updated labels from "Allarme di sistema" to "Messaggio di…
Jan 19, 2026
ae75c74
Merge pull request #5007 from DSpace/backport-5006-to-dspace-8_x
tdonohue Jan 20, 2026
3e67ff5
Default the backend image to always be pulled from docker.io
tdonohue Jan 21, 2026
971c91a
Merge pull request #5017 from DSpace/backport-5016-to-dspace-8_x
tdonohue Jan 21, 2026
9d6038f
Make sure authentication methods are retrieved if token is invalid bu…
ybnd Jan 21, 2026
2e5e92d
Merge pull request #5024 from tdonohue/port_4663_to_8
tdonohue Jan 22, 2026
12eb455
132284: Add paginated vocabulary search with ‘Show previous/next resu…
Jun 24, 2025
6f13ce1
132284: Reset pagination button state when navigating away from the s…
Oct 30, 2025
b48cbd7
132284: Reset pagination on reset
Nov 7, 2025
f228c5d
134983: new funnel icon in search scope
bram-maegerman Jan 22, 2026
36b1150
Merge pull request #5033 from tdonohue/port_4505_to_8x
tdonohue Jan 22, 2026
9066399
Merge pull request #5035 from tdonohue/port_4767_to_8x
tdonohue Jan 22, 2026
a7e55dd
Added directive in robots.txt
Aryakoste Jan 16, 2026
b4a25cc
Merge pull request #5038 from DSpace/backport-5003-to-dspace-8_x
tdonohue Jan 23, 2026
f7f9841
Fix PM2 cluster mode ECONNREFUSED errors
bram-atmire Dec 28, 2025
bec50dd
Fix ESLint errors in main.server.ts
bram-atmire Dec 29, 2025
4fc39c0
Move DNS fix comment inline next to setDefaultResultOrder call
bram-atmire Jan 6, 2026
459ef13
Merge pull request #5047 from tdonohue/port_4961_to_8x
tdonohue Jan 27, 2026
33b08c6
Bump @babel/runtime from 7.28.4 to 7.28.6
dependabot[bot] Feb 1, 2026
55f7903
Bump lodash and @types/lodash
dependabot[bot] Feb 1, 2026
5c317b3
backport DSpace 8: Improve community list e2e tests
oscar-escire Feb 7, 2026
232d374
Merge pull request #5093 from oscar-escire/Issue/3989-dspace-8_x
tdonohue Feb 9, 2026
7270b32
Implement authorization query methods in item/colection/community dat…
toniprieto Dec 4, 2025
276630e
Adapt DSO selectors to use new authorization methods
toniprieto Dec 4, 2025
c1a946a
Fix required permissions for edit-collection-selector and edit-commun…
toniprieto Dec 12, 2025
07e0e88
Merge pull request #5118 from toniprieto/find-authorized-endpoints-8x
tdonohue Feb 18, 2026
cdefc3e
Add missing NgIf and NgFor imports to AuthorizedItemSelectorComponent
toniprieto Feb 20, 2026
16d99ec
Fix typo in license disclaimer text
saschaszott Feb 20, 2026
b6ac3f9
Merge pull request #5138 from DSpace/backport-5128-to-dspace-8_x
tdonohue Feb 20, 2026
2be4ea3
Fix typos in en.json5 localizations
saschaszott Feb 20, 2026
96ddd8a
Fix typos and improve translations in de.json5
saschaszott Feb 20, 2026
a75c7d8
Merge pull request #5136 from toniprieto/missing-imports-8x
tdonohue Feb 20, 2026
ce87617
Merge pull request #5140 from DSpace/backport-5129-to-dspace-8_x
tdonohue Feb 20, 2026
cd99b6f
Merge pull request #5142 from DSpace/backport-5130-to-dspace-8_x
tdonohue Feb 20, 2026
4d7b28e
chore: update Cypress section in README.md
MMilosz Feb 24, 2026
edb0784
Merge pull request #5156 from DSpace/backport-5154-to-dspace-8_x
tdonohue Feb 24, 2026
c54191c
Bump isbot from 5.1.32 to 5.1.35
dependabot[bot] Feb 27, 2026
515239b
Bump Wandalen/wretry.action from 1.3.0 to 3.8.0
dependabot[bot] Feb 27, 2026
55e947b
Bump korthout/backport-action from 2 to 4
dependabot[bot] Feb 27, 2026
c89921e
Bump toshimaru/auto-author-assign from 2.1.0 to 3.0.1
dependabot[bot] Feb 27, 2026
2bc142a
Bump github/codeql-action from 3 to 4
dependabot[bot] Feb 27, 2026
a06962c
Bump actions/add-to-project from 1.0.0 to 1.0.2
dependabot[bot] Feb 27, 2026
7e2bbc7
Bump sass from 1.94.2 to 1.97.1 in the sass group
dependabot[bot] Feb 27, 2026
af984ae
Bump the testing group across 1 directory with 2 updates
dependabot[bot] Feb 27, 2026
fcf0b7f
Merge pull request #5182 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 2, 2026
46397ae
fix: distortion of community/collection logo
PawelZlakowski Jan 19, 2026
66de97e
132007: Prevent error from being thrown when you try to remove an alr…
alexandrevryghem Jul 9, 2025
757a0b1
Merge pull request #5215 from DSpace/backport-5005-to-dspace-8_x
tdonohue Mar 2, 2026
2b744ec
Merge pull request #5217 from DSpace/backport-4539-to-dspace-8_x
tdonohue Mar 2, 2026
17bc862
Add dont-break-out class to file section metadata table to prevent co…
jr-rk Mar 3, 2026
abbbe07
Merge pull request #5223 from dataquest-dev/fix_bitstream_text_overfl…
tdonohue Mar 3, 2026
bdc97d2
Merge pull request #5183 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 3, 2026
39fa4f2
Merge pull request #5071 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 4, 2026
18196e4
Merge pull request #4974 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 4, 2026
db44a15
Merge pull request #5074 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 4, 2026
77c5d80
Merge pull request #5178 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 4, 2026
105ee8a
Merge pull request #4975 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 4, 2026
23b91b2
Bump axios from 1.13.2 to 1.13.5
dependabot[bot] Mar 4, 2026
adf7f45
Bump the eslint group with 2 updates
dependabot[bot] Mar 4, 2026
10592f5
Merge pull request #5179 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 5, 2026
4eb797f
Merge pull request #5180 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 5, 2026
70dff94
Merge pull request #5181 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 5, 2026
80970fe
Merge pull request #5176 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 5, 2026
f6ac8da
Merge pull request #5177 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 5, 2026
f2e4c98
Bump actions/download-artifact from 4 to 8
dependabot[bot] Mar 5, 2026
bf1f4b9
Bump actions/upload-artifact from 4 to 7
dependabot[bot] Mar 5, 2026
486dfdd
Bump actions/cache from 4 to 5
dependabot[bot] Mar 5, 2026
4987098
Bump @types/lodash from 4.17.23 to 4.17.24
dependabot[bot] Mar 5, 2026
1261e48
Merge pull request #5250 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 6, 2026
cefa486
Merge pull request #5237 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 6, 2026
7386499
Merge pull request #5249 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 6, 2026
df8f67d
Merge pull request #5248 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 6, 2026
9fbcb24
Bump actions/checkout from 4 to 6
dependabot[bot] Mar 6, 2026
a35da80
Merge pull request #5247 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 6, 2026
13d344d
Merge pull request #5069 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Mar 9, 2026
48b4484
Fix current parent order when creating subcommunity
jesielviana Jul 23, 2025
b2e5d1a
Merge pull request #5271 from DSpace/backport-5269-to-dspace-8_x
tdonohue Mar 10, 2026
6620198
Update all Docker Compose scripts to allow for environment variable o…
tdonohue Mar 13, 2026
09c00d1
Merge pull request #5283 from tdonohue/port_5280_to_8x
tdonohue Mar 13, 2026
ca61b27
Ensure we are no longer using/trusting "Host" HTTP Header. Require se…
tdonohue Mar 11, 2026
d64016f
Update Docker Compose production script to specify UI's baseUrl as lo…
tdonohue Mar 11, 2026
49e87d3
Fix issue where ui.baseUrl cannot be overridden in environment variab…
tdonohue Mar 12, 2026
df3fb98
[CST-24622] fix submission form's "serious" accessibility issues
Oct 16, 2025
01ea7d5
fix typo on description
Mar 23, 2026
7c78b9b
Merge pull request #5305 from Rowan-McKereghan/dspace-8_x
tdonohue Mar 23, 2026
8a10ec7
backport of PR 5053 to DSpace 8.x
oscar-escire Mar 25, 2026
ffe303f
Merge pull request #5308 from oscar-escire/Issue/2672-DSpace-8.x
tdonohue Mar 25, 2026
bbf976e
[DURACOM-415] fix status update for cc license
FrancescoMolinaro Nov 11, 2025
6116e2b
fix(locale): prevent recursive EPerson language lookup for specific e…
pcg-kk Mar 29, 2026
32ff11b
Merge pull request #5333 from DSpace/backport-5323-to-dspace-8_x
tdonohue Mar 31, 2026
3285c94
Remove axios dependency
alanorth Mar 31, 2026
6056223
Bump actions/setup-node from 4 to 6
dependabot[bot] Apr 1, 2026
4dfc4a1
Bump ng-mocks from 14.15.1 to 14.15.2 in the testing group
dependabot[bot] Apr 1, 2026
b90456b
Bump docker/login-action from 3 to 4
dependabot[bot] Apr 1, 2026
15757b2
Bump core-js from 3.47.0 to 3.49.0
dependabot[bot] Apr 1, 2026
0ae4d54
Bump isbot from 5.1.35 to 5.1.36
dependabot[bot] Apr 1, 2026
f519416
Bump react-copy-to-clipboard from 5.1.0 to 5.1.1
dependabot[bot] Apr 1, 2026
b7e4f21
Merge pull request #5347 from alanorth/remove-axios-dspace-8x
tdonohue Apr 1, 2026
10b39e4
Merge pull request #5298 from 4Science/task/dspace-8_x/CST-24622
tdonohue Apr 6, 2026
420d62f
Merge pull request #5362 from DSpace/dependabot/github_actions/dspace…
tdonohue Apr 6, 2026
19f0a21
Merge pull request #5369 from DSpace/dependabot/github_actions/dspace…
tdonohue Apr 6, 2026
093a2f8
Merge pull request #5286 from tdonohue/port_5276_to_8x
tdonohue Apr 6, 2026
bb13d06
Merge pull request #5377 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Apr 6, 2026
13a1dc3
Bump sass from 1.97.3 to 1.98.0 in the sass group
dependabot[bot] Apr 6, 2026
b8986df
Merge pull request #5366 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Apr 6, 2026
fa3ab79
Bump postcss from 8.5.6 to 8.5.8 in the postcss group
dependabot[bot] Apr 6, 2026
cbc3925
Merge pull request #5375 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Apr 7, 2026
947bf16
Merge pull request #5320 from 4Science/task/dspace-8_x/DURACOM-415-ba…
tdonohue Apr 7, 2026
3aac853
webpack/helpers.ts: Use node:crypto instead of third-party md5
alanorth Apr 7, 2026
d3ef8b0
Merge pull request #5413 from alanorth/use-node-md5-8x
tdonohue Apr 7, 2026
5ee13b0
enhanced MyDspace e2e tests - Port to DSpace 8.x
oscar-escire Apr 8, 2026
0ea22fb
Merge pull request #5368 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Apr 8, 2026
7b87b09
Merge pull request #5371 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Apr 8, 2026
f52deb4
[DURACOM-347] make placeholder presence in model configurable,fix wro…
FrancescoMolinaro Apr 15, 2025
32c6c08
[DURACOM-347] refactor, add test and doc
FrancescoMolinaro Apr 16, 2025
89120ba
[DURACOM-347] refactor, fix missing label for library components
FrancescoMolinaro Oct 24, 2025
307f167
[DURACOM-347] remove property, disable placeholder on date field and …
FrancescoMolinaro Feb 6, 2026
c7353a2
[DURACOM-347] fix html indentation
FrancescoMolinaro Feb 6, 2026
ddb3a27
Merge pull request #5432 from oscar-escire/Issue/3985-DSpace-8.x
tdonohue Apr 8, 2026
01628c5
[DURACOM-347] fix template conflicts, lint and test issue
FrancescoMolinaro Apr 8, 2026
f1bf197
Remove unused @babel/runtime dependency
tdonohue Apr 8, 2026
5ae0679
Remove unused webpack-dev-server dependency
tdonohue Apr 8, 2026
7c23482
Remove unused @angular/language-service dependency
tdonohue Apr 8, 2026
2e36e98
[DURACOM-347] remove unnecessary check and fix circular dependency
FrancescoMolinaro Oct 24, 2025
f77391b
[DURACOM-347] fix lint
FrancescoMolinaro Apr 8, 2026
12a5276
Merge pull request #5445 from 4Science/task/dspace-8_x/DURACOM-347
tdonohue Apr 8, 2026
a614f7a
Merge pull request #5446 from tdonohue/port_4783_to_8x
tdonohue Apr 8, 2026
7343bcf
Bump webpack in the webpack group across 1 directory
dependabot[bot] Apr 8, 2026
7eabe58
Bump to Cypress v14
tdonohue Apr 8, 2026
81ff377
Merge pull request #5373 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Apr 8, 2026
7d6243b
Force the usage of the same webpack version for all webpack dependent…
alexandrevryghem Nov 18, 2025
50393b3
Merge pull request #5449 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Apr 10, 2026
c6544ac
Update item-edit e2e tests to ensure we wait on tabs to load before t…
tdonohue Apr 10, 2026
95c30c2
[DURACOM-429] simplify truncatable calculation
FrancescoMolinaro Dec 16, 2025
13dab8b
Merge pull request #5480 from DSpace/backport-4949-to-dspace-8_x
tdonohue Apr 14, 2026
e0f6c65
disable the browser's autocomplete on the script select as it will ov…
artlowel Apr 16, 2026
65bd093
Merge pull request #5507 from atmire/disable-autocomplete-script-sele…
tdonohue Apr 17, 2026
f5a9bb9
Ensure docker-deploy waits for the backend to fully initialize before…
tdonohue Apr 20, 2026
950313f
Merge pull request #5511 from tdonohue/port_5509_to_8x
tdonohue Apr 20, 2026
74e6d57
Merge pull request #5453 from tdonohue/bump_cypress
tdonohue Apr 21, 2026
555fca6
fix(i18n): correct article usage in dso-selector placeholder (fixes #…
MukundaKatta Apr 22, 2026
e5e4b61
updates orcid icon and link displays according to their guidelines
nwoodward Apr 23, 2026
f2555d8
Merge pull request #5536 from DSpace/backport-5530-to-dspace-8_x
tdonohue Apr 23, 2026
3e8d1d6
added role link
nwoodward Apr 23, 2026
a65921c
Bump axe-core from 4.11.1 to 4.11.3 in the testing group
dependabot[bot] May 1, 2026
0f91eea
Bump postcss from 8.5.8 to 8.5.10 in the postcss group
dependabot[bot] May 1, 2026
2714833
Bump cypress-io/github-action from 6 to 7.1.9
dependabot[bot] May 1, 2026
3e4e1b2
Bump lodash from 4.17.23 to 4.18.1
dependabot[bot] May 1, 2026
d0d86cc
Bump isbot from 5.1.36 to 5.1.39
dependabot[bot] May 1, 2026
1372038
Disable "aria-required-children" accessibility check on the Item Edit…
tdonohue May 1, 2026
9412172
Merge pull request #5600 from DSpace/backport-5598-to-dspace-8_x
tdonohue May 1, 2026
5bf8b4e
Merge pull request #5583 from DSpace/dependabot/github_actions/dspace…
tdonohue May 1, 2026
decf128
Merge pull request #5576 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 1, 2026
11d1a1e
Bump webpack in the webpack group across 1 directory
dependabot[bot] May 1, 2026
1bf5ab7
Merge pull request #5581 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 4, 2026
9e50c67
Merge pull request #5585 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 4, 2026
27b0001
Bump sass from 1.98.0 to 1.99.0 in the sass group across 1 directory
dependabot[bot] May 4, 2026
7fbbb53
Merge pull request #5580 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 4, 2026
ea87217
Merge branch 'dspace-8_x' into cache-bust-dynamic-configuration-8.x
May 5, 2026
3f38633
Merge pull request #5578 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 5, 2026
d254bdc
Merge pull request #5584 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 5, 2026
209197f
Merge pull request #4031 from ybnd/cache-bust-dynamic-configuration-8.x
tdonohue May 5, 2026
d56fffd
Merge pull request #5538 from TexasDigitalLibrary/DS-4766-port_to_8x
tdonohue May 5, 2026
6d72f67
[DURACOM-387] fix scripts dropdown not loading new elements while zoo…
Jul 24, 2025
9e3d477
given height and scroll on absolute in mobile view
GauravD2t Jun 24, 2025
49f395b
change height to 100%
GauravD2t Mar 16, 2026
9d8d131
Merge pull request #5625 from DSpace/backport-4578-to-dspace-8_x
tdonohue May 6, 2026
6b08ede
Merge pull request #5628 from DSpace/backport-4505-to-dspace-8_x
tdonohue May 6, 2026
e72453a
fix: improve contrast on homepage credits text (fixes #5487)
ShivaniNR Apr 25, 2026
3bf9fb6
Merge pull request #5643 from DSpace/backport-5548-to-dspace-8_x
tdonohue May 12, 2026
713e0e2
fix an issue where search facets wouldn't open in safari
artlowel May 8, 2026
746f21a
Merge pull request #5650 from DSpace/backport-5637-to-dspace-8_x
tdonohue May 12, 2026
dad6b31
QREPO-406 Only attempt the login on the upstream repository: dspace/d…
kanasznagyzoltan May 14, 2026
a43843e
QREPO-406 use ghcr.io only on the upstream reposity: dspace/dspace-an…
kanasznagyzoltan May 14, 2026
8b779f0
QREPO-406 running codecov only in the upstream repository: dspace/dsp…
kanasznagyzoltan May 14, 2026
d4455b7
Merge pull request #5663 from tdonohue/port_5661_to_8x
tdonohue May 15, 2026
af082fe
fix: use built-in Angular email validator for eperson form
PawelZlakowski Jan 14, 2026
9cc0b96
fix #5544: enlarge dropdown for external source import
guillermo-escire May 4, 2026
09778e8
Merge pull request #5666 from DSpace/backport-4999-to-dspace-8_x
tdonohue May 15, 2026
8d3e122
Merge pull request #5670 from DSpace/backport-5622-to-dspace-8_x
tdonohue May 15, 2026
e0f098e
[DURACOM-485] fix app/health issue
FrancescoMolinaro May 18, 2026
7d890ae
Merge pull request #5677 from DSpace/backport-5673-to-dspace-8_x
tdonohue May 18, 2026
e52abca
Fix #5332: Fix inconsistent rendering of <em> tag in system-wide aler…
guillermo-escire Mar 31, 2026
e89c3f2
fix(#5645): Use correct key value to block Space keypress in BtnDisab…
JohnnyMendesC May 13, 2026
e2971c5
Merge pull request #5680 from DSpace/backport-5343-to-dspace-8_x
tdonohue May 18, 2026
f1e96b9
Merge pull request #5682 from DSpace/backport-5660-to-dspace-8_x
tdonohue May 18, 2026
4d357f1
141526: Fix advanced search & hierarchical search not supporting inPl…
May 18, 2026
5455e04
Merge pull request #5675 from atmire/w2p-141526_search-fixes_contribu…
tdonohue May 20, 2026
6110d31
Fix #2789: prevent linkify from converting words with dots into links
guillermo-escire Mar 31, 2026
32c6b80
Bump axe-core from 4.11.3 to 4.11.4 in the testing group
dependabot[bot] May 20, 2026
cd8a747
Bump postcss from 8.5.10 to 8.5.14 in the postcss group
dependabot[bot] May 20, 2026
e399933
Bump express from 4.22.1 to 4.22.2
dependabot[bot] May 20, 2026
162c5a8
Update ActionType.DELETE enum value to 'OBSOLETE (DELETE)' while main…
GauravD2t May 21, 2026
ac575d9
Merge pull request #5688 from DSpace/backport-5328-to-dspace-8_x
tdonohue May 21, 2026
672d358
Merge pull request #5718 from GauravD2t/backport-4484-to-dspace-8_x
tdonohue May 21, 2026
108fe97
[Port dspace-8_x] Add singular/plural support for QA notification mes…
oscar-escire May 22, 2026
a3fa08f
[Port dspace-8_x] Fix browse-by pages sending unnecessary request to …
oscar-escire May 22, 2026
31fcca9
Merge pull request #5725 from oscar-escire/Issue/3572-DSpace-8.x
tdonohue May 22, 2026
e018998
Merge pull request #5723 from oscar-escire/Issue/4202-DSpace-8
tdonohue May 22, 2026
f3b9e53
fixed dragging text on firefox
oscar-escire Mar 26, 2026
511bc9d
Merge pull request #5727 from DSpace/backport-5312-to-dspace-8_x
tdonohue May 22, 2026
e29c38f
Merge pull request #5696 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 22, 2026
439017d
Merge pull request #5691 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 22, 2026
9f1dbd2
Merge pull request #5690 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue May 26, 2026
2c56b03
Resync all i18n files for next release
tdonohue May 27, 2026
8d1244e
Update version tag for release
tdonohue May 28, 2026
961fd28
Merge tag 'dspace-8.4' into feature/LIBDRUM-1026
dsteelma-umd Jun 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 34 additions & 25 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ jobs:
# Spin up UI on 127.0.0.1 to avoid host resolution issues in e2e tests with Node 18+
DSPACE_UI_HOST: 127.0.0.1
DSPACE_UI_PORT: 4000
DSPACE_UI_BASEURL: http://127.0.0.1:4000
# Ensure all SSR caching is disabled in test environment
DSPACE_CACHE_SERVERSIDE_BOTCACHE_MAX: 0
DSPACE_CACHE_SERVERSIDE_ANONYMOUSCACHE_MAX: 0
Expand All @@ -39,10 +40,11 @@ jobs:
# Project name to use when running "docker compose" prior to e2e tests
COMPOSE_PROJECT_NAME: 'ci'
# Docker Registry to use for Docker compose scripts below.
# We use GitHub's Container Registry to avoid aggressive rate limits at DockerHub.
# UMD Customization
#DOCKER_REGISTRY: ghcr.io
# End UMD Customization
# On the upstream dspace/dspace-angular repository we use GitHub's Container Registry
# (ghcr.io) to avoid aggressive rate limits at DockerHub. Forks cannot authenticate
# against ghcr.io/dspace/* with their own GITHUB_TOKEN (and the images there require
# auth), so on forks we fall back to docker.io where the same images are public.
DOCKER_REGISTRY: ${{ github.repository == 'dspace/dspace-angular' && 'ghcr.io' || 'docker.io' }}
strategy:
# Create a matrix of Node versions to test against (in parallel)
matrix:
Expand All @@ -53,11 +55,11 @@ jobs:
steps:
# https://github.com/actions/checkout
- name: Checkout codebase
uses: actions/checkout@v4
uses: actions/checkout@v6

# https://github.com/actions/setup-node
- name: Install Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}

Expand All @@ -82,7 +84,7 @@ jobs:
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- name: Cache Yarn dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
# Cache entire Yarn cache directory (see previous step)
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
Expand Down Expand Up @@ -115,22 +117,25 @@ jobs:
# so that it can be shared with the 'codecov' job (see below)
# NOTE: Angular CLI only supports code coverage for specs. See https://github.com/angular/angular-cli/issues/6286
- name: Upload code coverage report to Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
if: matrix.node-version == '18.x'
with:
name: coverage-report-${{ matrix.node-version }}
path: 'coverage/dspace-angular/lcov.info'
retention-days: 14

# Login to our Docker registry, so that we can access private Docker images using "docker compose" below.
# UMD Customization
# - name: Login to ${{ env.DOCKER_REGISTRY }}
# uses: docker/login-action@v3
# with:
# registry: ${{ env.DOCKER_REGISTRY }}
# username: ${{ github.repository_owner }}
# password: ${{ secrets.GITHUB_TOKEN }}
# End UMD Customization
# Login to our Docker registry, so that we can access Docker images using "docker compose" below.
# This login is required on the upstream repository because DOCKER_REGISTRY is set to ghcr.io
# and pulling ghcr.io/dspace/* requires authentication. On forks, DOCKER_REGISTRY falls back to
# docker.io (see env block above) where the same images are publicly pullable without a login,
# and forks cannot authenticate against ghcr.io/dspace/* with their own GITHUB_TOKEN anyway.
- name: Login to ${{ env.DOCKER_REGISTRY }}
uses: docker/login-action@v4
if: github.repository == 'dspace/dspace-angular'
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

# Using "docker compose" start backend using CI configuration
# and load assetstore from a cached copy
Expand All @@ -144,7 +149,7 @@ jobs:
# https://github.com/cypress-io/github-action
# (NOTE: to run these e2e tests locally, just use 'ng e2e')
- name: Run e2e tests (integration tests)
uses: cypress-io/github-action@v6
uses: cypress-io/github-action@v7.1.9
with:
# Run tests in Chrome, headless mode (default)
browser: chrome
Expand All @@ -159,7 +164,7 @@ jobs:
# Cypress always creates a video of all e2e tests (whether they succeeded or failed)
# Save those in an Artifact
- name: Upload e2e test videos to Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
if: always()
with:
name: e2e-test-videos-${{ matrix.node-version }}
Expand All @@ -168,7 +173,7 @@ jobs:
# If e2e tests fail, Cypress creates a screenshot of what happened
# Save those in an Artifact
- name: Upload e2e test failure screenshots to Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
if: failure()
with:
name: e2e-test-screenshots-${{ matrix.node-version }}
Expand Down Expand Up @@ -314,28 +319,32 @@ jobs:
run: docker compose -f ./docker/docker-compose-ci.yml down

# UMD Customization
# Commented out, because UMD does not have a an appropriate key for uploading the results to codecov.io.
# # Codecov upload is a separate job in order to allow us to restart this separate from the entire build/test
# # job above. This is necessary because Codecov uploads seem to randomly fail at times.
# # See https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954
# codecov:
# # Must run after 'tests' job above
# needs: tests
# # Only run on the upstream repository: forks do not have the CODECOV_TOKEN secret,
# # and Codecov refuses to create a commit on a protected branch without a token.
# if: github.repository == 'dspace/dspace-angular'
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v4

# uses: actions/checkout@v6
#
# # Download artifacts from previous 'tests' job
# - name: Download coverage artifacts
# uses: actions/download-artifact@v4

# uses: actions/download-artifact@v8
#
# # Now attempt upload to Codecov using its action.
# # NOTE: We use a retry action to retry the Codecov upload if it fails the first time.
# #
# # Retry action: https://github.com/marketplace/actions/retry-action
# # Codecov action: https://github.com/codecov/codecov-action
# - name: Upload coverage to Codecov.io
# uses: Wandalen/wretry.action@v1.3.0
# uses: Wandalen/wretry.action@v3.8.0
# with:
# action: codecov/codecov-action@v4
# # Ensure codecov-action throws an error when it fails to upload
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/codescan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ jobs:
steps:
# https://github.com/actions/checkout
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

# Initializes the CodeQL tools for scanning.
# https://github.com/github/codeql-action
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v4
with:
languages: javascript

# Autobuild attempts to build any compiled languages
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v4

# Perform GitHub Code Scanning.
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v4
121 changes: 120 additions & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,123 @@ jobs:
# Enable redeploy of sandbox & demo if the branch for this image matches the deployment branch of
# these sites as specified in reusable-docker-build.xml
REDEPLOY_SANDBOX_URL: ${{ secrets.REDEPLOY_SANDBOX_URL }}
REDEPLOY_DEMO_URL: ${{ secrets.REDEPLOY_DEMO_URL }}
REDEPLOY_DEMO_URL: ${{ secrets.REDEPLOY_DEMO_URL }}

#################################################################################
# Test Deployment via Docker to ensure newly built images are working properly
#################################################################################
docker-deploy:
# Ensure this job never runs on forked repos. It's only executed for 'dspace/dspace-angular'
if: github.repository == 'dspace/dspace-angular'
runs-on: ubuntu-latest
# Must run after all major images are built
needs: [dspace-angular, dspace-angular-dist]
env:
# Override default dspace.server.url & REST 'host' because backend starts at http://127.0.0.1:8080
dspace__P__server__P__url: http://127.0.0.1:8080/server
DSPACE_REST_HOST: 127.0.0.1
# Override default dspace.ui.url to also use 127.0.0.1.
dspace__P__ui__P__url: http://127.0.0.1:4000
# Override default ui.baseUrl to also use 127.0.0.1. This should match 'dspace.ui.url'.
DSPACE_UI_BASEURL: http://127.0.0.1:4000
steps:
# Checkout our codebase (to get access to Docker Compose scripts)
- name: Checkout codebase
uses: actions/checkout@v6
# Download Docker image artifacts (which were just built by reusable-docker-build.yml)
- name: Download Docker image artifacts
uses: actions/download-artifact@v8
with:
# Download all amd64 Docker images (TAR files) into the /tmp/docker directory
pattern: docker-image-*-linux-amd64
path: /tmp/docker
merge-multiple: true
# Load each of the images into Docker by calling "docker image load" for each.
# This ensures we are using the images just built & not any prior versions on DockerHub
- name: Load all downloaded Docker images
run: |
find /tmp/docker -type f -name "*.tar" -exec docker image load --input "{}" \;
docker image ls -a
# Start backend using our compose script in the codebase.
- name: Start backend in Docker
# MUST use docker.io as we don't have a copy of this backend image in our GitHub Action,
# and docker.io is the only public image. If we ever hit aggressive rate limits at DockerHub,
# we may need to consider making the 'ghcr.io' images public & switch this to 'ghcr.io'
env:
DOCKER_REGISTRY: docker.io
run: |
docker compose -f docker/docker-compose-rest.yml up -d
sleep 10
docker container ls
# Create a test admin account. Load test data from a simple set of AIPs as defined in cli.ingest.yml
# NOTE: Before creating test data, we wait for the backend to become responsive by requesting it every 10 sec.
# Timeout after 5 minutes. This is done to ensure the backend is fully initialized before we create test data.
- name: Load test data into Backend
run: |
timeout 5m wget --retry-connrefused -t 0 --waitretry=10 http://127.0.0.1:8080/server/api
docker compose -f docker/cli.yml run --rm dspace-cli create-administrator -e test@test.edu -f admin -l user -p admin -c en
docker compose -f docker/cli.yml -f docker/cli.ingest.yml run --rm dspace-cli
# Verify backend started successfully.
# 1. Make sure root endpoint is responding (check for dspace.name defined in docker-compose.yml)
# 2. Also check /collections endpoint to ensure the test data loaded properly (check for a collection name in AIPs)
- name: Verify backend is responding properly
run: |
result=$(wget -O- -q http://127.0.0.1:8080/server/api)
echo "$result"
echo "$result" | grep -oE "\"DSpace Started with Docker Compose\""
result=$(wget -O- -q http://127.0.0.1:8080/server/api/core/collections)
echo "$result"
echo "$result" | grep -oE "\"Dog in Yard\""
# Start production frontend using our compose script in the codebase.
- name: Start production frontend in Docker
# Specify the GHCR copy of the production frontend, so that we use the newly built image
env:
DOCKER_REGISTRY: ghcr.io
run: |
docker compose -f docker/docker-compose-dist.yml up -d
sleep 10
docker container ls
# Verify production frontend started successfully.
# 1. Make sure /home path has "DSpace software" (this is in the footer of the page)
# 2. Also check /community-list page lists one of the test Communities in the loaded test data
- name: Verify production frontend is responding properly
run: |
result=$(wget -O- -q http://127.0.0.1:4000/home)
echo "$result"
echo "$result" | grep -oE "\"DSpace software\""
- name: Error logs of production frontend (if error in startup)
if: ${{ failure() }}
run: |
docker compose -f docker/docker-compose-dist.yml logs
# Now shutdown the production frontend image and startup the development frontend image
- name: Shutdown production frontend
run: |
docker compose -f docker/docker-compose-dist.yml down
sleep 10
docker container ls
- name: Startup development frontend
# Specify the GHCR copy of the development frontend, so that we use the newly built image
env:
DOCKER_REGISTRY: ghcr.io
run: |
docker compose -f docker/docker-compose.yml up -d
sleep 10
docker container ls
# Verify development frontend started successfully.
# 1. First, keep requesting the frontend every 10 seconds to wait until its up. Timeout after 10 minutes.
# 2. Once it's responding, check to see if the word "DSpace" appears.
# We cannot check for anything more specific because development mode doesn't have SSR.
- name: Verify development frontend is responding properly
run: |
timeout 10m wget --retry-connrefused -t 0 --waitretry=10 http://127.0.0.1:4000
result=$(wget -O- -q http://127.0.0.1:4000)
echo "$result"
echo "$result" | grep -oE "DSpace"
- name: Error logs of development frontend (if error in startup)
if: ${{ failure() }}
run: |
docker compose -f docker/docker-compose.yml logs
# Shutdown our containers
- name: Shutdown running Docker containers
run: |
docker compose -f docker/docker-compose.yml -f docker/docker-compose-rest.yml down
2 changes: 1 addition & 1 deletion .github/workflows/issue_opened.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
# Only add to project board if issue is flagged as "needs triage" or has no labels
# NOTE: By default we flag new issues as "needs triage" in our issue template
if: (contains(github.event.issue.labels.*.name, 'needs triage') || join(github.event.issue.labels.*.name) == '')
uses: actions/add-to-project@v1.0.0
uses: actions/add-to-project@v1.0.2
# Note, the authentication token below is an ORG level Secret.
# It must be created/recreated manually via a personal access token with admin:org, project, public_repo permissions
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#permissions-for-the-github_token
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/port_merged_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ jobs:
if: github.event.pull_request.merged
steps:
# Checkout code
- uses: actions/checkout@v4
- uses: actions/checkout@v6
# Port PR to other branch (ONLY if labeled with "port to")
# See https://github.com/korthout/backport-action
- name: Create backport pull requests
uses: korthout/backport-action@v2
uses: korthout/backport-action@v4
with:
# Trigger based on a "port to [branch]" label on PR
# (This label must specify the branch name to port to)
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull_request_opened.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ jobs:
# Assign the PR to whomever created it. This is useful for visualizing assignments on project boards
# See https://github.com/toshimaru/auto-author-assign
- name: Assign PR to creator
uses: toshimaru/auto-author-assign@v2.1.0
uses: toshimaru/auto-author-assign@v3.0.1
22 changes: 15 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,28 +1,36 @@
# This image will be published as dspace/dspace-angular
# See https://github.com/DSpace/dspace-angular/tree/main/docker for usage details

FROM docker.io/node:18-alpine
FROM docker.io/node:22-alpine

# Ensure Python and other build tools are available
# These are needed to install some node modules, especially on linux/arm64
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*

WORKDIR /app
ADD . /app/
EXPOSE 4000

# Copy over package files first, so this layer will only be rebuilt if those files change.
COPY package.json yarn.lock ./

# We run yarn install with an increased network timeout (5min) to avoid "ESOCKETTIMEDOUT" errors from hub.docker.com
# See, for example https://github.com/yarnpkg/yarn/issues/5540
RUN yarn install --network-timeout 300000

# Add the rest of the source code
COPY . /app/

# When running in dev mode, 4GB of memory is required to build & launch the app.
# This default setting can be overridden as needed in your shell, via an env file or in docker-compose.
# See Docker environment var precedence: https://docs.docker.com/compose/environment-variables/envvars-precedence/
ENV NODE_OPTIONS="--max_old_space_size=4096"

# On startup, run in DEVELOPMENT mode (this defaults to live reloading enabled, etc).
# Listen / accept connections from all IP addresses.
# NOTE: At this time it is only possible to run Docker container in Production mode
# if you have a public URL. See https://github.com/DSpace/dspace-angular/issues/1485
ENV NODE_ENV=development
CMD yarn serve --host 0.0.0.0

EXPOSE 4000

# On startup, run this command to start application in dev mode
ENTRYPOINT [ "yarn", "serve" ]
# By default set host to 0.0.0.0 to listen/accept connections from all IP addresses.
# Poll for changes every 5 seconds (if any detected, app will rebuild/restart)
CMD ["--host 0.0.0.0", "--poll 5000"]
Loading
Loading