# Universal Data Access Components ## History | unidac@devart.com

5.3.8 29-Apr-14

- RAD Studio XE6 is supported
- Android in C++Builder XE6 is supported
- Lazarus 1.2.2 and FPC 2.6.4 is supported
- SmartFetch mode for TDataSet descendants is added
- The TUniDataSetOptions.MasterFieldsNullable property is added
- Now update queries inside TDataSet descendants have correct owner
- The SetOrderBy method behavior is fixed
- The GetOrderBy method behavior is fixed
- Bug with displaying already installed DAC version in setup messages is fixed
- Bug with the Filter behavior in the Metadata component is fixed
- Bug with AV on modify table with one only Object field is fixed
- Bug with Locate when a NULL value is present in the index field is fixed
- Bug with IndexFieldNames when DataTypeMapping is enabled is fixed
- Bug with freeing memory in the TDADataSet.Lookup method is fixed
- Bug with error processing on socket data reading under Unix is fixed

##### Oracle data provider

- DataTypeMapping conversion from XMLType to ftString is added
- DataTypeMapping conversion from Interval to ftString is added
- Bug with detect parameters if a string constant contains ':' in the Direct mode is fixed
- Bug with connection when UnicodeEnvironment=True in the Direct mode is fixed
- Bug with detecting table names in an SQL statement containing JOIN is fixed
- Bug with Largint columns in UniLoader is fixed
- Bug with result parameters is fixed

##### SQLServer data provider

- SQL Server 2014 is supported
- Bug with processing widestring parameters is fixed
- Bug with processing tinyint and single parameters in SQL Server Compact Edition is fixed

##### MySQL data provider

- Bug with connection establishing when Pooling is enabled is fixed for MySQL provider
- Bug with RefreshRecord when ReadOnly is set to True is fixed for MySQL provider
- Bug with SSL connection on Android is fixed

##### InterBase data provider

- TUniTransaction.OnCommitRetainig and TUniTransaction.OnRollbackRetainig events are added
- Bug with carriage returned in the beginning of an error message is fixed
- Bug with invalid client library when using connection pooling is fixed
- Bug with refreshing a detail dataset in Master-Detail is fixed

##### PostgreSQL data provider

- Bug with parsing dollar-quoted strings is fixed
- Bug with "Range check error" in Protocol 2 is fixed
- Bug with executing "WITH ... SELECT" statements is fixed
- Bug with SSL connection on Android is fixed

##### SQLite data provider

- Now the Direct mode is based on the SQLite engine version 3.8.4.3
- The EnableLoadExtension specific option is added for the Connection component

##### ASE data provider

- The PrepareMethod option is added

5.2.7 25-Feb-14

- Bug with buttons layout on the "SQL Editor" form in design-time is fixed

##### Oracle data provider

- Now OraNetUni.obj and OraNetUni.o files are supplied for C++Builder
- Bug on connection establishing using Oracle 8, 9, 10.1 clients is fixed

5.2.6 19-Feb-14

- Now .obj and .o files for all providers are supplied for C++Builder
- Possibility to use MAS_ prefix for parameters when using master/detail relationship is added
- Bug with post data when LockMode=lmOptimistic and Data Type Mapping is applied is fixed
- Bug with opening dataset when persistent fields were created in dataset is fixed
- Bug with parameter name quoting on assigning field value to parameter is fixed
- Bug with deleting a record inserted earlier in CachedUpdates mode is fixed
- Bug on sorting BLOB fields is fixed
- Bug with percentage count in the OnRestoreProgress event of the TDADump class is fixed
- Bug with generating SQL queries by "SQL Generator" in design-time is fixed
- Bug with detecting parameters with the same name is fixed
- Bug with opening inherited forms in IDE is fixed

##### Oracle data provider

- Bug when the Inited property of TOracleHome is not set to True for Oracle Instant Client is fixed
- Bug with connection to Oracle on Unix platforms is fixed
- Bug with AV on prepared Stored Procedure execution is fixed
- Bug with the ORA-24344 error message format in the Direct mode is fixed
- Bug with AV on reconnection for Mobile platforms is fixed

##### SQLServer data provider

- Bug with changing TParam.ParamType when preparing parameters of stored procedure when DescribeParams is True is fixed

##### MySQL data provider

- Support for Autorefresh mode for Mac OS X, iOS and Android platforms is added

##### PostgreSQL data provider

- Bug with the 'Unexpected server response' error when using Master-Detail is fixed
- Bug in TUniQuery when FlatBuffers=False and UnknownAsSring=True is fixed

##### SQLite data provider

- Now the Direct mode is based on the SQLite engine version 3.8.3.1 in the SQLite provider
- Support for Delphi DateTime format is added

5.2.5 25-Dec-13

- iOS in C++Builder XE5 is supported
- RAD Studio XE5 Update 2 is now required
- Now .obj and .o files are supplied for C++Builder
- Compatibility of migrating floating-point fields from other components is improved
- Bug with data loss when updating records in the CachedUpdates mode is fixed
- Bug with RefreshRecord in the CachedUpdates mode is fixed
- Bug with Master-Detail when a connection and a query are placed in different units is fixed
- Bug with data display in Detail Dataset when master field is Null is fixed
- Bug with incorrect parameter sizes when re-opening a query is fixed
- Bug with mapping to BCD fields when using TClientDataSet is fixed
- Bug with mapping single types to float types is fixed
- Bug with mapping to BCD and FmtBCD types is fixed
- Bug with filtering boolean fields is fixed
- Bug with freeing complex fields after refreshing before editing is fixed
- Bug with Locate by fields where Data Type Mapping is applied is fixed
- Bug with RefreshQuick when IndexFieldNames is set is fixed
- Bug with the TUniLoader.AutoCommit property is fixed

##### Oracle data provider

- An ability to establish OCI and Direct connections in the same application is supported
- New Oracle 12c connection modes are added (SYSBACKUP, SYSDG, SYSKM)
- Bug with connecting in the Direct mode under Windows 2000 and lower is fixed
- Bug with Password which length is exactly 16 characters for Oracle 10 in the Direct mode is fixed
- Bug with DB object names containing the '$' and '#' characters is fixed
- Memory Leak in the NonBlocking mode is fixed

##### SQLServer data provider

- Bug with incorrect committing of data by the Loader component on errors is fixed

##### MySQL data provider

- Bug with connecting in the Direct mode under Windows 2000 and lower is fixed
- Bug with returning an incorrect value in the RowsAffected property is fixed

##### InterBase data provider

- Now RowsAffected returns a correct value without the need to prepare a statement explicitly
- Bug with string truncation when using the Loader component is fixed
- Bug when working with parameters of the ftTimeStamp type is fixed

##### PostgreSQL data provider

- Bug with connecting in the Direct mode under Windows 2000 and lower is fixed
- Bug with handling international characters when using protocol version 2 is fixed
- Bug with backup of ENUM types using the Dump component is fixed
- Bug with Memory leak is fixed

