V3.4.1

No code change. 'Just' a package correction. The 3.4.0 release was almost empty.


V3.4.0

Fixes:
- [Minor] Removed 404 errors on the web server, when the applet was looking for the translation properties files. Thanks
to Patrick (onkelkarle).
- [Minor] The build.xml file no more pollute the src directory: all files are now generated into the build directory.
- [Minor] Correction of an error in md5 sum calculation, when files are uploaded into different HTTP requests, for instance
when nbFilesPerRequest is 1 and several files are uploaded. This bug was a regression while developping the 3.3.2 (did not
occur in any official release).

Changes:
- [Major] Thanks to huotte, it's now possible to start an upload from javascript. See in the demo site, the
advanced demo. The link is below the applet.
- [Major] The applet can now manage the 301, 302 and 303 HTTP return code for the postURL parameter. 
- [Major] It's now easy to add new file properties to a HTTP upload: create a new FileData, and use the new
FileData.appendFileProperties method. See the UploadPolicy.createFileData method to instanciate this new FileData.
- [Minor] When dropping several files that should be refused (by the allowedFileExtensions parameter or by the upload 
policy) the applet now displays a message each time (was only once for PictureUploadPolicy), and allows the user to
hit 'cancel', so that no more file are added for this drop.


  

V3.3.1

Fixes:
- [Major] Correct the "bad header" error on IIS 6 and IIS 7, when uploading files. 
- [Minor] The debug output is now always correctly filled, even when debug mode is not enabled. Previously, some
information would be written in the debug file only when in debug mode. 

Translation:
- [Portugese] The Portugese translation is now a native Portugese, not Brasilian Portugese anymore, thanks to Filipe Teixeira 


V3.3.0

