Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
512 commits
Select commit Hold shift + click to select a range
07d3c7a
Bump isbot from 5.1.28 to 5.1.29
dependabot[bot] Jul 29, 2025
2519bd4
Merge pull request #4595 from DSpace/dependabot/npm_and_yarn/dspace-8…
alanorth Jul 29, 2025
a7a543c
Merge pull request #4596 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 29, 2025
0988c41
fix(versioning): encode summary
jlipka May 16, 2025
60b0ffa
fix(versioning): encode summary
jlipka May 16, 2025
d919d25
Merge pull request #4587 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 30, 2025
add79e9
Merge pull request #4586 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Jul 30, 2025
e41f576
Merge pull request #4535 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 30, 2025
138be1c
Merge pull request #4534 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Jul 30, 2025
7f75ed4
Bump webpack-dev-server from 4.15.2 to 5.2.1
dependabot[bot] Jul 30, 2025
376a731
Bump webpack-dev-server from 4.15.2 to 5.2.1
dependabot[bot] Jul 30, 2025
18e2446
Merge pull request #4601 from DSpace/backport-4344-to-dspace-7_x
tdonohue Jul 30, 2025
355a76c
Merge pull request #4602 from DSpace/backport-4344-to-dspace-8_x
tdonohue Jul 30, 2025
065ad99
Merge pull request #4547 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Jul 30, 2025
88e18a3
Merge pull request #4542 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 30, 2025
9f03371
Merge pull request #4607 from DSpace-Labs/dependabot/npm_and_yarn/web…
tdonohue Jul 30, 2025
37d6c0d
Merge pull request #4609 from DSpace-Labs/dependabot/npm_and_yarn/web…
tdonohue Jul 30, 2025
e3284c6
Merge pull request #4604 from DSpace-Labs/dependabot/npm_and_yarn/vit…
tdonohue Jul 30, 2025
894f457
Bump @babel/runtime from 7.27.6 to 7.28.2
dependabot[bot] Jul 30, 2025
e92a96b
Merge pull request #4608 from DSpace-Labs/dependabot/npm_and_yarn/bab…
tdonohue Jul 30, 2025
5a5b934
Merge pull request #4605 from DSpace-Labs/dependabot/npm_and_yarn/bab…
tdonohue Jul 30, 2025
21d6c54
Bump @babel/runtime from 7.27.6 to 7.28.2
dependabot[bot] Jul 30, 2025
b2ab954
Updates French translations for 8.x
nimabehforouz Jul 31, 2025
414589e
Updates French translations for 7.x
nimabehforouz Jul 31, 2025
0a3ea23
Bump the webpack group across 1 directory with 2 updates
dependabot[bot] Jul 31, 2025
8164851
Bump webpack-dev-server from 5.2.1 to 5.2.2
dependabot[bot] Jul 31, 2025
721a7ae
Merge pull request #4613 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Aug 1, 2025
d6a39f2
Merge pull request #4618 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Aug 1, 2025
d98963c
Merge pull request #4588 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Aug 1, 2025
3f7d4ea
Merge pull request #4585 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Aug 1, 2025
318ba11
fix back button navigation after visiting a community or collection page
jesielviana Jul 16, 2025
ee9955b
Merge pull request #4630 from DSpace/backport-4550-to-dspace-8_x
tdonohue Aug 8, 2025
75c9112
Added rendering namespace when client side
milanmajchrak Aug 8, 2025
0a99de2
Added translations for untranslated czech messages
Aug 18, 2025
4ad1f6b
Update Czech translations for revised source messages
Aug 18, 2025
b4eaa90
Corrected Czech translations and added missing commas
Aug 18, 2025
4392a4b
.github/workflows/codescan.yml: use codeql-action v3
alanorth Aug 17, 2025
ae42acb
.github/workflows/codescan.yml: use codeql-action v3
alanorth Aug 17, 2025
9083be5
Merge pull request #4650 from DSpace/backport-4640-to-dspace-8_x
tdonohue Aug 20, 2025
a833ba3
Merge pull request #4649 from DSpace/backport-4640-to-dspace-7_x
tdonohue Aug 20, 2025
6515ec3
Merge pull request #4615 from nimabehforouz/translate-8x-fr
tdonohue Aug 28, 2025
f531415
Merge pull request #4616 from nimabehforouz/translate-7x-fr
tdonohue Aug 28, 2025
d96fc72
Added missing trailing comma
Sep 2, 2025
541a5da
Updated czech messages
milanmajchrak Sep 2, 2025
26df76f
Fixed more messages
milanmajchrak Sep 2, 2025
9b7b934
Fixed more messages
milanmajchrak Sep 3, 2025
4a67aa6
add untranslated i18n keys for ROR API
jesielviana Aug 6, 2025
61d3519
add in pt-BR file and remove form pt-PT
jesielviana Aug 6, 2025
010a50f
fix code style
jesielviana Aug 6, 2025
9c0b8cf
Merge pull request #4667 from tdonohue/port_4628_to_8x
tdonohue Sep 3, 2025
1ade043
Inspect event key characters, not keyCodes on tag keyUp
kshepherd Aug 30, 2025
86a18f3
Create dynamic tag test events with key chars, not keyCodes
kshepherd Aug 30, 2025
5414421
Inspect event key characters, not keyCodes on tag keyUp
kshepherd Aug 30, 2025
fb66397
Create dynamic tag test events with key chars, not keyCodes
kshepherd Aug 30, 2025
6071065
Merge pull request #4669 from DSpace/backport-4664-to-dspace-7_x
artlowel Sep 4, 2025
f8a7170
Merge pull request #4670 from DSpace/backport-4664-to-dspace-8_x
artlowel Sep 4, 2025
90a1ca6
7.x - Clear url parameters for entity search tabs (#2735)
Atmire-Kristof Sep 5, 2025
a836e54
Updated some messages
Sep 8, 2025
2414e9b
Updated forgotten message
Sep 8, 2025
8e0811a
Bump core-js from 3.44.0 to 3.45.1
dependabot[bot] Sep 8, 2025
039a613
Bump isbot from 5.1.29 to 5.1.30
dependabot[bot] Sep 8, 2025
eefd658
Bump @babel/runtime from 7.28.2 to 7.28.4
dependabot[bot] Sep 8, 2025
d771f88
Bump sass from 1.89.2 to 1.92.1 in the sass group
dependabot[bot] Sep 8, 2025
1cb278c
Bump cypress-axe from 1.6.0 to 1.7.0 in the testing group
dependabot[bot] Sep 8, 2025
b1bd60c
Bump cypress-axe from 1.6.0 to 1.7.0 in the testing group
dependabot[bot] Sep 8, 2025
fffbe2d
Bump core-js from 3.44.0 to 3.45.1
dependabot[bot] Sep 8, 2025
0a63a34
Bump sass from 1.89.2 to 1.92.1 in the sass group
dependabot[bot] Sep 8, 2025
57c75d0
Bump @babel/runtime from 7.28.2 to 7.28.4
dependabot[bot] Sep 8, 2025
96422c2
Bump isbot from 5.1.29 to 5.1.30
dependabot[bot] Sep 8, 2025
826157c
fix: call parent ngOnDestroy in dynamic form control container
jlipka Aug 20, 2025
36019ce
fix: call parent ngOnDestroy in dynamic form control container
jlipka Aug 20, 2025
6f51e79
Merge pull request #4708 from DSpace/backport-4644-to-dspace-8_x
tdonohue Sep 10, 2025
c186423
Merge pull request #4707 from DSpace/backport-4644-to-dspace-7_x
tdonohue Sep 10, 2025
ccd8d43
Merge pull request #4180 from alanorth/port-4136-dspace-7
tdonohue Sep 10, 2025
e383235
[Port dspace-7_x] Clean up spacing in input forms
alanorth Apr 12, 2025
be06c4f
src/themes/dspace: rework banner image
alanorth Aug 11, 2025
996023d
src/themes/dspace: rework banner image
alanorth Aug 11, 2025
66f36b9
Merge pull request #4713 from tdonohue/port_4180_to_8x
tdonohue Sep 10, 2025
66cdc97
server.ts: remove invalid host fallback
alanorth Aug 9, 2025
65cd1df
server.ts: remove port fallback
alanorth Aug 9, 2025
517a774
server.ts: remove invalid host fallback
alanorth Aug 9, 2025
ed4f5d4
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
b67a703
Merge pull request #4715 from DSpace/backport-4636-to-dspace-8_x
tdonohue Sep 10, 2025
7154bc0
Merge pull request #4717 from DSpace/backport-4634-to-dspace-7_x
tdonohue Sep 10, 2025
dcbbb6c
Merge pull request #4718 from DSpace/backport-4634-to-dspace-8_x
tdonohue Sep 10, 2025
2c4790c
Merge pull request #4701 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
1ce5a85
Merge pull request #4699 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Sep 10, 2025
a361315
Merge pull request #4705 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
6a68a31
Merge pull request #4696 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Sep 10, 2025
50123ad
Merge pull request #4703 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
62f76eb
Merge pull request #4698 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Sep 10, 2025
b97f02e
Merge pull request #4704 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 12, 2025
a940099
Merge pull request #4697 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Sep 12, 2025
ab53a7e
Merge pull request #4702 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 12, 2025
605fda4
Merge pull request #4695 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Sep 12, 2025
92ffac6
Merge pull request #4369 from atmire/w2p-130679_fix-back-button-on-gr…
alanorth Sep 15, 2025
7d03792
Backport [#9814] Fix Only show authorized communities/collections in …
im-shubham-vish Sep 18, 2025
15525b5
src/app: use correct icon in item mapper
alanorth Sep 19, 2025
c60f80d
src/app: use correct icon in item mapper
alanorth 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
a9093aa
Merge pull request #4731 from alanorth/collection-mapper-trash-icon-8x
tdonohue Sep 22, 2025
1f8bc7b
SSR: avoid sending new response when headeras were already sent (fixe…
danielcoelhocgu Sep 22, 2025
cd8de3f
Bump isbot from 5.1.30 to 5.1.31
dependabot[bot] Oct 1, 2025
17f5024
Merge pull request #4743 from DSpace/backport-4733-to-dspace-8_x
tdonohue Oct 1, 2025
01cc3ab
Merge pull request #4724 from im-shubham-vish/fix-9814-backport-8x
tdonohue Oct 2, 2025
363fd38
[TLC-1202] Disable fields hidden by type bind, so they are not validated
kshepherd Sep 18, 2025
935da7b
[TLC-1202] Centralise getTypeBindRelations to single static method
kshepherd Sep 18, 2025
29386f5
[TLC-1202] Move getTypeBindRelations to util function
kshepherd Sep 18, 2025
5120009
Merge pull request #4768 from DSpace/backport-4725-to-dspace-8_x
tdonohue Oct 9, 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
7bc173c
Added rendering namespace when client side
milanmajchrak Aug 8, 2025
ec32cd4
In DSpace 8+ "environment.universal" is renamed "environment.ssr"
tdonohue Oct 13, 2025
f9c2f3c
Merge pull request #4773 from DSpace/backport-4638-to-dspace-8_x
tdonohue Oct 13, 2025
ac4228a
Bump axios from 1.11.0 to 1.13.1
dependabot[bot] Nov 1, 2025
45dc5ef
Bump sass from 1.92.1 to 1.93.2 in the sass group
dependabot[bot] Nov 1, 2025
02432ff
Bump core-js from 3.45.1 to 3.46.0
dependabot[bot] Nov 1, 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
0b4a966
Merge pull request #4753 from DSpace/dependabot/npm_and_yarn/dspace-8…
alanorth Nov 3, 2025
7da01d8
fix 4241 language selection
Nov 4, 2025
1665bb5
Merge pull request #4749 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Nov 10, 2025
a0d3ac7
Merge pull request #4752 from DSpace/dependabot/npm_and_yarn/dspace-8…
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
ff86e35
Merge pull request #4794 from DSpace/dependabot/npm_and_yarn/dspace-8…
alanorth Nov 10, 2025
709f59e
removed references to X.509 authentication method
nwoodward Nov 18, 2025
96c42cb
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
397c451
Merge pull request #4828 from DSpace/backport-4824-to-dspace-8_x
tdonohue Nov 18, 2025
0bb385b
src/app/shared/search: use nofollow for facet links
alanorth Nov 19, 2025
3f584dc
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
1cebae9
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
0f2bd0e
Merge pull request #4831 from alanorth/no-follow-8x
tdonohue Nov 19, 2025
1992430
Merge pull request #4838 from atmire/w2p-136225_fix-upstream-private-…
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
d00be42
fix script source file access
FrancescoMolinaro Nov 19, 2025
245db31
Merge pull request #4847 from DSpace/backport-4841-to-dspace-8_x
tdonohue Nov 21, 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
585d091
Bump eslint-plugin-jsonc from 2.20.1 to 2.21.0 in the eslint group
dependabot[bot] Nov 24, 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
3254803
Bump axios from 1.13.1 to 1.13.2
dependabot[bot] Nov 24, 2025
25adcc4
Bump csstype from 3.1.3 to 3.2.3
dependabot[bot] Nov 24, 2025
ab9baa1
Bump js-yaml from 4.1.0 to 4.1.1
dependabot[bot] Nov 24, 2025
a1dd99d
Merge pull request #4797 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 24, 2025
b6ab66a
Merge pull request #4796 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Nov 24, 2025
7b2ac84
Merge pull request #4865 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Nov 25, 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
19a2205
Merge pull request #4791 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue 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
5711031
Bump sass from 1.93.3 to 1.94.0 in the sass group
dependabot[bot] Dec 1, 2025
09cd9ff
Bump core-js from 3.46.0 to 3.47.0
dependabot[bot] Dec 1, 2025
0affbd5
Bump @types/lodash from 4.17.20 to 4.17.21
dependabot[bot] Dec 1, 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
92383b9
[DURACOM-380] backporting
FrancescoMolinaro 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
30d14fb
Merge branch 'fix-4241-language-selection-contribute-7.6' into fix-42…
Dec 3, 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
8a178b5
Merge pull request #4900 from 4Science/task/dspace-8_x/DURACOM-390
tdonohue Dec 3, 2025
a9fe26e
Merge pull request #4906 from atmire/fix-4241-language-selection-cont…
tdonohue Dec 3, 2025
0d77426
Bump isbot from 5.1.31 to 5.1.32
dependabot[bot] Dec 4, 2025
9ebb998
Bump the testing group with 2 updates
dependabot[bot] Dec 5, 2025
c068090
Merge pull request #4896 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
63790ce
Merge pull request #4895 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Dec 5, 2025
0d79b76
Merge pull request #4859 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
09ba88f
Merge pull request #4866 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Dec 5, 2025
e7239f9
Merge pull request #4863 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Dec 5, 2025
eaac906
Merge pull request #4858 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
482d3d6
Merge pull request #4792 from DSpace/dependabot/npm_and_yarn/dspace-8…
tdonohue Dec 5, 2025
91fe163
Merge pull request #4864 from DSpace/dependabot/npm_and_yarn/dspace-8…
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
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
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
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
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
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
6 changes: 3 additions & 3 deletions .github/workflows/codescan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ jobs:
# 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@v3
with:
languages: javascript

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

# Perform GitHub Code Scanning.
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
116 changes: 115 additions & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,118 @@ 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
steps:
# Checkout our codebase (to get access to Docker Compose scripts)
- name: Checkout codebase
uses: actions/checkout@v4
# Download Docker image artifacts (which were just built by reusable-docker-build.yml)
- name: Download Docker image artifacts
uses: actions/download-artifact@v4
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
- name: Load test data into Backend
run: |
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
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"]
26 changes: 22 additions & 4 deletions Dockerfile.dist
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,46 @@
# Test build:
# docker build -f Dockerfile.dist -t dspace/dspace-angular:dspace-8_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/
# 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"]
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
5 changes: 3 additions & 2 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ the Docker compose scripts in this 'docker' folder.

### Dockerfile

This Dockerfile is used to build a *development* DSpace Angular UI image, published as 'dspace/dspace-angular'
This Dockerfile is used to build a *development* mode DSpace Angular UI image, published as 'dspace/dspace-angular'. Because it uses development mode, this image supports "live reloading" of the user interface
when local source code is modified.

```
docker build -t dspace/dspace-angular:dspace-8_x .
Expand All @@ -35,7 +36,7 @@ docker push dspace/dspace-angular:dspace-8_x

### Dockerfile.dist

The `Dockerfile.dist` is used to generate a *production* build and runtime environment.
The `Dockerfile.dist` is used to build a *production* mode DSpace Angular UI image, published as 'dspace/dspace-angular' with a `*-dist` tag. Because it uses production mode, this image supports Server Side Rendering (SSR).

```bash
# build the latest image
Expand Down
10 changes: 3 additions & 7 deletions docker/cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ networks:
# Default to using network named 'dspacenet' from docker-compose-rest.yml.
# Its full name will be prepended with the project name (e.g. "-p d8" means it will be named "d8_dspacenet")
# If COMPOSITE_PROJECT_NAME is missing, default value will be "docker" (name of folder this file is in)
default:
dspacenet:
name: ${COMPOSE_PROJECT_NAME:-docker}_dspacenet
external: true
services:
Expand All @@ -28,19 +28,15 @@ services:
# See https://github.com/DSpace/DSpace/blob/main/dspace/config/config-definition.xml
# __P__ => "." (e.g. dspace__P__dir => dspace.dir)
# __D__ => "-" (e.g. google__D__metadata => google-metadata)
# dspace.dir
dspace__P__dir: /dspace
# db.url: Ensure we are using the 'dspacedb' image for our database
db__P__url: 'jdbc:postgresql://dspacedb:5432/dspace'
# solr.server: Ensure we are using the 'dspacesolr' image for Solr
solr__P__server: http://dspacesolr:8983/solr
networks:
- dspacenet
volumes:
# Keep DSpace assetstore directory between reboots
- assetstore:/dspace/assetstore
entrypoint: /dspace/bin/dspace
command: help
tty: true
stdin_open: true

volumes:
assetstore:
2 changes: 1 addition & 1 deletion docker/db.entities.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ services:
- |
while (!</dev/tcp/dspacedb/5432) > /dev/null 2>&1; do sleep 1; done;
/dspace/bin/dspace database migrate ignored
java -jar /dspace/webapps/server-boot.jar --dspace.dir=/dspace
java -jar /dspace/webapps/server-boot.jar
Loading