##### SQLite data provider

- Direct mode for x64 platform is supported
- Now the Direct mode is based on the SQLite engine version 3.8.2
- Bug with executing multi-SQL statements is fixed

5.1.4 23-Sep-13

- Critical bug with parsing unicode SQL queries is fixed
- Bug with memory leak in TUniProvider is fixed

#### 5.1.3 18-Sep-13

- RAD Studio XE5 is supported
- Application development for Android is supported
- Lazarus 1.0.12 is supported
- Automatic checking for new versions is added
- Flexible management of conditions in the WHERE clause is added
- Performance is improved
- IPv6 protocol support is added
- Migration from FIBPlus is added
- The possibility to use ranges is added
- The AutoCommit property for the Connection component is added
- The Ping method for the Connection component is added
- The AllowImplicitConnect option for the Connection component is added
- The SQLRecCount property for the Query and StoredProc components is added
- The ScanParams property for the Script component is added
- The RowsAffected property for the Script component is added
- Support of the IN keyword in the TDataSet.Filter property is added
- Like operator behaviour when used in the Filter property is now similar to TClientDataSet
- ConnectionTimeout is now used when disconnecting after connection loss
- Bug when using the Uni.EnableUniSQL global variable is fixed
- Bug with storing the dbMonitor active state to DFM is fixed
- Bug with setting ConnectionTimeout for Unix, Mac OS and iOS platforms is fixed
- Bug with incorrect displaying of long names of parameters and macros in design-time is fixed
- Bug with processing cached data when UpdateRecordTypes is not default is fixed
- Bug with moving data from WideMemo to String fields by TCRBatchMove is fixed
- Bug in TCRBatchMove when destination dataset has no key fields is fixed
- Bug with TCRBatchMove and DataSets in the UniDirectional mode is fixed
- Bug with showing a connection dialog in design-time when LoginPrompt is set to False is fixed
- Bug with setting the connection string containing inline comments is fixed
- Bug with unnecessary unlock calling after an update error is fixed

##### Oracle data provider

- The UROWID data type is supported in the Direct mode
- Bug with Memory Leak in the Direct Mode is fixed
- Bug with an empty error message for ORA-24344 in TUniDataSet is fixed
- Bug with retrieving KeyFields when using Data Base Link is fixed
- Bug with getting TimeStamp & Interval fields when FieldsAsString=True is fixed
- Bug with getting a parameter with the Currency data type is fixed

##### SQLServer data provider

- The CursorType specific option is added
- Bug with using connection macros is fixed
- Bug with using ptResult parameters is fixed
- Bug with calling RefreshRecord when FullRefresh is set to True is fixed

##### MySQL data provider

- MariaDB is supported
- Bug with AssignConnect from a disconnected source connection is fixed

##### InterBase data provider

- The AutoCommit specific option for Table, Query, SQL and Loader components is added
- Now Params specific option values for the Transaction component can be separated by a semicolon
- The ForceUsingDefaultPort global variable is added
- The LoadFromDataSet method for the Loader component for cases when a dataset record count is less than the RowsPerBatch value is optimized
- Bug with setting the TBlobField.AsString value when CacheBlobs = False is fixed

##### PostgreSQL data provider

- PostgreSQL 9.3 is supported
- Bug with AssignConnect from a disconnected source connection is fixed
- Bug when the UnpreparedExecute option is set to True is fixed
- Bug with an "Invalid password packet size" message in the PostgreSQL log is fixed
- Bug with a zero-valued LastInsertID result is fixed

##### SQLite data provider

- Now the Direct mode is based on the SQLite engine version 3.8.0.2
- The AutoCommit and AutoCommitRowCount specific options for the Loader component are added
- Bug with AssignConnect from a disconnected source connection is fixed
- Bug with an incorrect datetime (date, 'localtime') function result in the Direct mode is fixed
- Bug with detecting auto-increment fields is fixed

##### ODBC data provider

- The DefaultStrParamSize specific option is added
- An option that allows fetching VarBytes as BLOB is added
- ConnectionTimeout is now used when disconnecting after connection loss
- The "SQL statement doesn't return rows" bug when DetectFieldsOnPrepare=False is fixed

##### MSAccess data provider

- The ForceCreateDatabase option is added
- Bug with updating table in the Optimistic lock mode is fixed

##### NexusDB data provider

- NexusDB 3.12 is supported

#### 5.0.2 15-Jul-13

- Connection dialog is improved
- Incorrect XE4 behaviour when re-opening a dataset under iOS is fixed
- Bug in the alerter when DisconnectedMode is set to True for a connection is fixed
- Bug with the connection OnLogin event is fixed
- Bug with incorrect counting of connections in pool is fixed
- Bug with time fields in Lazarus is fixed
- Bug with varbinary fields in Lazarus is fixed
- Bug with using case-insensitive filter is fixed
- Bug with getting and setting the SQL property of FastReport datasets is fixed
- Bug with positioning of Fields Editor is fixed
- Bug with not using index fields on locating records is fixed
- Bug with processing the cached data when UpdateRecordTypes is not default is fixed
- Bug with processing persistent fields in TVirtualTable is fixed

##### Oracle data provider

- Oracle 12c is supported
- Bug with getting error message on object compilation in Oracle client versions lower than 11 is fixed
- Bug with size of NVARCHAR2 columns in the SELECT query in the Direct mode is fixed
- Bug with TIMESTAMP parameters of stored procedures in the direct mode is fixed

##### SQLServer data provider

- Now schema name is used when filling default values if DefaultValues = True
- Bug with processing parameters of stored procedures is fixed
- Bug with the QueryRecCount option queries containing the 'GROUP BY' clause is fixed
- Bug with "Multiple-Step OLE DB Operation generated errors" is fixed

##### MySQL data provider

- Bug with data type mapping of BLOB fields is fixed

##### InterBase data provider

- Bug with setting the default transaction isolation level after a connection is open is fixed
- Bug with getting metadata when using Firebird 1.5 is fixed
- Bug with cutting strings when getting metadata from system tables in the Unicode mode for InterBase 2007 is fixed
- Bug with a "Dynamic SQL error" when querying record count is fixed

##### PostgreSQL data provider

- Bug with multiple metadata requests when using domain field types is fixed

##### SQLite data provider

- Now the Direct mode is based on the SQLite engine version 3.7.17
- Now the UNKNOWN data type is mapped as ftMemo
- Bug with incorrect column type determination when metadata API is unavailable is fixed
- Bug with avg(), count(), max() & last_insert_rowid() functions on Mac OS X is fixed

##### ODBC data provider

- Bug with getting OUT parameters is fixed
- Bug with numeric parameters for MS SQL Server is fixed
- Bug with string parameters for MS SQL Server is fixed
- Bug with reading Blob fields from a Tibero database is fixed

##### MSAccess data provider

- Bug with copying data by TCRBatchMove is fixed
- Bug with copying data by TUniLoader is fixed

##### ASE data provider