Changes (all modes):
- [Major] The applet can now correctly manage filename containing non-ASCII characters. Works Ok with French 
accents. Should work with any other language, like Asian characters (please give me feedback: I can't test that).
- [Major] When using formdata, or postURL parameters with non-ASCII characters, their encoding in the upload
is now correct.
- [Minor] Due to previous point, the filenameEncoding applet parameter is now deprecated.
- [Minor] The applet now transfers for each file, the date/time of last modification (thanks to XXXXXXXXXXXXX). 
Note: the date format is a "dd/MM/yyyy HH:mm:ss". It's defined as a constant in UploadPolicy, and can not be 
changed by a 'simple' applet parameter.
- [Internal code] UploadPolicy.onAppendHeader: the parameter is changed from StringBuffer to the new class 
ByteArrayEncoder. This should change only the parameter type, not the code of the method (append works on 
ByteArrayEncoder).
- [Minor-FTP] FTP mode: stringUploadSuccess forced to null. The applet won't test the response body against this 
regexp, as ... there is no response body in FTP mode.


Changes (picture mode):
- [Major] picture mode: quality for uploaded has been downgraded to bad quality resizing. Now corrected.
- [Minor] Default value for maxPicHeight, maxPicWidth, maxRealHeight, maxRealWidth changed from -1 to 
Integer.MAX_VALUE
- [Minor] Default value for pictureTransmitMetadata set to false, to avoid color problem (see explanation
of this parameter in the given doc).
- [Minor] the progress bar is now updated while picture resizing is running, when preparing files before upload,
instead of being changed for each prepared file. Not really necessary, but I'm happy with this one !    :-)


Fixes:
- [Major] (bug 1831234: PostURL Parameter NULL) When postURL contains a parameter with no value 
(ex: ?param1=&param2=value2), the applet would generate an error.
- [Major] when the pictureTransmitMetadata applet parameter is set to false, metadata are never transmitted. 
Previously, non updated (resized, rotated) pictures were uploaded untransformed, that is with their metadata.
- [Minor-Picture] Picture mode: due to wrong number rounding, the resized picture could sometime be one pixel bigger than
the maximum allowed size. 
- [Minor] When postUrl is a javascript call, the applet is now able to manage $ characters as $ character, and not
as 'end of line' (fix given by Jon Gjengset).
 


Translation
- Add of the Croatian language, thanks to Bruno Simic.
- Norvegian translation updated, thanks to Pl Knudsen.
- Hebrew translation added, thanks to David Lior, liorda@gmail.com
- Swedish translation added, thanks to Erik Lindahl (erik@fisensmosse.se)


V3.2.0


WARNING: 
  Default value for stringUploadSuccess and stringUploadError applet parameter changed, for better control
of upload success error (see javadoc). You should check that the applet still works ok in both success and error 
cases, for your application.
  Please note also that the used regexp function is now: matches(), and no more find().  


Changes:
- [Major] Default value for stringUploadSuccess and stringUploadError applet parameter changed.
- [Major] The upload policy can now define the exact content of the applet 
(see the UploadPolicy.addComponentsToJUploadPanel(JUploadPanel) method) 
- [Minor] The applet now opens correctly, and display a proper message when postURL is wrong (or can not 
be accessed)   
- [Minor] putting the debugLevel to -1 will prevent the logWindow to become visible when this parameter is set
to false, and an error occurs.
- [Minor] Picture mode: EXIF and IPTC data are now transmitted, even if the applet resizes or rotates the 
transmitted picture
- [Minor] All components of the applet are now valid drop target, so that the user can drop files on any component
(previously: the only valid drop target was the file list)
- [Minor] All components of the applet are can now display the JUpload popup menu (CTRL + Right Click). Currently,
this menu allow only to put on/off the debug mode.
- [Minor] After an upload, the progress bar now goes back to '0%', instead of keeping 100% displayed.
- [Minor] When an error occurs, a message (alert box) is displayed to the user.

Fixes:
- [Medium] Corrected the error that occurs during startup (Unexpected HEAD response). This would make the log 
window become visible, when debugLevel is 0, and showLogWindow is set to false. 
- [Medium] The release version was not displayed in the status bar, when used within the navigator. The following 
string is displayed, instead of the subversion commit number: "Unknown revision (please use the build.xml ant script)"
- [Minor] picture mode: after a double click on a file, changing the selected file with the keyboard arrow (up 
and down) would not be detected by the applet.
- [Minor] The uploadPolicy.onFileDoubleClicked method is now clicked when a user double clicks on a file.

Known bug:
- [Minor] Whe the applet transmits picture metadata (EXIF) coming from Canon EOS 30D, shooted in portait mode, the 
colors of the resize or rotated pictures are 'strange'. No problem in landscape! Works Ok for Canon EOS 20D.


V3.1.0
- [Fix] The JUpload project now compiles 'out of the box', even from eclipse. No more need to use the given 
build.xml ant script. The script is still necessary, so that the applet indicates the correct SVN revision and 
build date.
- [Fix] Uploading several files in FTP mode, with wrong nbFilesPerRequest or maxChunkSize would generate an error.
- [Fix] The setServerProtocol now correctly manage ftp URL. It doesn't generate an error any more when the server 
protocol applet parameter is not set.
- [Fix] Drag'n Drop: the applet now controls whether the dropped files correspond to the current file filter (list 
of allowed file extensions).
- [Fix] Management of files which can't be read by the applet: files are not uploaded, and a proper warning is 
displayed, instead of a Java error that blocks the upload.
- [Minor] PictureUploadPolicy: the picture preview in the file chooser displays bigger pictures.
- [Minor] Better management of the wait cursor in picture mode.
- [Minor] FileChooser: various enhancement of the pictre mode:
  * The display of the preview image in the fileChooserAccessory is now done in a dedicated thread, so that selecting 
  a file is instantaneous.
  * file icons generated from the picture content is now done in a separate thread (the file chooser is much more 
  reactive than before). See applet parameter fileChooserIconFromFileContent.
  * Picture preview in quicker
