Skip to content

Releases: rusqlite/rusqlite

rusqlite 0.22.0, libsqlite-sys 0.17.3

08 Apr 18:34
156fa9f
Compare
Choose a tag to compare
  • Add ability to open sqlite connection with specified vfs (#630)
  • Fix i32 overflow in Connection::busy_timeout (#604)
  • Separate the modern_sqlite and bundled features. (#613)
  • Add FromSql for Box<str>, Rc<str> and Arc<str>
  • Fix params macro (#614)
  • Fix error while executing ALTER statement (#645)
  • Ignore PATH change (#435)
  • Add playground metadata for rusqlite, hopefully fixing it (#647)
  • Don't perform threading mode checks on wasm32 (#640)
  • Upgraded the bundled SQLite version to 3.31.0. (#619)
  • Add support to function flags (#622)
  • Add missing IndexConstraintOp entries (#623)
  • Add missing error codes (#624)
  • Add missing constants (#629)
  • Introduce alloc to generate C string allocated by sqlite3 (#644)
  • rusqlite now exposes the bundled-windows feature, forwarding to libsqlite3-sys. (#682)
  • rusqlite::Result<T> is now defined as type Result<T, E = rusqlite::Error>. This avoids needing to access std::result::Result explicitly when rusqlite::Result is brought into scope. (#678)
  • Rows now support mapped and and_then functions which return Iterators. This is useful if you cannot use query_map or query_and_then for some reason. (#676)
  • A new error variant was added for using the wrong number of bound parameters. Previously this caused a panic (#675).
  • Many rusqlite enums have been made #[non_exhaustive] for better extensibility. (#673)
  • Various low-level Statement apis have been added to allow separating parameter binding and statement execution. (#668)
  • ToSql is implemented for various smart pointers (Box, Cow, Rc, Arc) in more cases. (#660)
  • bundled-full feature now exists to enable both bundled and other features which do not conflict. It is mainly intended to improve developer ergonomics for working on rusqlite (#687)
  • The features vtab_v3 and unstable are removed. The former is no longer necessary and the latter was only used for #[bench]. (#687)
  • rusqlite::Error now implements std::error::Error::source instead of only std::error::Error::cause. Use of cause will still work, as it goes through source by default. (#683)

0.21.0

13 Dec 18:19
Compare
Choose a tag to compare
  • Fix memory leak when using Statement.expanded_sql (#552)
  • Fix segfault on prepare_cached with an empty query (#583)
  • Handle old versions of visual studio (#554)
  • Conversion from FromSqlError to Error (#556)
  • Parse Option<T> into Value/ValueRef where applicable (#571)
  • Make column_name() public and forward all column methods in Row and Rows (#568)
  • Check SQL query passed to execute (#565)
  • Check that only one statement is provided when extra_check feature is activated (#397)
  • Improve error message when we can't open a database (#578)
  • Upgrade bundled SQLite version to 3.30.1 (#579)
  • Replace deprecated tempdir with tempfile (#594)
  • Download sqlite source via HTTPS (#599)
  • Fix session extension (#588)
  • Upgrade to uuid 0.8 (#576)
  • Disable vcpkg in appveyor build (#580)

0.20.0

27 Jul 07:57
d87a1bb
Compare
Choose a tag to compare
  • BREAKING CHANGE: Do not assume sqlite3_column_text is valid UTF-8. (#548)
  • Make Module impl Send (#543)
  • Upgrade bundled SQLite version to 3.29
  • Upgrade bindgen to 0.51

0.19.0

26 Jun 16:18
Compare
Choose a tag to compare
  • Increase bundled SQLite variables and depth (#522)
  • Fix error when building with uuid and functions features. (#515)
  • Upgrade bundled SQLite sources to 3.28.0 (#513)
  • Fix nightly build (#514)
  • Add query_row_named for prepared statement (#528)
  • Add binding to sqlite3_create_collation_v2 (#534)
  • Add bundled-windows feature (#537)
  • Add binding to sqlite3_create_window_function (#539)
  • Include the name of the column in InvalidColumnType errors (#541)

0.18.0

24 Apr 16:14
Compare
Choose a tag to compare
  • Add support for Uuid (#506)
  • impl ToSql for Box<dyn ToSql> (#500)
  • Allow specifying both sqlcipher and bundled (#511)
  • Introduce Statement::columns (#494)
  • Rebuild when VCPKGRS_DYNAMIC changes (#483)
  • Upgrade to fallible-iterator 0.2

0.17.0

10 Mar 13:25
Compare
Choose a tag to compare
  • BREAKING CHANGE: Cannot insert heterogeneous elements with .execute #462
    Add params/named_params macro, and expose ToSql from top level #471
  • BREAKING CHANGE: Do not panic by default #485
    Replace Row::get by Row::get_checked,
    And rename original Row::get to Row::get_unwrap.
    Stmt::query_map, Stmt::query_map_named, Stmt::query_row,
    Conn::query_row and Conn::query_row_named callback parameter must return a Result.
  • BREAKING CHANGE: Make Rows implement FallibleStreamingIterator #478
    Rows::next returns Result<Option<&Row<'_>>> instead of Option<Result<Row<...>>>.
  • Avoid unnecessary copies/allocations when passing strings to sqlite #487
  • Ease PRAGMA usage (#273 and #265) #476
  • Add optional support for rust-url #491
  • Impl PartialEq for Error #416
  • Make get_aux safe by storing the TypeId with the data.
  • Introduce Connection::from_handle #453
  • Support for sqlite3_db_config #468
  • Make the libsqlite3_sys as ffi export pub #469
  • Derive Debug for Transaction #470
  • Upgrade bundled version to SQLite 3.27.2
  • BREAKING CHANGE: Session extension
  • Restore old bindgen for Diesel
  • Upgrade to bindgen 0.48

0.16.0

16 Dec 17:19
Compare
Choose a tag to compare
  • Update README example.
  • Allow build time bindgen of bundled SQLite
  • Fix Timespec FromSql implementations (#431)
  • Add support for forcing cargo:rustc-link-lib to link as native
  • BREAKING CHANGE: Callbacks must not be able to unwind into sqlite code
  • Introduce OptionalExtension
  • Upgrade bundled version to SQLite 3.26.0
  • BREAKING CHANGE: remove deprecated stuff
  • Fix compilation error with functions and i128 features
  • Fix test_interrupt #415
  • Rust 2018
  • Upgrade to bindgen 0.45

0.15.0

21 Oct 13:50
6acae37
Compare
Choose a tag to compare
  • Allow getting a ValueRef out of Row and Context, fixes #259
  • Remove version check when bundled
  • Add a feature for storing i128 as blobs.
  • Add a method of interrupting a query executing on a separate thread, fixes #407
  • BREAKING CHANGE: Take IntoIterator rather than &[&ToSql] (#312)
  • Impossible to execute a pragma in 0.14.0 #400
  • BREAKING CHANGE: Remove old bindgens
  • array feature should not require bundled #384
  • Upgrade SQLite bundled sources to 3.25.2
  • Upgrade to bindgen 0.42

0.14.0

17 Aug 15:52
Compare
Choose a tag to compare
  • BREAKING CHANGE: ToSql implementation for time::Timespec uses RFC 3339 (%Y-%m-%dT%H:%M:%S.%fZ).
    Previous format was %Y-%m-%d %H:%M:%S:%f %Z.
  • BREAKING CHANGE: Remove potentially conflicting impl of ToSqlOutput (#313).
  • BREAKING CHANGE: Replace column index/count type (i32) with usize.
  • BREAKING CHANGE: Replace parameter index/count type (i32) with usize.
  • BREAKING CHANGE: Replace row changes/count type (i32) with usize.
  • BREAKING CHANGE: Scalar functions must be Sendable and 'static.
  • Bugfix: Commit failure unhandled, database left in unusable state (#366).
  • Bugfix: free_boxed_hook does not work for fn.
  • Update the bundled SQLite version to 3.24.0 (#326).
  • Add DropBehavior::Panic to enforce intentional commit or rollback.
  • Implement sqlite3_update_hook (#260, #328), sqlite3_commit_hook and sqlite3_rollback_hook.
  • Add support to unlock notification behind unlock_notify feature (#294, #331).
  • Make Statement::column_index case insensitive (#330).
  • Add comment to justify &mut Connection in Transaction.
  • Fix tyvar_behind_raw_pointer warnings.
  • Fix handful of clippy warnings.
  • Fix Connection::open documentation (#332)
  • Add binding to sqlite3_get_autocommit and sqlite3_stmt_busy.
  • Add binding to sqlite3_busy_timeout and sqlite3_busy_handler.
  • Add binding to sqlite3_expanded_sql.
  • Use rerun-if-env-changed in libsqlite3-sys (#329).
  • Return an InvalidQuery error when SQL is not read only.

0.13.0

13 Nov 22:58
Compare
Choose a tag to compare
  • Added ToSqlConversionFailure case to Error enum.
  • Now depends on chrono 0.4, bitflats 1.0, and (optionally) cc 1.0 / bindgen 0.31.
  • The ToSql/FromSql implementations for time::Timespec now include and expect fractional seconds and timezone in the serialized string.
  • The RowIndex type used in Row::get is now publicly exported.
  • New sqlcipher feature allows linking against SQLCipher instead of SQLite.
  • Doc link in README now point to docs.rs.