Bug with encrypted password when working on client versions lower than 15 is fixed Bug with detecting NUMERIC parameters of stored procedures is fixed

#### 5.0.1 25-Apr-13

- Rad Studio XE4 is supported
- NEXTGEN compiler is supported
- Application development for iOS is supported
- Connection string support is added
- Possibility to encrypt entire tables and datasets is added
- Possibility to determine if data in a field is encrypted is added
- Support of TimeStamp, Single and Extended fields in VirtualTable is added
- Migration from PgDAC and LiteDAC is added to the Migration Wizard
- Migration from AnyDAC and FireDAC is added to the Migration Wizard
- Bug with Master-Detail for TClientDataSet in Rad Studio XE3 is fixed
- Bug with Master-Detail by non-English fields is fixed
- Bug with IndexFieldNames by non-English fields is fixed
- Bug with incorrect RecordCount result when a query contains both ORDER BY and LIMIT is fixed
- Bug with calling Cancel in the BeforePost event is fixed
- Bug when setting the TDataSet.Filter property for empty dataset is fixed
- Bug with incorrect TVirtualTable version displaying in the About box is fixed
- Bug with TUniLoader.LoadFromDataSet when UniDirectional = True and FetchRows = 1 is fixed
- Thread handle leak when using pooling is fixed
- Now the TCustomDASQLMonitor.Options.moDBMonitor property is set to False by default

##### Oracle data provider

- BINARY_DOUBLE & BINARY_FLOAT data types support in the Direct mode is added
- Bug with raising internal "Net Error 1" on reading Lob data types for some encodings in the Direct mode is fixed
- Bug with incorrect detecting constant values length in SELECT expression for UTF8 databases in the Direct mode is fixed
- Bug with application hang on get NVarchar column through link to MS SQL Server in the Direct mode is fixed
- Bug with inserting NVARCHAR data for UTF8 databases and Oracle 10 or below if INSERT statement contains RETURNING section is fixed
- Bug with application hang in non-blocking mode is fixed

##### SQLServer data provider

- Bug when opening table for SQL Server Compact Edition 4.0 for 64-bit Windows is fixed

##### MySQL data provider

- SSL support in Mac OS is fixed
- Bug with memory leak when RefreshOptions.roBeforeEdit is set is fixed

##### InterBase data provider

- Application development for iOS using InterBase XE3 ToGo Edition is supported
- The DefaultTransaction property in TUniConnection is added
- The Params specific option in TUniTransaction is added

##### PostgreSQL data provider

- Now ErrorCode indicates a socket error code when a connection error appears
- SSL support in Mac OS is fixed
- Bug with mapping CHARACTER VARYING fields to ftString is fixed
- Bug with automatic transaction restart when FetchAll = False on connection loss is fixed

##### SQLite data provider

- Now the Direct mode is based on the SQLite engine version 3.7.16.2
- Now SQLite string data type without length is mapped as ftMemo instead of ftString
- Converter from Unix and Julian data formats to ftDateTime is added

##### ASE data provider

- The EncryptPassword option is added
- The DetectFieldsOnPrepare option is added
- Bug with TUniStoredProc is fixed

##### DB2 data provider

- XML fields support is added
- Bug with connection pool is fixed

#### 4.6.12 14-Feb-13

- Rad Studio XE3 Update 2 is now required
- TUniEncryptor components are supported in Migration Wizard
- Bug with memory leak when working with UniAlerter is fixed
- Bug with AV on adding TFieldDef items to FieldDefs for Delphi 2009 and higher is fixed
- Bug with incorrect detection of the numeric parameter type in ExecSQL is fixed
- Bug with assigning data to blob fields when using Data Type Mapping is fixed
- Bug with inserting a new record into TStringGrid in FMX is fixed
- Bug with unlocking a record after constraint violation is fixed
- Bug with quoting index field names in TCRDBGrid is fixed
- Bug with Master-Detail link by fields with non-English names is fixed
- Bug with saving Date fields in XML is fixed

##### Oracle data provider

- Bug with memory leak in Master-Detail datasets that contain OraLob fileds is fixed

##### SQLServer data provider

- Bug with data type mapping of nvarchar(max) field is fixed
- Bug with the 'List index out of bounds' error on refresh of detail table is fixed
- Bug with AV failure on repeated execution of a prepared stored procedure is fixed
- Bug with AV failure on filling default field values is fixed

##### MySQL data provider

- Bug with AV failure on filling default field values is fixed

##### InterBase data provider

- 'Range check error' when using TUniAlerter is fixed
- Bug with using unsigned integer values in parameters is fixed
- Bug with connecting to InterBase 7 and lower is fixed
- Bug with assertion failure on filling default field values is fixed

##### SQLite data provider

Bug in TLiteUtils.EncryptDatabase when using a third-party sqlite3.dll is fixed

##### MS Access data provider

Bug with retrieving string field values is fixed

##### DBF data provider

Bug when installing DBFUniProvider from sources using the make.bat file is fixed

#### 4.6.11 12-Dec-12

- Rad Studio XE3 Update 1 is now required
- C++Builder 64-bit for Windows is supported
- Bug with getting default values for fields with aliases is fixed
- Bug with storing Specific options is fixed
- Bug with using quoted field names in the IndexFieldNames property is fixed
- Bug with processing macros named in Cyrillic is fixed
- Bug in TUniStoredProc with closing dataset when the Disconnected property is True is fixed

##### Oracle data provider

- Bug with loading data into column with TDateTime data type by UniLoader is fixed
- Bug with invalid backup progress in TUniBackup is fixed
- Bug with impossibility to edit query if it contains '(' inside quotes is fixed
- Bug with Filter and CHAR data type when UseUnicode=True is fixed
- Bug with getting data with CHAR type for Oracle 7 is fixed
- Bug with setting Charset property for Oracle client 9 & 10 is fixed
- Bug with AV in ApplyUpdates method in UniDataSet with not defined Session property is fixed

##### SQLServer data provider

- The Port specific option that allows specifying the port number for connection is added
- Bug with getting default field values when using not the default dbo schema is fixed

##### MySQL data provider

- Bug with dump BIGINT UNSIGNED fields is fixed
- Bug with resolving hostname on iOS device is fixed

##### PostgreSQL data provider

- Bug with SETOF REFCURSOR procedure parameters is fixed
- Bug with resolving hostname on iOS device is fixed

##### InterBase data provider

- Bug with datetime field default values is fixed

##### ODBC data provider

- Bug with AV on freeing a DLL linked statically is fixed
- Bug with trash symbols instead of empty string value is fixed

##### MS Access data provider

- Bug with parameters in master-detail relationship when QuoteNames=True is fixed

##### DB2 data provider

- Bug with connection pool is fixed

#### 4.5.10 07-Nov-12

