Release notes

2022

Week 48

SOC 2 Type 2 compliance

{compliance}

Uploadcare has achieved SOC 2 Type 2 compliance in accordance with American Institute of Certified Public Accountants (AICPA) standards for SOC for Service Organizations also known as SSAE 18.

Achieving this standard with an unqualified opinion serves as third-party industry validation that Uploadcare provides enterprise-level security for customers' data. An unqualified opinion on a SOC 2 Type 2 audit report demonstrates to Uploadcare's current and future customers that the company manages their data with the highest standard of security and compliance.

https://uploadcare.com/about/trust/

Week 47

SVG rasterization

{image processing}

Now you can rasterize SVG images to apply full range of image processing operations.

https://uploadcare.com/docs/transformations/image/#svg

Week 43

File uploader beta

{widget} {integration}

Try our new file uploader beta. This is an open-source, light and easily customizable solution with a modern design and is ready-made for the most frequent file-uploading cases.

https://uploadcare.com/docs/file-uploader-beta/

Billing email(s) and address

{dashboard}

Now one can add additional emails to send billing notifications.

https://app.uploadcare.com/accounts/settings/

PHP integration 4.0.0

{php} {integration}

This release is a result of REST API update to a new version which introduces Add-Ons and File metadata.

https://github.com/uploadcare/uploadcare-php/releases/tag/v4.0.0

Week 42

Two-factor authentication

{dashboard}

Use an authenticator app like Authy, 1Password, Microsoft Authenticator, or Google Authenticator to set up 2FA.

https://app.uploadcare.com/accounts/settings/

Swift integration 0.9.0

{swift} {integration}

This release is a result of REST API update to a new version which introduces Add-Ons and File metadata.

https://github.com/uploadcare/uploadcare-swift/releases/tag/0.9.0

Week 39

Border radius and circle crop

{image processing}

Apply transparency mask with round or elliptical corners to the image. It works similar to the border-radius property in CSS.

https://uploadcare.com/docs/transformations/image/resize-crop/#operation-border-radius

Week 36

Text overlays

{image processing}

The text operation allows placing arbitrary text on top of an image.

https://uploadcare.com/docs/transformations/image/overlay/#overlay-text

Week 33

REST API 0.7 release

{api} {BREAKING}

New REST API version introduces Add-Ons and File metadata. More about them down below.

There are some minor but breaking changes for /files/ and /group/ endpoints.

v0.5 and v0.6 are supported until 15 Aug 2024.

https://uploadcare.com/api-refs/rest-api/v0.7.0/#tag/Changelog

AWS Rekognition add-on

{api}

Execute AWS Rekognition that allows you to detect labels in an image.

https://uploadcare.com/docs/intelligence/object-recognition/

ClamAV add-on

{api}

Execute ClamAV virus checking.

(You can automate it for any project with a simple setting).

https://uploadcare.com/api-refs/rest-api/v0.7.0/#operation/ucClamavVirusScanExecute

Remove.bg add-on

{api}

Execute remove.bg background image removal.

https://uploadcare.com/docs/remove-bg/

File metadata

{api}

File metadata provides an option to specify a file's metadata during the file uploading procedure.

Separately, Upload API now provides an option to specify a file’s metadata during the file uploading procedure.

https://uploadcare.com/docs/file-metadata/

Week 31

Uploadcare Widget v3.18.0

{widget} {integration}

New features:

  • metadata and metadataCallback settings
  • Added camera selector (useful when user has a few cameras, e.g. a virtual camera)

https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.18.0

Swift integration 0.8.0

{swift} {integration}

