Topic: Plupload v1.4.0 released

This version has some major bug fixes and new features.

Completely revised UI Widget
Basically what we did, was that we brought Plupload UI Widget closer to what the structure for real UI widget might have been. On big part it has not changed visually, but there where some dramatic changes within it. Among other things it now has some required and some optional dependencies on other jQuery UI pieces. Required ones are: Core and Widget, and - optional: Button, Progressbar and Sortable. One of the problems with previous approach was that it was static and therefore not compatible with changes that UI team might have introduced in future versions. Now it's modular and dynamic. You can easily customize and download UI bundle from jQuery UI website.

Plupload UI Widget now supports several new options:

autostart - if set to true will automatically start the upload after files are added to the queue (default - false).

sortable - if set to true will make file list sortable (default - false).

rename - if set to true will make it possible to rename files before uploading, with single click on their name (will not work if you got unique_names option activated) (default - false).

max_file_count - controls how many files one might add with a single file select operation and will throw an error if specified number is exceeded, has sense to use this option with multiple_queues set to false (default - 0).

buttons - functional buttons might be individually turned on and off, for pure drag&drop behavior. By default all buttons are enabled:

 {
    browse: true,
    start: true,
    stop: true    
}

Interactive browse_button
There were multiple complaints about inability to style browse_button element. Due to specificity of the upload task, browse_button eventually gets covered with either an add-on shim (Flash/SilverLight), or html input field, which are neither directly stylable nor transparent to DOM events. So we introduce two new options: browse_button_hover and browse_button_active, correspondingly classes to add when mouse cursor is over the browse_button element and when it's pressed. UI Widget uses them internally.

Support for dynamic unload
This has been the requested feature for quite some time - ability to unload Plupload, along with it's event listeners, data structures and markup. We've added several new functions (removeEvent, removeAllEvents), modified existing ones and introduced public destroy method to plupload.Uploader object, along with the new event (Destroy) which is raised when this method is called. Runtimes acquired appropriate event handlers to clean after themselves on destruction.

HTML5 image resize support for the newest Chrome (potentially for all coming WebKit-based browsers)
Seems like once again we enter the time of browser incompatibilities, subjective interpretation of emerging standards and various proprietary methods. That's what the situation was around Mozilla's XMLHttpRequest.sendAsBinary. But thanks to support for BlobBuilder and typed arrays we can now implement this function for newest WebKits.

Important Bugfixes
We've fixed improper calculations for chunk sizes, especially for the cases when chunking was disabled, but file (image) was still undergoing some optimizations. Fix was introduced for Flash and Silverlight runtimes that were affected by this bug.

Another important problem with these runtimes was that they used to reinitialize every time a container holding them was programmatically hidden and shown again. Runtimes now implicitly prevent this.

Flash ExternalInterface turned out to have an important bug - it does fail to properly escape text before passing it to JS. So we introduced a little helper to it, that makes it possible for example, to pass JSON messages from a server, through Flash shim and to JavaScript handler, without weird and cryptic exceptions in the console.


Changelog:

Added removeEvent and removeAllEvents methods and modified addEvent accordingly, in order to support dynamic unload.
Added unbindAll method.
Added UploadComplete event, which fires when internal iterator reaches the end of the queue.
Added public destroy method to plupload object, new event - Destroy, and corresponding handlers to all runtimes.
Added Czech, Italian, French, Dutch translations.
Added support for translatable error messages.
Added two new options: browse_button_hover and browse_button_active, in order to support browse_button interactivity.    
Added support for 'multi_selection: false' to Silverlight runtime.
Added support for video/mp4, video/x-m4v and audio/mp4 MIME Types. 
Added artificial sendAsBinary method to XMLHttpRequest.prototype for browsers that have support for BlobBuilder and typed arrays.
Added version tracking variable into plupload object and version comment to the header of every file.
Fixed measurements of browse_button element in order to size and position input[type=file] element to fit it fully.
Fixed Flash runtime behavior for multiple_select=false and other simpleUpload usage cases: basically new FileReference has to be created for every select dialog. 
Fixed browser sniffer to match only Safari, for fakeSafariDragDrop (seems like Safari on Mac doesn't require it either).
Fixed so that ExternalInterface escapes strings properly, before passing them to JS. 
Fixed eventual reinitialization of flash/silverlight runtimes, especially for cases when object wrapper needed to be programmatically hidden and then shown again.
Fixed so that Plupload will now ignore files with duplicate names when adding to the queue, in one set. Mainly introduced to work around Safari on Windows bug (https://bugs.webkit.org/show_bug.cgi?id=37957).
Fixed bug, when final UploadProgress was firing after FileUploaded for Flash simpleUpload. 
Fixed bug where upload would fail if an error was produced inside the FilesAdded event.
Fixed bug in Flash runtime when it used a wrong size when resizing, but not chunking.
Fixed bug in Silverlight runtime that would keep sending 0 byte packages when a picture was chunked before resized.
Disabled blur filter (is going to be replaced with some bilinear resampling in next release).
Completely revised UI Widget, to be more jQuery UI oriented. Optionally depends on UI Button, UI Sortable, UI ProgressBar.    
 
If you want to see your issue fixed, do not report it here, do it on - GitHub.

2 (edited by mrsnappypants 2011-01-27 05:59:45)

Re: Plupload v1.4.0 released

the jquery ui demo doesn't work in the download for me, just the theme roller drop down loads

yeah i just confirmed it, the code is different from the code on the website demo, I copied it from the page source and it's all good, the download package just needs to be updated.

Re: Plupload v1.4.0 released

Right, thanks for reporting this, we had noticed it just to late. Basically the problem there is that script urls do not correspond to release version. Otherwise it's ok. I've fixed that in latest commit, you could retrieve that file only from github. We will probably update zip package with it later on today.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload v1.4.0 released

Hello.

You may or may not know that Plupload 1.4 does not seem to work with Firefox 4.0b10 in html5 mode ('BlobBuilder is not defined').

I am using a custom frontend to the queue, so I can't say for sure that it isnt my code, but uploading does work using flash & silverlight, and the html5 plugin works in chrome and IE9.

Thanks,

Jon

Re: Plupload v1.4.0 released

@spadger thanks, that has been fixed now.

@mrsnappypants I've moved your post to a separate topic Problems with examples on Plupload site.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload v1.4.0 released

@ohaiyo, @mrsnappypants this topic is only 1.4.0 specific. Please post  general issues in General discussion forum.

Topic moved here.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload v1.4.0 released

@wholesaleins topic has been moved to General Discussion.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload v1.4.0 released

spadger wrote:

Hello.

You may or may not know that Plupload 1.4 does not seem to work with Firefox 4.0b10 in html5 mode ('BlobBuilder is not defined').


Jon

Haven't seen any issues while working in Firefox, though have problems with Plupload 1.4 functioning in Chrome..