Skip to content

Releases: zombiezen/go-sqlite

1.4.0

23 Sep 18:24
Compare
Choose a tag to compare

Version 1.4 adds the sqlitex.ResultBytes function and fixes several bugs.

Added

  • New function sqlitex.ResultBytes. (#86)

Changed

  • Conn.Close returns an error if the connection has already been closed (#101).
  • The minimum modernc.org/sqlite version updated to 1.33.1.

Fixed

  • sqlite3_initialize is now called from any top-level function to prevent race conditions during initialization. (#18).

1.3.0

04 May 18:34
Compare
Choose a tag to compare

Version 1.3 is largely a bug-fix release, but is a minor version change because of the new sqlitemigration.Pool.Take method.

Added

  • sqlitemigration.Pool now has a new method Take so that it implements a common interface with sqlitex.Pool (#97).
  • Documented OpenWAL behavior on sqlite.OpenConn.

Fixed

  • Address low-frequency errors with concurrent use of sqlitemigration (#99).
  • The error returned from sqlitex.NewPool when trying to open an in-memory database now gives correct advice (#92).

1.2.0

27 Mar 18:33
Compare
Choose a tag to compare

Version 1.2.0 adds a sqlitex.Pool.Take method and improves error messages.

Added

  • sqlitex.Pool has a new method Take which returns an error along with a Conn (#83).
  • sqlite.ErrorOffset is a new function that returns the SQL byte offset that an error references.

Changed

  • sqlite.Conn.Prep, sqlite.Conn.Prepare, and sqlite.Conn.PrepareTransient now include position information in error messages if available.
  • Many error messages around statement execution changed their format for better readability. Error messages are not stable API and should not be depended on.

Deprecated

  • The sqlitex.Pool.Get method has been deprecated in favor of the new Take method.

Fixed

  • Error messages no longer duplicate information from their error code (reported in #84).

1.1.2

14 Feb 17:29
Compare
Choose a tag to compare

Version 1.1.2 updates the modernc.org/sqlite version to 1.29.1 and makes further tweaks to busy-polling.

Changed

  • Set the maximum time between busy polls to 100 milliseconds (follow-on from #75).
  • The minimum modernc.org/sqlite version updated to 1.29.1 (#77).

1.1.1

02 Feb 17:09
Compare
Choose a tag to compare

Version 1.1.1 improves performance on write-contended workloads.

Fixed

  • Make busy-blocking more responsive (#75).

1.1.0

14 Jan 17:06
Compare
Choose a tag to compare

Version 1.1 introduces the ability to prepare connections on sqlitex.Pool, improves performance, and improves documentation.

Added

  • Added a sqlitex.NewPool function with support for a ConnPrepareFunc (#65).
  • Added a documentation example for SetCollation (#64).

Deprecated

  • Deprecated sqlitex.Open in favor of sqlitex.NewPool.

Fixed

  • Speed up internal string conversions (#66). Thank you @ffmiruz for the profiling work!

1.0.0

07 Dec 17:37
Compare
Choose a tag to compare

Version 1.0 is the first officially stable release of zombiezen.com/go/sqlite. It includes improved documentation and is cleaned up for current versions of Go. There are no breaking changes to the API: this release is more a recognition that the API has been stable and a promise that it will continue to be stable.

Added

  • Added *Stmt.ColumnIsNull and *Stmt.IsNull methods (#55).
  • Added more documentation to sqlitefile and sqlitex.

Changed

  • Replaced interface{} with any. This should be a compatible change.
  • The minimum supported Go version for this library is now Go 1.20.
  • The minimum modernc.org/sqlite version updated to 1.27.0.

Removed

  • Removed the io.* interface fields on sqlitefile.Buffer and sqlitefile.File. These were unused.
  • Removed the zombiezen.com/go/sqlite/fs package. It existed to help transition around Go 1.16, but is no longer useful.

0.13.1

15 Aug 18:02
Compare
Choose a tag to compare

Version 0.13.1 fixed a bug with the sqlitemigration package.

Fixed

  • sqlitemigration will no longer disable foreign keys during operation (#54).

0.13.0

28 Mar 22:08
Compare
Choose a tag to compare

Version 0.13 added support for user-defined collating sequences and user-defined virtual tables.

Added

  • Support user-defined collating sequences (#21).
  • Support user-defined virtual tables (#15).
  • New package ext/generateseries provides an optional generate_series table-valued function extension.
  • Exported the regexp function example as a new ext/refunc package.
  • Add *Conn.Serialize and *Conn.Deserialize methods (#52).

Changed

  • The minimum supported Go version for this library is now Go 1.19.

Fixed

  • The documentation for AggregateFunction.WindowValue incorrectly stated that it would not be called in non-window contexts. The sentence has been removed, but the behavior has not changed.

0.12.0

09 Feb 02:04
Compare
Choose a tag to compare

Version 0.12 added support for the online backup API.

Added

  • Added support for the online backup API (#47).
  • Documented the OpenFlags.

Changed

  • OpenNoMutex and OpenFullMutex no longer have an effect on sqlite.OpenConn. OpenNoMutex (i.e. multi-thread mode) is now the only supported mode. *sqlite.Conn has never been safe to use concurrently from multiple goroutines, so this is mostly to prevent unnecessary locking and to avoid confusion. (#32).