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