- [Translation] Czech translation available, thanks to Vladan Zajda.
- [Picture mode] New applet parameter (fileChooserIconFromFileContent), to display the file content in the file 
chooser as the file icon or use the default file system icon.
- [Fix] All file icons are now displayed (the last one was not refreshed)
- [Picture mode] New applet parameter (fileChooserIconSize), to control the size of these icons, in the file chooser.
- [Picture mode] New applet parameter (fileChooserImagePreview), to add or not the preview accessory.

V3.0.2b3
- [Fix] HTTP response handling was broken. We now use raw byte I/O and apply
charset conversion in one single step at the end of the response. Use
Content-Length, if available. Use charset attribute of the Content-Type header.
if available.
- [Feature] Added placeholders for javascript in afterUploadURL:
%success%, %msg% and %body. See howto-customization.html for a detailed description.
- [Feature] Add of the specificHeaders applet parameter. This allows the caller to define 
a list of headers that will be added in each HTTP request to the server. This allows
Basic HTTP Authentication (see the doc for all details).
- [Change] When a file filter list is provided (see allowedFileExtensions), the user may not select other files. 
That is: he can not change the current filter by 'All files'.

V3.0.2b2
- [Fix] renamed POST variables "md5sum", "mimetype", "pathinfo" and "relpathinfo" to
"md5sum[]", "mimetype[]", "pathinfo[]" and "relpathinfo[]" in order to make them
work with multi-file-posts and php.
- [Feature] afterUploadURL can now be used to execute JavaScript instead of showing
another JavaScript. In order to do so, afterUploadURL has to start with the string
"javascript:". If that is the case, the remainder of the string is evaluated as
JavaScript-expression in the context of the current document.
- [Feature] New POST variables "pathinfo" and "relpathinfo":
  pathinfo simply contains the absolute path of the containing directory of the
  transferred file in native format (Slashes vs. Backslashes depend on the users OS).
  relpathinfo contains a path relative to a "virtual root" which was determined when the
  user had added (or dropped) a directory. Example:
  Suppose the following hierarchy:
    /foo/bar/a/
               1.jpg
               2.jpg
               3.jpg
    /foo/bar/b/
               4.jpg
               5.jpg
               6.jpg
  If the user now adds the directory "bar", then during upload, for the files [123].jpg,
  relpathinfo would be "bar/a" and for the files [456].jpg, relpathinfo would be "bar/b".
  This info can now be used on the server side in order to reconstruct whole directory
  trees. This info is in native format as well (Slashes vs. Backslashes depend on the
  users OS).
- [Fix] Optimized the class-loading in UploadPolicyFactory: If the parameter
uploadPolicy is unqualified (contains no dots), then it is prefixed with
"wjhk.jupload2.policies." before trying the first Class.forName(). This eliminates an
usually unsuccessful try of loading the plain class file.

V3.0.2b1

- [Change] showStatusBar renamed to showLogWindow (see below)
- [Feature] Added a status bar. This changes the semantics of the applet parameter
"showStatusBar": Before, "showStatusBar" was used to control the visibility of the log
window, Now, "showStatusBar" does what it's name suggests: It controls the visibility
of the status bar. If shown, the status bar provides useful information during transfer:
The current transfer speed and the estimated time of completion. The visibility of the
log window is now controlled by the new parameter "showLogWindow".
- [Picture] Picture resized by the applet are now smaller than before (better for the web). Will
be even smaller in next versions.
- [Fix] Resizing of PNG pictures now works.
- [Fix] Better error handling in picture handling.
- [Feature] Working verification of server certificates and cert-based
client-authentication. Configurable by a new parameter sslVerifyCert. See
howto-customization.html for more info.

Translation:
- [Turkish] Add of the Turquish translation, thanks to Gunay Mazmanoglu


V3.0.1
- [Fix] Automatic detection of the HTTP protocol was not called when the applet parameter
  "serverProtocol" was specified with an empty string.