What's new:

  • All methods were updated to use Result type in completion blocks
  • Allow setting signature from the external source for the direct upload method (https://github.com/uploadcare/uploadcare-swift/pull/93)
  • Allow setting signature from the external source for other methods:
    • Upload file from url
    • Multipart file uploading
    • Create files group from a set of files
    • Create files group from a set of files UUIDs
    • Files group info
    • main uploadFile method that decides which upload method to use internally
    • upload method of UploadedFile object
  • Clarified how to use background upload

https://github.com/uploadcare/uploadcare-swift/releases/tag/0.8.0

TinyMCE integration update

{tinymce} {integration}

Added TinyMCE 6.0 support.

https://github.com/uploadcare/uploadcare-tinymce/releases/tag/v4.0.1

Week 29

SOC 2 Type 1 compliance

{compliance}

Uploadcare has achieved SOC 2 Type 1 compliance in accordance with American Institute of Certified Public Accountants (AICPA) standards for SOC for Service Organizations also known as SSAE 18.

Achieving this standard with an unqualified opinion serves as third-party industry validation that Uploadcare provides enterprise-level security for customers' data. An unqualified opinion on a SOC 2 Type 1 audit report demonstrates to Uploadcare's current and future customers that the company manages their data with the highest standard of security and compliance.

https://uploadcare.com/about/trust/

Week 28

New JS API clients

{js} {integration}

uploadcare-upload-client repository was transformed into the new monorepo — uploadcare-js-api-clients.

Now there are two packages: @uploadcare/upload-client and @uploadcare/rest-client.

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

https://github.com/uploadcare/uploadcare-js-api-clients/releases/tag/v4.2.0

(Old uploadcare-node integration was deprecated in favor of the new one).

Angular wrapper v4.0.0

{BREAKING} {angular} {integration}

The library is now built with angular 14 toolchain. Compatibility with previous versions of Angular might have been broken.

https://github.com/uploadcare/ngx-uploadcare-widget/releases/tag/v4.0.0

Week 24

Set max file size for uploaded files

{dashboard}

Now you can edit 'max file size' on the Dashboard.

https://app.uploadcare.com/projects/-/uploading/configure/

Week 22

301 redirect for REST API and proxy endpoints

{api}

A 301 redirect has been implemented from HTTP to HTTPS for the following API endpoints:

Server-side MIME type filtering

{dashboard}

By default, files of all MIME types can be uploaded to the project. You can validate uploads on backend by allowing only specific file types: for instance, audio files, documents, fonts, images, videos.

https://app.uploadcare.com/projects/-/settings/#uploading

Week 20

Malware protection

{dashboard}

Uploadcare now automatically detects the upload of infected files, which prevents your users from uploading them and allows you to avoid the distribution of malicious files.

https://uploadcare.com/docs/security/malware-protection/

Week 19

301 redirect for Upload API endpoint

{API}

A 301 redirect has been implemented from HTTP to HTTPS for the following API endpoint: http://upload.uploadcare.com/.

Date of implementing the redirect for REST API (http://api.uploadcare.com) will be announced later. We're giving our customers additional time to implement changes into their integrations.

Week 18

Swift integration v0.6.0

{swift} {integration}

A new uploadFile method has been added that decides which upload method to use internally — direct or multipart.

https://github.com/uploadcare/uploadcare-swift/releases/tag/0.6.0

Week 15

API logs update

{dashboard}

Now users can see the new file-related information:

  • API request logs
  • Webhook delivery logs

https://app.uploadcare.com/projects/-/files/

Session key for widget remote tab

{widget}

Now you can manage authorization for the uploading widget's external sources (e.g. Facebook or Instagram).

https://uploadcare.com/docs/uploads/file-uploader-options/#option-remote-tab-session-key

Week 11

Meta information control

{image processing}

The original image often comes with additional information built into the image file. In most cases, this information doesn't affect image rendering and thus can be safely stripped from the processed images. You can control image processing behavior with this option. This could be helpful if you want to keep the original or modified metadata in the processed image.

-/strip_meta/all/
-/strip_meta/none/
-/strip_meta/sensitive/

https://uploadcare.com/docs/transformations/image/compression/#meta-information-control

Week 9

API logs (beta)

{dashboard}

We're proud to announce a new dashboard feature — API logs (currently in beta).

View details about your API requests, responses, and errors. Useful for diagnosis, analysis, and monitoring.

https://app.uploadcare.com/projects/-/api-logs/

Smart quality by default

{image processing}

When processing images, the result will be encoded to the new image on the fly. The compression operations allow you to control this process. The default quality for all processed images is “smart” from now on.

Smart quality modes analyze input images using content-aware algorithms to determine maximum compression that won't cause noticeable visual artifacts. This new default is a huge change which could be a game changer for customers with a ton of traffic.

https://uploadcare.com/docs/transformations/image/compression/#operation-quality

Week 4

New GIF to video operations

{image processing}

We've added basic geometrical transformations in GIF to video API. Now you can preview, resize, crop, and scale resulting videos.

-/preview/:dimensions/
-/resize/:one_or_two_dimensions/
-/crop/:dimensions/:alignment/
-/scale_crop/:dimensions/:alignment/

https://uploadcare.com/docs/transformations/gif-to-video/

2021

Week 52

Next charge detalization

{dashboard}

Now you can find detailed information about your next charge and your volume savings on the billing usage page.

https://app.uploadcare.com/billing/#overview

Week 51

-/crop/:aspect_ratio/ and -/crop/:tag/ operations

{image processing}

Now you can crop images by ratio, by an object, or combine these features together.

Crop by aspect ratio crops the image to the specified aspect ratio, cutting off the rest of the image. Crop by object crops the image to the object specified by the :tag parameter (possible values: face or image). The found object fits into the given aspect ratio if :aspect_ratio is specified.

https://uploadcare.com/docs/transformations/image/resize-crop/#operation-crop-aspect-ratio https://uploadcare.com/docs/transformations/image/resize-crop/#operation-crop-tags

-/zoom_objects/ operation

{image processing}

As a result of the operation, the object's size in the image will change. The resolution of the image after the operation will remain the same. For example, an object in an image with applied operation -/zoom_objects/100/ is the object that occupies the maximum area of this image. It is best suited for images with solid or uniform backgrounds.

https://uploadcare.com/docs/transformations/image/resize-crop/#operation-zoom-objects

Geometry operations for SVG images

{image processing}

Geometric operations (preview, resize, crop, scale_crop) now change SVG attributes and work as expected.

https://uploadcare.com/docs/transformations/image/#svg-files

Week 48

AVIF decoding and detecting

{image processing}

Our image processing pipeline now supports AVIF images as a source.

Uploadcare Widget v3.15.0 — AVIF

{widget} {integration}

Now AVIF images can be uploaded when imagesOnly option is enabled.

https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.15.0

Separate totals in list of files response

{API}

Separate totals for different types of files (removed/stored/unstored) is added to the REST API v0.6 or higher GET /files/ response.

https://uploadcare.com/api-refs/rest-api/v0.7.0/#operation/filesList

Week 47

We have adopted the new Standard Contractual Clauses ensuring Uploadcare uses appropriate data protection safeguards when transferring data from the EU to third countries.

For this change to take effect, we have updated the following documents:

Terms of Service:

  • Article 20 ("Data Protection") now incorporates new DPA and SCCs.
  • Minor updates.

Data Protection Addendum:

  • Updated to be incorporated into ToS.
  • Minor updates.

Standard Contractual Clauses:

Privacy Policy:

  • Added: "Personal data uploaded by you" (for clarity).
  • Minor updates to: "Data we collect on sites automatically", "Data processing purposes", "Data sharing", "International data transfers", "Data security".
  • Removed: "Cookies and tracking" (now has a separate policy), "Privacy Shield principles" (in favour of SCCs), "GDPR" (as a separate article).

Cookie Policy:

  • Updated and separated from Privacy Policy.

These updates take effect on November 26, 2021.

Week 46

HEIC decoding and detecting

{image processing}

Our image processing pipeline now supports HEIC images as a source.

Uploadcare Widget v3.14.0 — HEIC

{widget} {integration}

Now HEIC images can be uploaded when imagesOnly option is enabled.

https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.14.0

Upload Client v2.0.0

{BREAKING} {js} {integration}

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: {...}}).

