Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 1.94 KB

File metadata and controls

33 lines (22 loc) · 1.94 KB

Release History and Changes

Unreleased

2026-05-19 (0.2.1)

New features:

  • Users of UnsafePtr are now required to call FunctionOptions::set_read_subtype and/or FunctionOptions::set_return_subtype as appropriate. SQLite 3.45.0 added some optimizations that may discard subtype information if they are not used. Consider migrating PassedRef instead, if possible.
  • FunctionOptions::set_n_args can now accept values up to 32767, although attempting to use values higher than the limit (currently 1000 by default) will cause the function registration to fail.

Bug fixes:

  • Replace i8 -> c_char for all C strings, by @h7x4.
  • Fix compilation on Windows, by @arianfarid.

2026-03-23 (0.2.0)

Breaking changes:

  • VTab must be Sized. Also, VTabFunctionList's generic parameter must be Sized, which is normally the VTab.
  • VTab::Disconnect and VTab::destroy now return a DisconnectResult, allowing you to recover the VTab if the disconnection fails because the table is still in use.
  • VTabCursor methods now receive &mut self instead of &self.
  • VTabCursor and VTabTransaction no longer take a lifetime parameter. This has no change in functionality but makes implementations cleaner.
  • User-defined functions now receive &mut Context instead of &Context.
  • Context::aux_data now returns &T instead of &mut T. Context::aux_data_mut allows retrieving a &mut T. Both methods now return a Result to differentiate missing data from incorrect T type.
  • DistinctMode is now a struct instead of an enum. This allows supporting the new return value provided by SQLite 3.39.0.

New features:

  • Connection::create_scalar_function_object is an alternative to Connection::create_scalar_function which allows using a lifetime smaller than 'static.
  • impl From<&str> for Error allows easily setting arbitrary error messages.
  • QueryResult::is_empty and Blob::is_empty as shorthand for len() == 0.