- [Fix] Release are now compiled with 1.5 JVM



V3.0.0

Fritz Elfert joined the dev team: we are now two active developpers!  ;-)
That's probably enough, as we want the applet to remain as small as possible.

Fritz is responsasible for most changes in this version.

Changes:
- [Code] Use of the SVN source repository (replace the CVS)
- [Code] General code restructuration, thanks to Fritz.
- [Code] Added common GPL comment in all sources.
- [Code] Use system properties for cookie and user-agent in debug mode.
- [Code] Added ant buld.xml conributed by Matthijs Lambooy and tweaked/extended
  "dist" and related targets for signing the jar. Added an internal target
  "customhowto" which generates wwwroot/howto-customization.html automatically.

- [Fix] Corrected content-length calculation of multipart message.
- [Fix] After uploading, enable file-specific buttons only if there are still files
  to handle.
- [Fix] Speed up column sorting of the upload table by caching some data.
- [Fix] An ArrayIndexOutOfBounds exception could be thrown, when trying to
  access some file data (from within an AWT update event) which is already deleted.
- [Fix] fileView was not shutdown in some cases.
- [Fix] picture would not always be resized, when realMaxPicWidth and/or
  realMaxPicHeight would be give as applet parameters.
- [Fix] Calculate and use a percent value for setting the progress bar. Without that,
  if the total size of the upload exceeds 2^31 - 1 bytes the progress bar does not work.
- [Fix] Chunk decoding now allows training chunk-extensions and additional whitespace.
- [Fix] The "album" parameter was not alway appended correctly in CoppermineUploadPolicy.

- [Feature] Added POST form fields "md5sum" and "mimetype". md5sum contains the MD5
  checksum of every transfered chunk. This makes it easier to detect upload errors
  on the server side. mimetype always contains the real mimetype of the transfered
  file (as detected locally). (The mime-type in the form data header may change to
  application/octet-stream in order to guarantee 8bit-transparent transmission in
  the future.)
- [Feature] Implemented HTTP- and SOCKS-proxy support.
- [Feature] Parameter postURL can now be relative or even be omitted. The new default
  null results in using the DocumentBaseURL of the applet.
- [Feature] The chunk parameters are now provided as both GET *and* POST variables.
  The GET variables are still there because we don't want to break
  backwards-compatibility.
- [Feature] Use generic java.applet.AppletContext.showDocument instead of JS bridge
  for redirection (reduces code size).
- [Feature] Applet parameters "postURL", "afterUploadURL" and "urlToSendErrorTo" now
  accept relative URLs. Furthermore, URLs are checked (syntactically) during applet
  startup.
- [Feature] Changed the status-update (progressbar) method. It now gets updated from
  within the ActionPerformed in JUploadPanel when the timer expires - regardless of
  the amount of bytes transferred.
- [Feature] Added a textual status message which gets shown in the Browser's statusbar.
  In order to view this in IE, the security settings must allow modification of the
  status line.
- [Feature] Applied layout patches from Ben M. <bovinator@users.sf.net>.
- [Feature] The error message, read from the server response body, is now decoded
  from UTF-8. To do: check that the content-type is actually UTF-8, and document that.
- [Feature] Better display of applet parameters, when entering in debug mode.
- [Feature] Added automatic method for getting HTTP protocol version. The applet
  parameter "serverProtocol" now defaults to null. If null, the version is determined
  automatically by issuing a HEAD request to the postURL and examining the returned
  response.
- [Feature] In order to save memory, the debug log (used fore eventually submit a
  bug report to the webmaster) is now written to a temporary file.
- [Feature] In Picture mode, the icon now represents the picture contained in the file.

- [Major] The applet can now properly read response body, when it is chunked by the
  web server. This allows to correctly search for the success and error strings in
  this body.
- [Major] The minimum java version is now 1.5