Updates:

  • Added CJS and ESM support.
  • CancelController replaced with the native AbortController.
  • MimeType added to the UploadcareFile type.
  • Exported high-level upload methods.
  • Added support to handle server error codes.
  • Added option userAgent to pass custom user agent string or function.

https://github.com/uploadcare/uploadcare-js-api-clients/releases/tag/v2.0.0

Next.js loader

{nextjs} {integration}

Optimize images with Uploadcare on the fly by using the UploadcareImage component or the uploadcareLoader custom image loader for Next.js.

https://uploadcare.com/docs/integrations/next-js/

Pricing free plan improvements

{pricing}

We improved limits and enabled more features on our free plan:

  • File size limit has increased from 100 MB to 500 MB.
  • Traffic limit has increased from 3 GB to 30 GB.
  • GIF to video conversion is enabled.
  • Zapier, Make, and custom webhooks are enabled.

Week 45

Signed webhooks

{API}

Each webhook payload now can be signed with a secret to ensure that the request comes from the expected sender. The resulting signature is included in the request header, so you can use it to validate that the request comes from Uploadcare.

https://uploadcare.com/docs/security/secure-webhooks/

Widget configurator in Dashboard

{dashboard}

Now you can customize and configure File Uploading widget in Dashboard. Go to the Integrate section and hit File Uploader.

