Fine Uploader 5.11 – A whole new, better build with rewritten documentation

5.11.0 was actually released back in August. But I’ve been so busy with other advancements to the project, creating a React wrapper (which I’ll talk about in my next post), and finishing up my book, that I didn’t really have time to write a proper post to formalize this release.

Since 5.11.0 was released, nine (yes, nine) patch releases followed, the most recent hitting the web a week ago today. Some of these were regressions caused by the initial work on 5.11.0 (and the work was substantial, so this is not surprising). But other patches were unrelated to the 5.11.0 changes, and came to light thanks to the significant uptick in community involvement. I’m surprised by and grateful for all of those who have given their time and expertise to Fine Uploader since the transition to an MIT license.

In addition to work on the core library by a number of GitHub users, two other contributors have given their time to create a couple new repositories. One, bower-dist (maintained by Fery Wardiyanto), brings Fine Uploader to all bower users. Previously, Fine Uploader was only available via npm or direct download, but bower is now a viable and supported option as well. Orlando Valdez created the fineuploader-go-server repository, which brings an easy to use and full-featured Fine Uploader server implementation to Golang. Word is Orlando is also consider a Spring Boot server at some later date.

Anyway, back to the 5.11 release – I rewrote the entire build process. Grunt and the laundry-list of outdated grunt plugins along with the maze of other JavaScript files, are no longer part of the mix. Instead, a single Makefile holds all build logic. In addition to speeding up and simplifying the build, a standalone drag-and-drop module is now part of the official build output, and a core (non-UI) JS file is created for Fine Uploader traditional, S3, Azure, and the “all” module (traditional, S3, & Azure combined). In subsequent hotfix releases, the “Getting Started” guide was completely re-written and vastly improved. Check the releases section of the fine-uploader GitHub project for information on these and subsequent patch releases related to 5.11.



Fine Uploader 5.10 – Higher quality scaled images

Version 5.10 of Fine Uploader will benefit any product or workflow that uses the thumbnail generation or upload scaled image feature. In short, 5.10 will allow you to delegate the actual resize operation to a third-party library. Fine Uploader delegates to the drawImage method on the browser’s <canvas> element when resizing image files. Most browsers use linear interpolation when resizing images. This can lead to extreme aliasing and moire patterns. But a few third-party libraries bypass this native algorithm in favor of one that results in much higher-quality scaled image output. You can plug one of these (such as pica) into Fine Uploader very easily starting with 5.10.

For a very simple example that illustrates how to integrate pica or any other high-quality image scaling library into Fine Uploader, take a look at the thumbnail generation and scaled image generation feature pages on the documentation site. You have the option of utilizing a third-party scaling library for thumbnail generation, or scaled image file generation, or both!

Happy uploading!

Fine Uploader 5.9 – Free At Last!

Version 5.9 brings about a noteworthy change. No, not a new feature, or a major bugfix. The only change here is the license. Fine Uploader is now MIT-licensed 100% free open source software! This is the start of a whole new era for Fine Uploader and other related projects. If you have questions about this change, or would like to know more about the history of this project and our plans for the future, longtime maintainer Ray Nicholus published an article on Medium today that should answer most of your questions.

Happy uploading!

Fine Uploader 5.8 – CommonJS & ES6 Module Support

It’s now dirt simple to import Fine Uploader into your project using CommonJS, ECMAScript 6 imports, or even AMD. If you download Fine Uploader via npm, you will instantly have access  to this feature. You’ll find that importing the library into your modern web project is exceptionally elegant. Depending on your needs, it may be as simple as “import qq from ‘fine-uploader'”! There is a very detailed feature page on the documentation site that you may enjoy reading, should you find yourself in need of this type of support.

If you see any issues with CommonJS, ES6 module, or even AMD support, please do open an issue in Fine Uploader’s issue tracker. Happy uploading!

Fine Uploader 5.7 – Support for Microsoft Edge

Update: April 26, 2016 – 5.7.1 Hotfix Release

  • XHR object is not passed to onError callback in some cases w/ Fine Uploader S3 (#1559)


Version 5.7 finally brings support for Microsoft Edge – a browser that will eventually replace all versions of Internet Explorer. There were a few changes to Fine Uploader that were required to officially support Edge. This particular enhancement was in progress for quite a long time. A number of issues outside of my control (such as lack of file drop support in Edge and lack of an updated VM) prevented this from landing sooner, but we finally reached the end of the tunnel! Documentation has been updated to reflect support for Edge, and you can begin using Fine Uploader with Edge in your projects as of version 5.7.0. Note that you must use Microsoft Edge version 13.10586 or newer for proper support.

If you see any issues with Edge support, please do open an issue in Fine Uploader’s issue tracker. Happy uploading!



Fine Uploader 5.6 – A more flexible API

Version 5.6 brings a couple of user-requested updates to our options and API. First, a new method – “addInitialFiles” – was added to complete case #1191. This addition allows initial/canned files to be fed into the uploader at any time. Previously, this was only possible during initialization or reset.

Second, a text.fileInputTitle option was added. This allows the “title” attribute of the file input element managed by Fine Uploader to be customized. The title attribute can be customized via a new “fileInputTitle” property on the “extraButtons” option when creating an extra button as well. This completed a request detailed in case #1526.

Stay tuned for more updates to Fine Uploader, and, as always, please do let us know which features are more important to you.

Fine Uploader 5.5 – Heavily Requested S3 Updates

Update: March 7, 2016 – 5.5.2 Hotfix Release

  • S3 bucket name for validation is always tied to bucket URL in IE9 and older (#1530)


Update: February 23, 2016 – 5.5.1 Hotfix Release

  • Concurrent chunking on S3 fails to finalize (#1519)


Support For User Machine Clock Drift

Work completed in #1387 means that issues with inaccurate clocks on user machines are easily handled simply by comparing the user’s clock value with your server and passing the difference to Fine Uploader S3. You can read more about this feature on the updated S3 feature documentation page.

Better Support for Standard HTTP Headers

Before work on #1494 was completed, it was not possible to associate certain HTTP headers with your files uploaded to S3 via Fine Uploader S3. Now, you can easily include Content-Disposition, Cache-Control, Content-Encoding, and many others via the API or options. See the new “headers” section on the updated S3 feature documentation page for more information.


What’s Next?

The next planned release is currently version 6.0, which will contain some substantial new features and adjustments. Some of the big plans we have for 6.0 include:

  • Support for module systems, such as ES6 modules and CommonJS.
  • The ability to require/import only the parts of Fine Uploader that you need.
  • Slimming down of the library to reduce footprint.
  • Better support for strict Content Security Policies.

Expect breaking changes in the API, which are necessary to evolve the library.

We Love Customer Feedback

Is something missing from Fine Uploader? Please let us know. We always give priority to useful customer-requested features. Take the opportunity to guide the evolution of Fine Uploader around your needs. The community is the most important aspect of this library, and we always love to hear from you.

Happy Uploading!