- Some improvements for NEXTGEN support are added
- Support for ftGraphic and ftFmtMemo parameter data types is added
- Informativity of messages about errors in connection is improved
- Dependency of design-time packages on FMX packages is removed
- Bug with data loss in pessimistic lock mode is fixed
- Bug with AV failure in RefreshQuick method is fixed
- Bug with renaming of fields with the same names is fixed
- Bug with dependency parameters count in macros on delimeter is fixed
- Bug with storing the LoginPrompt connection property is fixed
- Bug with dump data from VIEW is fixed
- Bug with creating columns on setting the TableName property in TDALoader is fixed
- Bug with setting specific connection options in the connection editor under Lazarus is fixed
- Several bugs in design-time editors are fixed

##### Oracle data provider

- Limitation on maximum 10 Oracle Homes is removed
- Bug with parameter length for UTF8 databases is fixed
- Bug with parameter length loaded from DFM is fixed
- Bug with LargeInt calculated fields is fixed
- Bug with refresh cursor with AutoClose=True is fixed
- Bug with LOB fields for Oracle 8.0.5 is fixed

##### SQLServer data provider

- The NativeClientVersion specific option to set the version of SQL Native Client provider is added
- Bug with using the NEWSEQUENTIALID() default expression is fixed
- Bug with inserting float values to real fields is fixed
- 'Range check error' when working with varbinary(max) or varchar(max) is fixed

##### MySQL data provider

- Support of interactive connections is added
- Support for binary parameters of stored procedures is added

##### PostgreSQL data provider

- Bug when processing domain type procedure parameters is fixed
- Bug with processing composite type fields is fixed
- Bug with executing a stored procedure when multiple default schema names are set in the connection is fixed
- Bug in the TPgQuery.BreakExec method is fixed

##### SQLite data provider

- Now the Direct mode is based on the SQLite engine version 3.7.14.1
- FTS3 and FTS4 support in the Direct mode is added

##### NexusDB data provider

- Support of NexusDB 3.11 is added
- Data Type Mapping support is added
- The HeartbeatInterval, LostConnectionTimeout and WatchdogInterval options for connection is added
- Bug with the filter timed out error is fixed

#### 4.5.9 05-Sep-12

- Rad Studio XE3 is supported
- Windows 8 is supported
- Bug with storing empty MapRules collection in DFM is fixed
- Bug with AV failure at freeing connection, for which AssignConnect was executed, is fixed

##### Oracle data provider

- Bug with getting Raw as String is fixed
- Bug with describing stored procedure parameters from a package in the Direct mode is fixed
- Bug with AV at releasing temporary Lobs is fixed

##### InterBase & Firebird data provider

- Bug with reading BLOB data when using Firebird x64 in the Interbase data provider is fixed

##### SQLite data provider

- Now the Direct mode is based on the SQLite engine version 3.7.13
- Extended error codes support is added
- Bug with memory leak when working in Direct mode is fixed
- Bug with the ForceCreateDatabase option when specifying a DB name without full path is fixed
- Bug with the DecryptDatabase method when setting connection for Delphi versions since Delphi 2009 is fixed
- Bug with low performance when executing the UPDATE SQL-statement in DirectMode is fixed
- Bug with changing DB page size (executing the sequence of instructions PRAGMA page_size + VACUUM) in DirectMode is fixed

##### MS Access data provider

- Bug when mapping a TEXT field to ftString in Delphi versions since Delphi 2009 is fixed

#### 4.3.8 24-Jul-12

- Bug with compilation for iOS is fixed
- Bug with Data Type Mapping and persistent fields is fixed
- Bug with Data Type Mapping to Bytes and VarBytes is fixed
- Bug with decryption of binary fields is fixed
- Bug with editing calculated fields is fixed
- Connection dialog is now open in the screen center instead of the desktop center
- Several bugs with compilation on Delphi XE2 from Source code are fixed

##### SQLite data provider

- Static linking of SQLite library is added
- SQLite database encryption is added
- The ForceCreateDatabase option is added
- Bug with connection establishing in iOS 5 is fixed

##### MySQL data provider

- HTTP connection is added

##### Oracle data provider

- Bug with the ftCurrency, ftDate, ftTime parameter types is fixed
- Bug with detecting Oracle client version is fixed
- Bug with not resetting a statement index in UniScript after an error is fixed

##### InterBase & Firebird data provider

- Bug with setting a value with the TUniParam.AsShortInt method is fixed

##### PostgreSQL data provider

- Bug with application hang at connection loss is fixed
- Bug with infinite loop at UniAlerter stop after connection loss is fixed

##### MS Access data provider

- Bug with distinction between empty string and null is fixed

##### ASE data provider

- The SelectMethod option is added

#### 4.2.7 21-Jun-12

- Update 4 Hotfix 1 for RAD Studio XE2, Delphi XE2, and C++Builder XE2 is now required
- Data Type Mapping support is added
- Data Encryption in a client application is added
- The TUniEncryptor component for data encryption is added
- Calling of the TCustomDASQL.BeforeExecute event is added
- Bug with executing a script that ends with a commented line is fixed
- Bug with assigning outsize data to TWideStringField is fixed
- Bug with DATE parameters in design-time is fixed
- Bug with TUniDump using an old connection after assigning a new connection is fixed
- Bug with AV failure at calling the SetRecNo method when using local sorting is fixed
- Bug in design time editor of the TVirtualTable component with master-detail relationship is fixed

##### Oracle data provider

- Bug with connection to Oracle XE with the UTF8 charset is fixed
- Bug with auto-generated queries for tables with case-sensitive fields in the Direct mode is fixed
- Bug with Connection Mode set for a connection that is established from UniScript is fixed
- Bug with statements count when a script contains the "Connect" command is fixed
- Bug with loading Unicode strings by TUniLoader is fixed

##### SQL Server data provider

- SQL Server Native Client 11 (SQL Server 2012) support is added

##### InterBase & Firebird data provider

- Bug with accessing InterBase 64-bit from a x64 application built in Delphi XE2 is fixed

##### PostgreSQL data provider

- Bug with getting metadata for PostgreSQL 7.x is fixed

##### SQLite data provider

- The ForeignKeys option is added to the SQLite specific connection options
- Bug with defining the VARCHAR field type larger than 4095 is fixed
- Bug with initialization of user-defined functions after TSQLiteConnection.AssignConnect is fixed

##### ODBC data provider

- Bug with result parameters in functions is fixed

#### 4.1.6 02-Apr-12

- Lazarus 0.9.30.4 and FPC 2.6.0 are supported
- Bug with SQL Generator in the design-time is fixed
- Bug with generating Update SQL with fields that have aliases is fixed
- Bug with saving BCD fields from TVirtualTable to a Stream is fixed
- Bug with LocalMasterDetail is fixed

##### Oracle data provider

- Bug with filling fileds with Unicode names from Sequences in the Direct mode is fixed

##### SQL Server data provider

- Bug with pdInputOutput parameters is fixed

##### PostgreSQL data provider

- Bug with retrieving the list of tables from a case-sensitive schema is fixed

##### ODBC data provider

- Bug with the query that is generated for the QueryRecCount option is fixed