Week 44

pyuploadcare v3.0.0

{BREAKING} {python} {integration}

Version 3.0 contains breaking changes.

What's added:

  • Multipart uploads.
  • Document and video conversions.
  • Signed URL generator.
  • Image transformation path builder.
  • Webhook operations.
  • Getting project information.
  • Low-level API.
  • Uploadcare client.

What's changed:

  • Dropped support for Python 3.5.
  • Dropped support for Python 2.*.
  • Allowed uploading from URL in File.upload method.
  • Resource attributes can be accessed now as properties, not methods.
  • Uploadcare client should be initialized to access API.
  • Moved from Travis to Github Actions.

Week 43

Simplified pricing

{pricing}

  • Extended free plan.
  • Straightforward and transparent Pay As You Grow plan.

https://uploadcare.com/pricing/

Swift integration v0.4.0

{swift} {integration}

  • External sources in uploading widget.
  • New uploading method that decides which upload method to use: direct or multipart.
  • Mime type detection for more file types.
  • Fixed bug when multipart uploading method ignored store parameter.

https://github.com/uploadcare/uploadcare-swift/releases/tag/0.4.0

Week 42

Uploadcare Widget v3.12.0

{widget} {integration}

  • Added ability to enable camera photos only and disable audio recording.
  • Allow to pass settings object to the live initialization methods.
  • Show uploading errors to the end-user.

https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.12.0

Week 41

Ruby integration v3.1.1

{ruby} {integration}

  • Fix Uploadcare::File#delete
  • Fix Uploadcare::File#store

https://github.com/uploadcare/uploadcare-ruby/releases/tag/v3.1.1

Ruby on Rails integration v2.0.0 — rewrote gem from scratch

{BREAKING} {rails} {integration}

Major release. Covers 100% of Uploadcare APIs. Based on Ruby gem v3. Has an example app.

2.x is not backward compatible with 1.x.

Added:

  • Add Uploadcare API interface:
    • Uploadcare::FileApi
    • Uploadcare::UploadApi
    • Uploadcare::GroupApi
    • Uploadcare::ConversionApi
    • Uploadcare::ProjectApi
    • Uploadcare::WebhookApi
  • Add uploadcare_widget_tag helper for views
  • Add methods File#store, File#delete, File#load
  • Add methods Group#transform_file_urls, Group#store, Group#load

Changed:

  • Change File Uploader widget view helpers
  • Rename has_uploadcare_file -> mount_uploadcare_file
  • Rename has_uploadcare_group -> mount_uploadcare_file_group
  • Change generated config path from config/uploadcare.yml to config/initializers/uploadcare.rb and add more options
  • Rename the class Uploadcare::Rails::Settings to Uploadcare::Rails::Configuration
  • Rename the class Uploadcare::Rails::Operations to Uploadcare::Rails::Transformations::ImageTransformations.
  • Configuration object is available as Uploadcare::Rails.configuration now.
  • Change methods File#url -> File#transform_url
  • Change methods Group#urls -> Group#file_urls
  • Change methods Group#load_data -> Group#load