New applet parameters:
- [formdata] Allows to upload form data from the current web page, along with the
  file upload. Note, that the data from the referred form are *always* transmitted
  in the POST request along with the file - even if the referenced form has a
  method="get" attribute in the HTML code.
- [afterUploadTarget] Allows the redirection after a successfull upload, to occur
  toward another frame or window.
- [stringUploadError] Allows search an error message in the response body of the upload.
- [allowHttpPersistent] Allows switching off persistent HTTP connections (Keep-Alive)
  which are enabled by default. Currently, we encountered problems with persistent
  connections when testing on a windows box using a loopback interface only.

Translations:
- [Danish] Add of the Danish translation, thanks to Jeppe Bundsgaard.
- [Russian] Russian translation has been given by Max Turanskiy.


V2.9.2

Changes:
- [Minor/pictureMode] Temporary files are now created by File.createTempFile. They are removed by the end of the JVM, even if
debugLevel>=100. No more pollution of the picture directory.

Bug correction:
- [Minor] The lookAndFeel aapplet parameter was uncorrecty managed. Correction given by Fritz (sourceforge username)


V2.9.1

Changes:
- [Minor] The mime types is now set. The reference list is taken from http://www.mimetype.org/, thanks to them!

Translations:
- [Polish] Polish translation has been given by Wojtek Semik: wojteks at pvd dot pl
- [Slovenian] Slovenian translation has been given by Alenka Pirman and Damjan Leban: damjan dot leban at siol dot net

Bugs correction:
- [Major] The applet would not resize a picture that has been previewed in the applet. This file could then remain
bigger than maxFileSize, and not be uploaded.



V2.9.0

Changes:
- [FTP Upload] Thanks to Evin Callahan, you can now put FTP URL in the postURL parameter. The files will be uploaded to any kind of FTP 
server (anonymous or not).
- [Internal Code] A new DefaultUploadThreadV5 is created. This should help to create new upload behaviours, for instance
SMTP upload (to send files by email) or Samba upload (to send files on a local network, in intranet configuration). Just 
inherit from it, and implement the few fabstract methods defined in DefaultUploadThreadV5.
- [Minor] It's now possible to select multiple files in the file list, to remove several files, for instance.

Languages:
- [Chinese] A chinese translation is now available, thanks to Liu (Fbo ?)
- [Bresilian - Portugese] A Bresilian translation, is available, thanks to Frederico Ronfaut Klein. I copied this file 
to also give a first Portugese translation. I don't know the differences between Portugese and Bresilian...
- [Norwegian] Updated translation, thanks to Pal Knudsen.

