Changelog History
Page 1
-
v0.24.2 Changes
December 05, 2020๐ v0.24.2 is identical to v0.24.1 except it allows building with an older version of
smallvec
, as the newer one caused meaningful performance issues in Firefox.๐ See #855 for more info.
-
v0.24.1 Changes
October 07, 2020The
lru-cache
crate has been replaced withhashlink
, which may fix panics on Rust nightly caused by unsoundness in some versions of thelru-cache
crate (#811).๐ A positional BLOB I/O API has been added, which more closely mirrors SQLites actual BLOB I/O api, and is similar to unix-style
pwrite
/pread
. (#780).๐ A
winsqlite3
feature as been added to bothrusqlite
andlibsqlite3-sys
which allows linking against the SQLite present in newer versions of Windows 10 (#796).Rusqlite's iterator types are now
#[must_use]
(#799).โก๏ธ Several dependencies have been updated.
-
v0.24.0 Changes
August 22, 2020- ๐ฅ BREAKING CHANGE: Upgrade to
time
v0.2 and put it behind a feature flag (#653) - impl
TryFrom<&Row<'_>>
for(...)
This change implementsTryFrom<&Row>
for tuples up to 16 fields. This
is a convenience function that can be used to map rows more easily. - adding ability to work with sqlite compiled with
SQLITE_OMIT_DECLTYPE
(featurecolumn_decltype
) LIBSQLITE3_FLAGS
hook
Enables compiling bundled sources with different flags.- โ Add cross-compilation with mingw (#774)
- ๐ Support wasm32-wasi target (#785)
- ๐ Implement our own
sqlite3_exec
which supports unlock notify (#767) - ๐ Fix order of parameters in
InvalidParameterCount
message (#779) - Don't implement Into for Statement (#763)
- Publically expose
Map
- little speedup for bundled sqlite3.c on unix (
HAVE_LOCALTIME_R
) - ๐ฅ BREAKING CHANGE: VTabCursor lifetime should be bound to VTab lifetime (#753)
- ๐
preupdate_hook
feature requiresbuildtime_bindgen
- โฌ๏ธ Upgrade SQLite bundled sources to 3.33.0
- โฌ๏ธ Upgrade to bindgen 0.54
- ๐ Fix missing docs
- โ Add link to gitter channel (#738)
- Include LICENSE into the libsqlite3-sys crate (#736)
- ๐ฅ BREAKING CHANGE: Upgrade to
-
v0.23.1 Changes
April 23, 2020๐ Hotfix release for arm32 bustage (#724)
-
v0.23.0 Changes
April 23, 2020๐ The release primarily contains a number of security/memory safety fixes, which were mostly found due to an audit of the unsafe code in the crate. An advisory will be published for these shortly.
0๏ธโฃ They mostly impact APIs exposed through
features
, so while there are a lot of them, if you're using rusqlite under default features, you're fine. None of them impact libsqlite3-sys.๐ It's a major release as these APIs were fundamentally unsound and could not be fixed without breaking changes.
- ๐ Make VTab / VTabCursor
unsafe trait
as implementing them on the wrong type is unsound c9ef5bd. (Note that a safe VTab API is planned in the future). - ๐ Make
create_module
take a &'static Module as that's what the reference was treated as. 3c6b57f - ๐ Make
UnlockNotification
hold the Mutex while notifying the CondVar. Also, ensure&mut
is not used to reference a value shared across another thread. 45fd77e - ๐ Fix potential format string vuln in rusqlite::trace::log 2327d3b
- Auxdata API has been changed and has new bounds.
- ๐ Fix use-after-free in sessions.rs in ac30e16
๐ Non-safety changes in this release:
- โก๏ธ Bundled SQLite has been updated to 3.31.1 22564d3
- Non-unicode paths are now handled properly, at least on unix #692
- ๐ Functions using va_list are excluded from the bundled bindings, as these are platform specific. You can still use them if you enable the buildtime_bindgen feature. 288aa96
- โฌ๏ธ An unchecked_transaction function has been added which allows opting-out of compile time transaction checking. Despite it's name, it's still checked, it just downgrades a compilation error to a runtime one: #693
- std::error::Error::source is implemented in favor of std::error::Error::cause for all error types.
- ๐ Make VTab / VTabCursor
-
v0.22.0 Changes
April 08, 2020- โ 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) - 0๏ธโฃ
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)
-
v0.21.0 Changes
December 13, 2019- ๐ 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)
- ๐ Fix memory leak when using
-
v0.20.0 Changes
July 27, 2019 -
v0.19.0 Changes
June 26, 2019- 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)