# Changelog for persistent-sqlite ## 2.10.1 * Add support for reading text values with null characters from the database. Fixes [#921](https://github.com/yesodweb/persistent/issues/921) ## 2.10.0 * Updated for `persistent-2.10.0` compatibility. ## 2.9.3 * Add retry-on-busy support, automatically retrying when sqlite returns a busy error on enabling WAL mode, and providing helper `retryOnBusy` and `waitForDatabase` identifiers. ## 2.9.2 * Add enableExtendedResultCodes and disableExtendedResultCodes functions ## 2.9.1 * Bump vendored SQLite library to [3.26.0](https://www.sqlite.org/releaselog/3_26_0.html) to address [RCE bug: `magellan`](https://blade.tencent.com/magellan/index_en.html). ## 2.9.0 * Added support for SQL isolation levels to via SqlBackend. [#812] SQLite technically only supports Serializable. * Update the vendored SQLite C library from 3.22.0 to 3.25.2. See [the SQLite changelog](https://sqlite.org/changes.html) for details. * Fix [832](https://github.com/yesodweb/persistent/issues/832): `repsertMany` now matches `mapM_ (uncurry repsert)` and is atomic. ## 2.8.2 * Add the `extraPragmas` setting ## 2.8.1.2 * Add flag to enable full-text search extensions (enabled by default) * Add flag to enable URI filename support (enabled by default) * Add flag to enable using usleep (enabled by default) - Enabling usleep allows sqlite to use a finer granularity when sleeping (reduces time between locks) * Add flag to enable json1 extension (enabled by default) ## 2.8.1.1 * Update the vendored SQLite C library from 3.19.3 to 3.22.0. See [the SQLite changelog](https://sqlite.org/changes.html) for details. ## 2.8.1 * Updated `SqlBackend` definition to set `connPutManySql`. [#770](https://github.com/yesodweb/persistent/pull/770) ## 2.8.0 * Switch from `MonadBaseControl` to `MonadUnliftIO` ## 2.6.4 * Adds a new function `stepConn`, which uses an additional parameter to give more detailed error messages [#750](https://github.com/yesodweb/persistent/pull/750) * Restores the previous function signature of `step`, which was accidentally changed in 2.6.3.2 ## 2.6.3.2 * This release accidentally broke API, and is deprecated on Hackage. * Provide more detailed error messages when using the `step` function [#730](https://github.com/yesodweb/persistent/pull/730) ## 2.6.3.1 * Fix migration to avoid creating foreign-key constraints in temporary tables [#736](https://github.com/yesodweb/persistent/pull/736) ## 2.6.3 * Add 'use-pkgconfig' flag to use pkg-config to find system SQLite library. ## 2.6.2.1 * Update the vendored SQLite C library from 3.12.1 to 3.19.3. See [the SQLite changelog](https://sqlite.org/changes.html) for details. ## 2.6.2 * Turned on foreign key constraints [#646](https://github.com/yesodweb/persistent/issues/646) * Added new `SqliteConnectionInfo`-based API ## 2.6.1 * Added functions to monitor (status) and control (softHeapLimit) process-wide SQLite memory usage. ## 2.6.0.1 * Ensure connection is closed if wrapConnectionWal fails ## 2.6 Compatibility for backend-specific upsert functionality. A lucky contributor could try to add upsert to the sqlite backend now. It would definitely be tricky though because sqlite does not really have this feature. http://stackoverflow.com/questions/418898/sqlite-upsert-not-insert-or-replace/4330694#4330694 ## 2.5.0.2 * Fix lstat workaround for https://ghc.haskell.org/trac/ghc/ticket/7072 on Mac OS X [#564](https://github.com/yesodweb/persistent/pull/564) ## 2.5.0.1 * Reapply workaround for https://ghc.haskell.org/trac/ghc/ticket/7072 [#561](https://github.com/yesodweb/persistent/pull/561) ## 2.5 * changes for read/write typeclass split ## 2.2.2 * Upgrade to SQLite 3.12.1 [#551](https://github.com/yesodweb/persistent/issues/551) ## 2.2.1 * Upgrade to SQLite 3.8.11.1 [#444](https://github.com/yesodweb/persistent/pull/444) ## 2.2 Update to persistent 2.2 ## 2.1.4.1 * Add missing source files [#382](https://github.com/yesodweb/persistent/issues/382) ## 2.1.4 * Add log support to persistent-sqlite [#381](https://github.com/yesodweb/persistent/pull/381) ## 2.1.3 * Added a `Show` instance for `SqliteConf`. * Use `SqliteException` instead of calling `fail` [#364](https://github.com/yesodweb/persistent/issues/364) ## 2.1.2 * Turn on write-ahead log [#363](https://github.com/yesodweb/persistent/issues/363) * Prepending `WAL=off ` to your connection string will recover the previous behavior. ## 2.1.1.1 Fix rendering of `UTCTime` to match SQLite requirements (see [issue #328](https://github.com/yesodweb/persistent/issues/328#issuecomment-65887577)). ## 2.1.1 Provide a `FromJSON` instance for `SqliteConf`.