##### SQLite data provider

- Bug with Primary Keys that contain "." in name is fixed

#### 4.1.5 01-Mar-12

- Update 4 for RAD Studio XE2, Delphi XE2, and C++Builder XE2 is now required
- Bug with Null values filtering in CRDBGrid is fixed
- Bug with the absent CRControls10p.res file in the installation for Delphi 2006 is fixed
- Bug with Data Editor in the design-time for case-sensetive Master-Detail link is fixed
- Bug with hanging RAD Studio XE2 when opening ConnectDialog is fixed
- Bug with AV failure at executing ApplyUpdates is fixed
- Bug at working with 64-bit pointers is fixed.
- Several bugs in design-time editors are fixed

##### Oracle data provider

- Code improvements for avoiding compilation warnings
- Support of case sensitive objects and their methods is improved
- Bug with DisconnectedMode=True and LocalFailover=True in the Direct mode is fixed
- Bug with representation VarArray data types when ObjectView=True is fixed
- Bug with showing INFINITY in TOraNumber fields is fixed
- Bug with loading Unicode strings by TUniLoader is fixed

##### SQL Server data provider

- Bug with getting IndexColumns metadata for SQL Server Compact Edition is fixed
- Bug with the query that is generated for the QueryRecCount option is fixed

##### MySQL data provider

- Bug with processing a query with quoted column names is fixed

##### InterBase & Firebird data provider

- Bug with cutting a string when getting metadata from system tables in Unicode mode is fixed

##### PostgreSQL data provider

- The Time(x) and the TimeStamp(x) data types support is improved
- Bug with showing error messages with German locale in Delphi 7 is fixed
- Bug with Out of memory in the server inside a transaction is fixed
- Bug with sending parameters as Float value is fixed
- Big with schema names that contain "." is fixed

##### SQLite data provider

- Bug with using parameters whose names match to reserved words is fixed

##### ODBC data provider

- Bug with inserting, updating and deleting data in SQLBase is fixed

#### 4.1.4 28-Dec-11

- The UniqueFieldIndexSeparator global variable is added
- Bug with defining specific option with not defined ProviderName is fixed
- Bug with "Multiple transactions are not supported by the database" is fixed
- Bug with parsing the table names separated by comma in TUniDump is fixed
- Bug with assertion failure at proccesing the cached data is fixed
- Bug with Delphi IDE hanging at closing in case of using DBMonitor is fixed
- Bug with freeing memory in Lazarus is fixed
- Several bugs with 64-bit application development are fixed
- Several bugs in design-time editors are fixed

##### Oracle data provider

- Bug with memory leak and non-existing stored procedure in the Direct mode is fixed
- Bug with '(' and ')' application name in the Direct mode is fixed

##### SQL Server data provider

- Bug with generation the SQL query for data refresh, while FullRefresh is True and the macros is used, is fixed
- Bug with the stored procedures executing in SQL Azure is fixed

##### InterBase data provider

- Bug with query containing 'UNION' clause that is generated for the QueryRecCount option is fixed

##### PostgreSQL data provider

- Reading the Bytes data type as Hex is supported

##### SQLite data provider

- Bug with UPDATE, when a key field is of the TEXT data type, is fixed in the SQLite data provider

#### 4.1.3 23-Nov-11

- Update 2 for RAD Studio XE2, Delphi XE2, and C++Builder XE2 is now required
- Mac OS X and iOS in RAD Studio XE2 is supported
- FireMonkey support is improved
- Lazarus 0.9.30.2 and FPC 2.4.4 are supported
- Mac OS X in Lazarus is supported
- Linux x64 in Lazarus is supported
- FreeBSD in Lazarus is supported
- Bug with memory leak in TDALoader is fixed
- Problem with receiving DateTime parameter for DBMonitor in Delphi 2009 and higher is fixed

##### Oracle data provider

- Oracle 11g Express Edition is supported
- Support for the NonBlocking option is added
- The QueryResultOnly option is added to TOraChangeNotification
- Conflict with size_t data type in C++Builder is resolved
- Bug with invalid password in the Direct mode for Windows 98 is fixed
- Bug with reading long ORACLE_HOME line from the registry is fixed.
- Bug with updating DatSet when LongStrings=False is fixed
- Bug with posting nested objects of the not final type is fixed

##### SQL Server data provider

- SQL Azure support is improved
- Bug with backing up BLOB fields is fixed
- Bug with query containing 'WITH' clause that is generated for the QueryRecCount option is fixed
- Bug with processing parameters values of which are set to the SqlTimestamp type is fixed

##### InterBase data provider

- Bug with query containing 'WITH' clause that is generated for the QueryRecCount option is fixed
- Bug with getting database info is fixed

##### MySQL data provider

- Bug with deleting record in FetchAll = False mode when LockMode is lmPessimistic is fixed

##### PostgreSQL data provider

- PostgreSQL 9.1 is supported
- Bug with time zone for time and timestamp data types is fixed
- Bug with PgDump with PostgreSQL 8.2 is fixed

##### SQLite data provider

- DateFormat and TimedFormat specific options are added in the SQLite data provider

##### NexusDB data provider

- Support of NexusDB 3.09 is added

##### MS Access data provider

- Type of the ExtendedAnsiSQL specific option is changed from Integer to Boolean

#### 4.0.2 10-Oct-11

- SpecificOptions definition in the run-time is improved
- Bug with compilation for Linux in Lazarus is fixed

##### Oracle data provider

- Bug with multi-dimension arrays is fixed
- Bug with getting attributes of inherited object types is fixed
- Bug with Lob parameters in the Direct mode if ParamType=ptUnknown is fixed

##### MySQL data provider

- Bug with the QueryRecCount option queries containing the 'DISTINT' and 'AS' clauses is fixed

##### PostgreSQL data provider

- Bug with Unicode password is fixed
- Bug with multiple default schemas definition is fixed

##### InterBase data provider

- Bug with processing parameters values of which are of the SqlTimestamp type is fixed
- Bug with the QueryRecCount option queries containing ';' delimiter in query is fixed

#### 4.0.1 15-Sep-11

- Embarcadero RAD Studio XE2 is supported
- Application development for 64-bit Windows is supported
- FireMonkey application development platform is supported
- Support of master/detail relationship for TVirtualTable is added
- OnProgress event in TVirtualTable is added
- TDADataSetOptions.SetEmptyStrToNull property that allows inserting NULL value instead of empty string is added
- Bug with processing transaction when connection is lost is fixed

##### MS Access data provider

- Exclusive access to databases in MSAccess provider is added

##### Adaptive Server Enterprise data provider

- Ability to set ApplicationName in the ASE provider is added
- The AnsiNull option in the ASE provider is added

##### Oracle data provider

- Bug with UniLoader for Number(1,0) data type is fixed
- Bug with Int64 data type for UniLoader in Oracle provider is fixed
- Bug with LOB parameters is fixed

##### PostgreSQL data provider

- Bug with SQL query following an empty SQL query is fixed

