Artifact a9a45e0c2aa2e9eec3e34ba11502b25b21a59cbe:
- File www/news.wiki — part of check-in [9dfa1577a6] at 2012-07-21 06:56:13 on branch trunk — Change the default value for the Synchronous connection string property to Full to match the default used by the SQLite core library itself. Add the ability to skip applying default connection settings to opened databases via the new SetDefaults connection string property. Add the FullUri connection string property to the SQLiteConnectionStringBuilder class. Refactor and enhance all the connection string property handling code in the SQLiteConnection.Open method. Consistently use the three argument overload of the String.Format method (i.e. the one that takes a CultureInfo). (user: mistachkin size: 17110)
News
Version History
1.0.82.0 - September XX, 2012 (release scheduled)
- Updated to SQLite 3.7.14.
- The primary NuGet package now supports x86 / x64 and the .NET Framework 2.0 / 4.0 (i.e. in a single package).
- Change the default value for the Synchronous connection string property to Full to match the default used by the SQLite core library itself. ** Potentially Incompatible Change **
- Add the ability to skip applying default connection settings to opened databases via the new SetDefaults connection string property.
- Fix the database cleanup ordering in the tests for ticket [343d392b51].
- Add support for the sqlite3_close_v2 function from the SQLite core library.
- Add support for URI file names via the new FullUri connection string property.
- Improve support for the standard SQLite core library in the LINQ assembly and the test suite.
- Add SetMemoryStatus static method to the SQLiteConnection class.
- Improve threaded handling of the delegate used by the SQLiteLog class.
- Add define constants to support enabling or disabling individual groups of trace statements.
1.0.81.0 - May 27, 2012
- Updated to SQLite 3.7.12.1.
- Support compiling the interop assembly without support for the custom extension functions and the CryptoAPI based codec.
- Add DefineConstants property to the SQLiteConnection class to return the list of define constants used when compiling the core managed assembly.
- Add release archive verification tool to the release automation.
- Fix NullReferenceException when calling the SQLiteDataAdapter.FillSchema method on a query that returns multiple result sets. Fix for [3aa50d8413].
- Fix subtle race condition between threads fetching connection handles from the connection pool any garbage collection (GC) threads that may be running. Fix for [996d13cd87].
- Add missing call to SetTimeout in the SQLite3_UTF16.Open method.
- Add checks to prevent the SQLiteConnectionPool.Remove method from returning any connection handles that are closed or invalid.
- Modify static SQLiteBase helper methods to prevent them from passing IntPtr.Zero to the SQLite native library.
- Remove static locks from the static helper methods in the SQLiteBase class, replacing them with a lock on the connection handle instance being operated upon.
- Revise CriticalHandle derived classes to make them more thread-safe.
- Add connection pool related diagnostic messages when compiled with the DEBUG define constant.
- Add PoolCount property to the SQLiteConnection class to return the number of pool entries for the file name associated with the connection.
- Rename internal SQLiteLastError methods to GetLastError.
- Add assembly file test constraints to all tests that execute the "test.exe" or "testlinq.exe" files.
1.0.80.0 - April 1, 2012
- Updated to SQLite 3.7.11.
- In the SQLiteFunction class, when calling user-provided methods from a delegate called by native code, avoid throwing exceptions, optionally tracing the caught exceptions. Fix for [8a426d12eb].
- Add Visual Studio 2005 support to all the applicable solution/project files, their associated supporting files, and the test suite.
- Add Visual Studio 2005 support to the redesigned designer support installer.
- Add experimental support for "pre-loading" the native SQLite library based on the processor architecture of the current process. This feature is now enabled by default at compile-time.
- Add support for the native SQLite Online Backup API. Fix for [c71846ed57].
- 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].
1.0.78.0 - January 27, 2012
- Updated to SQLite 3.7.10
- Redesign the VS designer support installer and integrate it into the setup packages.
- When emitting SQL for foreign keys in the VS designer, be sure to take all returned schema rows into account. Remainder of fix for [b226147b37].
- Add Flags connection string property to control extra behavioral flags for the connection.
- Refactor all IDisposable implementations to conform to best practices, potentially eliminating leaks in certain circumstances.
- Even more enhancements to the build and test automation.
- Support parameter binding to more primitive types, including unsigned integer types.
- Recognize the TIMESTAMP column data type as the DateTime type. Fix for [bb4b04d457].
- Prevent logging superfluous messages having to do with library initialization checking. Fix for [3fc172d1be].
- Support the DateTimeKind and BaseSchemaName connection string properties in the SQLiteConnectionStringBuilder class. Fix for [f3ec1e0066].
- Overloads of the SQLiteConvert.ToDateTime and SQLiteConvert.ToJulianDay methods that do not require an instance should be static. Partial fix for [4bbf851fa5]. ** Potentially Incompatible Change **
1.0.77.0 - November 28, 2011
- Updated to SQLite 3.7.9
- More enhancements to the build and test automation.
- 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.
- Add DateTimeKind connection string property to control the DateTimeKind of parsed DateTime values. Partial fix for [343d392b51]. ** Potentially Incompatible Change **
- Improve the robustness of the SQLiteLog class when it will be initialized and unloaded multiple times.
- Fix the name of the interop assembly for Windows CE. Add unit tests to prevent this type of issue from happening again. Fix for [737ca4ff74].
- Formally support the SQL type name BOOLEAN in addition to BOOL. Fix for [544dba0a2f].
- Make sure the SQLiteConvert.TypeNameToDbType method is thread-safe. Fix for [84718e79fa].
1.0.76.0 - October 4, 2011
- Prevent the domain unload event handler in SQLiteLog from being registered multiple times. Fix for [0d5b1ef362].
- Stop allowing non-default application domains to initialize the SQLiteLog class. Fix for [ac47dd230a].
1.0.75.0 - October 3, 2011
- Updated to SQLite 3.7.8
- More enhancements to the build system.
- Add official NuGet packages for x86 and x64.
- Add Changes and LastInsertRowId properties to the connection class.
- Support more formats when converting data from/to the DateTime type.
- Make all the assembly versioning attributes consistent.
- Add unit testing infrastructure using Eagle.
- Integrate all legacy unit tests, including the "testlinq" project, into the new test suite.
- Add projects to build the interop assembly statically linked to the Visual C++ runtime. Fix for [53f0c5cbf6].
- Add SQLITE_ENABLE_STAT2 compile-time option to the interop assembly. Fix for [74807fbf27].
- Fix mutex issues exposed when running the test suite with the debug version of SQLite.
- Fix transaction enlistment when repeated attempts are made to enlist in the same transaction. Fix for [ccfa69fc32].
- Support the SQLITE_FCNTL_WIN32_AV_RETRY file control to mitigate the impact of file sharing violations caused by external processes.
- Refactor the logging interface to be thread-safe and self-initializing.
- Shutdown the SQLite native interface when the AppDomain is being unloaded. Fix for [b4a7ddc83f].
- Support Skip operation for LINQ using OFFSET. Fix for [8b7d179c3c].
- Support EndsWith operation for LINQ using SUBSTR. Fix for [59edc1018b].
- Support all SQLite journal modes. Fix for [448d663d11].
- Do not throw exceptions when disposing SQLiteDataReader. Fix for [e1b2e0f769].
- The REAL type should be mapped to System.Double. Fix for [2c630bffa7] and [b0a5990f48].
- Minor optimization to GetParamValueBytes(). Fix for [201128cc88].
- Support the ON UPDATE, ON DELETE, and MATCH clause information when generating schema metadata for foreign keys. Partial fix for [b226147b37]. VS designer changes are not yet tested.
- Fix incorrect resource name for SR.resx in the mixed-mode assembly.
- Reduce the number of String.Compare() calls in the hot path for SQLiteCommand.ExecuteReader().
1.0.74.0 - July 4, 2011
- Updated to SQLite 3.7.7.1
- Fix incorrect hard-coded .NET Framework version information SQLiteFactory_Linq.cs that was causing IServiceProvider.GetService to fail when running against the .NET Framework 3.5.
- Fix all XML documentation warnings.
- Restore support for the mixed-mode assembly (i.e. the one that can be registered in the Global Assembly Cache).
- Restore support for the Compact Framework.
- Remove unused "using" statements from the System.Data.SQLite and System.Data.SQLite.Linq projects.
- Remove hard-coded System.Data.SQLite.Linq version from SQLiteFactory_Linq.cs
- Modify the setup to support bundled packages (i.e. with the mixed-mode assembly) and standard packages (i.e. with the managed assembly separate from the native interop library).
- Disable the ability to register with the Global Assembly Cache in the standard setup package (i.e. it is available in the bundled setup only).
- Remove PATH modification from the setup.
- Modify the naming scheme for the source, setup, and binary packages to allow for the necessary variants.
- In the build automation, attempt to automatically detect if Visual Studio 2008 and/or 2010 are installed and support building binaries for both at once, when available.
- Add release automation to build the source, setup, and binary packages in all supported build variants.
- Add the testlinq project to the new build system and make it work properly with Visual Studio 2008 and 2010.
1.0.73.0 - June 2, 2011
- Updated to SQLite 3.7.6.3
- Minor optimization to GetBytes(). Fix for [8c1650482e].
- Update various assembly information settings.
- Correct System.Data.SQLite.Linq version and resource information. Fix for [6489c5a396] and [133daf50d6].
- Moved log handler from SQLiteConnection object to SQLiteFactory object to prevent if from being prematurely GCed.
- We should block x64 installs on x86 and we should install native only if the setup package itself is native. Fix for [e058ce156e].
1.0.72.0 - May 1, 2011
- Add the correct directory to the path. Fix for [50515a0c8e].
1.0.71.0 - April 27, 2011
- Updated to SQLite 3.7.6+ [1bd1484cd7] to get additional Windows error logging.
- Updated setup to optionally add install directory to PATH if GAC option selected.
1.0.69.0 - April 12, 2011
- Code merge with SQLite 3.7.6
- New VS2008 and VS2010 solution files
- Build and packaging automation
- New Inno Setup files
- Designer support currently not ready for release
1.0.68.0 - February 2011
- Code merge with SQLite 3.7.5
- Continuing work on supporting Visual Studio 2010
1.0.67.0 - January 3, 2011
- Code merge with SQLite 3.7.4
- Continuing work on supporting Visual Studio 2010