Skip to content

Latest commit

 

History

History
112 lines (70 loc) · 7.17 KB

File metadata and controls

112 lines (70 loc) · 7.17 KB

Changelog

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.

Added

  • Datasets: listDatasetTreeNode use case and repository method backing GET /datasets/{id}/versions/{versionId}/tree for paginated, lazy listing of folders/files inside a dataset version. Returns FileTreePage with folder-first ordering, opaque keyset cursors, and per-file downloadUrl.
  • Datasets: iterateDatasetTreeNode async generator that walks the cursor chain so callers can consume one folder's children without driving pagination by hand.
  • Core: re-export DataverseApiAuthMechanism from the public surface so consumers of the standalone reusable bundles (e.g. dv-tree-view, dv-uploader) can import it without reaching into core/....
  • Files: export DirectUploadClientConfig from the public files surface so consumers can construct a DirectUploadClient with the new configuration object.

Changed

  • BREAKING: DirectUploadClient constructor signature changed from (filesRepository, maxMultipartRetries = 5) to (filesRepository, config: DirectUploadClientConfig = {}). config now holds maxMultipartRetries (default 5) and the new fileUploadTimeoutMs (default 60000). Existing TypeScript consumers passing the second argument as a number will need to migrate to { maxMultipartRetries: N }.
  • Files: DirectUploadClient now reads the tagging field from the upload-destination response so operators on storage that doesn't accept S3 tags can opt out per-driver via dataverse.files.<id>.disable-tagging=true. The default behaviour is unchanged: when the server omits the field the client still sends x-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 empty tagging value tells the client to skip the header entirely.

Fixed

Removed

[v2.2.0] -- 2026-04-24

Added

  • Datasets: Added updateDatasetLicense use case and repository method to support Dataverse endpoint PUT /datasets/{id}/license, for updating dataset license or custom terms.
  • Datasets: Added getDatasetStorageDriver use case and repository method to support Dataverse endpoint GET /datasets/{identifier}/storageDriver, for retrieving dataset storage driver configuration with properties: name, type, label, directUpload, directDownload, and uploadOutOfBand.
  • Datasets: Added getDatasetUploadLimits use case and repository method to support Dataverse endpoint GET /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 setTemplateAsDefault use case and repository method to support Dataverse endpoint POST /dataverses/{id}/template/default/{templateId}.
  • Templates: Added unsetTemplateAsDefault use case and repository method to support Dataverse endpoint DELETE /dataverses/{id}/template/default.
  • New Use Case: Update Terms of Access.
  • Files: Direct uploads now forward the tagging value returned by the upload destination response as the x-amz-tagging header for single-part uploads.
  • Files: Added a DirectUploadClientConfig object 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) and removeDatasetGuestbook (DELETE /api/datasets/{identifier}/guestbook).
  • Datasets/Guestbooks: Added guestbookId in getDataset responses.
  • Access: Addedaccess module 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.

Changed

  • Add pagination query parameters to Dataset Version Summaries and File Version Summaries use cases.
  • Templates: Rename CreateDatasetTemplateDTO to CreateTemplateDTO.
  • Templates: Rename createDatasetTemplate repository method to createTemplate.
  • Templates: Rename getDatasetTemplates repository method to getTemplatesByCollectionId.
  • Files: DirectUploadClient constructor now accepts a DirectUploadClientConfig object instead of a plain number for maxMultipartRetries.

Fixed

  • 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

  • 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.

[v2.1.0] -- 2025-09-29

Added

  • 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.

Changed

  • CreateDataset use case updated to allow non-default dataset types.

  • GetCollectionMetadataBlocks use case updated to support passing a dataset type.

Fixed

  • Integration tests in Roles Repository.

  • Incorrect Filter Queries split that caused value parts to be truncated.

Security

  • Dependencies updated to address vulnerabilities found by npm audit.