Hello everyone!
A new update of LiteSync was just released with many improvements. The main changes are:
- Added fuzzing test of the binary serialization library, which revealed many bugs when decoding malformed messages (all fixed)
- Now LiteSync checks the integrity of received messages before processing them
- Internal system tables are now protected from being dropped or modified
- Added the lacking "ready_notification" event, already expected by some wrappers
- Added a transaction sync notification, with the result of the synchronization
- Save local transactions on a "-log" text file
- Allow setting/changing the
error_log_callback
after the engine is initialized
- Faster sync on failed transactions
- Added new tests, including a method for intercepting TCP connections and dropping the connection on different steps of the synchronization process
- Bug fixes
On the Python wrapper:
- Fixed a deadlock bug with user defined functions when closing the database
- Added new
set_error_callback(error_callback)
method to log errors
How to Update
You can either download the updated binaries or pull the latest version from the repository and compile it.
If compiling yourself, update the Binn library first:
cd binn
git pull
make clean
make
sudo make install
To update the Python wrapper, just run:
pip install litesync --upgrade
If you have any questions or issues, please let me know.