Removed:

  • Remove uploadcare_uploader_tag helper
  • Remove uploadcare_multiple_uploader_field helper
  • Remove uploadcare_single_uploader_field helper
  • Remove uploadcare_uploader_options (now options are included in uploadcare_widget_tag)
  • Remove FormBuilder support
  • Remove Formtastic support
  • Remove SimpleForm support
  • Remove caching files and groups on delete
  • Remove callback ruby after_save after_save "store_#{ attribute }".to_sym. Now managed by the do_not_store option in config/initializers/uploadcare.rb
  • Remove methods File#prepared_operations, File#to_builder, File#to_json, File#as_json, File#marshal_dump, File#image
  • Remove methods Group#cache_data, Group#to_json, Group#as_json, Group#map_files, Group#load_data, Group#marshal_dump

https://github.com/uploadcare/uploadcare-rails/releases/tag/v2.0.0

Week 40

Project teams

{projects}

Now you can add collaborators to your projects. These users have full access to files and settings of this project. Collaborators have no access to the billing settings of the owner’s account, and only owner can delete the project.

Week 37

Video info

{API}

Once a video file is uploaded, we extract its metadata (duration, format, bitrate, and specific audio & video stream metadata: codec, bitrate, frame rate and dimensions). It becomes available under the video_info key of the file information object. The file information can be retrieved by making a request to the REST API v0.6 or higher.

https://uploadcare.com/api-refs/rest-api/v0.7.0/#operation/fileInfo

Ruby integration v3.1.0

{ruby} {integration}

  • Added documents and videos conversion.
  • Added new attributes to the Entity class (variations, video_info, source, rekognition_info).
  • Added an opportunity to add custom logic to large files uploading process.

https://github.com/uploadcare/uploadcare-ruby/releases/tag/v3.1.0

Week 36

Uploadcare Widget v3.11.5

{widget} {integration}

  • Disable native scaling for iPadOS.
  • Disable native shrink for iOS.

https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.11.4

Week 34

New Dashboard URL

{dashboard}

Our Dashboard is now on separate domain — https://app.uploadcare.com/. It's done to strengthen security.

Week 30

React Widget v1.3.8

{react} {integration}

Bug fixes:

  • pass previewUrlCallback function to the global scope.
  • reassign callbacks on widget reinitialization.

https://github.com/uploadcare/react-widget/releases/tag/v1.3.8

Week 28

Uploadcare Widget v3.11.3

{widget} {integration}

Upgrade jQuery to v3.6.0 due to security issue.

https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.11.3

Week 26

Angular wrapper v3.0.0

{BREAKING} {angular} {integration}

BREAKING CHANGES: Update to Angular 12.

https://github.com/uploadcare/ngx-uploadcare-widget/releases/tag/v3.0.0

Week 25

New Upload and REST API references

{API} {documentation}

Now our APIs are compatible with OpenAPI specification:

PHP integration v3.1.1

{php} {integration}

Now you can generate signed CDN URLs for images with transformations.

https://github.com/uploadcare/uploadcare-php/releases/tag/v3.1.1

Usage section in Dashboard

{dashboard}

Now you can find your project usage stats (uploads, traffic, storage, conversions) in project Usage section.

Week 21

Now SVG files are identified as images

{image processing}

From now on, we analyze the actual file content, not the MIME type. That means that users can now upload SVG files via File Uploader with the imagesOnly option turned on. It also means that accounts without payment details can upload & deliver SVG files. CDN operations work with SVG files, but won’t affect these content yet. We’ll be adding basic resize and crop operations support for SVG images later.

Week 20

PHP integration v3.1.0

{php} {integration}

  • Dropped support for old PHP versions. You must update PHP to 7.1 or a newer version to use this version.
  • Added PHP 8 support.
  • Modified classes for strict types usage.
  • Modified terms for naming agreement.
  • Updated tests.
  • Added option to convert PDF files without a page parameter.

https://github.com/uploadcare/uploadcare-php/releases/tag/v.3.1.0

Week 18

