Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1498 commits
Select commit Hold shift + click to select a range
66cdc97
server.ts: remove invalid host fallback
alanorth Aug 9, 2025
65cd1df
server.ts: remove port fallback
alanorth Aug 9, 2025
42419d1
Merge pull request #4714 from DSpace/backport-4636-to-dspace-7_x
tdonohue Sep 10, 2025
7154bc0
Merge pull request #4717 from DSpace/backport-4634-to-dspace-7_x
tdonohue Sep 10, 2025
2c4790c
Merge pull request #4701 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
a361315
Merge pull request #4705 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
50123ad
Merge pull request #4703 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
b97f02e
Merge pull request #4704 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 12, 2025
ab53a7e
Merge pull request #4702 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 12, 2025
92ffac6
Merge pull request #4369 from atmire/w2p-130679_fix-back-button-on-gr…
alanorth Sep 15, 2025
15525b5
src/app: use correct icon in item mapper
alanorth Sep 19, 2025
d2458e6
Small improvements
ybnd Sep 19, 2025
1a1669c
Merge remote-tracking branch 'ybnd/cache-bust-dynamic-configuration-7…
ybnd Sep 19, 2025
d4c8ad0
Refactored code to pass down whether they are injected in the code th…
alexandrevryghem Sep 16, 2025
d6c4dad
Merge pull request #4730 from alanorth/collection-mapper-trash-icon-7x
tdonohue Sep 22, 2025
28ed706
Merge pull request #4641 from dataquest-dev/update-czech-translations
tdonohue Oct 13, 2025
aea7e7b
Merge pull request #4638 from dataquest-dev/csr-namespace-rendering
tdonohue Oct 13, 2025
4e0a356
132284: Merge remote-tracking branch 'origin/dspace-7_x' into 'w2p-13…
Oct 30, 2025
231da9c
132284: Reset pagination button state when navigating away from the s…
Oct 30, 2025
b54b6aa
Bump core-js from 3.45.1 to 3.46.0
dependabot[bot] Nov 1, 2025
1f8c9a1
Bump axios from 1.11.0 to 1.13.1
dependabot[bot] Nov 1, 2025
04d2d86
Bump sass from 1.92.1 to 1.93.2 in the sass group
dependabot[bot] Nov 1, 2025
cb34717
Bump isbot from 5.1.30 to 5.1.31
dependabot[bot] Nov 3, 2025
7da01d8
fix 4241 language selection
Nov 4, 2025
9aacba6
132284: Reset pagination on reset
Nov 7, 2025
1665bb5
Merge pull request #4749 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Nov 10, 2025
dfd4f7f
Merge pull request #4750 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Nov 10, 2025
2429699
Merge pull request #4798 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Nov 10, 2025
709f59e
removed references to X.509 authentication method
nwoodward Nov 18, 2025
7af431f
Merge pull request #4827 from DSpace/backport-4824-to-dspace-7_x
tdonohue Nov 18, 2025
0bb385b
src/app/shared/search: use nofollow for facet links
alanorth Nov 19, 2025
323e18b
136225: Add noindex robots meta tag for non-discoverable items
Nov 19, 2025
6d46dfa
Merge pull request #4832 from alanorth/no-follow-7x
tdonohue Nov 19, 2025
c46da88
Merge pull request #4837 from atmire/w2p-136225_fix-upstream-private-…
tdonohue Nov 19, 2025
53fd6dc
fix script source file access
FrancescoMolinaro Nov 19, 2025
eb23e8c
Merge pull request #4846 from DSpace/backport-4841-to-dspace-7_x
tdonohue Nov 21, 2025
ab3118f
Merge branch 'w2p-134319_escape-html-tags_contribute-7.6' into backpo…
bram-maegerman Nov 24, 2025
e1dade8
134319: Renamed injectedAsHTML to escapeHTML
alexandrevryghem Oct 23, 2025
b727098
Bump csstype from 3.1.3 to 3.2.3
dependabot[bot] Nov 24, 2025
78295dc
Bump js-yaml from 4.1.0 to 4.1.1
dependabot[bot] Nov 24, 2025
927f01f
Bump eslint-plugin-jsonc from 2.20.1 to 2.21.0 in the eslint group
dependabot[bot] Nov 24, 2025
3a9d93d
Bump the testing group with 2 updates
dependabot[bot] Nov 24, 2025
a1dd99d
Merge pull request #4797 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 24, 2025
ea21ee1
Merge pull request #4861 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 25, 2025
4017440
Bump isbot from 5.1.31 to 5.1.32
dependabot[bot] Nov 25, 2025
8998ced
Merge pull request #4793 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 25, 2025
a655f28
Merge pull request #4795 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 25, 2025
3c1cb49
Bump axios from 1.13.1 to 1.13.2
dependabot[bot] Nov 25, 2025
85ad0f4
Bump @types/lodash from 4.17.20 to 4.17.21
dependabot[bot] Dec 1, 2025
3c9e6f3
Bump core-js from 3.46.0 to 3.47.0
dependabot[bot] Dec 1, 2025
5db8ce3
Bump sass from 1.93.3 to 1.94.0 in the sass group
dependabot[bot] Dec 1, 2025
4b8828e
[DURACOM-380] backporting
FrancescoMolinaro Dec 1, 2025
0fff592
[DURACOM-390] set up guard routing module
FrancescoMolinaro Dec 1, 2025
ae4dadf
fix circular find Eperson request
Nov 10, 2025
7271692
Merge pull request #4905 from atmire/fix-4241-language-selection-cont…
tdonohue Dec 3, 2025
28c745e
Merge pull request #4901 from 4Science/task/dspace-7_x/DURACOM-390
tdonohue Dec 3, 2025
c068090
Merge pull request #4896 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
0d79b76
Merge pull request #4859 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
eaac906
Merge pull request #4858 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
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
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
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
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
ee7ac38
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
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
3b73476
Merge pull request #4951 from tdonohue/sync_i18n_7x
tdonohue Dec 16, 2025
c55b2de
Update version tag for release
tdonohue Dec 17, 2025
dc1724f
Update version tag for development of next release
tdonohue Dec 17, 2025
5f27668
Merge remote-tracking branch 'origin/dspace-7_x' into cache-bust-dyna…
ybnd Nov 24, 2025
e96df41
Bump express from 4.21.2 to 4.22.1
dependabot[bot] Jan 1, 2026
2c043d3
Fix docker network inconsistencies in compose files
tdonohue Jan 8, 2026
2e7ea74
Minor cleanup to production Dockerfile. Update to Node v22. Add inlin…
tdonohue Jan 8, 2026
65f8de8
Minor cleanup to Dockerfile. Update to Node v22. Create a staged buil…
tdonohue Jan 8, 2026
b6b6d06
Update production docker compose scripts to correct SSR configuration…
tdonohue Jan 9, 2026
b75a368
Remove unnecessary tty/stdin_open settings from several Docker Compos…
tdonohue Jan 9, 2026
80fcab6
Enable automatic reloading by mounting local 'src' directory and pass…
tdonohue Jan 9, 2026
c48dd65
Enhance README to better describe image differences
tdonohue Jan 12, 2026
ea549c3
Add basic Docker deployment tests in GitHub actions to verify that Do…
tdonohue Jan 12, 2026
d27e86f
Merge pull request #4996 from tdonohue/port_4987_to_7x
tdonohue Jan 13, 2026
69d2b3d
Default the backend image to always be pulled from docker.io
tdonohue Jan 21, 2026
9ea67fb
Merge pull request #5019 from tdonohue/port_5016_to_7x
tdonohue Jan 21, 2026
a49bcd1
Make sure authentication methods are retrieved if token is invalid bu…
ybnd Aug 28, 2025
653d54a
Merge pull request #5022 from DSpace/backport-4663-to-dspace-7_x
tdonohue Jan 22, 2026
e609a32
Merge pull request #4504 from atmire/w2p-132284_fix-issue4500-hierarc…
tdonohue Jan 22, 2026
b3c816c
134983: new funnel icon in search scope
bram-maegerman Jan 22, 2026
655e9ac
Merge pull request #5036 from tdonohue/port_4767_to_7x
tdonohue Jan 22, 2026
b636961
Bump @babel/runtime from 7.28.4 to 7.28.6
dependabot[bot] Feb 1, 2026
fd06e5b
Bump lodash and @types/lodash
dependabot[bot] Feb 1, 2026
73260ea
backport DSpace 7: Improve community list e2e tests
oscar-escire Feb 7, 2026
6cefee7
Merge pull request #5092 from oscar-escire/Issue/3989-dspace-7_x
tdonohue Feb 9, 2026
b4b1458
Backport [#9814] Fix Only show authorized communities/collections in …
im-shubham-vish Sep 18, 2025
2f993a6
Implement authorization query methods in item/colection/community dat…
toniprieto Dec 4, 2025
6b04046
Adapt DSO selectors to use new authorization methods
toniprieto Dec 4, 2025
d0e4ca5
Fix required permissions for edit-collection-selector and edit-commun…
toniprieto Dec 12, 2025
ab59b05
Merge pull request #5123 from toniprieto/find-authorized-endpoints-7x
tdonohue Feb 18, 2026
4143a13
chore: update Cypress section in README.md
MMilosz Feb 24, 2026
35e4e70
Merge pull request #5155 from DSpace/backport-5154-to-dspace-7_x
tdonohue Feb 24, 2026
08a91b4
Bump isbot from 5.1.32 to 5.1.35
dependabot[bot] Feb 27, 2026
5b9fdad
Bump Wandalen/wretry.action from 1.3.0 to 3.8.0
dependabot[bot] Feb 27, 2026
db830e8
Bump korthout/backport-action from 2 to 4
dependabot[bot] Feb 27, 2026
18867d1
Bump actions/add-to-project from 1.0.0 to 1.0.2
dependabot[bot] Feb 27, 2026
22a1969
Bump actions/setup-node from 4 to 6
dependabot[bot] Feb 27, 2026
5edb6a7
Bump actions/cache from 4 to 5
dependabot[bot] Feb 27, 2026
9375865
Bump the testing group across 1 directory with 2 updates
dependabot[bot] Feb 28, 2026
0c57722
Bump sass from 1.94.2 to 1.97.1 in the sass group
dependabot[bot] Feb 28, 2026
8ac172c
fix: distortion of community/collection logo
PawelZlakowski Jan 19, 2026
e1c79aa
Merge pull request #5214 from DSpace/backport-5005-to-dspace-7_x
tdonohue Mar 2, 2026
8438cc4
Add dont-break-out class to file section metadata table to prevent co…
jr-rk Mar 3, 2026
bd95446
Merge pull request #5222 from dataquest-dev/fix_bitstream_text_overfl…
tdonohue Mar 3, 2026
12ce05a
Merge pull request #5192 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 3, 2026
6c1ddd7
Merge pull request #5189 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 3, 2026
d92b866
Merge pull request #5187 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 3, 2026
27d4ff6
Merge pull request #5066 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 4, 2026
85cd0bf
Merge pull request #4971 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 4, 2026
e5bcfe0
Merge pull request #5073 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 4, 2026
a8f4659
Merge pull request #5175 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 4, 2026
37ae83f
Merge pull request #4972 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 4, 2026
ab1865f
Bump eslint-plugin-jsonc from 2.21.0 to 2.21.1 in the eslint group
dependabot[bot] Mar 4, 2026
aaf8c14
Bump @types/lodash from 4.17.23 to 4.17.24
dependabot[bot] Mar 4, 2026
07599eb
Bump sortablejs from 1.15.6 to 1.15.7
dependabot[bot] Mar 4, 2026
b630df6
Bump axios from 1.13.2 to 1.13.5
dependabot[bot] Mar 4, 2026
2e84ba0
Merge pull request #5184 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 5, 2026
fabc15f
Merge pull request #5186 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 5, 2026
33ab3f0
Merge pull request #5174 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 5, 2026
6e13fdb
Merge pull request #5236 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 5, 2026
93ee549
Merge pull request #5240 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 5, 2026
d3306a8
Bump actions/download-artifact from 4 to 8
dependabot[bot] Mar 5, 2026
5e040f4
Bump actions/upload-artifact from 4 to 7
dependabot[bot] Mar 5, 2026
01941f4
Bump toshimaru/auto-author-assign from 2.1.0 to 3.0.1
dependabot[bot] Mar 5, 2026
6e6fcac
Merge pull request #5254 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 6, 2026
fe4ea60
Merge pull request #5234 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 6, 2026
806b320
Bump sanitize-html from 2.17.0 to 2.17.1
dependabot[bot] Mar 6, 2026
2f89194
Merge pull request #5253 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 6, 2026
e041073
Merge pull request #5251 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 6, 2026
0318298
Bump actions/checkout from 4 to 6
dependabot[bot] Mar 6, 2026
a4ac7b0
Merge pull request #5252 from DSpace/dependabot/github_actions/dspace…
tdonohue Mar 6, 2026
84b3454
Merge pull request #5064 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 9, 2026
f538fe6
Merge pull request #5239 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Mar 9, 2026
d4ecf5e
Fix current parent order when creating subcommunity
jesielviana Jul 23, 2025
0ac2883
Merge pull request #5270 from DSpace/backport-5269-to-dspace-7_x
tdonohue Mar 10, 2026
e2ecaea
Update all Docker Compose scripts to allow for environment variable o…
tdonohue Mar 13, 2026
8723aa9
Merge pull request #5284 from tdonohue/port_5280_to_7x
tdonohue Mar 13, 2026
2450d45
Ensure we are no longer using/trusting "Host" HTTP Header. Require se…
tdonohue Mar 11, 2026
b5de3eb
Update Docker Compose production script to specify UI's baseUrl as lo…
tdonohue Mar 11, 2026
83217e3
Fix issue where ui.baseUrl cannot be overridden in environment variab…
tdonohue Mar 12, 2026
d42b954
backport PR 5053 to Dspace 7.x
oscar-escire Mar 25, 2026
82d58e0
Merge pull request #5309 from oscar-escire/Issue/2672-DSpace-7.x
tdonohue Mar 25, 2026
270b80d
Bump ng-mocks from 14.15.1 to 14.15.2 in the testing group
dependabot[bot] Apr 1, 2026
ae4624f
Bump docker/login-action from 3 to 4
dependabot[bot] Apr 1, 2026
f18656a
Bump isbot from 5.1.35 to 5.1.36
dependabot[bot] Apr 1, 2026
dfa99ee
Bump react-copy-to-clipboard from 5.1.0 to 5.1.1
dependabot[bot] Apr 1, 2026
5131c56
Bump core-js from 3.47.0 to 3.49.0
dependabot[bot] Apr 1, 2026
620cd74
Remove axios dependency
alanorth Apr 1, 2026
cc282d4
Merge pull request #5379 from alanorth/remove-axios-dspace-7x
tdonohue Apr 1, 2026
348edcd
Merge pull request #5350 from DSpace/dependabot/github_actions/dspace…
tdonohue Apr 6, 2026
19df013
Merge pull request #5288 from tdonohue/port_5276_to_7_x
tdonohue Apr 6, 2026
c570e6f
Merge pull request #5355 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 6, 2026
d577ef8
Merge pull request #5348 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 6, 2026
5d1b33f
Merge pull request #5352 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 7, 2026
88c06f4
webpack/helpers.ts: Use node:crypto instead of third-party md5
alanorth Apr 7, 2026
b1cb8bf
Merge pull request #5415 from DSpace/backport-5413-to-dspace-7_x
tdonohue Apr 7, 2026
ec5c6fc
Bump axe-core from 4.11.1 to 4.11.2 in the testing group
dependabot[bot] Apr 7, 2026
297be0f
Bump isbot from 5.1.36 to 5.1.37
dependabot[bot] Apr 7, 2026
86359a5
Bump postcss from 8.5.6 to 8.5.8 in the postcss group
dependabot[bot] Apr 7, 2026
2e957aa
Bump sass from 1.97.3 to 1.98.0 in the sass group
dependabot[bot] Apr 7, 2026
0d2a0de
Merge pull request #5349 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 8, 2026
d8cbf5e
Merge pull request #5351 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 8, 2026
3cb1166
Merge pull request #5428 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 8, 2026
2b85905
Remove unused @babel/runtime dependency
tdonohue Apr 8, 2026
e58513d
Remove unused webpack-dev-server dependency
tdonohue Apr 8, 2026
c92fc8c
Remove unused @angular/language-service dependency
tdonohue Apr 8, 2026
7d3f69e
Merge pull request #5448 from tdonohue/port_4738_to_7x
tdonohue Apr 8, 2026
bd7fca7
Bump sanitize-html and @types/sanitize-html
dependabot[bot] Apr 8, 2026
48b90c1
Merge pull request #5430 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 8, 2026
c65d8a9
Merge pull request #5429 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 8, 2026
26a6b51
Merge pull request #5356 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Apr 8, 2026
1437f3c
disable the browser's autocomplete on the script select as it will ov…
artlowel Apr 16, 2026
23a8b97
Merge pull request #3993 from ybnd/cache-bust-dynamic-configuration-7.6
tdonohue Apr 17, 2026
d0e0a44
Merge pull request #5508 from DSpace/backport-5507-to-dspace-7_x
tdonohue Apr 17, 2026
cc25563
Ensure docker-deploy waits for the backend to fully initialize before…
tdonohue Apr 20, 2026
b9d53e1
Merge pull request #5512 from tdonohue/port_5509_to_7x
tdonohue Apr 20, 2026
a9ecc6e
Update item-edit e2e tests to ensure we wait on tabs to load before t…
tdonohue Apr 10, 2026
bd056ab
Merge pull request #5520 from DSpace/backport-5518-to-dspace-7_x
tdonohue Apr 21, 2026
21bbf27
fix(i18n): correct article usage in dso-selector placeholder (fixes #…
MukundaKatta Apr 22, 2026
7923d05
Merge pull request #5535 from DSpace/backport-5530-to-dspace-7_x
tdonohue Apr 23, 2026
10f36f6
Bump github/codeql-action from 3 to 4
dependabot[bot] May 1, 2026
9ec00ee
Bump cypress-io/github-action from 6 to 7.1.9
dependabot[bot] May 1, 2026
9ec6592
Bump axe-core from 4.11.2 to 4.11.3 in the testing group
dependabot[bot] May 1, 2026
39b246c
Bump sass from 1.98.0 to 1.99.0 in the sass group
dependabot[bot] May 1, 2026
3276ff3
Bump lodash from 4.17.23 to 4.18.1
dependabot[bot] May 1, 2026
b60f9b9
Bump isbot from 5.1.37 to 5.1.39
dependabot[bot] May 1, 2026
af08c7d
Bump node-html-parser from 7.0.1 to 7.1.0
dependabot[bot] May 1, 2026
5b3ae9e
Disable "aria-required-children" accessibility check on the Item Edit…
tdonohue May 1, 2026
bb5748a
Merge pull request #5599 from DSpace/backport-5598-to-dspace-7_x
tdonohue May 1, 2026
4a7efe5
Merge pull request #5560 from DSpace/dependabot/github_actions/dspace…
tdonohue May 1, 2026
a441f88
Merge pull request #5559 from DSpace/dependabot/github_actions/dspace…
tdonohue May 1, 2026
3fcd144
Merge pull request #5561 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 1, 2026
4c71041
Bump sanitize-html from 2.17.2 to 2.17.3
dependabot[bot] May 1, 2026
f387ae0
Bump postcss in the postcss group across 1 directory
dependabot[bot] May 4, 2026
3284b58
Merge pull request #5566 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 4, 2026
d0beec7
Merge pull request #5565 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 4, 2026
297f087
Merge pull request #5567 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 4, 2026
ea19d1f
Merge pull request #5563 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 4, 2026
8efaaaa
Merge pull request #5562 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 5, 2026
107d954
Merge pull request #5564 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 5, 2026
fde7348
[DURACOM-387] fix scripts dropdown not loading new elements while zoo…
Jul 24, 2025
71f5202
given height and scroll on absolute in mobile view
GauravD2t Jun 24, 2025
e415d71
change height to 100%
GauravD2t Mar 16, 2026
ae28968
Merge pull request #5624 from DSpace/backport-4578-to-dspace-7_x
tdonohue May 6, 2026
84eeff9
Merge pull request #5627 from DSpace/backport-4505-to-dspace-7_x
tdonohue May 6, 2026
3ea4944
fix an issue where search facets wouldn't open in safari
artlowel May 8, 2026
f2819b4
fix: improve contrast on homepage credits text (fixes #5487)
ShivaniNR Apr 25, 2026
540fbaf
Merge pull request #5642 from DSpace/backport-5548-to-dspace-7_x
tdonohue May 12, 2026
712ca87
Merge pull request #5638 from atmire/fix-safari-animations-7.x
tdonohue May 12, 2026
34ad784
QREPO-406 Only attempt the login on the upstream repository: dspace/d…
kanasznagyzoltan May 14, 2026
85f125a
QREPO-406 use ghcr.io only on the upstream reposity: dspace/dspace-an…
kanasznagyzoltan May 14, 2026
2fe388b
QREPO-406 running codecov only in the upstream repository: dspace/dsp…
kanasznagyzoltan May 14, 2026
ac91898
Merge pull request #5664 from tdonohue/port_5661_to_7x
tdonohue May 15, 2026
cd68b1a
fix #5544: enlarge dropdown for external source import
guillermo-escire May 4, 2026
29fdb39
Merge pull request #5669 from DSpace/backport-5622-to-dspace-7_x
tdonohue May 15, 2026
96d2796
Fix #5332: Fix inconsistent rendering of <em> tag in system-wide aler…
guillermo-escire Mar 31, 2026
2e6896b
Merge pull request #5679 from DSpace/backport-5343-to-dspace-7_x
tdonohue May 18, 2026
9d9d8f7
[DURACOM-485] fix app/health issue
FrancescoMolinaro May 18, 2026
c91bae4
Merge pull request #5684 from 4Science/task/dspace-7_x/DURACOM-485
tdonohue May 20, 2026
2efb7ac
Bump axe-core from 4.11.3 to 4.11.4 in the testing group
dependabot[bot] May 20, 2026
366042d
Bump postcss from 8.5.12 to 8.5.14 in the postcss group
dependabot[bot] May 20, 2026
a87be8a
Bump sanitize-html from 2.17.3 to 2.17.4
dependabot[bot] May 20, 2026
6a71717
Bump express from 4.22.1 to 4.22.2
dependabot[bot] May 20, 2026
f995c38
Changed ActionType.DELETE enum value to 'OBSOLETE (DELETE)' internall…
GauravD2t May 21, 2026
16312d7
Merge pull request #5719 from GauravD2t/backport-4484-to-dspace-7_x
tdonohue May 21, 2026
f427ce1
[Port dspace-7_x] Fix browse-by pages sending unnecessary request to …
oscar-escire May 22, 2026
fb19b18
Merge pull request #5724 from oscar-escire/Issue/3572-DSpace-7.x
tdonohue May 22, 2026
4840fb4
Merge pull request #5698 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 22, 2026
fb6f378
Merge pull request #5694 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 22, 2026
b887928
Merge pull request #5697 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 22, 2026
ef816c9
Merge pull request #5693 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue May 26, 2026
b3e8c69
Resync all i18n files for next release
tdonohue May 27, 2026
c372fa1
Update version tag for release
tdonohue May 27, 2026
c08c189
Upgrade vanilla base 7.6.5 -> 7.6.7 (diff-apply two-parent merge)
milanmajchrak Jul 21, 2026
0bef214
Fix FE blockers: pin sanitize-html to vanilla 2.17.4, align locale specs
milanmajchrak Jul 30, 2026
c1bc451
Pin sanitize-html to 2.17.5 rather than 2.17.4
milanmajchrak Jul 30, 2026
8884b9f
Require DSPACE_UI_BASEURL in the deploy compose
milanmajchrak Aug 3, 2026
ff96c2c
Restore vanilla's locale service (D7) and default the UI base URL to …
milanmajchrak Aug 3, 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
15 changes: 8 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,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 @@ -59,11 +60,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 @@ -88,7 +89,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 All @@ -115,7 +116,7 @@ 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 }}
Expand All @@ -134,7 +135,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 @@ -149,7 +150,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 @@ -158,7 +159,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
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
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
15 changes: 8 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
# 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
RUN apk add tzdata
RUN yarn build:prod
RUN npm install pm2 -g
EXPOSE 4000
CMD /bin/sh -c "pm2-runtime start docker/dspace-ui.json > /dev/null 2> /dev/null"

27 changes: 21 additions & 6 deletions Dockerfile.dist
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,46 @@
# Test build:
# docker build -f Dockerfile.dist -t dspace/dspace-angular:dspace-7_x-dist .

FROM docker.io/node:18-alpine AS build
# Step 1 - Build code for production
FROM docker.io/node:22-alpine AS build

# 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

# Copy over package files first, so this layer will only be rebuilt if those files change.
COPY package.json yarn.lock ./
RUN yarn install --network-timeout 300000

ADD . /app/

# Set memory limit for build process - Angular builds require more memory
# Around 4GB of memory is required to build the app for production.
# 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"

COPY . /app/
RUN yarn build:prod

FROM node:18-alpine
# Step 2 - Start up UI via PM2
FROM docker.io/node:22-alpine

# Install PM2
RUN npm install --global pm2

# Copy pre-built code from build image
COPY --chown=node:node --from=build /app/dist /app/dist
# Copy configs and PM2 startup script from local machine
COPY --chown=node:node config /app/config
COPY --chown=node:node docker/dspace-ui.json /app/dspace-ui.json

# Start up UI in PM2 in production mode
WORKDIR /app
USER node
ENV NODE_ENV=production
EXPOSE 4000
CMD ["pm2-runtime", "start", "dspace-ui.json", "--json"]

# On startup, run start the DSpace UI in PM2
ENTRYPOINT [ "pm2-runtime", "start", "dspace-ui.json" ]
# By default, pass param that specifies to use JSON format logs.
CMD ["--json"]
28 changes: 28 additions & 0 deletions README-dtq.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,34 @@ DSPACE_NAMESPACE # The namespace of the angular application
DSPACE_SSL # Whether the angular application uses SSL [true/false]
```

**Required since 7.6.7 - the public UI URL:**

```bash
UI_URL # Public URL this UI answers on, e.g. https://lindat.example.org/repository
DSPACE_UI_BASEURL # Optional override; defaults to UI_URL
```

`ui.baseUrl` used to be derived from `DSPACE_HOST`/`DSPACE_PORT`/`DSPACE_SSL`. 7.6.7 replaced that with a
hardcoded `http://localhost:4000` default and dropped the Host-header trust, so those variables no longer
affect it. Note this was never a *working* public URL in Docker either - the compose file pins
`DSPACE_UI_HOST: dspace-angular`, so the derived value used to be `http://dspace-angular:4000/`. The change is
that a wrong value is now the same wrong value everywhere instead of an internal hostname.

It matters because `ui.baseUrl` feeds more than it looks: legacy `/bitstream/handle/...` 301 redirects, the
`robots.txt` `Sitemap:` line, and the Google Scholar `citation_pdf_url` / `citation_abstract_html_url` meta
tags on every item page. All of them fail silently, with no log line.

`UI_URL` already existed in the env files and already feeds the backend's `dspace.ui.url`
(`docker-compose-rest.yml`, `cli.yml`) - the two are meant to be the same value, which is exactly what
`config.example.yml` says about `ui.baseUrl`. `docker/docker-compose.yml` therefore defaults
`DSPACE_UI_BASEURL` to `UI_URL`, and refuses to start if neither is set.

> **If the UI is served under a namespace** (e.g. `/repository`), set `DSPACE_UI_NAMESPACE` to the same path
> that appears in `UI_URL`. They are independent settings with no cross-check, and the legacy-bitstream
> redirect builds its target from `nameSpace + route` resolved against `baseUrl` - so a namespaced `UI_URL`
> with `DSPACE_UI_NAMESPACE` left at `/` produces a URL without the prefix, i.e. a 404 on every legacy
> citation link.

All other settings can be set using the following convention for naming the environment variables:

1. replace all `.` with `_`
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ If you run into odd test errors, see the Angular guide to debugging tests: https

E2E tests (aka integration tests) use [Cypress.io](https://www.cypress.io/). Configuration for cypress can be found in the `cypress.json` file in the root directory.

The test files can be found in the `./cypress/integration/` folder.
The test files can be found in the `./cypress/e2e/` folder.

Before you can run e2e tests, two things are REQUIRED:
1. You MUST be running the DSpace backend (i.e. REST API) locally. The e2e tests will *NOT* succeed if run against our demo/sandbox REST API (https://demo.dspace.org/server/ or https://sandbox.dspace.org/server/), as those sites may have content added/removed at any time.
Expand Down Expand Up @@ -313,7 +313,7 @@ The `ng e2e` command will start Cypress and allow you to select the browser you

#### Writing E2E Tests

All E2E tests must be created under the `./cypress/integration/` folder, and must end in `.spec.ts`. Subfolders are allowed.
All E2E tests must be created under the `./cypress/e2e/` folder, and must end in `.spec.ts`. Subfolders are allowed.

* The easiest way to start creating new tests is by running `ng e2e`. This builds the app and brings up Cypress.
* From here, if you are editing an existing test file, you can either open it in your IDE or run it first to see what it already does.
Expand Down Expand Up @@ -392,9 +392,9 @@ dspace-angular
├── config *
│ └── config.yml * Default app config
├── cypress * Folder for Cypress (https://cypress.io/) / e2e tests
│ ├── downloads *
│ ├── fixtures * Folder for e2e/integration test files
│ ├── integration * Folder for any fixtures needed by e2e tests
│ ├── downloads * (Optional) Folder for files downloaded during e2e tests
│ ├── e2e * Folder for e2e/integration test files
│ ├── fixtures * Folder for reusable static test data (JSON, images, etc.)
│ ├── plugins * Folder for Cypress plugins (if any)
│ ├── support * Folder for global e2e test actions/commands (run for all tests)
│ └── tsconfig.json * TypeScript configuration file for e2e tests
Expand Down
1 change: 1 addition & 0 deletions build-scripts/run/envs/.local
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DSPACE_UI_HOST=0.0.0.0
DSPACE_UI_IMAGE=dspace-angular
UI_URL=http://localhost:4000
7 changes: 7 additions & 0 deletions config/config.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ ui:
ssl: false
host: localhost
port: 4000
# Specify the public URL that this user interface responds to. This corresponds to the "dspace.ui.url" property in your backend's local.cfg.
# The baseUrl is used for redirects and SEO links (in robots.txt).
baseUrl: http://localhost:4000
# NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
nameSpace: /
# The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
Expand Down Expand Up @@ -84,6 +87,9 @@ cache:
# NOTE: When updates are made to compiled *.js files, it will automatically bypass this browser cache, because
# all compiled *.js files include a unique hash in their name which updates when content is modified.
control: max-age=604800 # revalidate browser
# These static files should not be cached (paths relative to dist/browser, including the leading slash)
noCacheFiles:
- '/index.html'
autoSync:
defaultTime: 0
maxBufferSize: 100
Expand Down Expand Up @@ -379,6 +385,7 @@ themes:
# - name: BASE_THEME_NAME
#
- name: dspace
prefetch: true
headTags:
- tagName: link
attributes:
Expand Down
80 changes: 80 additions & 0 deletions cypress/e2e/community-list.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,86 @@ import { testA11y } from 'cypress/support/utils';

describe('Community List Page', () => {

function validateHierarchyLevel(currentLevel = 1): void {
// Find all <cdk-tree-node> elements with the current aria-level
cy.get(`ds-community-list cdk-tree-node.expandable-node[aria-level="${currentLevel}"]`).should('exist').then(($nodes) => {
let sublevelExists = false;
cy.wrap($nodes).each(($node) => {
// Check if the current node has an expand button and click it
if ($node.find('[data-test="expand-button"]').length) {
sublevelExists = true;
cy.wrap($node).find('[data-test="expand-button"]').click();
}
}).then(() => {
// After expanding all buttons, validate if a sublevel exists
if (sublevelExists) {
const nextLevelSelector = `ds-community-list cdk-tree-node.expandable-node[aria-level="${currentLevel + 1}"]`;
cy.get(nextLevelSelector).then(($nextLevel) => {
if ($nextLevel.length) {
// Recursively validate the next level
validateHierarchyLevel(currentLevel + 1);
}
});
}
});
});
}

beforeEach(() => {
cy.visit('/community-list');

// <ds-community-list-page> tag must be loaded
cy.get('ds-community-list-page').should('be.visible');

// <ds-community-list-list> tag must be loaded
cy.get('ds-community-list').should('be.visible');
});

it('should expand community/collection hierarchy', () => {
// Execute Hierarchy levels validation recursively
validateHierarchyLevel(1);
});

it('should display community/collections name with item count', () => {
// Open every <cdk-tree-node>
cy.get('[data-test="expand-button"]').click({ multiple: true });
cy.wait(300);

// A first <cdk-tree-node> must be found and validate that <a> tag (community name) and <span> tag (item count) exists in it
cy.get('ds-community-list').find('cdk-tree-node.expandable-node').then(($nodes) => {
cy.wrap($nodes).each(($node) => {
cy.wrap($node).find('a').should('exist');
cy.wrap($node).find('span').should('exist');
});
});
});

it('should enable "show more" button when 20 top-communities or more are presents', () => {
cy.get('ds-community-list').find('cdk-tree-node.expandable-node[aria-level="1"]').then(($nodes) => {
//Validate that there are 20 or more top-community elements
if ($nodes.length >= 20) {
//Validate that "show more" button is visible and then click on it
cy.get('[data-test="show-more-button"]').should('be.visible');
} else {
cy.get('[data-test="show-more-button"]').should('not.exist');
}
});
});

it('should show 21 or more top-communities if click "show more" button', () => {
cy.get('ds-community-list').find('cdk-tree-node.expandable-node[aria-level="1"]').then(($nodes) => {
//Validate that there are 20 or more top-community elements
if ($nodes.length >= 20) {
//Validate that "show more" button is visible and then click on it
cy.get('[data-test="show-more-button"]').click();
cy.wait(300);
cy.get('ds-community-list').find('cdk-tree-node.expandable-node[aria-level="1"]').should('have.length.at.least', 21);
} else {
cy.get('[data-test="show-more-button"]').should('not.exist');
}
});
});

it('should pass accessibility tests', () => {
cy.visit('/community-list');

Expand Down
Loading
Loading