Releases: mgoellnitz/JFileSync3
Executables Release
This releases removes some of the essential weaknesses for Unix/Linux users: Discovery and syncing of write and executable flags has been added, so that you now can directly sync scripts and binaries and also files marked read only.
This is supposed to be the last release to be usable with Java 8, since our dependencies start moving ahead to later versions.
Paragraph Release
This release doesn't offer very much besides updated dependencies. Since the EncFS Library was not available as a dependency it even got updated and synced with its upstream repository as source code.
Some WebDAV backends might be working a bit better in terms of time and date handling.
And we added the paragraph sign to the list of valid filename characters.
The Code is prepared to be used with Java11 but we kept Java8 to avoid any problems with older JRE installations, which don't automatically switch to newer releases.
Acceleration Release
This release finally fixes the tremendous performance issue JFileSync3 had with WebDAV backends - encrypted or unencrypted.
As one of the few visible changes a splash screen has been added, which helps discover, if your desktop system recognized the starting of the software.
Again most of the dependencies have been updated to their latest versions if applicable. The building issue with launch4j seems to have vanished.
Convenience Release
This release is a convenience release for me personally, and I want to synchronize all my JFileSync3 installations. There are quite a few here in the office.
Convenience Stuff
The release adds an extended "last sync jobs used" menu, since the default four entries we inherited from the original project are definitely not enough for our daily work.
Also I noticed that the download link didn't work anymore, which was correctly updated in the README and Wiki but not in the software itself. If you e.g. didn't install Java properly you got thus redirected to a 404-Page from dropbox. This can only be fixed with a new package.
Please also note the icon change, if you're using a desktop theme with a dark background.
Sync with Root Project
Sadly it was not possible to synchronize the work of this project with the substantial changes the original project JFileSync introduced since the fork. Some of the API changes were cherry-picked though now to make later re-synchronizing at least easier.
Dependency Update and Change
Of course this release updates all the used dependencies to their latest stable state. As a last important internal step, log4j now is put to rest and logback is used as the backend for slf4j.
Building
The launch4j gradle plugin inherits the launch4j issue to be only able to compile on 32bit systems or with additional 32bit libraries available. This was not really desirable for development machines, so we use a patched version of launch4j with the ld
and windres
from binutils-mingw. As a result the plugin's external task has to be used and the build call now creates a full distribution without a second call to gradle distZip
. Tests still stay separate and have to be executed with gradle encryptionTest
Test Vehicle Release
This release just adds the Encrypted Folders with WebDAV backends in the version available for use with local folders, which ignores the meta data files and directly accesses each file to get the unencrypted information for comparison back.
Of course this consumes quite a lot of time, so it is only intended as a test vehicle to check if everything mentioned in the meta data files is really present. During slow transfers, with flaky networks, or backends which cannot deal with the strange encrypted file names JFileSync3 uses, I'm sometimes not sure if everything works well.
Progress Release
This release presents some notable performance enhancements for the WebDAV backends (encrypted and unencrypted) and a very small tweak for the progress bar, which enhances usability quite a lot.
JFileSync(3) used to re-calculate the remaining time from the amount of transferred bytest up to the last file boundary. This means: If you are transferring a larger file, the bytes transferred for this very file are not taken into account while time goes on. As a result the "remaining time" indicator showed increasing values. This has been solved helping with larger files during transfer and encryption.
WebDAV Compatibility
Compatibility fixes with custom and standard modification time properties, so that box.net and yandex disk WebDAV access is fully working.
HTTP Client Update
This is just a polishing release. The WebDAV access through Sardine got updated and just by doing this, we got rid of the old version of the Apache commons httpclient, which we wanted to achieve anyway.
Clean up and maturity release
This release is the first one to be labled here in github.com, since it marks two steps in the development of JFileSync3, and there are no obvious next steps:
It seems that the last minor glitches which might - from time to time - cause JFileSync3 to fail in encrypting certain file names and directory structures with certain back ends have been resolved. Not all backends can cope with all kinds of strange file names the encryption produces, and there might also be some path length restrictions.
It was possible to rip out the code of sardine from the source code repository and use a dependency. There are still two other libs left but I'm working on it.
Despite the slow speed in development: JFileSync3 as an syncing and encryption tool is still alive and in daily use. The slow speed is a sign of maturity for the feature set of it we are actually using.