Release notes

2024

Blocks 0.32.0 — new methods and options, March 7, 2024

{api}

We've added new API methods and option:

Storing behavior, February 12, 2024

{api}

We've changed the default storing behavior for the Upload API for all new users.

Starting February 12, 2024 (UTC 13:30), the default file-storing behavior will be set to auto. For users registered before February 12, the default value is kept 0.

You can control storing behavior in project settings or specify UPLOADCARE_STORE for each request separately.

https://uploadcare.com/docs/uploads/storage/#file-storing-behavior

Blocks 0.32.0, February 7, 2024

{BREAKING} {widget}

  • Global events were removed, e.g. window.addEventListener('LR_UPLOAD_FINISH', ...). Now, using lr-upload-ctx-provider is necessary.
  • All existing events and their payloads are changed. See the Events for more details.
  • Now the library has got a dedicated element for integration into native html forms lr-form-input.
  • Console debug output is enabled via the debug attribute lr-config.

https://uploadcare.com/docs/file-uploader/migration-to-0.32.0/

Python and Django integrations v5.0.0, January 10, 2024

{python} {django} {integrations}

We've updated Python and Django dependencies.

https://github.com/uploadcare/pyuploadcare/releases/tag/v5.0.0

2023

Auto formatting, December 21, 2023

{image processing}

The default image output format will be determined based on the client's capabilities and the content of the image. Additionally, you can disable support for modern formats such as AVIF and WebP for your project in the Dashboard.

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

Video thumbnails, December 18, 2023

{api}

Added the ability to select both the first frame of the video and a frame from the middle of the video as a thumbnail.

https://uploadcare.com/docs/transformations/video-encoding/#operation-thumbs

Adaptive quality, December 14, 2023

{image processing}

Adaptive quality, formerly known as smart compression, no longer depends on URL operations and can now be enabled or disabled for all files in a project through a setting in the Dashboard.

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

REST API changelog, November 23, 2023

{api}

Added changelog for REST API.

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

Conversion formats info, November 7, 2023

{api}

Added the ability to determine the file format and possible conversion formats.

https://uploadcare.com/docs/transformations/document-conversion/#conversion-formats-info

Contentful integration, October 10

{integrations}

Contentful is a headless CMS that allows users to create, manage, and distribute content across multiple channels. Uploadcare provides a Contentful app that allows you to upload files to your Uploadcare account via File Uploader and store the metadata in Contentful.

https://uploadcare.com/docs/integrations/contentful/

CDN updates, October 9

{cdn} {image processing}

  • Previously, when -/format/ was not specified, we attempted to preserve the original image format (e.g., providing PNG if the original was PNG). Now, we choose a format based on the content. If the image appears to be an illustration, PNG will be used. Please note that you still need to explicitly specify -/format/auto/ for AVIF and WebP output.
  • New option -/format/preserve/ is added.

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

Swift integration 0.12.0, October 4

{swift} {integrations}

Swift integration updates:

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

Redactor X, September 26

{integrations}

The Redactor plugin has been updated to support Redactor X.

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

Multipage conversion, September 18

{api}

We added the ability to convert a multipage document into a group of files.

https://uploadcare.com/docs/transformations/document-conversion/#multipage-conversion

Adaptive image component, August 24

{image processing}

We provide an adaptive image web component that allows you to optimize image sizes, create adaptive backgrounds, and generate a srcset with desired breakpoints. It works whether the images are stored on Uploadcare or not.

https://uploadcare.com/docs/adaptive-image/

Swift integration 0.10.0, August 15

{swift} {integration}

Update to Swift lib:

  • Now, all methods support Swift Concurrency (async-await).
  • Added a new method to upload a file from a URL that waits until the upload finishes and returns an UploadedFile object.
  • All methods have examples of usage in the source code documentation. You can find them by OPTION+click on a method in Xcode or by using the "Build Documentation" feature.
  • Demo app now uses new async methods.

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

AVIF compression quality and “sharp YUV” technique, August 10

{image processing}

We have improved our AVIF compression quality. This affects all produced AVIFs but is most noticeable on low bitrates. Average image size should not be affected.

We have also enabled the “sharp YUV” technique for -/quality/lightest/ AVIFs, which could significantly reduce red channel distortion during chroma subsampling. This affects the resulting size only for images that benefit considerably from this technique.

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

New webhook events and updates to the payload structure, August 1

{api}

We've updated our webhooks API to help you easily identify what caused an event.

New webhook events:

  • file.info_updated
  • file.stored
  • file.deleted

New payload element:

  • initiator

file.info_updated is fired when metadata or appdata has been altered. initiator contains a "link" to the entity that initiated the webhook.

https://uploadcare.com/docs/webhooks/

Unsafe content detection, July 24

{api}

Detect and identify inappropriate, unwanted, NSFW, or offensive user-generated content in order to enhance user safety, ensure brand integrity, and comply with local and global regulations.

https://uploadcare.com/docs/unsafe-content/

Blocks 0.25 — new configuration approach, July 24

{BREAKING} {widget} {js} {integrations}

The new version of Blocks (the library that powers our Uploader) is now featuring configuration via HTML attributes and DOM properties. We're introducing the new lr-config block specifically designed for this purpose. Configuration in CSS is now deprecated (although it currently works, it will be removed shortly). Find the migration guide in the release notes.

https://github.com/uploadcare/blocks/releases/tag/v0.25.0

Python and Django integration 4.1.0, June 18

{python} {django} {integrations}

