diff --git a/Duplicati/Server/webroot/ngax/templates/home.html b/Duplicati/Server/webroot/ngax/templates/home.html
index dd27b8a8b..e11b1b9e6 100644
--- a/Duplicati/Server/webroot/ngax/templates/home.html
+++ b/Duplicati/Server/webroot/ngax/templates/home.html
@@ -56,8 +56,9 @@
Advanced:
- Manage local database ...
- Verify backup files
+ Manage database ...
+ Verify files
+ Compact now
Reporting:
diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md
new file mode 100644
index 000000000..70ea6d8ce
--- /dev/null
+++ b/ISSUE_TEMPLATE.md
@@ -0,0 +1,32 @@
+
+
+I have:
+- [ ] searched open and closed issues for duplicates
+
+----------------------------------------
+
+### Version info
+
+**Duplicati Version:** 0.0.0.0
+**Operating System:**
+**Backend:**
+
+### Bug description
+Describe here the issue that you are experiencing.
+
+### Steps to reproduce
+- using hyphens as bullet points
+- list the steps
+- that reproduce the bug
+
+**Actual result:** Describe here what happens after you run the steps above (i.e. the buggy behaviour)
+**Expected result:** Describe here what should happen after you run the steps above (i.e. what would be the correct behaviour)
+
+### Screenshots
+
+
+### debug log
+
diff --git a/Installer/AssemblyRedirects.xml b/Installer/AssemblyRedirects.xml
index 6a85f4900..17eb462c3 100644
--- a/Installer/AssemblyRedirects.xml
+++ b/Installer/AssemblyRedirects.xml
@@ -1,18 +1,32 @@
-
-
+
+
-
-
-
-
+
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tools/Verification/DuplicatiVerify.ps1 b/Tools/Verification/DuplicatiVerify.ps1
new file mode 100644
index 000000000..08f52c47d
--- /dev/null
+++ b/Tools/Verification/DuplicatiVerify.ps1
@@ -0,0 +1,94 @@
+Set-StrictMode -Version 5
+
+function HexToBase64
+{
+ param
+ (
+ [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
+ [string]$s
+ )
+ [array]$return = @()
+
+ for ($i = 0; $i -lt $s.Length ; $i += 2) {
+ $return += [Byte]::Parse($s.Substring($i, 2), [System.Globalization.NumberStyles]::HexNumber)
+ }
+
+ Write-Output $([Convert]::ToBase64String($return))
+}
+
+function Verify-Hashes
+{
+ [CmdletBinding(PositionalBinding=$false)]
+ param
+ (
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$filename
+ )
+
+ [int]$errorCount = 0
+ [int]$checked = 0
+
+ if(-not $(Test-Path $filename)) {
+ Write-Host "Specified file does not exist: $filename"
+ return -1
+ }
+
+ [string]$folder = Split-Path -Path $filename
+
+ $remoteVolumes = (Get-Content $filename) -Join "`n" | ConvertFrom-Json
+
+ foreach ($remoteVolume in $remoteVolumes) {
+ [string]$volFileName = $remoteVolume.Name
+ [long]$volFileSize = $remoteVolume.Size
+ [string]$volFilePath = Join-Path -Path $folder -ChildPath $volFileName
+
+ if(-not $(Test-Path $volFilePath)) {
+ Write-Host "File missing: $volFilePath" -ForegroundColor Red
+ $errorCount++
+ } else {
+ $checked++
+
+ Write-Host "Verifying file $volFileName"
+
+ $shaHash = Get-FileHash -Path $volFilePath -Algorithm SHA256
+
+ if($remoteVolume.Hash -ne $(HexToBase64 $shaHash.Hash)) {
+ Write-Host "*** Hash check failed for file: $volFileName" -ForegroundColor Red
+ $errorCount++
+ }
+ }
+ }
+
+ if($errorCount -gt 0) {
+ Write-Host "Errors were found" -ForegroundColor Red
+ } else {
+ Write-Host "No errors found" -ForegroundColor Green
+ }
+
+ return $errorCount
+}
+
+[string]$argument = ""
+if ($args.Length -eq 1) { $argument = $args[0] }
+else { $argument = $PSScriptRoot }
+
+
+if(-not $(Test-Path $argument)) {
+ Write-Host "No such file or directory: $argument" -ForegroundColor Red
+}
+
+if(Test-Path $argument -PathType Leaf) {
+ Verify-Hashes -filename $argument
+} else {
+ [int] $files = 0
+
+ Get-ChildItem $argument -Filter "*-verification.json" |
+ Foreach-Object {
+ $files++
+ Write-Host "Verifying file: $_.Name"
+ Verify-Hashes -filename $_.FullName
+ }
+
+ if ($files -eq 0) { Write-Host "No verification files in folder: $argument" }
+}
\ No newline at end of file
diff --git a/Updates/build_version.txt b/Updates/build_version.txt
index 98d9bcb75..d6b24041c 100644
--- a/Updates/build_version.txt
+++ b/Updates/build_version.txt
@@ -1 +1 @@
-17
+19
diff --git a/build-installers.sh b/build-installers.sh
old mode 100644
new mode 100755
index 3997f62d7..01db8459f
--- a/build-installers.sh
+++ b/build-installers.sh
@@ -137,7 +137,7 @@ if [ -f "${GPG_KEYFILE}" ]; then
echo
fi
- GPGDATA=`mono thirdparty/SharpAESCrypt/SharpAESCrypt.exe d "${KEYFILE_PASSWORD}" "${GPG_KEYFILE}"`
+ GPGDATA=`mono BuildTools/AutoUpdateBuilder/bin/Debug/SharpAESCrypt.exe d "${KEYFILE_PASSWORD}" "${GPG_KEYFILE}"`
if [ ! $? -eq 0 ]; then
echo "Decrypting GPG keyfile failed"
exit 1
@@ -159,6 +159,8 @@ aws ec2 start-instances --profile=duplicati-builder --instance-ids "${WINDOWS_IN
echo ""
echo ""
echo "Building OSX package locally ..."
+echo ""
+echo "Enter local sudo password..."
cd Installer/OSX
bash "make-dmg.sh" "../../$1"
diff --git a/build-release.sh b/build-release.sh
index e38b1f8e6..a9086f53c 100644
--- a/build-release.sh
+++ b/build-release.sh
@@ -98,6 +98,8 @@ ${NUGET} restore Duplicati.sln
${XBUILD} /p:Configuration=Debug "BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.sln"
+${XBUILD} /p:Configuration=Release /target:Clean Duplicati.sln
+find Duplicati -type d -name Release | xargs rm -rf
${XBUILD} /p:Configuration=Release Duplicati.sln
BUILD_STATUS=$?
@@ -120,6 +122,16 @@ mkdir "${UPDATE_TARGET}"
cp -R Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Release/* "${UPDATE_SOURCE}"
cp -R Duplicati/Server/webroot "${UPDATE_SOURCE}"
+# We copy some files for alphavss manually as they are not picked up by xbuild
+mkdir "${UPDATE_SOURCE}/alphavss"
+for FN in "Duplicati/Library/Snapshots/bin/Release/SnapshotQuery.exe" "Duplicati/Library/Snapshots/bin/Release/AlphaShadow.exe" Duplicati/Library/Snapshots/bin/Release/AlphaVSS.*.*.dll; do
+ cp "${FN}" "${UPDATE_SOURCE}/alphavss/"
+done
+
+# Install the assembly redirects for all Duplicati .exe files
+find "${UPDATE_SOURCE}" -type f -name Duplicati.*.exe -maxdepth 1 -exec cp Installer/AssemblyRedirects.xml {}.config \;
+
+# Clean some unwanted build files
if [ -e "${UPDATE_SOURCE}/control_dir" ]; then rm -rf "${UPDATE_SOURCE}/control_dir"; fi
if [ -e "${UPDATE_SOURCE}/Duplicati-server.sqlite" ]; then rm "${UPDATE_SOURCE}/Duplicati-server.sqlite"; fi
if [ -e "${UPDATE_SOURCE}/Duplicati.debug.log" ]; then rm "${UPDATE_SOURCE}/Duplicati.debug.log"; fi
diff --git a/changelog.txt b/changelog.txt
index 88d8cc80e..4dfa2e2f1 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,35 @@
+2016-08-27
+==========
+* Fixed issue with files not being listed on Windows (AlphaFS and AlphaVSS issue)
+* Updated B2 API URL
+* Added compact command to WebUI
+
+2016-08-10
+==========
+* OneDrive for Business now uploads files in chunks to prevent timeout, thanks @ReneHezer
+* Prevent using both --keep-version and --keep-time to avoid confusion
+* Fixed a number of usability issues with the WebUI
+* Fixed encoding of special characters for Amazon Cloud Drive, thanks @Xelio
+* Fixed an issue with the recovery tool not respecting the restore folder target, thanks @mnaiman
+* Fixed issues when including the "home" folder on Windows
+* Fixed expanding environment variables and special folder names for filters
+* Changed displaying the dates in the WebUI with the browser locale
+* Added option to re-compress and re-encrypt from the recovery tool, thanks @mnaiman
+* Updated AWS S3 library to latests version
+* Added option to create an un-priviledged S3 user via IAM, if the current user has permissions
+* Fixed an issue with the scheduler that cause high CPU usage for invalid schedules
+* Fixed an issue with the WebUI forgetting SSL settings in some cases
+* Upgraded support for sending email to use a new library with proper SSL support, thanks @mnaiman
+* Fixed spurious failures in SSH connections, caused by leaking open connections, thanks @mnaiman
+* Fixed a Mono dependency in the Debian package that has been renamed
+* Added a DropBox backend, thanks @wvc
+* Added option to serve the WebUI with an SSL certificate, thanks @mnaiman
+* Improments to the recovery tool, thanks @mnaiman
+* Fixed an issue where deleting a backup and creating a new could cause data to be pre-set from the delete backup on the new, thanks @4m1g0
+* Fixed an issue with LVM not working on newer versions of Ubuntu
+* Fixed an issue where Mono could not be located by the OSX app bundle
+* Fixes to WebUI layout, thansk @Vaporizer8
+
2016-05-14
==========
* Fixes for UI on Safari, thanks @alexfran