File page in Dashboard

{dashboard}

We've created file page where you can see extended information about chosen file, and what can be done with it.

Week 16

Java integration v.3.4.0

{java} {integration}

Added:

  • datetimeOriginal in ImageInfo.
  • Face detection to CdnPathBuilder.
  • New options for format and quality operations.

https://github.com/uploadcare/uploadcare-java/releases/tag/v3.4.0

Week 15

Ruby integration v3.0.5 — rewrote gem from scratch

{BREAKING} {ruby} {integration}

  • Client wrappers for REST API
  • Serializers for REST API
  • Client wrappers for Upload API
  • Serializers for Upload API
  • rdoc documentation
  • Upload/group functionality
  • User API
  • User agent
  • Isolated clients, entities and concerns
  • Expanded File and Group entities
  • Better pagination and iterators for GroupList & FileList
  • Better pagination methods for GroupList & FileList

Note that uploadcare-ruby 3.x is not backward compatible with 2.x.

https://github.com/uploadcare/uploadcare-ruby/releases/tag/v3.0.5

Week 13

-/overlay/self operation

{image processing}

You can add a stylized background from the same image. It visually extends the image appearance vertically or horizontally.

https://uploadcare.com/docs/transformations/image/overlay/#overlay-self

Effects tab v1.5.0

{widget}

Added:

  • Generate an english-only bundle that imports the correct uploadcare.lang.en.js bundle.
  • Generate a minified english-only bundle that imports the correct uploadcare.lang.en.min.js bundle.

Fixed:

  • Call previewUrlCallback before rendering crop effect.
  • Update the existing minified bundle so that it imports the correct uploadcare.min.js bundle.

https://github.com/uploadcare/uploadcare-widget-tab-effects/releases/tag/v1.5.0

Week 11

Search engine file indexing for new projects is off by default

{projects}

To increase the privacy of your and your users’ data, we have changed the default behavior for every Uploadcare project, created after March, 10th. We’re adding response headers that instruct search engines not to index file contents. You can toggle this behavior separately for each project in your Dashboard.

Week 10

Uploadcare Widget v3.11.0

{widget} {integration}

  • Add support for shrink resolution higher than 5 megapixels.
  • Fix UI elements height calculation in Safari.
  • Don't build files to dist cause it's breaks API.

https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.11.0 https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.10.4 https://github.com/uploadcare/uploadcare-widget/releases/tag/v3.10.3

Week 9

On-the-fly image processing updates

{image processing}

  • Now we choose JPEG format for images with totally opaque alpha channel if -/format/auto/ is used and WebP is not available.
  • When the original image is a low-quality JPEG and we need to re-encode it to another format (WebP for instance), we limit the output image’s quality by the original image quality approximation.
  • When the original image is a low-quality JPEG and we need to encode it as JPEG, we reduce the output image’s quality more accurate than before.
  • Face detection for small sized faces is improved.

Perceptual hash for images

{image processing}

File info response includes a value of a perceptual hash calculated using pixel contents of an image. Perceptual hashing is a common fingerprinting technique to quickly compare images and find duplicates or similar images.

https://uploadcare.com/docs/delivery/cdn/#operation-phash

Week 4

PHP integration v3.0.3

{php} {integration}

Fixed file copy methods between default Uploadcare storage and remote storage (Amazon s3).

https://github.com/uploadcare/uploadcare-php/releases/tag/v3.0.3

Week 3

Java integration v3.3.1

{java} {integration}

  • Update apache httpclient and httpmime dependencies to v4.5.13, fixes network related issues.
  • Fix signature for requests with query parameters was incorrect. (full url was used when making signature with query paramenters, base should not be there according to documentation and other libraries).
  • Fix possible issue with using default timeout values from machine that running UploadCareClient. Set our custom timeouts for connections, socket timeouts.

https://github.com/uploadcare/uploadcare-java/releases/tag/v3.3.1

Week 2

PHP integration v3.0.2

{php} {integration}

Serialization for originalFileUrl.

https://github.com/uploadcare/uploadcare-php/releases/tag/v3.0.2