pyuploadcare got support for Python 3.11 and Django 4.2, as well as some nifty new features: updates to upload from URL and group removal.

https://github.com/uploadcare/pyuploadcare/releases/tag/v4.1.0

Image processing infrastructure acceleration, June 1

{cdn}

Our latest infrastructure upgrades have resulted in significantly reducing median processing latency, which helped us achieve a 30-50% boost in operations speed.

File Uploader is out of beta 🚀 May 18

{widget} {js} {integrations}

File Uploader is a new and highly customizable widget that allows users to upload files from various sources, utilizing the power of Uploadcare APIs. We supply a set of ready-made solutions for the most frequent file uploading cases: regular, inline, and minimal. Each with its own set of features and customization options. You can also use them as is or as a custom build reference.

https://app.uploadcare.com/projects/-/uploader-configurator/ https://uploadcare.com/docs/file-uploader/

Webhooks API update, May 18

{api}

API requests without webhook version are processed as v0.5 now.

Workspace, April 24

{dashboard}

Now all projects in dashboard are organized in a single Workspace.

The Uploadcare experience is centred around the concept of a project. We recommend creating at least two projects: for staging and the production environment. We also recommend having different projects for different kinds of data: one serve your frontend assets, another fo user-generated content, and one more for content that must me additionally secured with signed uploads and URLs.

https://app.uploadcare.com/

File Uploader for WooCommerce, April 19

{widget} {woocommerce} {js} {integrations}

Our tech-partners from Snowray have released a plugin for WooCommerce. It's available at https://snowray.co, there are both free and paid versions.

Test environment for signed URLs, April 5

{cdn}

We have created test environment for signed URLs. But don't use it in production!

https://uploadcare.com/docs/security/secure-delivery/#test-environment

Ruby and Rails updates, March 28

{ruby} {rails} {integrations}

We have fixed all known issues and published updates for Ruby and Rails integrations:

Updates include:

  • Drop support of unmaintainable Ruby versions (2.4, 2.5, 2.6) and Rails before 6.0.
  • Add support for Ruby 3+ (3.0, 3.1, 3.2) and Rails 7.0.
  • Allow ENV keys to be configured after the gem load.
  • Respect data-multiple in options.
  • Ruby requests examples in API references.

Signature generator fo PHP integration, March 22

{php} {integration}

We've added a token signature generator for signed uploads to uploadcare-php library.

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

@uploadcare/signed-uploads, March 13

{js} {integration}

We've released a handy Node.js wrapper that generates a token for signed uploads and returns it to the frontend.

https://www.npmjs.com/package/@uploadcare/signed-uploads

API references code examples, March 2

{api}

JS, PHP, Python, Swift, and Go code examples are added to our Upload API and REST API v0.7 references.

JS code example for direct upload API method
JS code example for direct upload API method

https://uploadcare.com/api-refs/upload-api/ https://uploadcare.com/api-refs/rest-api/v0.7.0/

URL API playground, Feb 17

{api} {cdn} {dashboard}

When you choose an image in Files section, you can open it in Playground, where you can edit it and save as a new file.

URL API playground example
URL API playground example

It's powered up by our new cloud image editor (now in cloud image editor).

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

Blocks 0.15, Feb 7

{widget} {js} {integrations}

Blocks 0.15 has been rolled out! We are excited to announce the launch of a brand-new design of our new File Uploader. This new appearance offers a more modern look and feels, making it easier and faster to use. We have also made several other UI improvements, such as improved navigation and a better overall user experience. We hope you enjoy the new design and experience.

New uploader design in action
New uploader design in action

As a bonus, we've added an example of how to add additional sources.

https://github.com/uploadcare/blocks/releases/tag/v0.15.0

2022

Week 52

Ruby and Rails integrations Release Candidates

{ruby} {rails} {integrations}

These versions support latest Uploadcare REST API — v0.7, which introduces new file management features:

Currently they aren't uploaded to RubyGems due to the necesity to rewrite part of the code to avoid issues with an installation from RubyGems.

https://github.com/uploadcare/uploadcare-ruby/releases/tag/v4.0.0-rc https://github.com/uploadcare/uploadcare-rails/releases/tag/v3.0.0-rc

Week 51

Python and Django integration 4.0.0

{python} {django} {integrations}

This version supports latest Uploadcare REST API — v0.7, which introduces new file management features:

https://github.com/uploadcare/pyuploadcare/releases/tag/v4.0.0

Week 50

Rectangle overlays

{image processing}

New -/rect/ operation for drawing color (including transparency) rectangular overlays introduced.

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

PHP 8 support for Wordpress plugin

{php} {integrations}

Wordpress plugin 3.0.10 now supports PHP 8+.

https://wordpress.org/plugins/uploadcare/

Uploadcare Learning Center

{content}

We've just launched Uploadcare Learning Center. Get insights on all things network, media and UGC. Learn from fellow Uploadcare developers and build better products together.

https://uploadcare.com/learning/

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

Introducing new File Uploader (beta)

{widget} {integration}

Try our new File Uploader. 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/

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

{BREAKING} {api}

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 13

Malware protection

{dashboard}

Now you can enable malware checking for all uploaded files:

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

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/

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:

  • New SSCs (Model Two).
  • Incorporated into DPA.

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.
  • Animated images optimization 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

Python and Django integrations v3.0.0

{BREAKING} {python} {django} {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 Uploading 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.

https://uploadcare.com/docs/start/settings/#project-teams

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.

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

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