All notable changes to Dataverse Client Javascript are documented here.
This changelog follows the principles of Keep a Changelog and adheres to Semantic Versioning. This document is intended for developers, contributors, and users who need to understand the technical details.
- Datasets:
listDatasetTreeNodeuse case and repository method backingGET /datasets/{id}/versions/{versionId}/treefor paginated, lazy listing of folders/files inside a dataset version. ReturnsFileTreePagewith folder-first ordering, opaque keyset cursors, and per-filedownloadUrl. - Datasets:
iterateDatasetTreeNodeasync generator that walks the cursor chain so callers can consume one folder's children without driving pagination by hand. - Core: re-export
DataverseApiAuthMechanismfrom the public surface so consumers of the standalone reusable bundles (e.g.dv-tree-view,dv-uploader) can import it without reaching intocore/.... - Files: export
DirectUploadClientConfigfrom the public files surface so consumers can construct aDirectUploadClientwith the new configuration object.
- BREAKING:
DirectUploadClientconstructor signature changed from(filesRepository, maxMultipartRetries = 5)to(filesRepository, config: DirectUploadClientConfig = {}).confignow holdsmaxMultipartRetries(default 5) and the newfileUploadTimeoutMs(default 60000). Existing TypeScript consumers passing the second argument as a number will need to migrate to{ maxMultipartRetries: N }. - Files:
DirectUploadClientnow reads thetaggingfield from the upload-destination response so operators on storage that doesn't accept S3 tags can opt out per-driver viadataverse.files.<id>.disable-tagging=true. The default behaviour is unchanged: when the server omits the field the client still sendsx-amz-tagging: dv-state=temp(the same tag that earlier SDK versions hard-coded), so the new SDK is backwards-compatible with Dataverse releases that predate the response field. A server that explicitly returns an emptytaggingvalue tells the client to skip the header entirely.
- Datasets: Added
updateDatasetLicenseuse case and repository method to support Dataverse endpointPUT /datasets/{id}/license, for updating dataset license or custom terms. - Datasets: Added
getDatasetStorageDriveruse case and repository method to support Dataverse endpointGET /datasets/{identifier}/storageDriver, for retrieving dataset storage driver configuration with properties: name, type, label, directUpload, directDownload, and uploadOutOfBand. - Datasets: Added
getDatasetUploadLimitsuse case and repository method to support Dataverse endpointGET /datasets/{id}/uploadlimits, for retrieving remaining storage upload quotas, if present. - New Use Case: Get Collections For Linking Use Case.
- New Use Case: Create a Template under Templates.
- New Use Case: Get a Template under Templates.
- New Use Case: Delete a Template under Templates.
- Templates: Added
setTemplateAsDefaultuse case and repository method to support Dataverse endpointPOST /dataverses/{id}/template/default/{templateId}. - Templates: Added
unsetTemplateAsDefaultuse case and repository method to support Dataverse endpointDELETE /dataverses/{id}/template/default. - New Use Case: Update Terms of Access.
- Files: Direct uploads now forward the
taggingvalue returned by the upload destination response as thex-amz-taggingheader for single-part uploads. - Files: Added a
DirectUploadClientConfigobject for configuring multipart upload retries and upload timeout. - Guestbooks: Added use cases and repository support for guestbook creation, listing, and enabling/disabling.
- Guestbooks: Added dataset-level guestbook assignment and removal support via
assignDatasetGuestbook(PUT /api/datasets/{identifier}/guestbook) andremoveDatasetGuestbook(DELETE /api/datasets/{identifier}/guestbook). - Datasets/Guestbooks: Added
guestbookIdingetDatasetresponses. - Access: Added
accessmodule for guestbook-at-request and download terms/guestbook submission endpoints. - New Use Case: Get Publish Dataset Disclaimer Text.
- New Use Case: Get Dataset Publish Popup Custom Text.
- DatasetType: Updated datasetType data model. Added two more fields: description and displayName.
- Add pagination query parameters to Dataset Version Summaries and File Version Summaries use cases.
- Templates: Rename
CreateDatasetTemplateDTOtoCreateTemplateDTO. - Templates: Rename
createDatasetTemplaterepository method tocreateTemplate. - Templates: Rename
getDatasetTemplatesrepository method togetTemplatesByCollectionId. - Files:
DirectUploadClientconstructor now accepts aDirectUploadClientConfigobject instead of a plain number formaxMultipartRetries.
- In GetAllNotificationsByUser use case, additionalInfo field is returned as an object instead of a string.
- In GetAllNotificationsByUser use case, added support for filtering unread messages and pagination.
- Removed date fields validations in create and update dataset use cases, since validation is already handled in the backend and SPA frontend (other clients should perform client side validation also). This avoids duplicated logic and keeps the package focused on its core responsibility.
-
CHANGELOG.md file to track changes in a standard way.
-
New property isAdvancedSearchFieldType returned by API in GetCollectionMetadataBlocks and GetMetadataBlockByName use cases.
-
Use cases for Notifications: GetAllNotifications, DeleteNotification.
-
Use cases for Dataset Linking: LinkDataset, UnlinkDataset, GetDatasetLinkedCollections.
-
Use case: GetCitationInOtherFormats.
-
Use case: GetDatasetAvailableCategories.
-
Use cases for Collections Linking: LinkCollection, UnlinkCollection, GetCollectionLinks.
-
Use cases for External Tools: GetExternalTools, GetDatasetExternalToolResolved, GetFileExternalToolResolved.
-
Use case: GetTemplatesByCollectionId.
-
Use case: GetAvailableStandardLicenses.
-
Use case: GetAvailableDatasetMetadataExportFormats.
-
Use cases for Dataset Types: GetDatasetAvailableDatasetTypes, GetDatasetAvailableDatasetType, AddDatasetType, LinkDatasetTypeWithMetadataBlocks, SetAvailableLicensesForDatasetType, DeleteDatasetType.
-
CreateDataset use case updated to allow non-default dataset types.
-
GetCollectionMetadataBlocks use case updated to support passing a dataset type.
-
Integration tests in Roles Repository.
-
Incorrect Filter Queries split that caused value parts to be truncated.
- Dependencies updated to address vulnerabilities found by npm audit.