##### SQLite data provider

- Loading the sqlite3 library for Linux in SQLite provider is fixed
- Bug with Table name that contains "." in SQLite provider is fixed

#### 3.70.0.19 19-Jul-11

- Bug in TCustomDADataSet.PSGetKeyFields method when persistent fields are created in dataset is fixed
- Bug in TUniTable with creating SQL query when Options.QuoteNames is set to True and provider is changed is fixed
- Bug with assertion failure on using master/detail relationship with TClientDataset is fixed
- Bug with several connections and when OCIUnicode=True for the Oracle data provider is fixed
- Bug with getting ServerList for the PostgreSQL data provider is fixed
- Bug with returning "not an error" for the SQLite data provider is fixed.

#### 3.70.0.18 15-Jun-11

- Possibility to load data in TVirtualTable without recreating persistent fields is added
- Working in design time editor of the TVirtualTable component is improved
- Loading files opened by other applications is improved
- Bug with the "BAD HANDSHAKE" error on connecting to some versions of MySQL server in the MySQL provider is fixed
- Bug with processing key fields on record posting is fixed
- Bug with empty string parameters is fixed for ASE data provider
- Bug with DateTime parameter is fixed for ASE data provider
- Bug with "SQL statement doesn't return rows" is fixed for ASE data provider
- Several bugs with design-time editors for Lazarus are fixed

#### 3.70.0.17 28-Apr-11

- Lazarus 0.9.30 and FPC 2.4.2 is supported
- New DBF provider is added
- Bug in bookmark validity check is fixed

##### Oracle data provider

- Oracle 9, Oracle 10, and Oracle 11 authentication in the Direct mode is supported
- Case sensitive login and password in the Direct mode is supported
- Unicode login and password in the Direct mode is supported
- Client Identifier in the Direct mode is supported
- Support of BLOB, CLOB, and NCLOB data types in TUniLoader is improved

##### PostgreSQL data provider

- Application Name connection option is supported
- Payload parameter for PostgreSQL notification is supported

##### SQL Server data provider

- Support for SQL Server Compact Edition 4.0 is added

##### SQLite data provider

- User-defined function for SQLite provider is supported
- Default UniNoCase collation for SQLite provider is added (the DefaultCollations specific option)
- Interface user-defined collation registration for SQLite provider is improved
- SQLite source version is fixed (missing .inc file is added)
- Bug with "SQLite function is not linked" in the SQLite data provider is fixed

##### Adaptive Server Enterprise data provider

- Support for the AnsiNull option in the ASE provider is added
- Bug with getting extended fields info in a transaction in the ASE data provider is fixed

#### 3.60.0.16 10-Mar-11

- Delphi & C++Builder XE Starter Edition supported
- Added ability to get databases list in the NexusDB provider
- Fixed bug with access to several databases in the NexusDB provider
- Fixed bug with getting database info for 64-bit OS in the InterBase provider
- Fixed registration procedure of Borland SQL Monitor when TUniSQLMonitor is created at runtime

#### 3.60.0.15 26-Jan-11

