AutoSync v4 Change Log
v4.0.4.34
Mantis #114863
Fix sync stuck: idempotent sync table insert and force-remove wids from sender on failure
v4.0.4.33
Mantis #114446 (revision)
fix conditions for syncing
v4.0.4.32
Mantis #114446
add feature if failed to insert to sync/terminalsync table, will reinsert to sync/terminalsync of sender.
change behavior from reinsert sync/terminalsync of sender to skip delete sync/terminalsync of sender if failed to insert sync/terminalsync of receiver
v4.0.4.31
Mantis #114478 (revision)
Fix issue data not being detected when in idle. Needs to restart the app to start syncing.
Add command set global max error count.
Added function to ensure all syncing workers are running.
Set refresh rate to 3 seconds.
Optimized syncing process. Add immeditate updates on progress and reduce delays.
Fix race conditions.
v4.0.4.30
Mantis #114478 (revision)
Fix issue showing posdbversion mismatch from time to time.
Removed spamming of for checking connection.
Avoid spamming of log when checking database version.
v4.0.4.29
Mantis #114478 (revision)
Fix implementation. Add flush host log file to be able to execute flush hosts once per version update.
Track flush hosts command each time triggered manually in settings tool strip.
v4.0.4.28
Mantis #114478
Add cooldown when MySQL returns 1129 to stop hammering blocked hosts
Add new settings flush hosts command
Added new setting flush hosts under settings menu strip
Run flush hosts once when there is a new version update.
Added a superadmin/admin login prompt before running Settings → Tools → Flush hosts.
v4.0.4.27
Mantis #113489
Fully avoids the IPv6 stall without disabling IPv6 system-wide. Predictable behavior across branches regardless of DNS
Added AutoSync/Helpers/MySqlEndpointSelector.cs.
Updated AutoSync/Helpers/NelsoftDbHelper.cs.
Add dedicated conection logging.
v4.0.4.26
Mantis #112542 #113489
fix condition when inserting data to sync table, to make sure all data are inserted
add logs when successfully inserted to sync table (Mantis:113434)
add validation and retry feature when inserting data to sync table.
Fix issues in Product Promo Qty not showing in pos autosync, also changed basis to lastmodifieddate
v4.0.4.25
Mantis #111991
Refactor autosync auto update process. To download exe file in the background and patch in next re-open
Add notification if download will be applied in next restaret.
Fix issue in F1 check for updates. Update code to use latest updater functions.
Updated UserSettings to restore previous working settings if bad Settings.xml is detected during initialization.
Set updater.CaptureSynchronizationContext = false to keep UI responsive without the duplicate *WithoutContext method
app-updater DLL commit using updater v1.0.0.22
Add logs when settings is restored.
v4.0.4.24
Mantis #112062
add validation when inserting data to sync/terminalsync
add retry feature when inserting data to sync/terminalsync (max retry = 5)
v4.0.4.23
Mantis #104031
Added new form for Reset Inventory to Zero
Added variable Option to store selected option for reset inventory. Added clause generator to filter reset inv query. Set All as default.
v4.0.4.22
Mantis #109111
add flushdns command during startup of application
v4.0.4.21
Mantis #109421
Added checker to check system date and time privileges.
Update condition to trigger local security policy if only has no privilege and time is not synced.
Added class UserSystemRightsHelper.
v4.0.4.20
Mantis #108857
Added checker for backup process to halt and delete folder if a .sql file is corrupted.
v4.0.4.19
Mantis #104976 #107897
Added loading form
Added setting enableutoupdate
Add autoupdate feature during startup
Set autosave correct autoupdate credentials if null are set in settings.xml
Add to Windows Defender Whitelist function using powershell.
Disable UAC function.
Added defender exclusion for windows 7
v4.0.4.18
Mantis #103614 #75770
add retry feature to time.windows.com and time.cloudflare.com
change ntp server to cloudflare and google
change timezone to Singapore Standard Time to fix issue in windows 11
add componenthelper.cs
add checker if startup value is set on registry
add set startup value on registry or update if wrong path
v4.0.4.17
Mantis #103614
Modified batch file and added WaitForExit to prevent error in deleting resource folder.
v4.0.4.16
Mantis #98784
Added setting to enable/disable asking for password in manual backup.
v4.0.4.15
Mantis #99208
add new table to sync if posdbversion is v4.11 and above (sales_zapmember)
add compare for dbversion of sender and receiver if same before adding sales_zapmember table in sync
add checker if table exists in local and remote db
v4.0.4.14
Mantis #96000
Initialize new setting Enable Auto Backup in Settings.xml and Backup Settings Form.
Disable autosync autobackup when autobackup setting is disabled.
v4.0.4.13
Mantis #95307
add filter for saleshead (show=0, status=0)
v4.0.4.12
Mantis #82383
Changed reference config value when checking for posdgen date.
Changed default datetime value if change-master-data doesn't exist.
Added conditions to check for change-master-data when manual resyncing sales data.
v4.0.4.11
Mantis #82383
Automatically close cmd prompt. Added funtion to check internet connection before attempting to sync time via internet.
Fix condition when checking internet connection.
v4.0.4.10
Mantis #80574
Fix autogeneration of ntrights file and bat file to be performed and deleted after execution.
Move to default properties folder.
v4.0.4.9
Mantis #78157
Added feature to allow user to be added in local security policy to change date and time. Added ntrights.exe and bat file as embeded resource.
v4.0.4.8
Mantis #75093
add indicator on syncrepository if haspaymayatable or not, prevent paymayadetail sync if not exist
add generic table checker function
v4.0.4.7
Mantis #70186
add new feature to sync ´paymayadetails´ to server
can only be sync in db 4.0 and up
v4.0.4.6
Mantis #70391
add new form BackupSettingsForm
add menustrip in main form to access backup settings form
add username in permission form for backup settings only
v4.0.4.5
Mantis #67886
Updated application-updater submodule.
v4.0.4.4
Mantis #60748
Removed process where every image is being resized before each backup since it massively slows down the whole process.
Added condition where the backup process only adds new or recently modified image files to an existing zip file.
Fix error when there is no existing backup directory yet
Removed unnecessary generated files in backup directory before starting backup process.
v4.0.4.3
Mantis #58316
Added InitialBackupDirectory Settings to prevent default C:/MyDocuments/dumps/ default storing path.
v4.0.4.2
Mantis #57085
Added exclusions for superadmin user on Sync User and Sync Table to prevent sending its data.
Added a process that removes superadmin from data table if Autosync is terminal sync only.
v4.0.4.1
Mantis #55010
Fixed the data discrepancy between main and branch.
v4.0.4.0
Mantis #51292
Added a setting to enable/disable internet time syncing.
Users can now open the app with admin privileges, “Run as administrator”.
Added correct time zone setter.
Added helpers for NTP, Time Zone, and system time checking.
Added UTC time checking.
Added interval time checking.
Modified startup process.
Autosync will stop syncing stock delivery if app has incorrect time.
Added a status on table sync that shows if app has incorrect time.
Added a process that stops table syncing if time is incorrect.
Fixed issues on time syncing for different incorrect date and time scenarios.
Handled the process of time syncing when there is no internet connection.
Added a backup time server for network time checking and syncing.
v4.0.3.17
Mantis #55565
Added Issued Check table on Branch Sync Table List with reference to last modified date and sync type SubToMain.
v4.0.3.16
Mantis #53625
Added a process checker when there are critical processes running before restarting the application.
v4.0.3.15
Mantis #52355
Added "Reprint Count" on terminal sync table for transmission from terminal to branch server.
v4.0.3.14
Mantis #51856
Disabled resyncing of generated actual sales from POSD Generator to prevent overwriting actual data.
v4.0.3.13
Mantis #51963
Included terminal no = 0 when checking the config table to fix issue of Autosync that still works even when the value for terminal no is different in Settings. xml and in config table.
v4.0.3.12
Mantis #49810
On Settings.xml, changed the default value of Terminal Sync Table from 'consolidatedsync' to 'terminalsync'.
v4.0.3.11
Added new setting "TerminalSyncTable" in Settings.xml.
If the value is 'terminalsync', Autosync checks the data for syncing in terminalsync table. If the value is 'consolidatedsync', Autosync checks the data for syncing in consolidatedsync table that is used by v5 CIRMS POS.
v4.0.3.10
Mantis #46951
Changed the filter from 'last modified date' to 'date created' to be used by Autosync on Product Discount and Product Quantity Promotion modules.
v4.0.3.9
Removed permission confirmation when checking for updates.
v4.0.3.8
Mantis #28388
Added branch restriction when syncing stock delivery.
Modified stock delivery module syncing by basing on last modified date.
Mantis #45870
Added auto update support.
Added error message if update of autosync failed.
Updated error message prompts when checking for updates.
Added a feature that cleanups unnecessary release files.
v4.0.3.7
Mantis #36534
Added a special condition for products that enables syncing from branch to main.
v4.0.3.4
Mantis #34605
Added an indicator that determines if Database and Sync background workers need to be stopped.
Autosync now add logs whenever the Database and Sync background workers had already stopped.
Autosync will now disable buttons and stop background workers when the scheduled database backup is in process.
Removed disabling of all buttons and stopping of background workers when the product picture backup is in process.
v4.0.3.3
Mantis #26506
User ID of user that allowed to reset inventory to zero will be saved.
Added a feature where the Autosync will check if password has admin permission to allow certain actions.
Autosync now requires user to enter password when clicking Reset Inventory to Zero.
Updated Settings.xml where RecomputePermission default value is set to 1.
Password with userid will now be used only for Recompute Inventory and Reset Inventory to Zero. The default password will be used for exit and force restart.
Fixed wrong data conversion.
v4.0.3.2
Autosync will not create database backup if TerminalSyncOnly setting is set to true. (Mantis #35215)
v4.0.3.1
Added approval_log table on terminalsync for db version 3.8 and above.
v4.0.3.0
Added app.config to support multiple target framework.
Added posmobilepayments table in terminal and branch sync via collectiondetail in SyncRepository.cs
Added validation for posmobilepayments, it will only sync if database version is 4.0 or above.
v4.0.2.27
Created feature to backup prodpic folder to create a copy of the folder and save it in dropbox. (Mantis #30363)
v4.0.2.26
Remove brand and supplier when syncing data from the main branch and should only insert necessary data in the terminal sync table. (Mantis #26972)
v4.0.2.25
Fix on Table SyncType filter conditions
Added database version checkers to handle version below 3.4
v4.0.2.24
Autosync can set mysql port. (Mantis #23144)
Added setting for port number.
Added port setting in setting.xml
v4.0.2.23
Fix issue in syncing added table in v4.4.4.0 release (Mantis #26553)
v4.0.2.22
Added tables to sync for release of v4.4.4.0 (Mantis #26553)
v4.0.2.21
Sorted Database and Table Lists to be displayed un Treelistview to fix duplication row entry when there are too many rows. (Mantis #26754)
v4.0.2.20
Fix on ProductSyncMode2 where all outlet branchprice should always sync together with main branchprice. (Mantis # 21681)
Added SyncOutletProducts setting to control outlet branchprice syncing. (Mantis # 21681)
v4.0.2.19
Added TerminalSyncOnly setting to hide and disable branch to branch syncing process. (Mantis #20489)
Edited branch table SyncType mode to MaintoSub. (Mantis #20489)
v4.0.2.18
Fix on data with Chinese characters not syncing properly and the characters were changed to question marks (???). (Mantis #17627, #17238)
v4.0.2.17
Re-arranged enTransactions commit sequence to fix issue where AutoSync deletes sync table data even if local insert fails.
v4.0.2.16
Separated backup process per file.
v4.0.2.15
Fixed bug on insertWidstoSyncTable function where synced data from main branch not automatically inserted to terminalsync table.
v4.0.2.14
Modified RecomputePermission setting where the user can enable or disable the recompute and reset inventory buttons, or can input permission for these buttons. (Mantis #15741)
v4.0.2.13
Added Chinese characters for connection status and table sync status labels. (Mantis #14289)
v4.0.2.12
Added syncing of all branchprice rows on ProductSyncMode2 from main branch upon creation of product.
v4.0.2.11
Fixed issue where upon saving of POS Cash Denomination, the data was not synced to main server. (Mantis #14986)
v4.0.2.10
Increased manualsync connection and command timeout to 9999. (Mantis #14478)
Refixed Stock Delivery syncing.
v4.0.2.9
Added RecomputePermission setting where the user must enter password to use the Recompute and Reset Inventory buttons when the setting is set to 1. (Mantis #13584)
v4.0.2.8
Fix on duplicate rows with date conditions.
v4.0.2.4
Adjusted SyncRate to 20 to reduce timeout instances during syncing.
v4.0.2.3
Skipped syncing salesdetaildiscounts and salesheaddiscounts for database version less than 3.0
v4.0.2.0
Fixed stock delivery syncing to insert detail first before head.
v4.0.1.4
Fixed collectionhead manual sync special case that didn't consider POSD re-arranged codes.
v4.0.1.3
Added manual syncing to include tables with POSD.
v4.0.1.1
Fixed startup issues:
Moved initialization of Sync Controls to Start methods that will run after checkers.
Assignment of LocalDatabaseVersion is done right after mysql checks.
Mode Superadmin pop up to Form Visible Changed instead of on Form Load.
v4.0.1.0
Changed Discount Type syncing on terminal to MainToSubAndSubToMain.
Added condition to TerminalSyncControl for db version less than 3.
v4.0.0.5
Fixed cancel button on exitconfirmationform.
v4.0.0.4
Autosync will only display branches with show value = 1. (Mantis #11071)
v4.0.0.3
POS Terminal to sync only branch price of current branch.
v4.0.0.2
Fix syncing problem on tables with 'tobranchid', 'forbranchid', and 'forbranch' columns. (Mantis #10983)
Create dump folder if not yet existing during database backup process. (Mantis # 10983)
v4.0.0.1
Updated solution version from VS 2008 to VS 2015.
Added sync_limit in setting,txt
v3.8.5.0
Added memberpointtrans to list of tables to sync.
v3.8.4.0
Deletion and insertion of entries are now split up into batches and are run in an sql transaction.
v3.8.3.2
Added Process ID on overloaded LOGS_PRINT.
For debugging and modifying gitignore:
Added Process Id to Logs.
Ignored bin and obj folder
v3.8.3.1
Added logs for stockdeliverydetail.
v3.8.2.2A
Solution: When the first instance of Autosync attempted to restart itself, it saves a restart mode flag into the setting.txt telling the second instance, whenever that unusual circumstance occur again, to make sure that the first instance is properly terminated before proceeding. After a 10-second timeout and if the first instance is still alive, the second instance should forcefully kill the first instance until the existence of the first instance has been fully eradicated, then the second instance resets the restart mode flag to 0 before continuing.
v3.8.2.0
Fix issue in zipping file after creating backup sql file.
v3.8.1.0
Bug:
The Autosync crashes when another instance is launched while the same
instance is already running, if the form of the same instance running hast not yet been loaded.
Solution:
It seems that SignalInstance() causes the autosync to crash in the described scenario. The line was removed and replaced by simply terminating the application. SignalInstance() brings the window to foreground and somehow causes the autosync to crash.
v3.7.3
Fixed issue when syncing where the productbranchinventory is missing. (Mantis #2356)
v3.7.2
Allow to backup database without locking tables. (Mantis #2355)
v3.7
Fixed some issues of restarting Autosync on multiple instances. (Mantis #2290)
v3.6.3
Allow to run simultaneous Autosync as long as different database and branchid.
v3.6.2
Logs and backups include the database name and branchname. (Mantis #2267)
v3.6.1
Allow collectionhead to sync MtoB (Mantis #2257)
v3.6
Add fields in settings file: backupdir and backupcnt (Mantis #2211)
Copy the backup file to backupdir path (if correct path) after saving backup in documents folder (Mantis #2211)
Maintain the latest backup files based on backupcnt (Mantis #2211)
Added logs for create and delete backupdb (Mantis #2211)
v3.5.11
User will only sync if the 'user', 'userpermission', 'userbranch' tables exist and have data. (Mantis #2163)
v3.5.10
If showlogs=1, the log will show the following: (Mantis #2113)
when Autosync closes
all unsucessful syncing
log of every 30 mins if the app is still open
when backing up database
v3.5.9
New Settings: showlogs=true to show logs in Autosync that have errors (Mantis #2102)
Sync User: Doesn't sync user if userbranch table does not exist. (Mantis #2102)
v3.5.7
sync salesorderhead
sync user with userbranch
sync product branchprice only to branches if productsyncmode=1