Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
b603d4c
Extend Search API to include isLinked
stevenwinship Jun 24, 2026
26ef2d8
Merge branch 'develop' into 11845-extend-search-api-return-islinked
stevenwinship Jul 8, 2026
23c94ae
adding back the LinkIT tests even though they are now failing
stevenwinship Jul 8, 2026
fe2c8ad
refactor due to merge conflicts and bug in delete
stevenwinship Jul 9, 2026
bd557d0
Merge branch 'develop' into 11845-extend-search-api-return-islinked
stevenwinship Aug 11, 2026
d40e52c
Merge branch 'develop' into 11845-extend-search-api-return-islinked
stevenwinship Aug 11, 2026
4c51d86
fix bad merge
stevenwinship Aug 11, 2026
99eaa46
autocomplete for large cvv
qqmyers Aug 11, 2026
1fff73d
allow switch to original widget
qqmyers Aug 13, 2026
3422b9a
moreText, style/text changes, drop filtering in slow select
qqmyers Aug 13, 2026
341e9fe
add header, no select all
qqmyers Aug 13, 2026
9d4b4d8
use style to hide select all
qqmyers Aug 13, 2026
6ea78c0
refactor
qqmyers Aug 14, 2026
7ebe659
align advanced search w/metadataFrag and fix lost state when switchin…
qqmyers Aug 14, 2026
4512a01
release note
qqmyers Aug 14, 2026
c467573
stop moreText acting as a link
qqmyers Aug 21, 2026
7e54d40
Merge branch 'develop' into largeCVVImprovements
qqmyers Aug 28, 2026
fee7a36
merge conflicts
stevenwinship Aug 31, 2026
f0b1f0e
Merge branch 'develop' into 11845-extend-search-api-return-islinked
stevenwinship Sep 1, 2026
862e7c8
Merge branch 'develop' into 11845-extend-search-api-return-islinked
stevenwinship Sep 9, 2026
164d1b6
Merge branch 'develop' into 11845-extend-search-api-return-islinked
stevenwinship Sep 11, 2026
27d8f1d
fixing merge conflicts
stevenwinship Sep 11, 2026
181fd0e
Merge branch 'develop' into 11845-extend-search-api-return-islinked
stevenwinship Sep 11, 2026
b31e0c6
Start index jobs after commit, shorten IT index waits
ErykKul Sep 16, 2026
c343893
Use explicit indexing request records instead of Runnable
ErykKul Sep 16, 2026
3aaafd5
Use record patterns in the indexing observer, explain the flow
ErykKul Sep 16, 2026
68a90dd
upgrade to Payara 7.2026.9 #12715
pdurbin Sep 16, 2026
ac6f078
@Context to Inject
qqmyers Sep 16, 2026
a33f356
ResourceProvider to address weld error
qqmyers Sep 16, 2026
06e6226
Dynamic Feature
qqmyers Sep 16, 2026
701955d
dynamically load dialog
qqmyers Sep 16, 2026
347312a
more dynamic loading and scope limiting
qqmyers Sep 17, 2026
4ff888c
Merge remote-tracking branch 'IQSS/develop' into 12715-payara-7.2026.9
qqmyers Sep 17, 2026
649b69b
trigger error for null req. email
qqmyers Sep 17, 2026
154a922
clear message panel (e.g. validation errs) on cancel
qqmyers Sep 17, 2026
641602e
release note
qqmyers Sep 17, 2026
ac2ea5c
Merge remote-tracking branch 'IQSS/develop' into 12715-payara-7.2026.9
qqmyers Sep 17, 2026
6589795
prepare for version after 6.12 (base.image.version) #12515
pdurbin Sep 17, 2026
8bc896a
Add feature flag for locally fair data in tests
ashmanda-cs Sep 17, 2026
2036a04
Add feature flag for locally fair data in workflow
ashmanda-cs Sep 17, 2026
b372d88
Merge pull request #12721 from IQSS/12515-prepare-next-iteration-post…
poikilotherm Sep 17, 2026
ac440ea
Enable LOCALLY_FAIR in dataverse_jsf_tests workflow
ashmanda-cs Sep 17, 2026
e394a32
mv instead of cp
qqmyers Sep 17, 2026
402cb37
Disable LOCALLY_FAIR_ENABLED in workflow
ashmanda-cs Sep 17, 2026
9636bb7
Merge branch 'develop' into 12714-enable-locally-FAIR-flag
ashmanda-cs Sep 17, 2026
41ae875
add "version" query parameter to file citation API #12512
pdurbin Sep 15, 2026
749222e
correct docs that ":latest" is returned, add test #12512
pdurbin Sep 21, 2026
b4846a4
Merge pull request #12711 from IQSS/12512-file-citation-version
ChengShi-1 Sep 21, 2026
abd8929
chore(deps): bump github/codeql-action from 4.38.0 to 4.38.1
dependabot[bot] Sep 21, 2026
e497a88
add back isLink to JsonPrinter caused by bad merge
stevenwinship Sep 22, 2026
d8f73a9
Merge pull request #12733 from IQSS/dependabot/github_actions/github/…
pdurbin Sep 22, 2026
2d3d3b9
Merge pull request #12722 from uncch-rdmc/12714-enable-locally-FAIR-flag
pdurbin Sep 22, 2026
e0559a6
Merge remote-tracking branch 'IQSS/develop' into 12715-payara-7.2026.9
qqmyers Sep 22, 2026
289cb6d
replace @Context in LDNInbox per review
qqmyers Sep 22, 2026
7f9e586
fix jsf guestbook response cancel button
stevenwinship Mar 16, 2026
a71c9cd
add release notes
stevenwinship Mar 16, 2026
32c2ab8
review comment
stevenwinship Jul 6, 2026
bf5ee08
Update src/main/webapp/guestbook-terms-popup-fragment.xhtml
stevenwinship Aug 12, 2026
e51f773
undo last commit
stevenwinship Aug 12, 2026
f0f900b
Update src/main/webapp/guestbook-terms-popup-fragment.xhtml
stevenwinship Aug 13, 2026
f5422d2
remove preview cancel button
stevenwinship Sep 22, 2026
36d1f0f
Merge pull request #12485 from IQSS/11845-extend-search-api-return-is…
ChengShi-1 Sep 23, 2026
910459a
#12724 recommend 17 as an immediate fix for new installations
donsizemore Sep 22, 2026
1d63bd9
remove macOS reference, Linux is assumed #12738
pdurbin Sep 23, 2026
5376b1e
remove postgres version from classic dev, see docker #12724
pdurbin Sep 23, 2026
61c6972
17+ required for now
pdurbin Sep 23, 2026
ffedcc3
#12724 remove old notice about PG15 permission model change
donsizemore Sep 23, 2026
82f33fb
#12724 specify 17+ for new installations
donsizemore Sep 23, 2026
f85d894
Merge branch 'develop' into 12715-payara-7.2026.9
pdurbin Sep 23, 2026
e5b7afe
Batch fetch per-file relations when loading file metadatas (#12739)
ErykKul Sep 23, 2026
db98c5f
Apply batched suggestions from code review
qqmyers Sep 23, 2026
491e19f
Apply batched suggestions from code review2
qqmyers Sep 23, 2026
7977d5a
Batch fetch file and variable collections read per file (#12739)
ErykKul Sep 23, 2026
8c0bb65
chown domain after move, adjust text for the set ownership steps
qqmyers Sep 23, 2026
25ad36f
Merge branch 'develop' into flaky-tests-fix
ErykKul Sep 23, 2026
5684b86
Dataset page: ask Solr only for what it uses, facets or file ids (#12…
ErykKul Sep 24, 2026
0af354f
findDeep: batch fetch the file relations instead of join fetching the…
ErykKul Sep 24, 2026
499e1bd
Test loading the version for the dataset page, release note (#12739)
ErykKul Sep 24, 2026
b2844ff
Dataset findDeep: batch fetch the file relations instead of join fetc…
ErykKul Sep 24, 2026
4cebc59
Release note: dataset API (#12739)
ErykKul Sep 24, 2026
ed00a47
Indexing requests carry ids: the background job loads its own copy of…
ErykKul Sep 24, 2026
9b0f0fe
Keep the fixed index wait for searches without a dataset id, wait by …
ErykKul Sep 24, 2026
36978d7
Lock-free indexing bookkeeping, keep polling on unknown index state
ErykKul Sep 24, 2026
b276923
Release note as improvement, files API case in the performance IT
ErykKul Sep 24, 2026
abc38fd
Performance IT: read files after the transaction ended
ErykKul Sep 24, 2026
1e80bb8
Disabled test: setting a thumbnail can restore an older index time
ErykKul Sep 24, 2026
7545ac8
Wait for the index before switching the thumbnail in testDatasetThumb…
ErykKul Sep 24, 2026
29c49fa
Refer to #12744 in the disabled thumbnail index time test
ErykKul Sep 24, 2026
2553300
Merge pull request #12719 from GlobalDataverseCommunityConsortium/127…
landreev Sep 25, 2026
6282364
Merge branch 'develop' into 12739-file-page-many-files
landreev Sep 25, 2026
c072d88
remove unused imports per review
qqmyers Sep 25, 2026
ca60904
remove more unused imports per review
qqmyers Sep 25, 2026
ec99fa6
Merge remote-tracking branch 'IQSS/develop' into largeCVVImprovements
qqmyers Sep 25, 2026
4e71a3a
Merge pull request #12220 from IQSS/12205-guestbook-response-jsf-popu…
qqmyers Sep 25, 2026
24f55b8
Merge pull request #12738 from IQSS/12724_doc_update
sekmiller Sep 28, 2026
fe44960
add "Define Release" and "Review Priorities" #12445
pdurbin Sep 14, 2026
3b34a7a
chore(deps): bump github/codeql-action from 4.38.1 to 4.38.2
dependabot[bot] Sep 28, 2026
b48c5ec
Merge pull request #12750 from IQSS/dependabot/github_actions/github/…
pdurbin Sep 29, 2026
ee8bf0b
Merge pull request #12712 from IQSS/flaky-tests-fix
pdurbin Sep 29, 2026
e8f2912
improve lang autocomplete open/close panel
qqmyers Sep 29, 2026
b7b67d7
clearer text
qqmyers Sep 29, 2026
9c45bc8
second attempt at a fix
qqmyers Sep 29, 2026
fc77637
third time
qqmyers Sep 29, 2026
d34b1cc
restore icon after selection
qqmyers Sep 29, 2026
bed443a
Merge remote-tracking branch 'IQSS/develop' into largeCVVImprovements
qqmyers Sep 29, 2026
1ea2b84
Merge remote-tracking branch 'GlobalDCC/largeCVVImprovements' into la…
qqmyers Sep 29, 2026
c9715bc
fix search bar in old widget when >500 entries
qqmyers Sep 29, 2026
7c9edfc
Merge branch 'develop' into 12739-file-page-many-files
ErykKul Sep 30, 2026
bec4c50
Drop findDeep, use find
ErykKul Sep 30, 2026
7b3475e
Remove unused deep flag from dataset lookup
ErykKul Sep 30, 2026
3f284b2
Merge pull request #12617 from GlobalDataverseCommunityConsortium/lar…
jp-tosca Sep 30, 2026
79c8caf
Merge pull request #12740 from IQSS/12739-file-page-many-files
landreev Sep 30, 2026
c00cfff
fix: slow indexing of datasets with many external vocabulary terms
akeldamas Oct 1, 2026
4b6a1ca
show a 404 if collection does not exist #12769
pdurbin Oct 1, 2026
cfb966c
build: add smallrye skip flag for Maven configuration #12761
poikilotherm Oct 1, 2026
7cd2cb3
chore: add backport for v6.12 to fix configbaker build
poikilotherm Oct 1, 2026
a60b995
Index datasets one at a time again in batch reindexes
ErykKul Oct 1, 2026
13fc93c
Test the background indexing call
ErykKul Oct 1, 2026
82c5950
Note the batch reindex exception in the test
ErykKul Oct 1, 2026
83b76dc
move DatasetThumbnailIndexTimeIT out of root package
pdurbin Sep 28, 2026
8fed96f
Add an IT for indexing many vocabulary terms
ErykKul Oct 1, 2026
ce85533
fix: slow indexing of datasets with many external vocabulary terms
akeldamas Oct 1, 2026
c993c0b
Merge pull request #12771 from IQSS/12769-no-such-collection-404
qqmyers Oct 2, 2026
35cee0e
Merge branch 'develop' into 12761-fix-configbaker-maintenance
poikilotherm Oct 2, 2026
a2b500c
style(ci): fix comment in configbaker container image maintenance #12761
poikilotherm Oct 2, 2026
d3bac7e
Merge pull request #12772 from IQSS/12761-fix-configbaker-maintenance
pdurbin Oct 2, 2026
8c24cd7
chore(ci): move backport patch for configbaker 6.12 image build fix t…
poikilotherm Oct 2, 2026
6df1a96
Merge pull request #12776 from IQSS/12761-fix-configbaker-maintenance
pdurbin Oct 2, 2026
84416f1
Merge pull request #12767 from akeldamas/12765-index-cvoc-lookup-with…
landreev Oct 2, 2026
cc18d13
Merge develop into 12773-batch-reindex-one-by-one
ErykKul Oct 2, 2026
5efb4f9
Merge pull request #12774 from IQSS/12773-batch-reindex-one-by-one
landreev Oct 5, 2026
2a19be1
start 6.12.1 release notes, Payara upgrade, Edit Metadata
pdurbin Sep 30, 2026
a477709
file citation version
pdurbin Sep 30, 2026
0616681
cancel button
pdurbin Sep 30, 2026
f5c9480
isLinked
pdurbin Sep 30, 2026
52b7c0f
many files perf, pg17, cleanup
pdurbin Sep 30, 2026
d5bb041
typo
qqmyers Oct 5, 2026
f7be737
Merge pull request #12794 from GlobalDataverseCommunityConsortium/lar…
pdurbin Oct 5, 2026
a6f5fcf
convert "making releases" from rst to md
pdurbin Sep 17, 2026
cce70e2
remove explict regression testing step, done implicitly
pdurbin Sep 17, 2026
f4f75e6
update "prepare release branch", drop ansible/jenkins step
pdurbin Sep 17, 2026
20eb065
update lists of tests to ignore and pay attention to
pdurbin Sep 17, 2026
6d188c1
only close the milestone as newer ones have already been created
pdurbin Sep 17, 2026
bd7bdec
update translators after announcement
pdurbin Sep 17, 2026
19e6a71
the roadmap page may not need to be updated
pdurbin Sep 17, 2026
969942e
merge announcements into a single step
pdurbin Sep 17, 2026
81a804d
base image step before lifting code freeze
pdurbin Sep 17, 2026
50ee02f
link to new "creating release issues" repo
pdurbin Sep 17, 2026
4f37e6e
remove note about Jenkins (cruft)
pdurbin Sep 21, 2026
21149ce
more edits, mostly planning and process
pdurbin Sep 21, 2026
9d425ff
add step to check payara, solr, pg for new releases
pdurbin Sep 29, 2026
f50b079
Update doc/sphinx-guides/source/developers/making-releases.md
pdurbin Oct 2, 2026
411eccb
Merge pull request #12725 from IQSS/making-releases-post-6.12
pdurbin Oct 5, 2026
86881e1
Minor changes to the Solr schema update instructions.
landreev Oct 7, 2026
c24d7c9
Update release notes to remove 'sudo' from some commands
landreev Oct 7, 2026
097e98c
Update release notes for Solr reindexing guidance
landreev Oct 7, 2026
a0c25e7
Update release notes for Dataverse 6.12.1
landreev Oct 7, 2026
cf7ad56
Merge pull request #12759 from IQSS/12758-6.12.1-release-notes
landreev Oct 8, 2026
64849e4
bump to version 6.12.1
pdurbin Oct 8, 2026
e883409
Merge pull request #12810 from IQSS/bump-to-6.12.1
pdurbin Oct 8, 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
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4.38.0
uses: github/codeql-action/init@v4.38.2
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand Down Expand Up @@ -99,6 +99,6 @@ jobs:
exit 1

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4.38.0
uses: github/codeql-action/analyze@v4.38.2
with:
category: "/language:${{matrix.language}}"
4 changes: 3 additions & 1 deletion .github/workflows/container_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,8 @@ jobs:
mvn -Pct docker:start \
-Ddataverse.feature.index-harvested-metadata-source=true \
-Ddataverse.oai.server.maxidentifiers=2 \
-Ddataverse.oai.server.maxrecords=2
-Ddataverse.oai.server.maxrecords=2 \
-Ddataverse.feature.allow-locally-fair-data=true

# ---------------------------
# WAIT FOR API READINESS
Expand Down Expand Up @@ -215,6 +216,7 @@ jobs:
-Dtest="$TEST_SUITE" \
-Dmaven.test.failure.ignore=true \
-Ddataverse.test.baseurl=http://localhost:8080 \
-Ddataverse.test.solr.softcommit.millis=100 \
-DcompilerArgument=-Xlint:unchecked

# ---------------------------
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/dataverse_jsf_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,8 @@ jobs:
mvn -Pct docker:start \
-Ddataverse.feature.index-harvested-metadata-source=true \
-Ddataverse.oai.server.maxidentifiers=2 \
-Ddataverse.oai.server.maxrecords=2
-Ddataverse.oai.server.maxrecords=2 \
-Ddataverse.feature.allow-locally-fair-data=true

# ---------------------------
# WAIT FOR API READINESS
Expand Down Expand Up @@ -229,6 +230,7 @@ jobs:
DV_FULL_NAME: "Dataverse Admin"
ROOT_DATAVERSE: "/dataverse/root"
SKIP_PREFLIGHT: "true"
LOCALLY_FAIR_ENABLED: "false"
DOTENV_CONFIG_QUIET: "true"

# ---------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,11 +141,11 @@ for BRANCH in "$@"; do
NEWER_IMAGE=0
if (( NEWER_BASE_IMAGE + FIXES_AVAILABLE + FORCE_BUILD > 0 )); then
if ! (( DRY_RUN )); then
# Build the application image, but skip the configbaker image (that's a different job)!
# Build the configbaker image, but skip the application image (that's a different job)!
# shellcheck disable=SC2046
mvn -Pct -f . deploy -Ddocker.noCache -Ddocker.platforms="${PLATFORMS}" \
-Dapp.skipBuild -Dconf.image.base="${BASE_IMAGE_REF}" \
-Dmaven.main.skip -Dmaven.test.skip -Dmaven.war.skip $TAG_OPTIONS \
-Dmaven.main.skip -Dmaven.test.skip -Dmaven.war.skip -Dmaven.smallrye.skip $TAG_OPTIONS \
$( if (( DAMP_RUN )); then echo "-Ddocker.skip.push"; fi )
else
echo "Skipping Maven build as requested by DRY_RUN=1"
Expand Down
1 change: 1 addition & 0 deletions conf/solr/schema.xml
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@
<field name="fileRestricted" type="boolean" stored="true" indexed="false" multiValued="false"/>
<field name="canDownloadFile" type="boolean" stored="true" indexed="false" multiValued="false"/>
<field name="versionNote" type="string" stored="true" indexed="false" multiValued="false"/>
<field name="isLinked" type="boolean" stored="true" indexed="false" multiValued="false"/>

<!-- Added for Dataverse 4.0 alpha 1. This is a required field so we don't have to go to the database to get the database id of the entity. On cards we use the id in links -->
<field name="entityId" type="plong" stored="true" indexed="true" multiValued="false"/>
Expand Down
14 changes: 6 additions & 8 deletions doc/release-notes/6.12-release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ These are features that weren't already mentioned under "highlights" above.

## Other Changes

- Payara 7.2026.8 is now the supported and recommended version. See upgrade instructions below and #12498. We are aware that Payara 7.2026.9 is out but it didn't "just work" so we don't recommend it yet. See #12715.
- Payara 7.2026.9 is now the supported and recommended version. See upgrade instructions below, #12498 and #12715.
- Database indexes were added to the guestbookresponse table to speed up queries. See #12616.
- The QA Guide was added as an experiment in #10103 but has been removed because it has proved less useful than imagined. It can still be [viewed](https://guides.dataverse.org/en/6.11/qa/index.html) as it existed as of Dataverse 6.11. See #12582.

Expand Down Expand Up @@ -164,7 +164,7 @@ If you are running Payara as a non-root user (and you should be!), **remember no

Also, we assume that Payara is installed in `/usr/local/payara7`. If not, adjust as needed.

The instructions below describe the upgrade procedure based on moving your existing Payara 7.2026.2 domain directory into the new Payara 7.2026.8 distribution. We recommend this method because it is the easiest way to recreate your current configuration and preserve your data.
The instructions below describe the upgrade procedure based on moving your existing Payara 7.2026.2 domain directory into the new Payara 7.2026.9 distribution. We recommend this method because it is the easiest way to recreate your current configuration and preserve your data.

1. Undeploy Dataverse, if deployed, using the unprivileged service account ("dataverse", by default).

Expand All @@ -188,12 +188,12 @@ The instructions below describe the upgrade procedure based on moving your exist
sudo mv /usr/local/payara7 /usr/local/payara7-2026.2
```

1. Download the new Payara version 7.2026.8, and unzip it.
1. Download the new Payara version 7.2026.9, and unzip it.

```shell
curl -L -O https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/7.2026.8/payara-7.2026.8.zip
curl -L -O https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/7.2026.9/payara-7.2026.9.zip

sudo unzip payara-7.2026.8.zip -d /usr/local/
sudo unzip payara-7.2026.9.zip -d /usr/local/
```
1. Set permission for the service account ("dataverse" by default).

Expand Down Expand Up @@ -223,7 +223,7 @@ The instructions below describe the upgrade procedure based on moving your exist

1. Update configuration files in the moved domain.

The file `glassfish-acc.xml` from Payara 7.2026.2 has been renamed to `payara-acc.xml` in Payara 7.2026.8. Also `default-logging.properties` has been updated in the Payara 7.2026.8. We recommend copying these new files from the Payara 7.2026.8 distribution domain into the domain you copied over from your Payara 7.2026.2 installation.
The file `glassfish-acc.xml` from Payara 7.2026.2 has been renamed to `payara-acc.xml` in Payara 7.2026.9. Also `default-logging.properties` has been updated in the Payara 7.2026.9. We recommend copying these new files from the Payara 7.2026.9 distribution domain into the domain you copied over from your Payara 7.2026.2 installation.

```shell
sudo rm /usr/local/payara7/glassfish/domains/domain1/config/glassfish-acc.xml
Expand Down Expand Up @@ -257,8 +257,6 @@ The instructions below describe the upgrade procedure based on moving your exist
sudo -u dataverse /usr/local/payara7/bin/asadmin deploy dataverse-6.12.war
```

Please note: when watching logs while waiting for the deployment to finish, you may encounter `SEVERE` level warnings like "Leaking injection manager found in the current thread. Very likely because it wasn't removed in a previous invocation and leaked into this invocation." We have not found severe issues during testing this release and advise to ignore but monitor for unusual resource usage. We plan to address the underlying issue with the next release. See #12715 for more details.

1. Update metadata blocks.

In #12346 we added the value "Translator" under "contributorType" field and we need to reload the citation.tsv file because of this.
Expand Down
190 changes: 190 additions & 0 deletions doc/release-notes/6.12.1-release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
# Dataverse 6.12.1

Please note: To read these instructions in full, please go to https://github.com/IQSS/dataverse/releases/tag/v6.12.1 rather than the [list of releases](https://github.com/IQSS/dataverse/releases), which will cut them off.

This release brings new features, enhancements, and bug fixes to Dataverse. Thank you to all of the community members who contributed code, suggestions, bug reports, and other assistance across the project!

## Release Highlights

Highlights for Dataverse 6.12.1 include:

- Performance improvements
- New and improved APIs
- Bug fixes
- Security fixes
- Platform update: Payara upgraded to 7.2026.9

## Performance Improvements

### Clicking "Edit Metadata", Language Metadata Field

It came to our attention that once you have created a dataset and then click "Edit Metadata" to add additional fields, it was taking 10 seconds or longer for the page to load. This was due to the thousands of languages that were being loaded for the Language metadata field. (The number of languages was greatly increased to the full ISO 639-3 list back in #10762 for Dataverse 6.4.)

As of this version, the page should load much faster when you click "Edit Metadata". The UI/UX for the Language field has been changed to load languages on demand. You should also notice a similar speed up when editing templates. See #11223 and #12617.

### Faster Dataset and File Pages for Datasets with Many Files

The number of database queries required to load datasets and their files has been greatly reduced for large datasets: it no longer grows with the number of files, or with the number of variables of tabular files. An additional change improves the loading time of the file facets on the dataset page. The result is significantly faster dataset and file pages, and faster responses of the dataset and file listing APIs, for datasets with many files. See #12739 and #12740.

## Bug Fixes

- The "Cancel" button on the Guestbook Response dialogs did not close the dialog. This has been fixed. See #12205 and #12220.

## Other Changes

## API Updates

- Search API now returns "isLinked" in the JSON response for datasets and collections that are linked. "isLinked" will also be returned in direct dataset and collection lookups. This attribute will only be included when the value is true. See #11845 and #12485.
- When downloading a file citation it is now possible to specify the version of the dataset. See [the guides](https://guides.dataverse.org/en/6.12.1/api/dataaccess.html#citation-get-citation-in-other-formats), #12512, and #12711.

## Security Updates

This release contains important security updates. If you are not receiving security advisories, please sign up by following [the steps](https://guides.dataverse.org/en/latest/installation/config.html#security-advisories) in the guides (email support@dataverse.org to ask for an invite). These advisories are sent through the dataverse-security Google Group, as [announced](https://groups.google.com/g/dataverse-community/c/VQ-D0tIxVP4/m/whFIqm4HAgAJ) on the mailing list.

## Notes for Dataverse Installation Administrators

If you attempted a new installation of Dataverse 6.12 with PostgreSQL 16, it probably failed. (Upgrades of an existing Dataverse installation and an existing PostgreSQL 16 were not affected.) The Installation Guide has been updated to indicated that PostgreSQL 17+ is required for new installations. See [the guides](https://guides.dataverse.org/en/6.12.1/installation/prerequisites.html#postgresql), #12724 and #12738.

## Complete List of Changes

For the complete list of code changes in this release, see the [6.12.1 milestone](https://github.com/IQSS/dataverse/issues?q=milestone%3A6.12.1+is%3Aclosed) in GitHub.

## Getting Help

For help with upgrading, installing, or general questions please see [getting help](https://guides.dataverse.org/en/latest/installation/intro.html#getting-help) in the Installation Guide.

## Installation

If this is a new installation, please follow our [Installation Guide](https://guides.dataverse.org/en/latest/installation/). Please don't be shy about [asking for help](https://guides.dataverse.org/en/latest/installation/intro.html#getting-help) if you need it!

Once you are in production, we would be delighted to update our [map of Dataverse installations around the world](https://dataverse.org/installations) to include yours! Please [create an issue](https://github.com/IQSS/dataverse-installations/issues) or email us at support@dataverse.org to join the club!

You are also very welcome to join the [Global Dataverse Community Consortium](https://www.gdcc.io) (GDCC).

## Upgrade Instructions

Upgrading requires a maintenance window and downtime. Please plan accordingly, create backups of your database, etc.

Note: These instructions assume that you are upgrading from the immediate previous version. That is to say, you've already upgraded through all the 6.x releases and are now running Dataverse 6.12. See [tags on GitHub](https://github.com/IQSS/dataverse/tags) for a list of versions. If you are running an earlier version, the only supported way to upgrade is to progress through the upgrades to all the releases in between before attempting the upgrade to this version.

If you are running Payara as a non-root user (and you should be!), **remember not to execute the commands below as root**. By default, Payara runs as the `dataverse` user. In the commands below, we use sudo to run the commands as a non-root user.

Also, we assume that Payara is installed in `/usr/local/payara7`. If not, adjust as needed.

Payara has been upgraded to 7.2026.9. Dataverse 6.12 is not compatible with Payara 7.2026.9. You must run Dataverse 6.12.1 instead, as described below.

The instructions below describe the upgrade procedure based on moving your existing Payara 7.2026.8 domain directory into the new Payara 7.2026.9 distribution. We recommend this method because it is the easiest way to recreate your current configuration and preserve your data.

A quick note for admins connecting to their servers from MacOS systems: Once logged in, consider configuring your terminal as follows:
```bash
export TERM_PROGRAM=Apple_Terminal
```
You may see some junk characters added to the output of `asadmin` without it. Due, apparently, to a bug in a display library used in Payara 7.2026.9. (It appears to be harmless, functionality-wise.)

1. Undeploy Dataverse, if deployed, using the unprivileged service account ("dataverse", by default).

The new version of Payara is not compatible with previous versions of Dataverse, so you should undeploy the running Dataverse 6.12 war file first.

```shell
sudo -u dataverse /usr/local/payara7/bin/asadmin list-applications

sudo -u dataverse /usr/local/payara7/bin/asadmin undeploy dataverse-6.12
```

1. Stop Payara.

```shell
sudo systemctl stop payara
```

1. Move the current Payara directory out of the way. Version 7.2026.8 is used in the examples below. Adjust accordingly if you are upgrading from a different version.

```shell
sudo mv /usr/local/payara7 /usr/local/payara7-2026.8
```

1. Download the new Payara version 7.2026.9, and unzip it.

```shell
curl -L -O https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/7.2026.9/payara-7.2026.9.zip

sudo unzip payara-7.2026.9.zip -d /usr/local/
```
1. Set ownership of the payara distribution to root, making it read-only for the service account ("dataverse" by default).

```shell
sudo chown -R root:root /usr/local/payara7
```

1. Replace the brand new `payara7/glassfish/domains/domain1` with your old, preserved domain1.

```shell
sudo mv /usr/local/payara7/glassfish/domains/domain1 /usr/local/payara7/glassfish/domains/domain1_DIST

sudo mv /usr/local/payara7-2026.8/glassfish/domains/domain1 /usr/local/payara7/glassfish/domains/
```

1. Set ownership of the domain for the service account ("dataverse" by default). Ownership should have been preserved during the move above, but this step assures that the domain is writable by the service account.

```shell
sudo chown -R dataverse:dataverse /usr/local/payara7/glassfish/domains/domain1
```

1. Remove the cache directories.

```shell
sudo rm -rf /usr/local/payara7/glassfish/domains/domain1/generated/

sudo rm -rf /usr/local/payara7/glassfish/domains/domain1/osgi-cache/
```

1. Start Payara.

```shell
sudo systemctl start payara
```

1. Deploy the Dataverse 6.12.1 war file.

```shell
wget https://github.com/IQSS/dataverse/releases/download/v6.12.1/dataverse-6.12.1.war

sudo -u dataverse /usr/local/payara7/bin/asadmin deploy dataverse-6.12.1.war
```

1. Update Solr schema.

Due to changes in the Solr schema (the addition of "isLinked" in #12485), updating the Solr schema and reindexing is required.

First, back up your existing `schema.xml` file.

`sudo cp /usr/local/solr/solr-9.8.0/server/solr/collection1/conf/schema.xml /usr/local/solr/solr-9.8.0/server/solr/collection1/conf/schema.xml.orig`

(Note that Docker-based installations use this directory: `solr/data/data/collection1/conf/schema.xml`.)

Install the stock, default solr schema:

`wget https://raw.githubusercontent.com/IQSS/dataverse/v6.12.1/conf/solr/schema.xml`

`sudo cp schema.xml /usr/local/solr/solr-9.8.0/server/solr/collection1/conf`

If you do not have any custom metadata blocks, you can go directly to the "Reload the Solr core" step below.
If you do have custom metadata blocks, run the `update-fields.sh` script that we supply. The example below shows the default path for a non-Docker installation, but adjust the path as necessary.

`wget https://raw.githubusercontent.com/IQSS/dataverse/v6.12.1/conf/solr/update-fields.sh`

`chmod +x update-fields.sh`

`curl "http://localhost:8080/api/admin/index/solr/schema" | sudo ./update-fields.sh /usr/local/solr/solr-9.8.0/server/solr/collection1/conf/schema.xml`

Reload the Solr core

`curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=collection1"`

1. Reindex Solr.

The only real change in the schema is the new "isLinked" field added in #12485, to mark linked datasets and collections in the output of the search API. If a full reindex is a quick task on your instance (for ex., it should only take a few minutes on an instance with a few hundred, or even thousands of datasets), we recommend that you do that, to be safe, via

`curl http://localhost:8080/api/admin/index`

However, if yours is one of the much larger instances where this takes a significant amount of CPU time, you may want to put more thought into it. Such as, consider whether your users will actually benefit from the field in the search API; and/or whether you actually have any linked objects in the repository in the first place. And if so, consider reindexing just the linked datasets and collections selectively.
6 changes: 5 additions & 1 deletion doc/sphinx-guides/source/api/dataaccess.rst
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,12 @@ Usage example:
export SERVER_URL=https://demo.dataverse.org
export DATAFILE_ID=99
export FORMAT=EndNote
export VERSION=1.0
export API_TOKEN=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/access/datafile/$DATAFILE_ID/citation/$FORMAT?version=$VERSION"

curl "$SERVER_URL/api/access/datafile/$DATAFILE_ID/citation/$FORMAT"
The ``version`` query parameter is optional. It will default to ``:latest``. See :ref:`dataset-version-specifiers` for the list of possible values. If you request a draft, an API token with access must be provided.

.. _data-variable-metadata-access:

Expand Down
2 changes: 1 addition & 1 deletion doc/sphinx-guides/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
# built documents.
#
# The short X.Y version.
version = '6.12'
version = '6.12.1'
# The full version, including alpha/beta/rc tags.
release = version

Expand Down
Loading
Loading