Add the "%PreLoadSQLite_AssemblyDirectory%", "%PreLoadSQLite_TargetFramework%", and "%PreLoadSQLite_XmlConfigDirectory%" replacement tokens for use in configuration setting values. Pursuant to [d4728aecb7].

Prevent the GetByte, GetChar, and GetInt16 methods of the SQLiteDataReader class from throwing exceptions for large integer values. Pursuant to [5535448538]. ** Potentially Incompatible Change **

Use SAVEPOINTs to properly implement nested transactions when the new AllowNestedTransactions connection flag is used. Pursuant to [1f7bfff467].

When converting a Julian Day value to an integer, round to the nearest millisecond first. Pursuant to [69cf6e5dc8]. ** Potentially Incompatible Change **

Modify handling of the design-time components installer to run Visual Studio devenv.exe /setup after installing the package. This appears to be necessary in some circumstances for Visual Studio 2013. Pursuant to [a47eff2c71].

Modify the native library pre-loader to support reading settings from an XML configuration file and to be capable of checking more than one directory. Persuant to [f0246d1817].

Support detecting when the native library pre-loader should use the CodeBase property instead of the Location property as the basis for locating the interop assembly.

Change the default behavior for the native library pre-loader so it first searches the executing (i.e. System.Data.SQLite) assembly directory and then the application domain directory. Pursuant to [f0246d1817]. ** Potentially Incompatible Change **

Include DbType.AnsiString in the list of types that need special ColumnSize handling. Fix for [0550f0326e].

Support automated testing when running on the .NET Compact Framework 2.0.

Skip checking loaded assemblies for types tagged with the SQLiteFunction attribute when the No_SQLiteFunctions environment variable is set. Pursuant to [e4c8121f7b].

Add HexPassword connection string property to work around the inability to include a literal semicolon in a connection string property value. Pursuant to [1c456ae75f].

Add static Execute method to the SQLiteCommand class.

Support custom connection pool implementations by adding the ISQLiteConnectionPool interface, the static SQLiteConnection.ConnectionPool property, and the static CreateHandle method in addition to modifying the SQLiteConnectionPool class. Pursuant to [393d954be0].

Add public constructor to the SQLiteDataAdapter class that allows passing the parseViaFramework parameter to the SQLiteConnection constructor.

When built with the CHECK_STATE compile-time option, skip throwing exceptions from the SQLiteDataReader class when the object is being disposed.

Acquire and hold a static data lock while checking if the native SQLite library has been initialized to prevent a subtle race condition that can result in superfluous error messages. Fix for [72905c9a77].

Support tracing of all parameter binding activity and use the connection flags to control what is traced.

When converting a DateTime instance of an "Unspecified" kind to a string, use the same kind as the connection, if available.

Add overload of the SQLiteDataReader.GetValues method that returns a NameValueCollection.

Add static ToUnixEpoch method to the SQLiteConvert class to convert a DateTime value to the number of whole seconds since the Unix epoch.

In the implicit conversion operators (to IntPtr) for both the SQLiteConnectionHandle and SQLiteStatementHandle classes, return IntPtr.Zero if the instance being converted is null.

Write warning message to the active trace listeners (for the Debug build configuration only) if a column type or type name cannot be mapped properly. See [4bbf851fa5].

When tracing SQL statements to be prepared, bypass the internal length limit of the sqlite3_log function by using the SQLiteLog class directly instead. Also, detect null and/or empty strings and emit a special message in that case.

For the setup, the Visual Studio task should only be initially checked if the GAC task is available and vice-versa.

Improve compatibility with custom command processors by using __ECHO instead of _ECHO in batch tools.

Add OpenAndReturn method to the SQLiteConnection class to open a connection and return it.

Add missing CheckDisposed calls to the SQLiteConnection class.

Add missing throw statement to the SQLiteConnection class.

Make sure the interop project uses /fp:precise for Windows CE.

Regenerate package load key to support loading the designer package into Visual Studio 2008 without having the matching SDK installed.

Modify transaction object disposal so that it can never cause an exception to be thrown.

1.0.79.0 - January 28, 2012

Use the WoW64 registry keys when installing the VS designer components on 64-bit Windows. Fix for [d8491abd0b].

Correct resource name used by the LINQ assembly to locate several key string resources. Fix for [fbebb30da9].

Plug native memory leak when closing a database connection containing a statement that cannot be finalized for some reason.

The SQLite3 class should always attempt to dispose the contained SQLiteConnectionHandle, even when called via the finalizer.

When compiled with DEBUG defined, emit diagnostic information related to resource cleanup to any TraceListener objects that may be registered.

Stop characterizing all log messages as errors. From now on, if the errorCode is zero, the message will not be considered an error.

Never attempt to configure the native logging interface if the SQLite core library has already been initialized for the process. Fix for [2ce0870fad].

Allow the SQLiteLog class to be used for logging messages without having an open connection.

Support building the core System.Data.SQLite assemblies using the .NET Framework 4.0 Client Profile. Fix for [566f1ad1e4].

When generating the schema based on the contents of a SQLiteDataReader, skip flagging columns as unique if the data reader is holding the result of some kind of multi-table construct (e.g. a cross join) because we must allow duplicate values in that case. Fix for [7e3fa93744].

When returning schema information that may be used by the .NET Framework to construct dynamic SQL, use a fake schema name (instead of null) so that the table names will be properly qualified with the catalog name (i.e. the attached database name). Partial fix for [343d392b51].

Add SQLiteSourceId property to the SQLiteConnection class to return the SQLite source identifier.

Add MemoryUsed and MemoryHighwater properties to the SQLiteConnection class to help determine the memory usage of SQLite.