//------------------------------------------------------ // // // (c) 2002-2021 by Bright Software Pty. Ltd., Australia // ALL RIGHTS RESERVED // // // BrightServer(TM) SOFTWARE RELEASE NOTES // // //------------------------------------------------------ //------------------------------------------------------ DATE : 12/Apr/2021 VERSION : 9.5.0 RELEASED BY : Bright Software RELEASED FOR : Production REPORT PROBLEMS TO : support@brightxpress.com //------------------------------------------------------ // ITEMS INCLUDED IN THIS RELEASE //------------------------------------------------------ |-- BrightServer |-- BrightServer_X.X.X.zip - install files | |-\doc\ReleaseNotes.txt - This file |-\doc\EULA.txt - License file in plain text |-\doc\EULA.htm - License file in HTML | |-\conf\config.xml - Sample job config file |-\conf\log4j.xml - Logger config file | |-\lib\*.* - Binary files | |-\service\ReadMe.txt - Instructions on how to set up a Windows service |-\service\wrapper.conf - Windows service configuration file |-\service\InstallBrightServerService.bat - Installs as a Windows service |-\service\UninstallBrightServerService.bat - Uninstalls the Windows service |-\service\*.* - Service wrapper binary files |-\service\lib\*.* - Service wrapper binary files | |-\utils\*.* - Internal database utilities //------------------------------------------------------ // BUGS AND ENHANCEMENTS //------------------------------------------------------ -------------------------------------------------------- This Version -------------------------------------------------------- BS-10150 New ! Disable the default JavaScript caching behaviour. BS-10151 New ! Add a new command line option to turn on script caching. BS-10153 New ! Migrate to Open JDK and apply new Java security patches. BS-10154 New ! Scripting - Support for creating and reading Excel files via CSV files. BS-10156 New ! Job Processor API - New scripting MemoryPoint object for using in-memory database. BS-10158 New ! Scripting : Add copyFile method scripting Util object. BS-10159 New ! ScriptSession : A new method to return System database connection. BS-10160 New ! ScriptSession : New methods to capture log entries into a named file. BS-10161 New ! Scripting : New scripting Util object helper functions to read from and write to files. BS-10163 Fix - Web Management Console : Disable the "Enable Branding" checkbox when the user has no privilege to change the branding settings. BS-10164 New ! Web Management Console : Show a message indicating that the user does not have the necessary privilege to change the configuration in question. BS-10166 Fix - Cannot send email via secure SSL port when using Email object. BS-10170 New ! Job Processor API - New scripting BrightPoint object for using internal brightdb Derby databases. -------------------------------------------------------- Version 9.4.0 -------------------------------------------------------- BS-458 New ! Configuration : A new server configuration option to disable data sync to/from client devices. BS-10138 New ! User Account Setup : Ability to stop users sending and/or receiving data to and from server through the new privileges introduced. BS-10139 Fix - The user password stored as MD5 hash may become invalid after a user account update. BS-10140 New ! Support for downloading configuration properties files deployed with a BEP project. BS-10145 New ! Upgraded brightdb to apache derby 10.14.2.0. BS-10146 New ! Upgraded memory database engine to hsqldb 2.4.1. BS-10147 New ! Upgraded scheduler to quartz 2.2.3. BS-10149 New ! Support for auto application release after a project deployment. -------------------------------------------------------- Version 9.3.0 -------------------------------------------------------- BS-148 New ! User Accounts : Passwords are now stored as MD5 hash digests for increased security. BS-287 New ! Client Sync State : Support for resetting client sync states for a given user device. BS-295 New ! Scripting : Caching compiled scripts for faster server script execution. BS-306 New ! Support for access to the internal database and memory databases. BS-307 New ! New Script DatabaseHelper Object : Methods to return database connection to internal db and memory db. BS-10126 New ! Job Processor - New scripting object framework for creating built-in integration jobs and run them. BS-10127 New ! Server Info : Now returns the server current working directory. BS-10128 Fix - Memory and User database accessors - Need to be able to specify the database name explicitly through data set definitions. BS-10129 Fix - Start-up and shutdown scripts are not running on server configuration activation and deactivation. BS-10130 New ! User Activity Logging - Support for logging the server configuration name and the release number used by the user account. BS-10132 New ! BrightWeb - Array : Provide a method to mass add CSV strings into Array object. BS-10135 New ! BrightWeb - File Object : New GetFileSize method. BS-10134 New ! BrightWeb - New FileHandler Object : Open, Close, Read, ReadLine, Write, WriteLine methods. BS-10136 New ! Upgraded internal database derby to 10.14.1.0 release. BS-10137 New ! Dropbox SDK 3.0.6 support. -------------------------------------------------------- Version 9.2.0 -------------------------------------------------------- BS-10114 New ! Licensing - Support for a new web services API to return installed licenses in the system. BS-10115 New ! BrightWeb - New expression Dropbox object to access Dropbox files in web apps. BS-10117 New ! Table Definitions - New 'Text Format' and 'Binary Encoding' fields in table definitions. BS-10081 New ! BrightWeb - Forms : A new option to auto-resize the content based on the browser window size. BS-10116 New ! BrightWeb - Database Object: CSV file import and export functionality in BrightWeb apps. BS-10119 New ! BrightWeb - Database Object - New SychroniseToDropbox method to send a table content to a Dropbox file. BS-10124 New ! Web Management Console : New screen to display installed licenses. -------------------------------------------------------- Version 9.1.1 -------------------------------------------------------- BS-10085 Fix - Server token changing sporadically. BS-10098 New ! GCMService Script Object : New SendNotificationToUser and SendNotificationToDevice methods. BS-10099 Fix - Reports : Grouped report will not generate. BS-10100 New ! GCMService Script Object : Switch from GCM to Google Firebase FCM. BS-10101 New ! New scripting Dropbox objects to access Dropbox files. BS-10103 New ! File Accessor : Support for reading and writing files directly from and to a Dropbox account. BS-10104 Fix - Configuration Manager : Unable to load large configurations with multiple reports with large or multiple images. BS-10108 Fix - Configuration Manager : Unable to deactivate configurations marked as 'Active, Failed to load'. -------------------------------------------------------- Version 9.1.0 -------------------------------------------------------- BS-348 New ! User Activity Tracking - Multi record for each session to keep track of the user activity. BS-10011 New ! Support for cloud licensing. BS-10028 Fix - Sync Reader : First sync will not write records in newly created client image tables under certain conditions when using MS SQL Server. BS-10062 Fix - Scripting GCMService Object : getGCMTokenForUser() method now throws an exception if user is not active. BS-10071 New ! Scripting Report Object : Ability to use a data source other than the default server data source via setDataSource() method. BS-10079 New ! Windows Service : Changed the default wrapper.conf to include the "lib" folder in the Java path so that executables can be found, such SQL Server authentication DLLs. BS-10083 Fix - Scripting ScriptSession Object : getConfigFileProperty() method exception when using Java 8. BS-10090 Fix - Sync to Client : Error when processing large blob columns containing null as file names. BS-10092 New ! Script SystemConfiguration Object : A new getUserList method to return the names of existing user accounts. BS-10093 New ! Script Email Object : New SetUserCredentials, SetEnableSSL, SetProtocol, SetProperty methods. BS-10095 New ! User Privileges : Introduced new privileges for creating roles to edit only the defined subset of the runtime configuration. -------------------------------------------------------- Version 9.0.1 -------------------------------------------------------- BS-10072 New ! Support for Xpress edition licenses. BS-10073 New ! Xpress edition now allows more than 10 users to be configured. BS-10074 Fix - External file blob sync : Replacing file with the same name will not resync file. BS-10075 Fix - External file blob sync : Syncing deleted records seems to still send file. BS-10076 Fix - External file blob sync : Chunk sync will fail for Unicode file names with duplicate key error when SQL Server is used for the "system" database. BS-10077 New ! Updated SQL Server JDBC drivers to ver 4.2 and now bundling auth dlls for Windows domain authentication. BS-10078 Fix - Server Configurations : Allows to set Default on inactive (BEP) configuration. -------------------------------------------------------- Version 9.0.0 -------------------------------------------------------- BS-401 New ! Support for culling of previous deployed project releases and server configurations. BS-10034 New ! Support for synchronizing file based large blobs to and from server. BS-10037 Fix - Logging to C:\log folder as well when running as a service. BS-10036 New ! Now tracking last login date-time for device and web licenses. BS-10038 Fix - Client Log Requests : Server will not start if there is a client log request for a non-existing user. BS-10039 New ! Java 8 support. BS-10041 New ! Server side PDF generation via new Script Report object. BS-10042 New ! Support for Google Cloud Messaging Service for pushing messages to clients on iOS and Android. BS-10043 New ! BrightWeb - All controls : New IsVisible and IsEnabled methods. BS-10044 New ! BrightWeb - Edit control - New SetPrecision method for setting the precision programmatically. BS-10046 New ! Support for client API level enforcement through licensing. BS-10050 New ! Scripting : New objects to manage user accounts in user scripts. BS-10055 Fix - Scripting : ScriptSession.getUserName() is returning empty string when querying server or synchronizing data from server. BS-10065 Fix - BrightWeb - File Object : FindNext() seems to return an inverted value. BS-10068 New ! New command line option (--datadir) to specify the data folder. -------------------------------------------------------- Version 8.0.7 -------------------------------------------------------- BS-329 Fix - Windows Service wrapper warning on 64bit systems. BW-10021 Fix - BrightWeb - Forms : Base aspect is not used in aspect calculations. BW-10023 Fix - BrightWeb - Listview : SetSelection() will not work on blocked listview if current page (block) > 1. BW-10024 Fix - BrightWeb - Listview : IsRowSelected is always returning false. BS-10031 Fix - Windows installer should start the Windows Service automatically. BS-10032 Fix - BrightWeb - System toolbars and tabs are rendered incorrectly on MS Internet Explorer 9. -------------------------------------------------------- Version 8.0.6 -------------------------------------------------------- BW-00029 New ! BrightWeb - System toolbars now contain icons for each command. BW-00267 New ! BrightWeb - System toolbars are now anchored to bottom of the form as the browser window is resized. BW-10007 Fix - BrightWeb - Image : Firefox clients are unable to request updated image control contents. BW-10009 Fix - BrightWeb - Listview : Row enable/colour/image rules do not re-evaluate on block change. BW-10011 Fix - BrightWeb - Listview : Data grid buttons is not supported. BS-10021 Fix - Web Management Console : User configuration has a different validation rule for user names than BrightBuilder. BS-10024 Fix - Multi BEP Deployment : File caching does not seem to operate per deployment. BS-10025 Fix - User Activity : Username will not update if username is changed under 'Users' panel in BrightBuilder. BS-10026 Fix - Sync Reader : May not create client images in joined queries if all do not exist when using MS SQL Server. -------------------------------------------------------- Version 8.0.5 -------------------------------------------------------- BS-10016 New ! New command line options to override key store file name and password for secure connections. BS-10017 New ! Support for Xpress Edition for limited and restricted functionality. BW-10006 New ! BrightWeb - Support for generating and downloading files in browser. -------------------------------------------------------- Version 8.0.4 -------------------------------------------------------- BW-10000 Fix - BrightWeb - Listview Control : ShowColumn method not supported. BS-10012 Fix - In multi table sync from server to client, BrightServer not detecting sync changes when comms errors occur on client side. BS-10013 Fix - Device sessions belonging to the same user is not removed immediately. Similar to web user sessions, device sessions are now removed when the same user attempts to reconnect server. BS-10015 Fix - Null pointer exception when synchronising with server when the connecting user is not assigned a server configuration. Should log a meaningful message instead. -------------------------------------------------------- Version 8.0.3 -------------------------------------------------------- BS-10000 Fix - Server Configuration Deployment : An existing BEP deployment should be able to be replaced. BS-10002 Fix - Jobs : Jobs are present and active after CRON error. BS-10003 Fix - Jobs : Can enable a job with bad CRON schedule. BS-10004 Fix - Deployed Configurations : Does not indicate if an active configuration has been loaded successfully or not. BS-10007 Fix - Scripting : Missing addTo and addBCC methods from Email helper object interface. -------------------------------------------------------- Version 8.0.2 -------------------------------------------------------- PR3769 Fix - Scripting : Missing setUserCredentials and setFromName methods from Email helper object interface. PR5677 Fix - BrightWeb - Button Control : Background colour does not register (an introduced bug in 7.2.1). PR6806 Fix ! An invalid Cron expression of a script schedule can prevent server from starting until it is removed from the runtime database. -------------------------------------------------------- Version 8.0.1 -------------------------------------------------------- PR6746 Fix - BrightWeb - DateTime Object : UTC offset is always positive. -------------------------------------------------------- Version 8.0.0 -------------------------------------------------------- PR2877 New ! Support for transmitting raw datetime (local time non-UTC) values between server and clients via a server configuration switch. PR3491 New ! Support for multiple configurations - Ability to activate multiple BEPs simultaneously. PR3902 New ! Support for user defined JavaScript based data transformations logic. PR4043 New ! BrightWeb - Query Objects : Methods in data source tree to navigate through result set similar to the system's Query object. PR4059 New ! New job system subsystem to monitor, create, enable, disable, run jobs. PR4523 New ! Support for a BEP repository similar to BSP projects. PR4670 New ! Support for web services to query deployed BEP projects. PR5228 Fix - Null pointer exception thrown when BrightForms sends a null device id to server. PR5912 New ! Sync Reader : Ability to sync a subset of a server table using mapping. PR5915 New ! Support for user defined scripting for implementing or accessing alternative authentication mechanisms, such as LDAP etc. PR5916 New ! Support for user defined scripting to be executed after server start-up, before shutdown, after user login and logout. PR5944 New ! BrightWeb - Aspects : Support for different control colours on each aspect. PR6074 New ! Licensed Devices/Licensed Web Users : A new datetime column to show when the license is issued. PR6079 Fix - BrightWeb - Form : Null pointer exception when max number of controls on a form is reached. PR6136 New ! Web Management Console : Support for Version 8 features. PR6183 New ! Scripting : New ScriptSession object getConfigProperty, getUniversalVariable and persistUniversalVariable methods for handling multi configuration scenario. PR6279 New ! Using bs-commons 1.0.3, bsclient 1.0.12, axis 1.4, derby 10.10.1.1, hsqldb 2.3.1, quartz 2.2.1, mysql-connector-java-5.1.29-bin.jar, IBM db2jcc4.jar 10.5.fp2, Oracle ojdbc7.jar 12.1.0.1. PR6319 New ! Increased default scheduler thread pool count from 10 to 100 so that larger number of jobs can be executed concurrently. PR6445 Fix - User Defined Sync Points : Now correctly utilizes mappings defined when reading and writing data. PR6523 New ! BrightWeb - String Object : New IsXXX methods. PR6535 New ! BrightWeb - Expression Engine : New Map object for storing a container for name-value pairs. PR6643 Fix - Web Management Console : User configuration does not save user defined roles correctly. -------------------------------------------------------- Version 7.2.2 -------------------------------------------------------- PR6200 Fix - Sync Writer : Exception when processing pending transactions when MS SQL Server 2000 database is in use. -------------------------------------------------------- Version 7.2.1 -------------------------------------------------------- PR5506 Fix - BrightWeb - Label : SetBackgroundColour/TextColour() fails if 'Colour' property isn't true. PR5524 Fix - BrightWeb - Form.ShowTab method : If tab specified is out of bounds, shows blank screen. PR5525 Fix - BrightWeb - Form : Child form properties are not accessible in pre open and post close expressions. PR5535 Fix - BrightWeb - Listview : Data grid is still editable when disabled. PR5547 Fix - BrightWeb - Move() method on a control no longer throws an exception. PR5548 Fix - BrightWeb - Controls are not rendered by their tab order, which could break tab order on a form in some instances. PR5549 Fix - BrightWeb - Images should always be rendered so they appear behind other controls. PR5557 Fix - BrightWeb - Checkbox : Changes in value is not saved if it is disabled in properties and re-enabled programmatically. PR5384 Fix - BrightWeb - File Upload produces internal server error on large files. PR5565 Fix - BrightWeb - Demo Mode restriction shows HTTP 500 error page when using Internet Explorer. PR5566 Fix - BrightWeb - Listview : Does not highlight on selection change in Internet Explorer. PR5574 Fix - BrightWeb - Listview : Save() method call results in out an "array index out of range" error when its parameter changed and refreshed resulting in a different content. PR5575 Fix - BrightWeb - Listview : Toggling checkbox values will refresh the listview. PR5576 Fix - BrightWeb - Microsoft SQL2000 JDBC driver incompatibility when updating null column values. PR5578 Fix - Command line --help option is not displaying up-to-date help text. PR5609 Fix - BrightWeb - Form : Form.New() causes null pointer exception. PR5612 Fix - BrightWeb - Application Settings : May create multiple records for a single application setting. PR5610 Fix - BrightWeb - Scribble : Menus on a form offsets scribble capture. -------------------------------------------------------- Version 7.2.0 -------------------------------------------------------- PR4263 New ! BrightWeb - Form Aspects : Now provides a magnification constant for displaying scaled aspects as required by a remote browser. PR4265 Fix - BrightWeb - Control tab order is not obeyed. PR4275 Fix - BrightWeb - Listview : Checkbox column property is not supported. PR5218 Fix - BrightWeb - Listview : SetSql() and SetSqlParam() methods return NULL, instead of an integer result code. PR4854 New ! DateTime Object : New methods to convert datetime objects to UTC time, and get the UTC offset in seconds. PR5184 New ! Web management console for configuring BrightServer instances remotely using a browser. PR5205 Fix - BrightWeb - Form Background : Stretch does not work correctly. PR5209 Fix - BrightWeb - Radio Button Control : Loading a value in a set of radios does nothing. PR5222 Fix - BrightWeb - System Object : GetBrightFormsVersion() causes null pointer exception when called. PR5309 Fix - BrightWeb - Form : Form.Close() method on the very first form does not work, and throws exception. PR5336 Fix - BrightWeb - Form : Control names can clash with generated CSS. PR5337 New ! BrightWeb - DateTime Picker : New updated look-and-feel. PR5338 New ! BrightWeb - Combo Box : New updated look-and-feel. PR5345 Fix - BrightWeb - Edit Control: IE does not obey number precision property. PR5339 New ! BrightWeb - Bundles a default "Bright Software Theme" for rendering controls with the same look-and-feel on all platforms. PR5357 Fix ! BrightWeb - Cursor Form : Does not seem to close when ' char is saved to column. PR5358 Fix - BrightWeb - Cursor : Navigation/browser reload appends position to title. PR5363 Fix - BrightWeb - Label : CHAR_NEWLINE registers as " " in labels. PR5364 New ! BrightWeb - Menus : Option to render menus on left vertically with user defined colours and fonts. PR5367 New ! BrightWeb - Menus : Horizontal top menus should obey colour and font BSP properties. PR5369 New ! BrightWeb - Button/Radio Button/Checkbox/Groupbox Controls : New method to set control caption. PR5370 Fix - BrightWeb - Radio Button Control : Default value set after Form open expression is run. PR5373 Fix - BrightWeb - Radio Button : Does not load value in a cursor form. PR5386 Fix - BrightWeb - Listview : Alternate row colour does not render unless there is also a colour coding rule for the listview. PR5408 Fix - BrightWeb - Edit Control: Precision zero should not allow decimal numbers. PR5415 New ! BrightWeb - Support for login screen branding. PR5419 Fix - Null pointer exception when reading a record of an unknown type from runtime database. PR5434 Fix - BrightWeb : Email object : Cannot to send email file attachments. PR5436 New ! BrightWeb - Email Object : New SetFromName method to specify personal name alias. PR5437 Fix - BrightWeb - Listview : Wrap in Cell applied to all listviews on form. PR5442 Fix - BrightWeb - Listview : Background colour should default to white and not that of the Form colour. PR5443 Fix - BrightWeb - Combo Box : Reset does not clear combo list. PR5444 Fix - BrightWeb - Listview : Web Action link should not be active when control is disabled. PR5450 Fix - Windows Service Mode - log4j.xml not read when run as service. PR5455 Fix - Windows Service Mode - Server log file entries contain duplicate event time fields. PR5461 Fix - BrightWeb - Image Control : Assigned binary images do not show. PR5462 Fix - BrightWeb - Form : Background colour does not extend to 100% of Form when window is smaller than Form. PR5465 New ! BrightWeb - All Form Controls : New method to position control on form. PR5469 Fix ! BrightWeb - Forms : Form data now supports Unicode characters in forms which have a file uploader. PR5487 New ! BrightWeb - Form Object : A new method to return current aspect name. PR5495 Fix - Job Processor : Double "processing job..." log entries are confusing. PR5498 Fix - Job Processor : Occasional unhandled java.util.ConcurrentModificationException exceptions when running multiple jobs concurrently. PR5503 New ! Using Derby 10.9.1.0, hsqldb 2.2.9, quartz 2.1.6, mysql-connector-java-5.1.22-bin, sqljdbc4.jar (Mar 2012), ojdbc6.jar 11.2.0.3. PR5514 New - BrightWeb - Email Object : Attachment names in received emails contain the full path name with underscore chars replacing special chars. PR5533 Fix - BrightWeb - Group Box Control: Dimensions are larger than defined in BSP. PR5534 Fix - BrightWeb - Scribble Control: saveJPEGFile() not implemented. PR5537 Fix - BrightWeb - Button Control: Image Text is not clickable to execute button action. -------------------------------------------------------- Version 7.1.0 -------------------------------------------------------- PR4984 New ! BrightWeb - Listview : Added GetColumnValue method. PR5120 New ! BrightWeb - Forms : New cursor form method to get current record position. PR5192 New ! BrightWeb - Array Object : Added InsertAt method. PR5203 New ! BrightWeb - Listview : Support for alternate row colouring without using colour rules. PR5247 New ! Support for Web Services infrastructure to service web services calls by user defined scripts implemented in JavaScript. PR5276 New ! Using quartz 2.1.5. -------------------------------------------------------- Version 7.0.0 -------------------------------------------------------- PR2057 New ! BrightWeb : Support browser clients. PR4950 New ! Support for Java 7. PR4952 New ! Run JVM in server mode. PR4954 New ! Using Derby 10.8.2.2, quartz 2.1.3 and hsqldb 2.2.8. PR5007 New ! Roles for user accounts. PR5016 New ! Enhanced HTTP connection thread pooling architecture. PR5107 New ! User Activity : Support for logging client engine version, project id and release number. PR5140 Fix - Sync Writer : Exception processing client data if client and server column names are different in query mapping AND client column value(s) sent are null. -------------------------------------------------------- Version 6.1.4 -------------------------------------------------------- PR4970 Fix - Data push to remote BrightForms client does not appear to timeout. -------------------------------------------------------- Version 6.1.3 -------------------------------------------------------- PR4511 Fix - Sync Reader : Error processing difference when reading "Real" columns from MS SQL Server tables. PR4714 Fix - Sync Reader : Error preparing table joins due to the bug introduced in 6.1.1. Records from a child table in a star topology may not correctly be sent to client. -------------------------------------------------------- Version 6.1.2 -------------------------------------------------------- PR4465 Fix Sync Writer : Now reports errors if it encounters invalid sync transaction flags when processing remote packets. -------------------------------------------------------- Version 6.1.1 -------------------------------------------------------- PR4303 Fix - Query Object : Error processing 'like' operator in server direct access mode. PR4305 Fix - Server Direct Access Mode : Table not appearing in FROM clause of query. -------------------------------------------------------- Version 6.1.0 -------------------------------------------------------- PR4110 Fix - Command line -t (--token) option should use standard output when displaying server hardware token. PR4122 Fix - Internal sync state tables containing "Image" columns running on SQL2005 are dropped on startup. PR4150 New ! Scripting - Push Object : New script object to push data to remote field clients. PR4156 New ! Scripting - ScriptSession Object : Added getUserRemoteHostAddress method to return the remote user's host address. PR4158 New ! Scripting - ScriptSession Object : Added getSystemVersion method to return the current system version. PR4163 New ! License Manager : Now checks for expired licenses at certain intervals, and unloads them. PR4172 New ! Scripting - ScriptSession Object : Added the getConfigFileProperty method to read a configuration file property value. PR4198 New ! Scripting - Email Object : New script object to generate and send emails from scripts. PR4221 Fix - Sync Writer : Error reading transaction history records from System database that is configured to be in a SQL Server database. PR4235 Fix - JDBCAccessor: When writing data, JDBC writer is using table column names instead of mapping field names, therefore unable to execute mappings correctly from source to destination (i.e. assuming data field names to be the table column names). -------------------------------------------------------- Version 6.0.0 -------------------------------------------------------- PR2049 Fix - Sync Reader : Not synchronising child tables when processing multiple sync rules headed by the same parent table in the same connection. PR2086 Fix - Sync Reader : Unnecessary protocol query resends from clients for single table syncs resulting in large data transmission. PR2082 Fix - Sync Reader : Exceptions when two or more devices synchronising simultaneously with a same user name. This may also result in incorrect data sets being sent clients. PR2887 New ! JavaScript based user defined sync points to source and consume data. PR3059 New ! Support for file distribution (i.e. distributing sound files, PDFs etc) via the app distribution mechanism. PR3232 Fix - Application Distribution : Updated the project ID generation algorithm to use UUIDs to prevent duplicate project ids. PR3274 Fix - Sync Writer : Faster data processing by using the record status (new or modified) of the changed data received from client. PR3307 New ! Sync Reader : During download informs remote client about the sync state in order to improve handling user device disaster recovery. PR3405 New ! Always On Mode : Support for "Server Direct Access" mode for clients to operate in always on "online" mode without the need for a local database. Queries and changes are executed directly on the server. PR3421 New ! System Info API : Now returns server token. PR3445 New ! Application Distribution : New database based application and file distribution implementation. PR3449 New ! Sync Reader : Support for advanced SQL queries for reading resultset by using user defined SQL SELECT statements. PR3457 Fix - Sync Writer : Now implements unique tx ids to handle the scenario where multiple devices sending data to server using the same user account. PR3524 Fix - Now handles source database table column changes from nullable to not-nullable or vice verse when upgrading internal data structures on start-up. PR3705 Fix - Null pointer exception is thrown when trying to log in and the server is in demo mode AND the logger is in DEBUG mode. PR3716 Fix - Sync Writer : Incorrect parsing of string fields in compound primary key values when deleting records. PR3717 Fix - Sync Reader : Gaps in the primary keys will cause errors when calculating data difference. PR3853 New ! Support for user defined script queries for field clients to send payload data to JavaScripts executed on server. PR3855 New ! New Online Query Service : Support for online queries for field clients to issue ad-hoc queries via standard, advanced SQL , stored procedures, and script queries to get resultset from server outside of the standard sync engine. PR3886 New ! Bundles IBM JDBC driver PR3938 New ! User defined JavaScript based jobs executed at a simple or Cron based schedule. -------------------------------------------------------- Version 5.1.4 -------------------------------------------------------- PR3620 Fix - Unable to handle multiple name-value pairs in the HTTP "Cookie" header. -------------------------------------------------------- Version 5.1.3 -------------------------------------------------------- PR3584 Fix - Linux : BSF and BSL file extensions incorrect PR3586 Fix - Linux : Incorrect run.sh file paths -------------------------------------------------------- Version 5.1.2 -------------------------------------------------------- PR2770 Fix - Exceptions when caching multiple files concurrently. PR3472 Fix - App Distribution - Direct Access Mode : Failure to send application updates to clients. PR3473 Fix - Install issue on Windows Vista due to demo mode. PR3531 Fix - Oracle "Number" comparison issue when using Integer columns in user tables to read "Number" columns from an Oracle database table. PR3532 Fix - Error connecting Oracle databases out of the box. Now shipping Oracle JDBC driver. -------------------------------------------------------- Version 5.1.1 -------------------------------------------------------- PR3428 Fix - Application Distribution : Command line default app dist directory setting is not obeyed, and empty app dist-config cannot find dir when PDA asks for the app. PR3435 Fix - Sync Writer : Incorrect index exception when when the mapping skips columns or changes column order. PR3443 Fix - Browsing Deployed Applications : Cannot return project version from server when app dist deployment dir is empty (due to PR3428 documented above). PR3456 Fix - Sync Writer : Transaction table primary key violation when receiving data from the same table in consecutive sync requests in the same sync session. PR3463 Fix - Support for Microsoft SQL Server 2008 : Fixes the JDBC driver error when connecting to SQL Server 2008 databases. -------------------------------------------------------- Version 5.1.0 -------------------------------------------------------- PR2878 Fix - Minor changes to handle UTF8 data for a comprehensive Unicode support. PR3314 Fix - Blank app dist directory causes applications to be deployed in the root directory of the disk where the server is running. This is now changed to be in the "apps" directory where the server is running. PR3318 New ! Locations of system databases are now configurable through BEP projects and over web services. PR3327 New ! New web services to provide system/server information. PR3329 Fix - Server tries to find file [INSTALL_DIR]/service/conf/last-run.xml when synchronising data to a file in Windows Service mode. PR3348 New ! User sync stat data collection and query support. PR3359 Fix - Login Module - Handling compressed data in Login packets which was causing login failures. PR3366 Fix - JDBC Accessor : Now uses the default SQL column types as set by the table definition, if the native SQL types cannot be obtained from the database. PR3373 Fix - Runtime Configuration : Server session timeout setting changes are not immediately reflected. PR3374 New ! Application distribution directory is now configurable through command line options. PR3387 New ! Bundles MySQL JDBC driver. -------------------------------------------------------- Version 5.0.2 -------------------------------------------------------- PR3324 Fix - No longer requires reboot when a table definition has changed and the table has been dropped as a result of a hot deployment. -------------------------------------------------------- Version 5.0.1 -------------------------------------------------------- PR3308 Fix - License Manager - Empty license sent back to client if the client has originally synchronised with the server in demo mode. PR3315 Fix - Changed Wrapper.Conf to allow wrapper.log file to be rolled according to date. PR3323 Fix - Application Distribution : Database update "drop tables" option is now set to "false" by default. -------------------------------------------------------- Version 5.0.0 -------------------------------------------------------- PR2082 Fix - Sync Reader : Two devices synchronising with the same user name. Now generating internal image id (iid) using the device id sent from client. PR2751 New ! Now handles source database changes and upgrades internal data structures on start-up. PR2859 New ! Location of brightdb is now configurable. PR2910 New ! Runtime deployment of additional licenses over web services. PR2911 New ! Runtime deployment of configuration files over web services. PR2914 New ! License Manager - Now supports license port/secure port number in licenses. PR2916 New ! Runtime support for configuring users over web services. PR2960 New ! License Manager : Now returns total number of licenses and available number of licenses via the license list web service. PR2866 New ! License Manager : Now supports the annual maintenance option in licenses. PR2980 Fix - Now ships a working non-functional config.xml. PR2981 Fix - Cleaned out unnecessary duplicate wrapper log line info. PR2984 New ! Support remote tracing. PR2892 New ! File Accessor : Filtering capabilities via the caching mechanism. PR2985 New ! Support for client log file request, persistence and query interface over web services. PR3015 Fix - License Manager : Reverts to demo if any of the license files is corrupt. Now corrupt license entries are simply ignored. PR3018 Fix - Handles BigDecimal data type read from database when calculating differences. PR3003 New ! New web services for deploying and releasing applications. PR3061 New ! New web services for getting a project version from server. PR3036 New ! Parameterised configuration files via #BR# reference tags. PR3067 New ! External data (file/table) caching mechanism into memory database. PR3236 Fix - If there is no data on server to send to clients (i.e. the sync source returns no data), then the sync delta calculation is skipped, potentially leaving data in client databases. PR3272 New ! Sync Reader : Row id column is not used in system tables any longer. -------------------------------------------------------- Version 4.2.0 -------------------------------------------------------- PR2762 Fix – When maximum number of connections is reached, the log still says "User logged on" even though they were rejected. PR2847 New ! Hot deployment : Watches the config file changes and reloads the new config. PR2857 Fix - Difference is not generated correctly if data is changed in a field that comes after a blank (null) field. PR2870 New ! JDBC Accessor : Now allows blank username and password for database connections. PR2879 New ! Support for querying online users. PR2872 New ! Change run.* to start using lib/* so that the users can drop new jar files into the "lib" directory without changing run.* files. PR2881 New ! Support for viewing and retiring licenses. PR2883 New ! Support for deploying projects over web services to remote servers. PR2891 New ! Using Derby 10.4.1.3 PR2900 Fix - Sync Reader : Compresses client ACKSync data section incorrectly. PR2904 Fix - Mappings : Table column names and mappings field names are now case insensitive. PR2923 Fix - Connections from BrightBuilder are decrementing the license count. PR2940 Fix - Licensing : If all licenses handed out, then empty license from a previously registered client will fail. PR2956 New - License Manager : Now supports license expiry feature. -------------------------------------------------------- Version 4.1.0 -------------------------------------------------------- PR2373 New ! Enhancements to handle larger concurrent user connections for better scalability. PR2752 Fix - App Distribution : When releasing different applications to the users, i.e. TestApp1 and TestApp2 to User_1, the app distribution is not triggered by the project name change. PR2759 Fix - Sync Destination Writer : Duplicate key value in primary key column on BS__TRANSACTION table when processing multiple sync requests resulting in java.sql.SQLIntegrityConstraintViolationException. PR2789 New ! Using Derby 10.3.1.4. PR2794 New ! Command line option (-t or --token) to output the server hardware token. PR2797 Fix - Exception when synchronising from BX with 3 or more table-relationship. PR2812 Fix - Service Batch Files : Handle spaces in the install path. PR2840 New ! Improved app distribution to handle multiple projects and versions. -------------------------------------------------------- Version 4.0.0 -------------------------------------------------------- PR2614 Fix - Renamed product name from BrightExpress to BrightXpress. PR2619 Fix - Sync Reader : Cannot compare binary blob columns in client image tables. PR2620 New ! JDBC Accessor : Query mapping field and support. PR2569 New ! File Accessor : Added new file field options : "compress" and "decompress". PR2594 Fix - Better validation for empty Application Distribution Deployment Directory. PR2606 Fix - File Accessor : Should read only the files for the tables that are meant to be read. PR2581 Fix - App Dist : Requires table def for BS__APP_DISTR system table. PR2532 New ! File Accessor : Support for "user name" or "user id" embedded into the file names so that different files can be synchronised by different users. PR2520 New ! Obfuscates bs-commons and bs-client binaries. PR2401 New ! Now bi3 jar is obfuscated. PR2512 Fix - Throws exception when reading from sync source if there is no set defined in JDBC data source. PR2510 Fix - Handles JDBC data sources with no sets. PR2474 Fix - No error at all when synchronising to tables that don't exist. PR2475 Fix - No errror for a Client sending data for a set that does not exist. PR2490 Fix - Added new MS SQL 2005 jdbc driver to run.bat and sh files. PR2491 Fix - No set should be required for sync sources. PR2450 Fix - Reverted back to quartz-1.5.2. PR2457 Fix - Now handles multiple sync sources and destinations connected to a single sync accessor. PR2436 Fix - Now logs "BrightServer Stopped" message when demo mode expires. PR2373 New ! Added dbutil in utils directory to check brightdb database from a command line console. PR2375 New ! Added Management Service to support SHUTDOWN messages. PR2270 New ! License Management : Machine independence and multiple license files PR2353 New ! Using Derby 10.2.2.0 and quartz 1.6.0 PR2362 Fix - Changed USER_NAME to USER_ID for better performance PR2363 New ! Embeddable license support PR2364 New ! Serial numbers are now part of the licenses PR2365 New ! Embeddable user account definitions PR2339 New ! Short Transactions by buffering client data as it arrives. PR2349 New ! Transaction Tracker : House keeping of the records per user. PR2350 Fix - Transaction Tracker : Row ID column is too small. Cannot sync more 3200 records from client to server. PR2647 Fix - Sync Reader : If the layout of the data read is different to client table, the client cannot consume data PR2663 Fix - JDBC Accessor : When writing data, ensure the mapping used has a PK defined. PR2669 Fix - Does not anymore hand out valid BrightForms licenses in demo mode. PR2672 New ! License Manager : Reactivated hardware key checks. PR2684 Fix - Port number is now displayed in decimal instead of hex. PR2688 Fix - Now compares double values -0.0 and 0.0 as equals. //------------------------------------------------------ // KNOWN ISSUES //------------------------------------------------------ PR2082 Synchronisation From Server : If two users with the same user name synchronise simultaneously, then there will be exceptions occurring when updating the internal database. Two users with the same name should NEVER synchronise with the server !!! PR2767 Synchronisation To Server : SQL Exception when inserting/updating binary data larger than 510 bytes in MS Access db memo field via jdbc:ODBC driver. //------------------------------------------------------ // NEXT PLANNED RELEASE //------------------------------------------------------ TBA //------------------------------------------------------ // ACKNOWLEDGEMENTS //------------------------------------------------------ This product includes Quartz software developed by OpenSymphony. Quartz is created and made available for use under the Apache 2.0 license. All source code, binaries, documentation, and other files in the distribution of Quartz are subject to the following copyright and license agreement, unless otherwise documented: /* * Copyright 2004-2005 OpenSymphony * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * */ This product includes "Derby" relational database software developed by the Apache Software Foundation. Derby is created and made available for use under the Apache 2.0 license. All source code, binaries, documentation, and other files in the distribution of Derby are subject to the following copyright and license agreement, unless otherwise documented: /* * Copyright 2006-2008 Bright Software Pty. Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * */ /* Copyright (c) 1995-2000, The Hypersonic SQL Group. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * Neither the name of the Hypersonic SQL Group nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE HYPERSONIC SQL GROUP, * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This software consists of voluntary contributions made by many individuals * on behalf of the Hypersonic SQL Group. * * * For work added by the HSQL Development Group: * * Copyright (c) 2001-2005, The HSQL Development Group * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * Neither the name of the HSQL Development Group nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ //------------------------------------------------------ CONTAINS Runtime Modules of IBM Data Server Driver for JDBC and SQLJ V3.57 (c) Copyright IBM Corporation 2009 All Rights Reserved //------------------------------------------------------