Skip to content

Latest commit

 

History

History
724 lines (378 loc) · 36.3 KB

CHANGELOG.md

File metadata and controls

724 lines (378 loc) · 36.3 KB

6.14.2 (2024-10-16)

Bug Fixes

  • upload-client/types: make UploadcareFile instance properties non-nullable cause they're can't be null actually (#529) (57c84a4)

6.14.1 (2024-03-08)

6.14.0 (2024-02-15)

Features

  • New package @uploadcare/image-shrink to reduce image size in the browser. See docs here.

6.13.0 (2024-02-06)

Bug Fixes

  • upload-client/group: use body to send query parameters (#511) (16f36f7)

Features

  • rest-client: export CancelError from the package (83f10c6)

6.12.1 (2024-01-12)

Bug Fixes

  • rest-client: send signed API requests with body in Firefox (#508) (6705984)

6.12.0 (2023-12-22)

Deprecations

  • UploadcareNetworkError is deprecated. Please use NetworkError instead.
  • UploadClientError is deprecated. Please use UploadError instead.

Features

  • api-client-utils: add base class UploadcareError for the errors (766586a)
  • rest-client: export UploadcareError and RestClientError from the package module (6432653)
  • upload-client: export CancelError from the package (7adf799)
  • upload-client: rename UploadcareNetworkError export to the NetworkError. UploadcareNetworkError is deprecated but still exported. (62cc416)
  • upload-client: rename UploadClientError export to the UploadError. UploadClientError is deprecated but still exported. (7c03c3d)

6.11.1 (2023-12-19)

Bug Fixes

  • upload-client/react-native: update bundle path (#504) (a0668c4)

6.11.0 (2023-11-15)

Features

  • rest-client: add AWS Rekognition Moderation addon (67a01dc)

6.10.0 (2023-11-14)

Features

  • rest-client/convert: add saveInGroup option to document conversion method (#499) (50720b7)

6.9.0 (2023-11-14)

Features

  • rest-client: add Document Info endpoint (7f0c528)

6.8.0 (2023-10-30)

Bug Fixes

  • types: imageInfo.datetimeOriginal could be null or string (#489) (4a717e1)

Features

  • upload-client: export isReadyPoll helper to wait for the file readiness (12cf9b1)

6.7.0 (2023-10-18)

Bug Fixes

  • upload-client/queue: don't use private class fields due to bad support of bundling tools (d61dc47)
  • upload-client/uploadFileGroup: do not request fileInfo before creating group from uuid (c3c8245)
  • upload-client/uploadFileGroup: support for the uuids with inline operations (c3c8245)
  • upload-client/UploadcareGroup: filter null values from the files property of group info (83c0b6c)
  • upload-client: fix package.json react-native field path (beee9c1)

Features

  • upload-client: add property defaultEffects to the UploadcareFile instance returned by uploadFileGroup method (abe39c4)

6.6.1 (2023-05-01)

Bug Fixes

  • upload-client: do not use buffer for browser-like bundles to prevent polyfilling by cdn (#484)

6.6.0 (2023-05-01)

Features

  • upload-client: add Queue helper to make queued uploads (#481) (aea890c)

6.5.1 (2023-04-25)

6.5.0 (2023-04-25)

Bug Fixes

  • set corresponding extension for the dynamic chunks (882741f)

Features

  • add CommonJS bundles (4aff9bc)
  • rest-client: export createSignature method (#472) (ccbb97a)

6.4.1 (2023-03-17)

Bug Fixes

  • upload-client/uploadFileGroup: accept checkForUrlDuplicates and saveUrlForRecurrentUploads (#470) (43e0ba9)

6.4.0 (2023-03-10)

BREAKING CHANGE without major bump

There will be no impact unless you are using the @uploadcare/signed-uploads package.

  • @uploadcare/signed-uploads: update generateSecureSignature signature - BREAKING CHANGE without major bump (97f7ebb)

6.3.0 (2023-03-09)

Features

  • add @uploadcare/signed-uploads package containing helper to generate signature for signed uploads (#466) (dd48ee4)

6.2.1 (2023-01-23)

Bug Fixes

  • upload-client: normalize output cdn url (#463) (cd37f4d)

6.2.0 (2023-01-20)

Bug Fixes

  • upload-client: send content-type header when uploading multipart (#461) (3a402a3)

Features

  • upload-client: accept auto as store value (#460) (e140644)

6.1.0 (2023-01-10)

Bug Fixes

  • upload-client: ensure that file name and type passed to the FormData (fe63607)

Features

  • upload-client: export all the types (d2bbd76)
  • upload-client: support react-native asset file input (f586f84)

6.0.0 (2022-12-07)

  • refactor(rest-client)!: merge document and video conversion methods into the two common ones - convert and conversionJobStatus (beb2bb6)
  • fix(rest-client)!: do not change case of the appdata field and its content (92d785d)
  • feat(rest-client)!: accept boolean or "auto" for the store option (440e228)

Features

  • api-client-utils: add timeout option to the poll (f27f25a)
  • rest-client: add addon job status polling (8f2aec7)
  • rest-client: add conversion api polling (41c6aa5)

BREAKING CHANGES

  • Methods convertVideo, convertDocument, videoConversionJobStatus and documentConversionJobStatus are removed. Please use convert and conversionJobStatus methods. Type of conversion (video or document) passed as type option.
  • Now appdata field is returned as-is, without kebab -> camel case conversion
  • string ("true", "false", "1", "0") values for the store option of convertVideo and convertDocument aren't accepted anymore. Please use boolean value or "auto". It's "auto" by default"

5.2.0 (2022-11-26)

Bug Fixes

  • rest-client: send user-agent instead of x-uc-user-agent header (#447) (759768a)
  • upload-client: read retry-after header instead of x-throttle-wait-seconds (81698df)

Features

  • rest-client: add pagination helpers (#450) (19f6d8f)
  • rest-client: retry requests on network errors (#449) (846d8fd)

5.1.2 (2022-11-24)

Bug Fixes

  • rest-client: pass-through outer headers when signing request with UploadcareSimpleAuthSchema (0c912e1)

5.1.1 (2022-10-28)

Bug Fixes

  • specify types path for the root export, fixes #436 (see PR #437)

Features

  • add separate exports for node, browser and react-native bundles. It's useful when you wanna explicitly import needed bundle instead of relying the bundler's choice (see PR #437)

5.1.0 (2022-09-13)

Features

  • rest-client: add executeAddon and addonExecutionStatus (5b7123f)

5.0.0 (2022-09-13)

  • refactor(upload-client)!: drop multipartMaxAttempts option (178436e)

Features

  • api-client-utils: add UploadcareNetworkError (0e917d2)
  • upload-client: add retryNetworkErrorMaxTimes option to specify retries count on network errors (400fedd)
  • upload-client: throw UploadcareNetworkError instead of Error (f7e3f55)

BREAKING CHANGES

  • option multipartMaxAttempts is dropped. Use retryNetworkErrorMaxTimes instead. It will affect all the requests, not only multipart uploads.

4.3.1 (2022-08-24)

Bug Fixes

4.3.0 (2022-07-20)

Features

  • export getUserAgent method from @uploadcare/api-client-utils package (78da195)

4.2.1 (2022-07-11)

  • Add exports field to the package.json (#415)
  • Add LICENSE files to the package contents (#414)

4.2.0 (2022-07-05)

Repository was transformed into the monorepo. Now there are two packages: @uploadcare/upload-client and @uploadcare/rest-client.

They have locked versioning. So @uploadcare/rest-client is started from 4.2.0, and @uploadcare/upload-client has no any visible changes (except for the internal ones).

At the current stage, there are no any high-level wrappers at @uploadcare/rest-client. Only low-level typed wrappers over API methods are available. It means, that there are no pagination and no conversion job status polling, just bare request wrappers.

4.1.0 (2022-06-29)

Bug Fixes

  • Fix crashes when null metadata passed to the options (cbf5472)

4.0.1 (2022-06-10)

4.0.0 (2022-06-10)

BREAKING CHANGES

  • Drop < v16 Node support due to native AbortController usage (#377)
  • Removed CommonJS bundles (#377)
  • Removed option defaultEffects (#376)
  • Removed property cdnUrlModifiers of UploadcareFile instance (#376)
  • Removed property originalUrl of UploadcareFile instance. Use cdnUrl instead (#376)
  • Exported method uploadBase renamed to uploadDirect (#376)

Bug Fixes

  • pass contentType down to the node form-data (465722c)
  • react-native: module entry points for react-native (6d8a955)

Features

  • UploadcareFile: add s3Bucket property (#376)
  • UploadcareFile: add s3Url property (#376)
  • UploadClient: set empty options by default for method wrappers inside client instance (#375)

3.1.1 (2022-04-11)

3.1.0 (2022-04-11)

Bug Fixes

  • accept option `multipartMinFileSize (679eb8f)
  • calculate store parameter in a consistent way (2e423d2)

Features

  • file metadata support (dc9cf2d)
  • return contentInfo from fileInfo to user (5b9b99a)

3.0.0 (2022-02-24)

Bug Fixes

  • remove exports field at package.json (#360) (1e37542)

  • fix!: split progress info to computable and unknown ones (#363) (7638284), closes #363

BREAKING CHANGES

  • value property of progress info can be undefined instead of NaN in case of uploading from URL. See isComputable flag to detect whether value is available.

2.2.0 (2021-12-22)

Features

2.1.0 (2021-12-07)

Features

  • export UploadcareFile and UploadcareGroup types (#353) (29d1547)

2.0.0 (2021-11-15)

Features

  • feat!: add cjs and esm support (#283) (081f27e), closes #283
  • feat!: replace CancelController with native AbortController (#282) (020e1ae), closes #282
  • add mimeType to UploadcareFile type (33b6c58)
  • export high-level upload methods (1354018)
  • handle server error codes (948c9d1)
  • add option userAgent to pass custom user agent string or function (d74fefb)

BREAKING CHANGES

  • remove default export because webpack can't handle it without bugs
  • replace cancel key with signal in all cancelable methods
  • property response of UploadClientError now contains the whole response object ({ error: {...}})

1.1.5 (2021-06-28)

Bug Fixes

  • pass missing props from uploadFile down to the upload methods (#339) (e16dc73)

1.1.4 (2021-06-11)

Bug Fixes

  • checkForUrlDuplicates & saveUrlForRecurrentUploads parameters passed into common uploadFile method (201ee07)

1.1.3 (2021-03-17)

Bug Fixes

  • react-native: prevent app crashes while multipart uploading (#308) (5d305e6)
  • react-native: support direct uploads through FormData (#307) (428b039)

1.1.2 (2020-04-20)

Bug Fixes

  • multipart: implement retry for part uploading (#253) (e2330bb)
  • multipart: add is ready pool for mulipart upload (#254) (fe7ca2a)
  • multipart: implement multipart progress for node (#252) (b60eb83)
  • multipart: use browser contentType if option is not passed (#251) (f5ab80a)
  • multipart: use browser filename if option is not passed (#250) (749e4a9)

1.1.1 (2020-03-16)

Bug Fixes

1.1.0 (2020-03-03)

Features

  • implement push strategy with sockets for uploadFromUrl (#222) (4cafe97)
  • add deferred disconnect for push strategy (#229) (a9901f7)
  • add strong typed event emitter (#217) (35b9eef)
  • add custom race function (#177) (219c02a)

Bug Fixes

  • make fileName optional and remove it from default settings (#233) (a28d181)
  • remove timeout from uploadFromUrl function (#226) (76db2e4)
  • use direct import for CancelController and rename callback to stopRace (#216) (ea4ef7a)

1.0.1 (2020-01-13)

Bug Fixes

  • deps: update dependency form-data to v3 (#130) (1ece271)

1.0.0 (2019-12-23)

Changed

  • All methods return a Promise now instead of ThenableInterface
  • SettingsInterface was renamed to Settings
  • fileFrom was renamed to uploadFile.
  • groupFrom was renamed to uploadFileGroup.
  • request low-level API method is not exported outside now.
  • Method setSettings of UploadClient was renamed to updateSettings.
  • Methods (base, fromUrl, fromUrlStatus, group, groupInfo, info, multipartStart, multipartUpload, multipartComplete, multipart, uploadFile, uploadGroup) were exported from index.ts to make the tree shaking better.
  • Methods (base, fromUrl, fromUrlStatus, group, groupInfo, info, multipartStart, multipartUpload, multipartComplete, multipart, uploadFile, uploadGroup) accept options instead of settings as a second argument.
  • UploadClient now contains all low-level API methods (base, fromUrl, fromUrlStatus, group, groupInfo, info, multipartStart, multipartUpload, multipartComplete, multipart, fileFrom, groupFrom).
  • UploadcareGroup files now contain UploadcareFile[], but not FileInfo[].
  • README.md was updated according to library API.
  • FileData became NodeFile and BrowserFile.

Removed

  • UploadAPI class.
  • Thenable, CancelableThenable, BaseThenable, Upload classes implementing respective interfaces.
  • onReady, onUploaded callbacks.
  • addUpdateSettingsListener and removeUpdateSettingsListener from UploadClientInterface.
  • from param of uploadFile and uploadFileGroup.
  • FileFromEnum and GroupFromEnum.

Added

  • CancelController to make API calls cancellable. See README for how to use this feature. (#77)

Added

  • Support of multipart and big files uploading: multipartStart, multipartUpload, and multipartComplete methods to UploadAPI.
  • Support of canceling uploads and handling them for all API methods (info, fromUrl, fromUrlStatus, group, groupInfo).
  • DefaultSettingsInterface with required properties.
  • pollingTimeoutMilliseconds to SettingsInterface. Now you can adjust the timeout for checking is file ready, and checking is file being uploaded from URL.
  • maxConcurrentRequests setting that allows you to specify the number of concurrent requests.

Changed

  • FileFrom enum was renamed to FileFromEnum.
  • GroupFrom enum was renamed to GroupFromEnum.
  • Settings was renamed to SettingsInterface.
  • FileInfo was renamed to FileInfoInterface.
  • GroupInfo was renamed to GroupInfoInfoInterface.
  • OriginalImageInfo was renamed to OriginalImageInfoInterface.
  • RequestOptions was renamed to RequestOptionsInterface.
  • ProgressStatus was renamed to ProgressStatusInterface.
  • Audio type was renamed to AudioInterface.
  • Video type was renamed to VideoInterface.
  • ErrorRequestInfo type was renamed to ErrorRequestInfoInterface.
  • ErrorResponseInfoInfo type was renamed to ErrorResponseInfoInterface.
  • ProgressState was renamed to ProgressStateEnum.
  • ProgressParams was renamed to ProgressParamsInterface.
  • base method of Upload API now returns BaseThenableInterface<BaseResponse> instead of DirectUploadInterface.
  • info, fromUrl, fromUrlStatus, group, groupInfo now returns CancelableThenableInterface.
  • Progress is now calculated from 0 to 1 instead of 0 to 100

Fixed

  • Example with directUpload.onProgress in README.md.
  • All tests are passing now.
  • Mock server tests are passing now.

Removed

  • DirectUploadInterface was removed in favor of BaseThenableInterface<BaseResponse>.
  • BaseProgress was removed in favor of native ProgressEvent.
  • InfoResponse was removed in favor of FileInfoInterface.
  • Old code in folder ./.back.

Added

  • Wrappers for group paths of Upload API (group, groupInfo).
  • The high-level function for group uploading, aka filesGroupFrom.
  • Uploading progress for Node.js in the base method.

Changed

  • UploadFromInterface was renamed to FileUploadInterface.
  • FileProgress was renamed to ProgressParams.
  • UploadcareFile was renamed to UploadcareFileInterface.

Added

  • Support fileFrom 'uploaded' file (uuid).
  • Support of waiting status from /from_url/status/ endpoint.
  • Export some main types from the index.ts file. So you can import them now directly from @uploadcare/upload-client.
  • Throttling for request.
  • retryThrottledMaxTimes param to set count of max retries after throttled request (1 by default).
  • Uuid type.
  • Mock server for local testing.

Fixed

  • The default timeout for polling functions increased from 3s to 10s.
  • Removed restrictions for timeout and interval.

Changed

  • The project was moved from Flow notations to TypeScript.
  • The base function now returns an object that implements DirectUploadInterface.
  • The fileFrom function now returns an object that implements UploadFromInterface.
  • The UCFile type renamed to UploadcareFile.
  • The progress of fileFrom now based on the UploadingProgress type.

Added

  • Low-level request wrappers for /from_url/ and /from_url/status/ paths of Upload API.
  • Settings: the support of setting baseCDN, checkForUrlDuplicates, saveUrlForRecurrentUploads.

Fixed

  • Use the version from the package.json file to create Uploadcare User Agent.

Changed

  • The base function returns thenable object called DirectUpload instead of using the promise property.
  • The fileFrom function returns thenable object called FilePromise instead of using the promise property.
  • The FileInfo type renamed to UCFile and updated.
  • The FilePromise resolved with an object of the UploadcareFile type.
  • The progress of fileFrom now based on the FilePromiseProgress type.
  • Updated the InfoResponse type.

Added

  • The checkFileIsReady function to check if the file is ready on the CDN.
  • New properties for the object that the fileFrom function returns: onUploaded, onReady.
  • The camelizeKeys function for inner usage.
  • The baseCDN default setting

1.0.0-alpha

The first public alpha release.

Added

  • The request function to request to any path of Upload API.
  • Low-level request wrappers for /base/ and /info/ paths of Upload API.
  • UploadClient class with settings and fileFrom method that supports only direct uploads now.
  • Support of following Uploadcare Settings: publicKey, baseUrl, doNotStore, integration, secureExpire, secureSignature.
  • Test environment for both Node.js and browsers