New parameters / setProperty method:
- [setProperty] The applet setProperty method allows to change any applet parameter from the javascript on the web page.
This allows, for instance, to change the postURL or afterUploadURL parameters according to value selected by the user
on the web page.
- [showStatusBar] Thanks to XXXXXXXXXXX, a new applet parameter (showStatusBar) allows to hide the status bar. This
status bar will remain visible, if debugLevel is > 0 (or if debug is activated while the applet is running. You can 
now put the debug on, by CTRL+right click on both the status bar or the file list. If debug is on, the showSatusBar 
parameter is ignored.
- [afterUploadURL] If this parameter is set, the applet will redirect the current web page to this
URL. This allows the application to view the uploaded files, and entre comments, for instance.
- [realMaxPicWidth, realMaxPicHeight] Add of the realMaxPicWidth and realMaxPicHeight. This allows you to better control when the applet
will generate a new picture file: these parameters allow you to prevent any picture work from the applet, when 
uploading a picture that doesn't need to be transformed (-> speed up of upload time).
- [allowedFileExtensions] Allows the caller to specify a list of file extensions.


Bug Corrected:
- [Boolean] Default value for boolean parameter were inverted (false to true, and true to false).

V2.8.0

Main change:
- [Upload] The applet is now able of splitting the file to upload in chunks. This allow to upload file of any size, 
whatever the max_upload_size of your server is.

Changes:
- [Translation] Add of the Japanese translation.
- [Translation] Add of the Norwegian translation.
- The following methods have been added to the applet. They directly call the relevant method of the current upload
policy. Useful to display additional information from the HTML, in coordination with the urlToSendErrorTo applet
parameter. I use it to add to the status area the version of the HTML page that calls the applet. New functions 
are: displayErr, displayInfo, displayWarn and displayDebug.


V2.6.0

The next changes and corrections are given by David Gnedt:
- [New fuctionnality] SSL management. You can now upload files with JUpload in SSL (HTTPS)!  Great!
- [Update] Better picture resizing: the use of BufferedImage.getScaledInstance() allows better picture quality, when 
resizing a picture. But it consumes more CPU and memory (see below the new applet parameter highQualityPreview)
- [Correction] When the picture file format should change, the applet would not do it if there where no rotation
or resizing.

Other changes:
- [Parameter] A new applet parameter: highQualityPreview. It allows the calculation of better preview picture. But
displaying the full screen preview is longer. On an old PII 500MHz and a 8,5M pixels picture, the full screen
picture is displayed in 12 seconds when highQualityPreview is set to true, instead of 5s when the parameter is not
set or set to false.



V2.5.0

Bugs Corrected:
- [Major] Corrected an important memory leak when viewing a fullscreen picture (by clicking on the preview picture). 
- [Minor] When previewing a picture in 'big' format (full screen), the size is now calculated only with the Window 
size, not with the maxPicWidth and maxPicHeight parameters.
- [Minor] Temporary files where not deleted, when using picture mode, and stopping the upload with the 'stop' button.
- [Minor] Correction of the howto-customise and the javadoc: a lot of applet parameters were not displayed in these html
files.


Changes:
- [Major] The applet has been tested, and runs well with only a little allocated memory: tested with a JVM of 
minMemory=8M and a maxMemory=16M.
- [Translation] Now translated in Esperanto, thanks to Chuck Smith (whiz.at.users.sourceforge.net)
- [Translation] Now translated in Dutch, thanks to Rob van Kempen (rob.at.vankempen.nu)
- [Major] Add of a popup menu that allows changing the debug mode while using the applet: very useful to help
debugging a problem on a distant server, with only a standard user access to the site. To switch the debug mode on: 
click on the right button, while holding the CTRL down.
- [Minor] (feature request n�1625013) Add of a new applet parameter: lookAndFeel. It allows to control the way the 
applet is displayed. This allow to display the applet with a java look & feel, or to use the current user's system 
one, or any other. Please, take a look to the list of applet parameters, to use it.


V2.4.0

Bugs Corrected:
- It's now possible to use the 'stop' button to stop an upload. 
- It's no more possible to click on 'upload' during an upload, which could lead to unpredictable behaviour.
- In the given examples, the parse.jsp had the following bug, now corrected: no call to fileItem.delete(). Without it 
the heap server quickly runs out of memory.


Changes:
- for Picture uploads (PictureUploadPolicy and CoppermineUploadPolicy) Upload of pictures stored in a read-only 
directory won't block the upload anymore. The original file is send, without being resized or rotated.
- The Mime Type is now correct, but only for pictures (see PictureUploadPolicy and CoppermineUploadPolicy).
- Modified a test of the stringUploadSuccess applet parameter: if it's not found, a warning is now displayed. This
test seems to be buggy on a lot of various systems. But I could repeat the troubles on my server. Now, if the 
success string is not found, there is only a warning message.
- Add of a FileUploadThread interface, that will be manipulated by other packages. This will help creation of new
version of FileUploadThreadVn. The FileUploadThreadVn are the successive versions of these classes. I keep them, as 
people often update them for their needs.
- Add of a FileUploadThreadV4 and a UploadFileData. These class will help to implement further extension like _chunk_ 
(to send file piece per piece) or eaisier mark of upload error per file. The original FileUploadThread has been renamed into
FileUploadThreadV1 (of anyone stil use it). FileUploadThreadV1, FileUploadThreadV2 and FileUploadThreadV3 implement 
- Creation of a FileData interface. The default implementation is now into the DefaultFileData.

V2.3.1

Changes:
- Spanish translation available (thanks to jesusangelwork: jesusangelwork[at]users.sourceforge[dot]net)
- The UploadPolicy.getUploadFilename method has been renamed in getUploadName, to avoid error, as this is not the
filename. See the javadoc for all details. BE CAREFUL, if you create a new UploadPolicy, that a new getUploadFilename
has been created. This to allow future encoding of filenames (still work in progress)


V 2.3.0

Bugs corrected:
- The upload would fail when there are less files to upload than nbFilesPerRequest (NullPointerException 
in FileUploadThreadV3).
- The stringUploadSuccess was never read from the applet parameters.

Changes:
- Add of the German language, thanks to Dr. Zoidberg.
- UPLOAD CLASS IS DYNAMIC. You can now create your own UploadPolicy, and put the full class name (with its package) 
into the uploadPolicy parameter to the applet: the UploadPolicyFactory will create it. Ths constructor for UploadPolicy
must have one parameter: JUploadApplet. From this applet, the UploadPolicy can get any necessary parameter, like
the statusArea, where it can displays text to the user.
- A new 'advanced_jd_demo.html' page allows a newcomer to check the effect of all parameters on the applet.
- The UploadPolicy.afterUpload() parameters changed : filePanel has been removed (useless, as it can be retrieve with 
the applet reference, already known from the UploadPolicy, see its constructor).
- The files are now removed just after upload. This means that, for instance, when uploading file by file, the user 
can see the already removed files disappear from the list of files to upload. If a crash occurs, he can then retry
the upload, with the remaining files.

V 2.2.4

Bugs corrected:
- NullPointerException (in FilePanelDataModel2 and in PictureFileData) because of the suppression of static methods 
in UploadPolicyFactory.

Changes:
- Java samples updated. They should be clean now. They use the last jakarta commons fileupload package.


V 2.2.3

Bugs corrected:
- Samples were bugguy: wrong URL, missing 'MAYSCRIPT' in the applet tags, which causes JSException
- minor bug: UploadPolicyFactory contains erroneous static getCurrentUploadPolicy, which would cause unpredictale 
result when several instances of the applet exist in memory

Enhancement:
- Upload policies can now 'refuse' a file added by the user. For instance, PictureUploadPolicy accepts only picture 
files (see createFileData).
- Sample now separate all uploaded files. This was already coded by William (creator of jupload), but not used by the 
sample.
- (minor) PictureFileData now correctly handles the isPicture internal variable.


V 2.2.0

  This version is a major release of jupload. It is based on the 'juploadV20040415R2' package. It adds the following 
functionnalities:
  
- Picture management. The applet is now able to:
  - Preview pictures,
  - Resize picture, to a maximum width and/or height before upload (this lower the network traffic, and can prevent 
the server to transform picture after upload)
  - Display a full screen picture (by clicking on the previewed picture),
  - Rotate the picture right or left,
  - Download pictures and select the upload album on the same web page (with the jupload.php script),
  - Upload all pictures/files in one click,
- UploadPolicy allows easy configuration of the the applet behaves (see below for the current list of parameters), 
- Multi-language.

Here are the current parameters allows that the upload policies allows to control. All details are given in the javadoc:
- uploadPolicy
- postURL
- debugLevel
- lang
- urlToSendErrorTo
- nbFilesPerRequest
- serverProtocol
- stringUploadSuccess
- maxPicHeight
- PictureUploadPolicy
- maxPicWidth
- maxPicHeight
- targetPictureFormat
- albumId
- storeBufferedImage
