Added an option to set the log file encoding format. See the LogEncodingCodePage parameter in the documentation for more information.
Added an option to set the email subject in the notification email. See the EmailSubject parameter in the documentation for more information.
Corrected an issue where an error would be repoted if 2 files had the same name but with different unicode characters.
Fixed a problem where the command line wizard would crash.
Fixed a problem where an upload would cancel during a multipart upload and a timeout.
Corrected a problem with folder names over 248 characters in length.
Corrected a problem with long file paths.
More information is logged when an error occurs.
A RequestHeaders parameter has been added. This can be used to send a x-amz-security-token header in requests.
Corrected a problem where an error would occur when uploading a multipart file with multiple threads.
The application now supports file paths greater than 260 characters.
The command line wizard now correctly detects the x86 or x64 required version of ShadowSpawn.
An IgnoreSSLCertificateErrors parameter has been added which allows continuing if an SSL certificate error is encountered. This is useful if your bucket name has a period in it and you want to use SSL.
The console windows can now display unicode characters.
The application no longer deletes the cache files for bidirectional sync in log only mode. This makes testing bidirectional syncs easier.
The application now creates the LocalFolderPath if it does not exist.
The application now runs in x86 or x64 mode depending on the operating system. 64 bit operating systems will no longer get an out of memory error when synchronizing millions of files.
When comparing files by timestamp the application now uses a cache file to store the timestamps of S3 files between syncs. This avoids having to retrieve the timestamps during each execution.
The default OutputLevel is now 1.
The default CompareFilesBy method is now Timestamp.
The application now shows progress in the console when enumerating local and remote files.
The application now shows progress in the console when calculating local etags and retrieving remote timestamps.
The log email is now composed of the first 200 and last 200 log lines.
The application no longer requires a placeholder key for each folder on S3 when doing a sync. This problem affected users who did not use S3 Sync to upload folders to their bucket.
A warning exit code no longer overwrites an error exit code.
Fixed a problem related to creating a signature version 4 authentication header. A user may have gotten an error when listing a bucket.
The application now supports the Frankfurt region.
The application now uses signature version 4 to authenticate requests.
A SignatureVersion parameter has been added to allow signature version 2.
A Region parameter has been added to override the region for signature version 4.
The application no longer exits if an upload failed because a file is in use.
A check has been added to confirm the MultipartPartSizeBytes parameter is less than 5 GB.
Fixed an error handling problem when uploading a multipart file.
Fixed a problem with the parts list that may occur when uploading a multipart file.
The email log is now limited to the last 4000 lines of the log file.
Fixed a problem when saving the cache file to the root of a drive.
Fixed a memory issue when calculating the etag for tens of thousands of local files.
The program now continues if a file path is too long and cannot be uploaded.
The program now continues if a file no longer exists and cannot be uploaded.
The application now displays a message if you are not running the latest version.
Fixed a bug where the application would hang while uploading multipart upload files.
The application now creates the default CachePath if it does not exist.
The ShadowSpawn exe version is now set correctly for Windows 7 in the command line wizard.
The application now forces ShowTransferProgress to false if the console cursor cannot be moved.
Fixed a bug where the application would crash if the LogFilePath was empty.
The RestoreTimestampsFromMetadata parameter is now set to true by default.
The log now shows how many days left during the trial.
Fixed a problem where folders were not reported as downloaded during a bidirectional sync.
Set the DeleteS3Items parameter to true in the S3Sync.exe.config file. The previous value was causing a problem for downloads and bidirectional syncs.
There is now a bidirectional SyncDirection. This allows uploading files that have changed on your computer and downloading files that have changed on S3. Bidirectional sync allows for concurrent uploading and downloading.
A cache file is used to track changes between syncs when using bidirectional sync.
When uploading files using multipart upload, all parts of a file are uploaded before a new file is started.
A license key is now required when running the application. A trial license key is available for free.
There are more parameters you can use to exclude files.
ShadowSpan is included so you can upload files that are in use by another application.
The application has been adjusted so it works through mono on Mac OS X.
The log file name can now have timestamp inserted into it.
The wizard has been updated to work with the latest parameters.
The wizard no longer crashes when listing folders on S3 for Windows 7 and below.
The program now list the correct number of folders that will be uploaded when some folders are excluded with a regular expression.
The system's default credentials are now automatically used when making requests through a proxy server.
The console application now has an icon that is different from the wizard.
The wizard now saves the batch file with the correct encoding.
There is now an option to save the credentials in the wizard.
The Microsoft .NET framework is now required for the wizard.
Fixed an issue where memory would not be released when downloading hundreds of thousands of files.
The wizard now has an option to save and open the command-line.
Corrected a bug where the application would crash if the secret key was not in the command-line.
Corrected a problem when uploading with multiple threads.
The wizard now preserves settings after an upgrade.
Fixed a problem where an upload may start when another upload was taking place.
The program now continues if there is no permission when listing a folder to a file is invalid. The program will return ExitCode -2.
Corrected a problem selecting the root drive as a source folder in the command-line wizard.
The command-line text box is now editable in the command-line wizard.
The AWSSecretAccessKey is now hidden in the command line arguments in the log.
Added a warning if the AWSSecretAccessKey is an invalid length or contains invalid characters.
Fixed a bug where invalid signatures were being generated when a bucket name contained the underscore character.
More information is returned when an invalid signature error is returned.
The program now aborts a transfer if there has been no activity for 5 minutes.
The current speed now displays a more accurate value when no activity is taking place.
The program now displayed the correct number of files waiting to be downloaded from Glacier.
Added more information to the log file related to the modified time stamp for files on S3.
The wizard now lists all available buckets.
The wizard now allows you to make files public, use server side encryption, and reduced redundancy.
S3 Sync can now download files that have been moved to the Glacier storage class. A request to restore the files is submitted and the application waits until the restore is complete.
The application now comes with a wizard that helps you build a command line.
An installer is now used for installing the application.
The application now requires a license key if it is being used for commercial or non-personal use.
There is now an option to compare local files and S3 files by timestamp. This is more accurate than Size and quicker than ETag.
Added an ExcludeLocalFoldersRegularExpression parameter. This will allow you to excluded folders that match a regular expression.
Added a UploadOrDownloadBeforeDelete parameter. This allows you to specify if files will be deleted before or after an upload or download.
Added a GlacierRecheckWaitSeconds parameter. This specifies how many seconds to wait before checking if Glacier restore operations are complete.
More information is written to the log when listing files. This includes size, date modified, and etag.
Set a maximum delay time of 60 seconds between retries when communicating with Amazon.
If a partial multipart upload exists and a local part does not match it's part on S3, the multipart upload is aborted.
The full command line arguments that were passed into the application are now written to the log file.
Added the ability to substitute parameter names with parameter values in the log file name.
Fixed a bug where the application would exit with an error during a multipart upload when no error occurred.
Added automatic detection of the ap-southeast-2 (Sydney, Australia) region.
The application now generates an error message if you try to use SSL with a bucket name that contains a dot.
Fixed a bug where the application used the MultipartThreads value when it should have used the TransferThreads value.
The AWSSecretAccessKey and EmailSmtpPassword vlaues are no longer displayed in the log file. This helps keep these values private.
When the value of 3 is used for the OutputLevel parameter all requests and responses to Amazon are logged.
The us-west-2 and sa-east-1 regions are now automatically detected if the RequestEndpoint parameter is empty.
Fixed a bug where all downloads stopped if an error occurred.
Fixed a bug when using the CompareFilesBy value of "size".
Fixed a bug related to creating folders multiple levels deep.
Fixed a bug related to bucket names with upper case characters.
Fixed a problem where the authorization signature could be generated incorrectly for third party providers that are compatible with the S3 API.
Fixed a problem with RequestEndpoint. S3 Sync now works with AWS GovCloud, GreenQloud, Seeweb, and any other provider that supports the Amazon S3 API.
Fixed a memory issue when uploading hundreds of thousands of files.
Fixed a problem where a downloading a file would generate an error if the destination folder did not exist. The folder may not exist if a corresponding folder key does not exist in S3.
Added an option to use Amazon S3 Server Side Encryption when uploading files.
Now using a queue to store log information to send in an email. A string was used previously and it could consume all memory.
Fixed console lines overlapping when a line spans multiple lines.
Added more error information if listing local files fails.
Add the ability to upload or download multiple files at the same time.
During an upload the S3FolderKeyName is now created if it does not exist.
Corrected various bugs.
The application now waits and tries again if Amazon returns a 500 status code.
The Authorization header is now generated each time an error is retried.
Fixed a bug where the LimitKBpsSpeed value was not being used.
The code has been cleaned up for easier reusability.
Added the ability to synchronize from S3 to your computer.
Set default values for all parameters. The default value will be used if
no value is specified.
Now using multipart upload when uploading large files to S3.
Added code which allows the program to continue uploading files when an upload fails due to the file already being in use.
The program no longer generates an error if EmailNotifyPort or EmailNotifySsl are empty in the config file.