Releases: rusqlite/rusqlite
Releases · rusqlite/rusqlite
rusqlite 0.22.0, libsqlite-sys 0.17.3
- Add ability to open sqlite connection with specified vfs (#630)
- Fix i32 overflow in
Connection::busy_timeout
(#604) - Separate the
modern_sqlite
andbundled
features. (#613) - Add
FromSql
forBox<str>
,Rc<str>
andArc<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 thebundled-windows
feature, forwarding tolibsqlite3-sys
. (#682)rusqlite::Result<T>
is now defined astype Result<T, E = rusqlite::Error>
. This avoids needing to accessstd::result::Result
explicitly whenrusqlite::Result
is brought into scope. (#678)Rows
now supportmapped
andand_then
functions which return Iterators. This is useful if you cannot usequery_map
orquery_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 bothbundled
and other features which do not conflict. It is mainly intended to improve developer ergonomics for working on rusqlite (#687)- The features
vtab_v3
andunstable
are removed. The former is no longer necessary and the latter was only used for#[bench]
. (#687) rusqlite::Error
now implementsstd::error::Error::source
instead of onlystd::error::Error::cause
. Use ofcause
will still work, as it goes throughsource
by default. (#683)
0.21.0
- 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
toError
(#556) - Parse
Option<T>
intoValue
/ValueRef
where applicable (#571) - Make
column_name()
public and forward all column methods inRow
andRows
(#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
0.19.0
- Increase bundled SQLite variables and depth (#522)
- Fix error when building with
uuid
andfunctions
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
0.17.0
- BREAKING CHANGE: Cannot insert heterogeneous elements with .execute #462
Add params/named_params macro, and exposeToSql
from top level #471 - BREAKING CHANGE: Do not panic by default #485
ReplaceRow::get
byRow::get_checked
,
And rename originalRow::get
toRow::get_unwrap
.
Stmt::query_map
,Stmt::query_map_named
,Stmt::query_row
,
Conn::query_row
andConn::query_row_named
callback parameter must return aResult
. - BREAKING CHANGE: Make
Rows
implementFallibleStreamingIterator
#478
Rows::next
returnsResult<Option<&Row<'_>>>
instead ofOption<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
forError
#416 - Make
get_aux
safe by storing theTypeId
with the data. - Introduce
Connection::from_handle
#453 - Support for sqlite3_db_config #468
- Make the
libsqlite3_sys as ffi
exportpub
#469 - Derive
Debug
forTransaction
#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
- 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
andi128
features - Fix test_interrupt #415
- Rust 2018
- Upgrade to bindgen 0.45
0.15.0
- 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 requirebundled
#384- Upgrade SQLite bundled sources to 3.25.2
- Upgrade to bindgen 0.42
0.14.0
- BREAKING CHANGE:
ToSql
implementation fortime::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
Send
able and'static
. - Bugfix: Commit failure unhandled, database left in unusable state (#366).
- Bugfix:
free_boxed_hook
does not work forfn
. - 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
andsqlite3_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
inTransaction
. - Fix
tyvar_behind_raw_pointer
warnings. - Fix handful of clippy warnings.
- Fix
Connection::open
documentation (#332) - Add binding to
sqlite3_get_autocommit
andsqlite3_stmt_busy
. - Add binding to
sqlite3_busy_timeout
andsqlite3_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
- 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.