# `zombiezen.com/go/sqlite` Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). [Unreleased]: https://github.com/zombiezen/go-sqlite/compare/v0.8.0...main ## [0.8.0][] - 2021-11-07 Version 0.8 adds new transaction functions to `sqlitex`. [0.8.0]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.8.0 ### Added - Added `sqlitex.Transaction`, `sqlitex.ImmediateTransaction`, and `sqlitex.ExclusiveTransaction`. ## [0.7.2][] - 2021-09-11 [0.7.2]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.7.2 ### Fixed - Updated `modernc.org/sqlite` dependency to a released version instead of a prerelease ## [0.7.1][] - 2021-09-09 [0.7.1]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.7.1 ### Added - Added an example to `sqlitemigration.Schema` ## [0.7.0][] - 2021-08-27 [0.7.0]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.7.0 ### Added - `sqlitemigration.Schema` has a new option for disabling foreign keys for individual migrations. This makes it easier to perform migrations that require [reconstructing a table][]. ([#20](https://github.com/zombiezen/go-sqlite/issues/20)) [reconstructing a table]: https://sqlite.org/lang_altertable.html#making_other_kinds_of_table_schema_changes ### Changed - `sqlitemigration.Migrate` and `*sqlitemigration.Pool` no longer use a transaction to apply the entire set of migrations: they now only use transactions during each individual migration. This was never documented, so in theory no one should be depending on this behavior. However, this does mean that two processes trying to open and migrate a database concurrently may race to apply migrations, whereas before only one process would acquire the write lock and migrate. ### Fixed - Fixed compile breakage on 32-bit architectures. Thanks to Jan Mercl for the report. ## [0.6.2][] - 2021-08-17 [0.6.2]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.6.2 ### Changed - `*sqlitex.Pool.Put` now accepts `nil` instead of panicing. ([#17](https://github.com/zombiezen/go-sqlite/issues/17)) ## [0.6.1][] - 2021-08-16 [0.6.1]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.6.1 ### Fixed - Fixed a potential memory corruption issue introduced in 0.6.0. Thanks to Jan Mercl for the report. ## [0.6.0][] - 2021-08-15 [0.6.0]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.6.0 ### Added - Added back the session API: `Session`, `ChangesetIterator`, `Changegroup`, and various functions. There are some slight naming changes from the `crawshaw.io/sqlite` API, but they can all be migrated automatically with the migration tool. ([#16](https://github.com/zombiezen/go-sqlite/issues/16)) ### Changed - Method calls to a `nil` `*sqlite.Conn` will return an error rather than panic. ([#17](https://github.com/zombiezen/go-sqlite/issues/17)) ### Removed - Removed `OpenFlags` that are only used for VFS. ### Fixed - Properly clean up WAL when using `sqlitex.Pool` ([#14](https://github.com/zombiezen/go-sqlite/issues/14)) - Disabled double-quoted string literals. ## [0.5.0][] - 2021-05-22 [0.5.0]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.5.0 ### Added - Added `shell` package with basic [REPL][] - Added `SetAuthorizer`, `Limit`, and `SetDefensive` methods to `*Conn` for use in ([#12](https://github.com/zombiezen/go-sqlite/issues/12)) - Added `Version` and `VersionNumber` constants [REPL]: https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop ### Fixed - Documented compiled-in extensions ([#11](https://github.com/zombiezen/go-sqlite/issues/11)) - Internal objects are no longer susceptible to ID wraparound issues ([#13](https://github.com/zombiezen/go-sqlite/issues/13)) ## [0.4.0][] - 2021-05-13 [0.4.0]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.4.0 ### Added - Add Context.Conn method ([#10](https://github.com/zombiezen/go-sqlite/issues/10)) - Add methods to get and set auxiliary function data ([#3](https://github.com/zombiezen/go-sqlite/issues/3)) ## [0.3.1][] - 2021-05-03 [0.3.1]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.3.1 ### Fixed - Fix conversion of BLOB to TEXT when returning BLOB from a user-defined function ## [0.3.0][] - 2021-04-27 [0.3.0]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.3.0 ### Added - Implement `io.StringWriter`, `io.ReaderFrom`, and `io.WriterTo` on `Blob` ([#2](https://github.com/zombiezen/go-sqlite/issues/2)) - Add godoc examples for `Blob`, `sqlitemigration`, and `SetInterrupt` - Add more README documentation ## [0.2.2][] - 2021-04-24 [0.2.2]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.2.2 ### Changed - Simplified license to [ISC](https://github.com/zombiezen/go-sqlite/blob/v0.2.2/LICENSE) ### Fixed - Updated version of `modernc.org/sqlite` to 1.10.4 to use [mutex initialization](https://gitlab.com/cznic/sqlite/-/issues/52) - Fixed doc comment for `BindZeroBlob` ## [0.2.1][] - 2021-04-17 [0.2.1]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.2.1 ### Fixed - Removed bogus import comment ## [0.2.0][] - 2021-04-03 [0.2.0]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.2.0 ### Added - New migration tool. See [the README](https://github.com/zombiezen/go-sqlite/blob/v0.2.0/cmd/zombiezen-sqlite-migrate/README.md) to get started. ([#1](https://github.com/zombiezen/go-sqlite/issues/1)) ### Changed - `*Conn.CreateFunction` has changed entirely. See the [reference](https://pkg.go.dev/zombiezen.com/go/sqlite#Conn.CreateFunction) for details. - `sqlitex.File` and `sqlitex.Buffer` have been moved to the `sqlitefile` package - The `sqlitefile.Exec*` functions have been moved to the `sqlitex` package as `Exec*FS`. ## [0.1.0][] - 2021-03-31 Initial release [0.1.0]: https://github.com/zombiezen/go-sqlite/releases/tag/v0.1.0