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
Uh oh!
There was an error while loading. Please reload this page.
-
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-muslarm-linux-gnu(requires: glibc >= 2.29)arm-linux-muslarm64-darwinx64-mingw32/x64-mingw-ucrtx86-linux-gnu(requires: glibc >= 2.17)x86-linux-muslx86_64-darwinx86_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 ruby/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_JOURNALflag which is an alias forMASTER_JOURNALas of sqlite 3.33.0. [introduce standard formatting and linting #467] @flavorjonesStatement#statandStatement#memusedintroduced to report statistics. [Implement sqlite3_stmt_status interface #461] @fractaledmindStatement#sqlandStatement#expanded_sqlintroduced to retrieve the SQL statement associated with theStatementobject. [Possible to make SQLite3::Statement#to_s more useful? #293, Addsqlandexpanded_sqlmethods to the statement object #498] @tenderloveSQLite3.statusintroduced to return run-time status and reset high-water marks. SeeSQLite3::Constants::Statusfor details. [Add SQLite3.status to call sqlite3_status #520] @wjlroeImproved
ResultSethashes. [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] @byrootResultSetinstance variable. [Remove unused iv #469] @tenderloveChanged
SQLite3::Exceptionor subclasses. Previously somePragmasmethods raisedException, andDatabase#execute_batch2andDatabase#load_extensionraisedRuntimeError. [introduce standard formatting and linting #467, useSQLite3::Exceptionconsistently #490] @flavorjonesDatabase#columnsreturns 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#transactionreturns the result of the block when used with a block. [Database#transaction returns block result #508] @alexcwattDatabase#execute_batchreturns the result of the last statement executed. [execute_batch returns result of last statement #512] @alexcwattRemoved
Removed class
SQLite3::Translatorand 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
typesandfieldsreaders 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::VersionProxywhich has been deprecated since v1.3.2. [removeVersionProxy, clean up version branching, and drop Ruby 2.7 support #453] @flavorjonesRemoved methods
SQLite3::Database::FunctionProxy#countand#set_errorwhich 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