Release Notes
New in version 9.0.4 (released 7/7/2023)
Support MySQL JSON column type
Bug fix for SQL server Simple Query mode with query on non-base table
New in version 9.0.3 (released 1/27/2023)
Fix for Sync Engine error: deadlock detected while waiting for resource
Skip notification for SyncException.PVS_SYNC_SESSION_TIMEOUT
New in version 9.0.2 (released 5/12/2022)
Fixed pervasync triggers to improve SQL update response time
Handle Lob remmoval in the middle of a sync session
Added config param "pervasync.engine.lock.table"
Fix for "maximum open cursors exceeded" with large number of users
New in version 9.0.1 (released 2/12/2021)
Support running packaged Tomcat server as a Windows service
File sync optimizations
Bug fixes
New in version 9.0.0 (released 2/21/2020)
Packaged Tomcat with Pervasync server. No need to install Tomcat by users themselves
Bug fix for Admin console clients page refresh issue
Bug fix for Admin console schema page with Oracle databases
New in version 8.0.4 (released 9/8/2019)
Fix for MySQL 8 connection error: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
Fix to support Java 12
Ignore admin notifications for failed syncs with no proper sync request
Bug fix for occasional lost delete operations on server side causing client side records not being deleted.
Added receiveVersion() method in ReceivePlugin so that users can do custom conflict detection and resolution using ReceivePlugin
New in version 8.0.3 (released 2/21/2019)
Added sync client config parameter: pervasync.client.hide.schedule.tab
Enlarged the Sync SQL UI text area
Retaining Sync Clients page sorting state when navigating away and back
Added bytes sent and bytes received in the sync history page
Added usesCleartextTraffic="true" to Android manifest file for supporting plain HTTP in API 28
Fixed Android DB and file browser
Added "SET NOCOUNT ON" to SQL Server triggers
Optimization: skip downloading identical files
Delete existing file before download
Fix last modified time for large files
Software update and restart fix for pvc.sh
New in version 8.0.2 (released 10/25/2018)
Support Java version 9 and newer
Bug Fix: java.io.FileNotFoundException when destination file is read only
Bug Fix: Duplicated download record in file sync causing data checkin being skipped
Added sync client config parameter: pervasync.client.hide.schedule.tab
Enlarged the Sync SQL UI text area
Retaining Sync Clients page sorting state when navigating away and back
Added bytes sent and bytes received in the sync history page
Added usesCleartextTraffic="true" to Android manifest file for supporting plain HTTP in API 28
Fixed Android DB and file browser
New in version 8.0.1 (released 9/10/2018)
New Feature: Added configuration parameter "pervasync.server.return.client.own.check.in.on.refresh" on server and "pervasync.client.return.client.own.check.in.on.refresh" on client. The parameter controls whether to return data or files that were checked in by this client itself. Set to "TRUE" when client is restored form a backup so that server would return all new data to the client
Bug Fix: Java API file.isDirectory() would return false if file not exists. Can't assume it's a file in this case
Bug Fix: Failure in processing of one sync table caused processing of some other tables being skipped
New in version 8.0.0 (released 3/22/2018)
New Feature: Support Realm sync for React Native apps
Set mysql transaction isolation level from default "REPEATABLE READ" to "READ COMMITTED". The former could cause dropping client side changes due to in-consistency.
Added configuration option: pervasync.client.allow.altering.tables
New in version 7.0.3 (released 11/12/2017)
New Enhancement: Two-phase processing of sync files in Sync engine to decrease locking time.
New Enhancement: Sort sync schemas and folders by name during refresh.
New Enhancement: Folder processor would skip sub folders that don't match folder prefixes
Bug Fix: Android Sqlite decimal truncation (to 7 digits) issue. Use getDouble() instead of getString() when retrieving from DB.
New Enhancement: Prevent multiple sync agent sessions from happening at the same time.
New Enhancement: Android “reset” operation will be followed with a “setup” unless sync conf parameter "pervasync.client.do.setup.after.reset" is set to false.
New in version 7.0.2 (released 4/20/2017)
Optimized DML order to better support referential constraints. New order: from parent to child, each table U followed by I; from child to parent, each table D.
Fixed slow query to improve sync engine performance with large amount of sync files.
Added MySQL config parameter: pervasync.foreign.key.checks.disabled. When set to true, foreign key checks are disabled during sync.
New in version 7.0.1 (released 5/30/2016)
New Enhancement: Email notification now supports SSL and authentication
New Enhancement: Added schemas and folder to SyncClient.synchronize()
New Enhancement: Support escaped (quoted) keywords for column names
Bug Fix: Android shared connection bug. java.lang.IllegalStateException: attempt to re-open an already-closed object
Bug Fix: Place holder lob files were marked deleted
Bug Fix: Row values were not logged (for debugging) with the CheckIn
exception in certain cases.
Bug Fix: "Property file entries must start with # or contain a = sign" error.
New in version 7.0.0 (released 7/12/2015)
New Feature: Support Oracle Mobile Application Framework (Oracle MAF)
New Feature: Enforce one table can only belong to one sync schema
Bug fix: NullPointerException when accessing Pervasync Web Admin Console in Internet Explorer 11 (IE 11).
Bug fix: NullPointerException when running Pervasync in Tomcat 8.
Upgraded to Apache Trinidad 2.1.1.
Bug fix: Empty files causing exception: "File exists on server but has not been processed by sync engine"
New in version 6.0.1 (released 9/6/2014)
New Feature: Automatic client software upgrade
New Feature: Ignore conflicts for Checkin-only publications
New Feature: More robust resuming of interrupted sync sessions
New Feature: Suppress email notifications for non-critical sync failures like authentication errors.
New Feature: Performance improvements in folder processor for checkin-only sync folders and folders that are published multiple times
Bug fix: Sync server deadlocks when multiple clients sync at the same time.
Bug fix: Sync sessions might be wrongly cleaned up when multiple clients sync at the same time.
Bug fix: Sync fails if new folders are created on client side
Bug fix: Sync fails if COMPLEX mode sub-setting query returns duplicate values
Bug fix: File sync insert conflict caused by files created by interrupted sync
Bug fix: Timed out sessions might overwrite HTTP headers of a new session which would cause the latter to fail
Bug fix: Couldn’t switch to a new sync user on client side
Bug fix: MySQL sync failures for large BLOBs: Packet for query is too large.
New in version 6.0.0 (released 1/18/2014)
New feature: Supporting PosrgreSQL databases. Users can now use Pervasync to synchronize multiple local PosrgreSQL databases with a central PosrgreSQL database. Synchronization could be two-way, meaning writes can be done on both local and central databases. Data being synced can be defined by a sub-setting query. Change capture, conflict detection and resolution are built in to the core of the sync system.
New Feature: Supporting synchronization of Android SQLite databases with a central PosrgreSQL database.
New in version 5.0.4 (released 10/27/2013)
New feature: Sync Microsoft SQL Server with Oracle and MySQL.
New feature: Support of Microsoft SQL Server identity, geometry, geography columns.
New feature: Warn user if a sync table update on the Pervasync Web Admin Console would cause the table be dropped and re-created on client side.
Bug Fix: client side "read timeout" errors if server takes more than 15 seconds to respond.
Bug Fix: Sync engine run conflicts with tables being published at the same time.
Bug Fix: Message wrapping for the Java-based Setup and Sync tool.
New in version 5.0.3 (released 5/20/2013)
Pervasync In The Cloud: Pervasync can now be installed on to Amazon's AWS EC2 instances working with AWS RDS databases.
New in version 5.0.2 (released 4/24/2013)
Bug fix: Sync failed with NumberFormatException when running Pervasync server in Weblogic.
Bug fix: Sync failed to resume with "java.lang.Exception: totRead != lobTotalLength" if the LOB length has changed after the interruption.
Bug fix: Folder is still refreshed when "Allow Refresh" is un-checked.
New in version 5.0.1 (released 2/20/2013)
New feature: Sync server and client for Microsoft SQL Server databases on Windows and Linux.
New in version 5.0.0 (released 12/01/2012)
New feature: Sync client for SQLite databases on Windows and Linux
New feature: Supporting Big Data -- fast and interruptable syncing of large amount of data
New feature: Supporting Oracle NVARCHAR2
Bug fix: Initial sync should not send delete operations to client.
Bug fix: Sync history page was very slow to load when there were large number of entries.
New in version 4.1.1 (released 6/4/2012)
New feaure: Adding Sync Tables from Client Side
New feaure: Customizing the Check-In Process
New in version 4.1.0 (released 5/18/2012)
New feature: Android sync client cloning support.
New feature: Batch mode sync table publishing -- adding multiple sync tables with a single click.
Bug fix: MySQL "BLOB/TEXT column can't have a default value" error.
Bug fix: Failed to publish a table with a column having a same name as the table itself.
Bug fix: In some situations the sync client failed to detect wifi/3G network for sync-based-on-network-characterics to work.
Bug fix: Pervasync failed to launch on Android 4.0. Actually this was a workaround of an Android bug in TabHost constructor.
Certification: Drupal schema tables certified with Pervasync.
New in version 4.0.0 (released 8/9/2011)
New feature: Android sync client
New feature: Blackberry sync client
New feature: Resume of a sync session after network interruptions
New in version 3.1.0 (released 3/30/2011)
Bug fix: tables with columns having long ENUM definition failed to publish.
New feature: added "auto_sync" and "sys_tray" options to pvc.bat/pvc.sh.
New feature: syncing folder deletions
New in version 3.0.3 (released 2/10/2011)
Bug fix: Files failed to sync to devices when there are more than one sync folders published on server.
Bug fix: Sync SQL wasn't able to create PLSQL packages, triggers.
New in version 3.0.2 (released 1/10/2011)
New feature: support blocking client inserts, deletes and/or updates via the following configuration parameters:
pervasync.policy.check.in.inserts=ALLOW/DISCARD/REPORT_ERROR
pervasync.policy.check.in.deletes=ALLOW/DISCARD/REPORT_ERROR
pervasync.policy.check.in.updates=ALLOW/DISCARD/REPORT_ERROR
Certified to work with MySQL 5.5.
New in version 3.0.1 (released 11/8/2010)
New feature: support moving Pervasync client home to a different drive
and/or folder after installation.
New in version 3.0.0 (released 10/2/2010)
New feature: support tables with no primary key
New feature: sync client groups
New feature: sync based on network characteristics
New feature: sync data and files in a single transaction
New feature: support user interfaces in Chinese
New in version 2.1.4 (released 6/11/2010)
Added sun-web.xml to support deployment of Pervasync in Glassfish.
Added client config param pervasync.client.allow.dropping.tables. If set to false, application db schemas will not be dropped upon Pervasync un-installation. Also existing app tables won't be dropped and re-created during initial sync.
SyncSQL will not be split but will be executed as a whole.
New in version 2.1.3 (released 3/15/2010)
Sync table name length limit increased to 128.
User's Guide update: Added step-by-step instructions for installing Java and Tomcat on Linux and Windows.
New in version 2.1.2 (released 2/21/2010)
Added web admin UI for applying license key.
Sync SQL execution will use client DB as default schema instead of sync admin schema. This is for MySQL only. For OraDB, Sync SQLs are still executed using admin schema connection and table names have to be qualitified by schema names.
New in version 2.1.1 (released 1/27/2010)
MySQL client will not create DB user for each synced database (AKA schema).
Preserve null and empty values for LOB columns, i.e. empty strings/lobs won't become nulls.
Persists client sync schedules
Bug fix: pvs.sh was in DOS format; changed to UNIX.
New in version 2.1.0 (released 1/5/2010)
New feature: Support file-based synchronization. When a local database is located in a place that has no network connection at all, user can export the client sync requests to files. The client request files can be taken to a place that has network access to the sync server and be uploaded to the sync server (via the server Java native app or the web app). Sync server would process the requests and return response files, which can then be taken back to the sync client and be imported to the local database.
New feature: Pervasync client can now be run in system tray. You are given this option when you click to close the main window.
New in version 2.0.0 (released 11/12/2009)
New feature: Support synchronization of Google Gears SQLite DB with a central Mysql or Oracle database.
New feature: Server setup GUI and client setup/sync GUI.
New feature: Sync engine auto retry after encountering a runtime error.
New feature: Email notifications of sync engine and sync session failures.
New feature: Support Object types like MDSYS.SDO_GEOMETRY in Oracle to Oracle sync.
New feature: query LOB columns separately than the rest of the columns so that it requires less memory for synchronization of large LOB tables.
Bug fix: Changes made on local DB may fail to sync to server if they happen to be committed in the middle of an ongoing sync session.
bug fix: Empty files would cause file sync to fail.
New in version 1.4.4 (released 08/15/2009)
Bug fix: Dropping the physical DB table of a deleted sync table caused sync to fail.
Bug fix: Check in was not postponed if there were sync definition changes. This could cause sync failures and even data corruption.
Bug fix: Publish/unpublish using exported XML file would fail if file size exceeds 500k.
New in version 1.4.3 (released 07/25/2009)
Bug fix: COMPLEX sync tables stop working for all clients when one of the clients is unsubscribed from the schema. As a Symptom of this bug, you may see the following warning messages in server log files: "WARN - Can't find SyncTable in tableSub.parentLogCnMap, ..."
Bug fix: web admin console error when trying to update a sync table a second time.
New in version 1.4.2 (released 07/15/2009)
Bug fix: Error in publishing a COMPLEX sync table with more than one parameters in subsetting query. Error message for OraDb was "Missing IN or OUT parameter at index:: 3". Error message for Mysql was " No value specified for parameter 3".
New in version 1.4.1 (released 07/11/2009)
Mysql AUTO_INCREMENT flag is now synced to client
Bug fix: sync error in checking in MySql LONGTEXT column
Bug fix: MySql Double Precision column became Integer when synced to client.
New in version 1.4.0 (released 06/28/2009)
Better support of MySql LONGBLOB and LONGTEXT. Now it is more scalable and requires less memory
Fixed bug: NullPointer exception when conflict resolution mode is set to be "IGNORE"
New in version 1.3.1 (released 06/23/2009)
Support using Mysql AUTO_INCREMENT columns to generate unique key values in multiple databases.
Support multiple SQL statements (separated by semicolons) in one sync sql.
New in version 1.3.0 (released 06/15/2009)
Mysql TinyInt(1) will not be changed to BIT.
Support sync of default values in column definition
Support Oracle RAW column type and Mysql VARBINARY column type
Support subscription parameters in client schema name so that clients could have their own schema names and can co-exist in one DB
Support subscription parameters in sync sqls
Fixed Trinidad ExceptionInInitializerError in web admin console.
New in version 1.2.2 (released 05/27/2009)
Performance improvements in initial synchronizations. Initial couple of sync sessions would create tables in local DB and populate them with data from central DB. The optimizations would speed up this process.
New in version 1.2.1 (released 05/21/2009)
Supports gzip compression of sync traffic
Bug fix: Sync engine error after deleting a sync table
Bug fix: Sync error when Mysql sync table has a column of data type ENUM
New in version 1.2.0 (released 04/12/2009)
Supports JSON transport as well as Object transport. Java based client should still use Object transport for best performance. JSON transport enables the server to communicate with non-Java clients, e.g. a future Javascript client for Google Gears' Sqlite DB.
Includes important bug fixes. More robust.
New in version 1.1.0 (released 02/24/2009)
Supports sync sequences. Sync sequence enables you to draw globally unique
numbers to be used for primary key values from a local sequence.
New in version 1.0.1 (released 02/01/2009)
Supports Mysql UNSIGNED data types
Supports Mysql DB on a different host than that of sync server/client
Fixed authentication bug: If user/device is updated, password is saved un-encrypted. This will cause client auth failure -- PVS-2037: WRONG_PASSWORD in Pervasync user authentication.