- Added NexusDB provider
- Added support for connection with using Service Name in the Direct mode in the Oracle provider.
- Added support for ASCII databases in the SQLite provider (the ASCIIDataBase specific option)
- Changed Collation and Encryption function calling in the SQLite provider (this function is moved to the TLiteUtils class in the SQLiteUniProvider unit)
- Improved performance in the PostgreSQL provider
- Improved Encryption function in the SQLite provider (it raised exception if database wasn't encrypted successfully)
- Fixed bug with parameters quoting by SQL Generator in the design-time in the SQLite provider
- Fixed memory leak in the SQLite provider
- Fixed bug with the Currency parameter type support in ODBC provider
- Fixed bug in TUniDump with backup boolean fields in the InterBase provider
- Fixed bug with processing Unicode in BLOB parameters in the InterBase provider
- Fixed bug with processing parameters of stored procedures in the InterBase provider

#### 3.50.0.14 08-Dec-10

- Added encryption support in the SQLite provider
- Added calling the BeforeExecute event for the Open and Refresh dataset operations.
- Fixed the Detail dataset refreshing (for Master-Detail datasets) after connection loss in the LocalFailover mode
- Fixed bug with refreshing record for Master-Detail datasets
- Fixed bug when user's value was overridden by the sequence value in the smPost sequence mode in the Oracle provider
- Improved performance of INSERT, UPDATE, DELETE, and SELECT queries that return few records in the PostgreSQL provider
- Fixed sorting order for columns that contain NULL values if sort is defined by the IndexFieldNames property in the PostgreSQL provider

#### 3.50.0.13 04-Nov-10

- PostgreSQL 9.0 supported
- Added checking that dataset is open on calling the TDataSet.Locate method
- Improved table names detecting inside SQL queries for the UpdatingTable property in the PostgreSQL provider
- Fixed bug with table or view names that contain single quotes (for example, 'name') in the PostgreSQL provider
- Fixed bug with selecting Unique Key instead of Primary Key as a Key field in the Oracle provider
- Fixed bug with fetching data in the Direct mode in the Oracle provider
- Fixed bug with updating NVARCHAR fields in the Direct mode with OCIUnicode=true in the Oracle provider
- Fixed bug with decoding data on loading XML
- Fixed bug in the Migration wizard with migrating parameters in the date format
- Fixed bug in Migration Wizard with adding unnecessary spaces

#### 3.50.0.12 13-Sep-10

- Embarcadero RAD Studio XE suppored
- Fixed bug with AL32UTF8 and ZHS16GBK encoding for Oracle in OCI and Direct modes. Now field size and strings storing in these encodings is correct.
- Fixed bug with filling default expression for fields in the design mode for inactive dataset
- Fixed bug with the LIKE keyword in the TDataSet.Filter property

#### 3.00.0.11 13-Aug-10

- Changed the LocateEx method behavior: now LocateEx centers records equal to Locate
- Added the OnBeforeExecute event
- Added function ActiveMacroValueByName that returns macros value for the current data provider
- Added UTF sorting for the SQLite database
- Added support for extended SQL for MS Access (set the ExtendedAnsiSQL specific option to 1)
- Fixed bug with saving OleObjects for the Access database
- Fixed bug with processing parameters used in the BeforeUpdateExecute event handler
- Fixed bug with RefreshRecord and numbers with floating point
- Fixed bug in Migration Wizard with converting units in the UTF8 and UTF16 encoding

#### 3.00.0.10 24-Jun-10

- Added ability to lock records in the CachedUpdate mode
- Added overloaded declaration of the ApplyUpdates method to choose update kind
- Fixed bug with quote that first character inside quoted string for the Filter property
- Fixed bug in TCRBatchMove with processing RecordCount
- Fixed UniLoader bug with loading data
- Fixed bug with processing added parameters in the BeforeUpdateExecute event handler
- Fixed bug with SSL connection to PostgreSQL
- Fixed bug with setting SpecificOptions for Lazarus

#### 3.00.0.9 26-May-10

- Fixed bug with ODBC provider and Nexus DB that generates the "Option 5 not supported" message
- Fixed bug with ODBC provider when long strings were read with excess zeros (#0 char) inside.
- Fixed bug with the UNSIGNED BIG INT data type for SQLite database: now the UNSIGNED BIG INT data type is represented by TLargeintField
- Fixed bug with processing UniSQL in the TUniConnection.ExecProc method
- Fixed problem with processing TBCDField for SQL Server

#### 3.00.0.8 09-Apr-10

- Added the BreakExec method
- Added support of ONLY lexeme in the FROM statement for PostgreSQL
- Fixed bug with comparing Date field values on optimistic locking
- Fixed bug in the AddWhere, DeleteWhere, SetOrderBy, and GetOrderBy methods for Tables
- Fixed bug with calculating RecNo in CachedUpdates mode
- Fixed bug with getting Database Info
- Fixed bug with "Insert into Table () values ()" when all fields are empty
- User_name in metadata changed to schema_name for SQL Server

#### 3.00.0.7 04-Mar-10

- Ability to use Access system database added
- Added DetectFieldsOnPrepare parameter for NexusDB ODBC driver
- Added ability to send call stack information to the dbMonitor component
- Fixed bug with refreshing record when using master/detail relationship
- Fixed bug with LocalUpdate in the CachedUpdates mode
- Fixed bug with displaying nvarchar2 fields when UseUnicode is true
- Fixed bug with getting IndexFieldNames list in design time
- Fixed several bugs with getting information about SQLite database using the TUniMetadata component
- Fixed bug with processing TableInfo for SQLite
- Fixed bug with DBMonitor for C++ Builder 6

#### 3.00.0.6 26-Jan-10

- Added OnStart, OnCommit, OnRollback events to TDATransaction
- Fixed problem with using TLargeintField in master/detail
- Fixed bug with refreshing record when RefreshOptions.roBeforeEdit is set and LockMode = lmPessimistic
- Fixed bug with setting labels caption of TUniConnectDialog when LabelSet = lsCustom
- Fixed bug with setting EOF when FetchAll=False in the PostgreSQL provider
- Fixed bug with processing TIME fields for SQL Server 2008

#### 3.00.0.5 01-Dec-09

- Added TUniAlerter component
- Added support for dbMonitor 3
- Fixed bug with updating table, that has field name, representing a valid hexadecimal number
- Fixed bug with updating field value with preceding spaces when TrimFixedChar or TrimVarChar = True
- Fixed bug with executing large file in UTF-8 format
- Fixed bug with AssignConnect in the ODBC-based providers

#### 3.00.0.4 12-Nov-09

- Now Required flag is set for UpdatingTable fields only
- Fixed bug with detecting parameter size for MBCS strings
- Fixed problem with detecting slash with text after it as a delimiter in TDAScript
- Fixed bug with SetOrderBy and SetWhere when there is no space before ORDER or WHERE
- Fixed bug with executing large file in Unicode format
- Added support for XML data type in the SQL Server provider
- Fixed bug with fetching fields that come after BLOB fields in the ODBC-based providers
- Fixed bug with parsing table name in the ASE provider

#### 3.00.0.3 13-Oct-09

- Now setting the SetFieldsReadOnly option to False makes all fields not readonly
- Now the AssignConnect method copies transaction state
- Fixed bug with locating records using the LocateEx method and the lxNearest option
- Fixed bug with AV failure in MemData
- Fixed bug with SQL Generator in design-time
- Fixed problem with help registration under RAD Studio 2010
- Fixed problem with loading DataSet Manager under RAD Studio 2010
- Fixed problem with providers registration under RAD Studio 2010
- Added support for GUID data type in the ODBC-based providers
- Added support for autoincrement fields in the Access, Advantage, and DB2 providers
- Added the ServerTypes specific option for the Advantage provider
- Added support for *.accdb databases in the Access provider
- Fixed error on connect under Windows Vista / 7 in the Access provider

#### 3.00.0.2 10-Sep-09

- Embarcadero RAD Studio 2010 suppored
- DB2, Microsoft Access, Advantage Database Server, Adaptive Server Enterprise, and other databases (using ODBC provider) support added
- Now the subdetail is refreshed before the AfterRefresh event of the detail is called
- ConnectionTimeout is now used when resolving the host name

#### 2.70.0.11 01-Sep-09

- Added support for Unified SQL in the FilterSQL property of TCustomUniDataSet
- Now the value from the master dataset has priority over the DefaultExpression value
- Fixed bug with not unlocking record in the CachedUpdates mode if no fields were changed
- Fixed bug with parsing TDAScript.Statements
- Fixed bug with RefreshQuick for query with fields that have similar names in several tables
- Fixed bug with parsing literal ':' as parameter in the Oracle provider
- Fixed bug with converting EOL for LONG RAW fields in the Oracle provider
- Added support for using different client libraries simultaneously in the InterBase provider
- Added DescribeParams specific option for the InterBase provider
- Added support for automatic starting a transaction when FetchAll=False in the PostgreSQL provider
- Fixed bug with FetchAll=False and inline comment at the end of SQL in the PostgreSQL
- Added the EmbeddedParams connection option for the MySQL provider
- Fixed bug with UseUnicode ignored for TEXT fields in the SQLite provider

#### 2.70.0.9 24-Jun-09

- Fixed bug with local sorting in CachedUpdates mode
- Fixed bug with raising exceptions on locating records when IndexFieldNames is set
- Fixed bug with calculating connection count in Disconnected mode
- Fixed bug with calling the OnError event on connection failure when Pooling is enabled
- Fixed bug with macros in TDAScript
- Fixed bug with database name containing multibyte characters in the InterBase provider
- Fixed problem with default values with leading blanks in the InterBase provider
- Fixed problem with QueryRecCount option and FROM keyword inside a field list in the InterBase provider
- Fixed incorrect authentification and disconnect messages in the PostgreSQL provider
- Fixed bug with restoring after the error on operations with large object in the PostgreSQL provider

#### 2.70.0.8 27-May-09

- SQLite support added
- Added the Disconnected property to TCustomDADataSet
- Added distinction between empty string and null value when saving/loading string fields in TVirtualTable
- Fixed bug with the GotoCurrent method
- Fixed bug with LocalMasterDetail and Prepare method
- Fixed bug with FullRefresh and macros
- Fixed bug with PSInTransaction returning True when no transaction is explicitly started (InterBase provider)
- Fixed bug with TUniStoredProc not alowing data editing for the SQL Server provider
- Fixed bug with Unified SQL and stored procedure call for the SQL Server provider
- Added the UseParamTypes specific option for the PostgreSQL provider
- Fixed bug with not closing portal for prepared statements in the PostgreSQL provider
- Added support for TQuery.DataSource property in BDE Migration Wizard

#### 2.50.0.6 02-Apr-09

- Unified SQL support

  Unified SQL allows to write truly database-independent SQL code. Unified SQL includes:

  ##### Macros

  - in Unified SQL macros can evaluate to a different value depending on the provider used by the TUniConnection component.

  ##### If

  - for the purpose of extra flexibility Unified SQL supports conditional inclusion of SQL code into resulting statements. This allows to set different SQL for different DBMS.

  ##### Functions

  - introduce standard for calling common SQL functions. In run time function is transformed either to the corresponding native function, or to an equivalent expression.

  ##### Literal

  - provides universal syntax for date, time, and timestamp literals.
- TUniLoader component

  serves for fast loading of data to the database. For each type of database server TUniLoader uses its specific interfaces for loading with maximum speed. For example, Oracle Direct Path Load interface is used for Oracle.

- TUniDump component

  serves to store data from tables or editable views as a script and to restore data from a received script.

- TUniConnection.AssignConnect method

  shares physical connection between several TUniConnection components

- Added support for Free Pascal under Linux
- Added NoPreconnect property to TUniScript for executing CONNECT and CREATE DATABASE commands
- Added DMLRefresh support in the PostgreSQL provider
- Fixed bug with DetailDelay and refreshing closed dataset
- Fixed bug with detecting DBMonitor on 64-bit Windows
- Fixed bug with not calling UnregisterClient for internal command of dataset
- Fixed bug with refreshing record when RefreshOptions.roBeforeEdit is set and LockMode = lmImmediate
- Fixed bug with executing ApplyUpdates when LockMode=lmOptimistic in the CachedUpdates mode for the SQL Server and MySQL providers

#### 2.00.0.4 26-Feb-09

- Fixed bug with not working CachedUpdates in TVirtualTable
- Fixed bug with suppressing errors in TVirtualTable.LoadFromFile
- Fixed problem with restoring current row after refresh
- Fixed bug when statements, executed on TClientDataSet.ApplyUpdates, were not shown in DBMonitor
- Fixed access violation on the TClientDataSet.ApplyUpdates call
- Avoided bug in Delphi 2006 and above with the BcdCompare function
- Added Unicode support for NVARCHAR fields in the Direct mode of the Oracle provider
- Fixed bug with character set used for SQL statements in the Direct mode of the Oracle provider
- Fixed bug with decoding Unicode surrogate pairs in the InterBase provider
- Fixed bug with field names starting with RET_ in the InterBase provider
- Fixed bug with not executing prepared statement for the second time in the PostgreSQL provider
- Fixed memory leak in the UniDirectional mode in the PostgreSQL provider
- Fixed bug with detecting read-only fields when ExtendedFieldsInfo=False in the PostgreSQL provider
- Fixed bug with reading large objects with size more than 64 Kb in the PostgreSQL provider

#### 2.00.0.3 06-Jan-09

- Fixed bug with treating some string elements as equal by CompareString
- Fixed several bugs in the PostgreSQL provider

#### 2.00.0.2 09-Dec-08

- PostgreSQL support added
- Added UseWideMemos specific option of TUniConnection to the SQL Server provider
- Fixed bug with changing values of ptUnknown parameters on Execute
- Fixed bug for Delphi 2009 with updating varchar fields which contain Unicode symbols
- Fixed bug with ftSmallint fields in the Direct mode of the Oracle provider

#### 1.20.0.13 19-Nov-08

- Fixed bug with field names containing '.'
- Fixed bug with assertion failure on editing components in design time for Delphi 5
- Fixed several bugs in DataSet Manager
- Fixed bug in Migration Wizard with converting binary forms in Delphi 2009
- Added calling the TfrxReport.OnBeforeConnect event when TfrxDACDatabase is connecting
- Fixed bug with name compatibility with ReportBuilder

#### 1.20.0.12 23-Oct-08

- Delphi 2009 and C++Builder 2009 supported
- Extended Unicode support for Delphi 2007 added (special Unicode build)
- Free Pascal 2.2 supported
- Powerful design-time editors implemented in Lazarus
- Completed with more comprehensive structured Help

#### 1.00.0.10 22-Sep-08

- Improved working with master/detail relationship when LocalMasterDetail=True
- Fixed bug with access violation on getting OldValue for BLOB fields
- Fixed bug with ConvertEOL option for string parameters
- Fixed bug with mapping empty strings to NULL in string fields
- Fixed bug with default character set used in the Direct mode for Chinese in the Oracle provider
- Fixed bug with the IsNull property for output string parameters in the InterBase provider
- Fixed bug with parsing RETURNING clause in the InterBase provider

#### 1.00.0.8 21-Aug-08

- Added support for CREATE DATABASE, DROP DATABASE, CONNECT, SET statements in TUniScript for the InterBase provider
- Access violation on calling TClientDataSet.ApplyUpdates fixed
- Fixed memory leak with TIMESTAMP fields in the Oracle provider
- Fixed bug with the DeferredLobRead option in the Unicode mode in the Oracle provider
- Fixed bug with adding #0 to the end of Unicode BLOB values in the InterBase provider
- Fixed bug with Unicode string output parameters in the InterBase provider

#### 1.00.0.7 11-Jul-08

- Added support of NOT LIKE keyword in the TDataSet.Filter property
- Added ability to recognize unquoted True/False values in DefaultExpression
- Improved working with master/detail on inserting new records
- Fixed bug with autocommit after deleting records
- Fixed several bugs when working with inactive datasets
- Fixed bug with filtering by TLargeIntField
- Fixed bug with calling the OnError event when LocalFailover is set to True
- Fixed bug with exception class in the TUniConnection.OnError event
- Fixed bug with the Prepare method and string parameters in Oracle provider
- Fixed bug with not using UpdateTransaction for TClientDataSet.ApplyUpdates in InterBase provider
- Added ability to call Code Editor from component editors

#### 1.00.0.6 11-Jun-08

- Fixed bug with the SetOrderBy method
- Fixed bug with AV failure on assigning the OnFilterRecord event handler
- Fixed bug with determining primary key fields
- Fixed bug with generating update SQL with IS NULL in the WHERE clause at design-time
- Fixed bug with IsQuery property not reseting on SQL changing in Oracle provider
- Fixed bug with calculated ftDate and ftTime fields in Oracle provider
- Fixed bug with size of ftWideString parameters in Oracle provider
- Fixed bug with ptUnknown parameter values loss after execute in InterBase provider

#### 1.00.0.5 23-May-08

- Added ability to get LastInsertId for MySQL
- Added BooleanDomainFields specific option for InterBase
- Improved work with master/detail
- Fixed bug with not freeing parameter objects on disconnect
- Fixed bug with updating data in TClientDataSet
- Fixed bug with parsing specific option values containing points
- Fixed bug with interpreting empty string parameters as NULL by InterBase provider
- Fixed bug with the QueryRecCount option and inline comment at the end of SQL statement in Oracle provider

#### 1.00.0.4 23-Apr-08

- The first release of UniDAC

© 1997-2014 Devart. All rights reserved.