2.0.0 / 2024-04-17 #523
flavorjones
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
2.0.0 / 2024-04-17
This is a major release which contains some breaking changes, primarily the removal of
long-deprecated functionality. Before upgrading, please make sure to address deprecation warnings
emitted from your application using sqlite3-ruby v1.7.x.
Ruby
VersionProxy
, clean up version branching, and drop Ruby 2.7 support #453] @flavorjonesPackaging
Native (precompiled) gems are now available for Linux Musl. [#442] @flavorjones
Here are the platforms for which native gems are shipped:
aarch64-linux-gnu
(requires: glibc >= 2.29)aarch64-linux-musl
arm-linux-gnu
(requires: glibc >= 2.29)arm-linux-musl
arm64-darwin
x64-mingw32
/x64-mingw-ucrt
x86-linux-gnu
(requires: glibc >= 2.17)x86-linux-musl
x86_64-darwin
x86_64-linux-gnu
(requires: glibc >= 2.17)x86_64-linux-musl
⚠ Ruby 3.0 linux users must use Rubygems >= 3.3.22 in order to use these gems.
⚠ Musl linux users should update to Bundler >= 2.5.6 to avoid rubygems/rubygems#7432
See the INSTALLATION doc for more information.
Dependencies
Added
Database#busy_handler_timeout=
introduced as an alternative to#busy_timeout=
that can be used when it's desired to release the GVL between retries. [Add a busy_handler_timeout setter #443, busy_handler_timeout pt2 #456] @fractaledmindSUPER_JOURNAL
flag which is an alias forMASTER_JOURNAL
as of sqlite 3.33.0. [introduce standard formatting and linting #467] @flavorjonesStatement#stat
andStatement#memused
introduced to report statistics. [Implement sqlite3_stmt_status interface #461] @fractaledmindStatement#sql
andStatement#expanded_sql
introduced to retrieve the SQL statement associated with theStatement
object. [Possible to make SQLite3::Statement#to_s more useful? #293, Addsql
andexpanded_sql
methods to the statement object #498] @tenderloveSQLite3.status
introduced to return run-time status and reset high-water marks. SeeSQLite3::Constants::Status
for details. [Add SQLite3.status to call sqlite3_status #520] @wjlroeImproved
ResultSet
hashes. [superfluous work in #ordered_map_for #154, Don't flatten row array before passing to Hash#[] #484, Use a factory method to eliminate "results as hash" check #468] @tenderlovebusy_handler
. [Fix a GC compaction issue withbusy_handler
#466] @byrootResultSet
instance variable. [Remove unused iv #469] @tenderloveChanged
SQLite3::Exception
or subclasses. Previously somePragmas
methods raisedException
, andDatabase#execute_batch2
andDatabase#load_extension
raisedRuntimeError
. [introduce standard formatting and linting #467, useSQLite3::Exception
consistently #490] @flavorjonesDatabase#columns
returns a list of internal frozen strings. [return symbolized keys when using results_as_hash = true #155, Column names should be frozen #474, Intern column names so we always get the same string #486] @tenderloveDatabase#transaction
returns the result of the block when used with a block. [Database#transaction returns block result #508] @alexcwattDatabase#execute_batch
returns the result of the last statement executed. [execute_batch returns result of last statement #512] @alexcwattRemoved
Removed class
SQLite3::Translator
and all related type translation methods which have been deprecated since v1.3.2. [Remove type translation #470] @tenderloveIf you need to do type translation on values returned from the statement object, please wrap it
with a delegate object. Here is an example of using a delegate class to implement type
translation:
Removed
types
andfields
readers on row objects, which have been deprecated sincev1.3.6. [Remove row array wrappers #471] @tenderlove
Deprecated code looks like this:
If you would like to access the "types" associated with a returned query,
use a prepared statement like this:
Removed support for non-Array bind parameters to methods
Database#execute
,#execute_batch
, and#query
, which has been deprecated since v1.3.0. [remove deprecated method signatures (bind params) #511] @flavorjonesDeprecated code looks like this:
For these cases, pass the bind parameters as an array:
Removed class
SQLite3::VersionProxy
which has been deprecated since v1.3.2. [removeVersionProxy
, clean up version branching, and drop Ruby 2.7 support #453] @flavorjonesRemoved methods
SQLite3::Database::FunctionProxy#count
and#set_error
which have been broken since at least v1.3.13. [create_function: impossible to call set_error #164, Remove FunctionProxy#count #509, fix: removeFunctionProxy#set_error
#510] @alexcwatt @flavorjonessha256 checksums:
This discussion was created from the release 2.0.0 / 2024-04-17.
Beta Was this translation helpful? Give feedback.
All reactions