All Versions
21
Latest Version
1.3
Avg Release Cycle
174 days
Latest Release
2217 days ago

Changelog History
Page 1

  • v1.3 Changes

    May 22, 2019

    ๐Ÿ›  Basically the same as beta2, with minor fixes among:

    • โฌ†๏ธ Config file upgrade script fixes
    • ๐Ÿ›  Fixes for running with Win10 1809 bash (breaks 1607 beta version, yeah... Nothing I can do about that)
  • v1.3-RC1 Changes

    June 29, 2020
    • ๐Ÿ”€ New option to use SSH_CONTROLMASTER in order to speed up remote sync tasks and preserve a single ssh channel
    • New option SSH_OPTIONAL_ARGS
    • ๐ŸŽ Fixed a problem with macos mv not preserving ownership of files from /tmp
    • ๐Ÿ›  Fixed very long outstanding issue with special characters in remote target handling
    • Fixed an issue where STOP_ON_ERROR_CMD did not work anymore
    • ๐Ÿ”’ Fixed a remote file lock problem (thanks to https://github.com/zhangzhishan)
    • ๐Ÿ’„ Fixed various cosmetic issues with code and logs
    • โฌ†๏ธ Improved upgrade script
    • ๐Ÿ”€ Fixed a possible bash buffer overflow when synchronizing large filesets (tested with 2M files)
      • This fix actually truncats every string sent to Logger not being more than 16KB
    • 0๏ธโƒฃ Fixed osync leaving temporary log files behind in RUN_DIR (/tmp by default)
    • โšก๏ธ Updated target helper service configuration file
    • Improved codacy results
    • Added more debugging
    • ๐Ÿ”Š Fixed service logs being junked by spinner
    • ๐Ÿ›  Fixed MINIMUM_SPACE=0 didn't stop the disk space check anymore (Thanks to Val)
    • ๐Ÿ”Š Fixed conflict file logs to be less verbose when no conflicts happen
  • v1.3-beta3 Changes

    May 22, 2019

    ๐Ÿ›  Basically the same as beta2, with minor fixes among:

    • โฌ†๏ธ Config file upgrade script fixes
    • ๐Ÿ›  Fixes for running with Win10 1809 bash (breaks 1607 beta version, yeah... Nothing I can do about that)
  • v1.3-beta2 Changes

    May 20, 2019
    • More --summary statistics
    • Config file syntax now uses booleans instead of yes / no (but still accepts old syntax)
      • Added boolean update in upgrade script
    • Config file revision check
      • Added config file revision in upgrade script
    • ๐Ÿ”€ New option --sync-type=initator2target|target2initiator that allows using osync as rsync wrapper for unidirectional sync
    • New osync target helper service
    • ๐Ÿ”Š Fixed multiple race conditions in parallel executions (which also fixes random conflict logs failures)
    • ๐Ÿ›  Fixed directory softdeletion bug
    • ๐Ÿ›  Fixed multiple failed deletions will be retried as many times as failures happened
    • ๐Ÿ›  Fixed remote running on FreeBSD for some commands, thanks to Vladimirek
    • ๐Ÿ›  Fixed (again) deletion propagation when file contains spaces (thanks to http://github.com/weinhold)
    • ๐Ÿ—„ Deprecated --log-conflicts for 1.3 branch (is now experimental)
    • โšก๏ธ Updated ofunctions
      • Has better random number generator
      • IsInteger, IsNumeric and IsNumericExpand are now busybox compatible
    • ๐Ÿ›  Multiple installer fixes
    • ๐Ÿ›  Multiple batch fixes
  • v1.3-beta1 Changes

    August 08, 2018
    • ๐ŸŒฒ Added an option to log conflictual files
      • Presence of conflictual files can trigger a special mail
    • ๐Ÿ‘€ New option --initialize (see #141)
    • ๐Ÿ‘€ Added OpenRC support (thanks to kozross, see #140)
    • Added --no-resume option in order to disable resuming execution on failure
    • ๐ŸŽ Added basic performance profiler to debug version
    • ๐Ÿ›  Fixed summary for file deletions
    • ๐Ÿ”€ Fixed an issue with filenames ending with spaces, their deletion not being propagated, and ACL / conflicts not being managed (still they got synced)
    • ๐Ÿ›  Fixed missing options passed to subprocess in daemon mode
    • ๐Ÿ›  Fixed bogus pgrep can lead to segfault 11 because of recursive KillChilds
    • ๐Ÿ›  Fixed osync deletion not working on systems with ssh banner enabled
    • Improved GetLocalOS and GetRemoteOS OS detection
    • ๐Ÿš€ Fixed GetRemoteOS missing GetConfFileValue preventing to get OS details from /etc/os-release
    • ๐Ÿ”’ Fixed low severity security issue where log and run files could be read by other users
    • ๐Ÿ”€ Merged Logger and QuickLogger for simplified usage
    • ๐Ÿ‘€ Fixed inotifyway error in FreeBSD (see #119)
    • Minor enhancements in installer / ofunctions
      • Added --prefix option for installer
      • Installer path fixes
      • Fixed logging bug with QuickLogger
    • ๐Ÿ”จ Refactored time control and parallel execution functions into one single function
    • Multiple portability improvements
      • UrlEncode function is now Busybox compatible
      • IsInteger function is now Busybox compatible
    • Prevented non unique runtime filenames on some systems where no milliseconds exist
      • Fixed bogus runtime filenames on Busybox
    • โฌ†๏ธ Upgraded shunit2 test framework to v2.1.8pre (git commit 07bb329)
    • ๐Ÿ›  Multiple smaller fixes and improvements
  • v1.2 Changes

    March 25, 2017

    ๐Ÿš€ After ten month of developpment, I'm proud to announce the release of osync v1.2 "beyond"

    โœ… Big thanks to all contributors and testers for their involvement and time.

    ๐Ÿš€ This release introduces some major new features, a lot of fixes and minor tweaks among:

    Speed improvments

    • Most of all initiator and target actions are now parallelized
    • Remote calls have been refactored to reduce the amount of calls and time needed
    • Various speed optimizations
    • Sync resume process has been rewritten in order to exclude more unnecessary checks
    • Faster remote OS detection

    - Unlock functions are no longer launched if locking failed

    ๐Ÿ›  Core improvements & fixes

    • More preflight checks before execution
    • Refactored soft deletion handles errors better
    • Support for various symlink options
    • New output modes (ex: --summary, --errors-only, --no-prefix)
    • Remote authentication now also accepts ssh password files
    • Simplified batch runner
    • Allow optional rsync arguments directly in config file
    • Resumed executions won't send alert emails anymore because failed executions already do (unless too many resume tries)
    • Prevented a rare collision issue when earlier runs had same PID as actual run in debug mode
    • Fixed daemon mode didn't enforce exclusions
    • Fixed directory ctime softdeletion (has also been backported to v1.1.5)
    • Fixed remote commands could also be run on local runs which obviously fails
    • Fixed proper symlink deletion routine
    • By default rsync algorithm won't try to compress some specific already compressed file extensions anymore
    • Added skip deletions option

    - Added options to ignore permissions, ownership and groups

    ๐Ÿ”’ Security improvements & fixes

    • Brand new ssh filter improving remote connection security

    - Improved privilege elevation on remote SUDO_EXEC runs

    ๐Ÿ›  Compatibility improvements & fixes

    • Deeper unit and program testing
    • Major code rework in order to make osync way more portable on different platforms
    • Busybox / Android has finally been added to supported systems
    • MacOSX has been added to supported systems
    • FreeBSD 11 has been added to supported systems
    • Windows 10 bash has been added to supported systems
    • Toolchain is now compatible with more platforms
    • Preserve ACLs and XATTR are ignored depending on OS support

    - Added monitoring capability to FreeBSD and MacOS X

    ๐Ÿ›  Developpment specific improvements & fixes

    • More paranoia mode checks
    • Added include-like functionnality making easier dev versions using bootstrap.sh script

    - Refactored most of fork controlling & process killing code

    ๐Ÿ›  Misc additions and fixes

    • Better email support on various platforms
    • Alert sending is now more readable and less noisy
    • Added sendmail support
    • Improved logging with UTF-8 filenames resulting in multibyte logged characters
    • Improved installer script
    • Fixed sync can hang when internet failure is detected
    • Fixed installer statistics didn't report OS version
    • Spinner is less prone to move on screen log output
    • Improved upgrade script sanity

    - Huge list of other improvements (see changelog file)

    Distro specific improvements

    • Added RPM file suitable for RHEL / CentOS / Fedora
    • Added PKGBUILD file for ArchLinux
  • v1.2.RC3 Changes

    February 10, 2017

    ๐Ÿš€ Yeah ! This pre-release is production ready

    Quick fixes for new ssh_filter related installs (doesn't affect non ssh_filter users):

    • Security fix for where log files would contain _REMOTE_TOKEN value if command fails
    • Uninstall script now checks if other programs need ssh_filter.sh before removal
  • v1.2.RC2 Changes

    February 08, 2017

    ๐Ÿ“š Next final release should only add updated documentation and RPM spec file.

    ๐Ÿš€ This new release candidate of next osync comes with the following improvements:

    • ๐Ÿ‘Œ Improved optional ssh filter for more security on remote connections
    • ๐Ÿ‘Œ Improved optional sudo privilege remote run
    • ๐Ÿšš Installer has new --remove option

    ๐Ÿ›  And fixes:

    • โ†ช Optional mail body encoding option to work around mail being sent without UTF-8 header
    • ๐Ÿ›  Fixed escaped UTF-8 log lines because of LC_ALL=C in script
    • ๐Ÿ›  Minor tweaks and fixes
  • v1.2-RC1 Changes

    December 13, 2016
    • ๐ŸŽ Unit tests have run on CentOS 5,6 and 7, Debian 8, Linux Mint 18, FreeBSD 10.3/pfSense, FreeBSD 11, MacOSX Sierra, Win10 1607 (14393.479) bash, Cygwin x64 and MSYS2 current
    • ๐Ÿ”ง Added optional rsync arguments configuration value
    • ๐Ÿ›  Fixed another random error involving warns and errors triggered by earlier runs with same PID flag files
    • Adde more preflight checks
    • ๐Ÿ”€ Fixed a random appearing issue with Sync being stopped on internet failure introduced in v1.2 rewrite
    • โš  Resuming operation will not send warnings anymore unless resumed too many timess
    • ๐Ÿšš Spinner is less prone to move logging on screen
    • ๐Ÿ›  Fixed daemon mode didn't enforce exclusions
    • Made a quick and dirty preprocessor
      • ofunctions can now directly be loaded into osync via an include statement
      • n_osync.sh can be assembled on the fly using bootstrap.sh
    • 0๏ธโƒฃ Forced remote ssh to use bash (fixes FreeBSD 11 compatibility when default shell is csh)
    • Faster execution
      • Reduced number of needed sequential SSH connections for remote sync (4 connections less)
      • Refactored CheckReplicaPath and CheckDiskSpace into one functon CheckReplicas
      • Refactored CheckDiskSpace, CheckLocks and WriteLocks into one function HandleLocks
      • Removed noclobber locking in favor of a more direct method
    • ๐ŸŒฒ Improved remote logging
    • ๐Ÿ›  Fixed directory ctime softdeletion
    • ๐Ÿ‘ Using mutt as mail program now supports multiple recipients
    • ๐Ÿ›  osync now properly handles symlink deletions (previous bugfix didn't work properly)
    • Simplified osync-batch runner (internally and for user)
      • Better filename handling
      • Easier to read log output
      • Always passes --silent to osync
      • All options that do not belong to osync-batch are automatically passed to osync
    • Improved installer OS detection
    • ๐ŸŽ Added daemon capability on MacOS X
    • โšก๏ธ Fixed upgrade script cannot update header on BSD / MacOS X
    • ๐ŸŽ Fixed SendEmail function on MacOS X
    • Fixed MAX_HARD_EXEC_TIME not enforced in sync function introduced with v1.2 rewrite
    • Fixed MAX_SOFT_EXEC_TIME not enforced bug introduced with v1.2 rewrite
    • PRESERVE_ACL and PRESERVE_XATTR are ignored when local or remote OS is MacOS or msys or Cygwin
    • ๐ŸŽ Fixed PRESERVE_EXECUTABILITY was ommited volontary on MacOS X because of rsync syntax
    • โฑ Fixed failed deletion rescheduling under BSD bug introduced with v1.2 rewrite
    • ๐Ÿ”€ merge.sh is now BSD and Mac compatible
    • โœ… More work on unit tests:
      • Unit tests are now BSD / MacOSX / MSYS / Cygwin and Windows 10 bash compatible
      • Added more ACL tests
      • Added directory soft deletion tests
      • Added symlink and broken symlink copy / deletion tests
      • Made unit tests more robust when aborted
      • Simplified unit tests needed config files (merged travis and local config files)
      • Added timed execution tests
    • More code compliance
    • ๐Ÿ›  Lots of minor fixes
  • v1.2-beta3 Changes

    November 18, 2016
    • Improved locking / unlocking replicas
      • Fixed killing local pid that has lock bug introduced in v1.2 rewrite
      • Allow remote unlocking when INSTANCE_ID of lock matches local INSTANCE_ID
    • ๐Ÿ›  Fixed failed deletions re-propagation bug introduced in v1.2 rewrite
    • Faster remote OS detection
    • New output switches, --no-prefix, --summary, --errors-only
    • ๐Ÿ‘ Added busybox (and Android Termux) support
      • More portable file size functions
      • More portable compression program commands
      • More paranoia checks
      • Added busybox sendmail support
      • Added tls and ssl support for sendmail
    • ๐Ÿ‘ Added --skip-deletion support in config and quicksync modes
    • Added possibility to skip deletion on initiator or target replica
    • ๐Ÿ”’ Prevent lock file racing condition (thanks to https://github.com/allter)
    • ๐Ÿ‘ Added ssh password file support
    • โœ… Hugely improved unit tests
      • Added conflict resolution tests
      • Added softdeletion tests
      • Added softdeletion cleanup tests
      • Added lock tests
      • Added skip-deletion tests
      • Added configuration file tests
      • Added upgrade script test
      • Added basic daemon mode tests
    • Simplified logger
    • ๐Ÿ›  All fixes from v1.1.5