Releases: sparklemotion/sqlite3-ruby
2.5.0.rc1 / 2024-12-14
2.5.0.rc1 / 2024-12-14
Ruby
This release introduces native gem packages that include Ruby 3.4.
sha256 checksums
31412951ad83668927cb132fbe4835c3ccdb020f49301ad3c573fb9c3b4869da sqlite3-2.5.0.rc1-aarch64-linux-gnu.gem
70c773adfa34a5f95932ff6104511bbab6e135d5cfff36c0df90a73ecdfffaaa sqlite3-2.5.0.rc1-aarch64-linux-musl.gem
faa5116cb4f193d41df2e2af02e94a5dc51cfe398f99bc39c9d14e9cb50fb2d1 sqlite3-2.5.0.rc1-arm64-darwin.gem
9ad66805e76d979d65d8e979f52afc569c0662f049e7aad538880776b882c148 sqlite3-2.5.0.rc1-arm-linux-gnu.gem
973a096239ab3c6927fb4f5bea7d395cd10856c7f68c5d92c3b3552578ee79c6 sqlite3-2.5.0.rc1-arm-linux-musl.gem
9cd13c6bf92be060c9dc7af3e2a73ec5c5d955c43b9ef6b3c3295638c0c809a1 sqlite3-2.5.0.rc1.gem
dabfb9001adb59d7c07d641130b2f1f72dee4cbf85eddc84c7095f375ea11e78 sqlite3-2.5.0.rc1-x64-mingw-ucrt.gem
2b9b0027eda7a1cdbeaa62a521ad120eadc3278741cf1211003a1c42db0638d6 sqlite3-2.5.0.rc1-x86_64-darwin.gem
1317fe8ff576674d99a43aca693a9ce0d66b990a33a1ee521f30ebf6441880c1 sqlite3-2.5.0.rc1-x86_64-linux-gnu.gem
9f61da58781920cd1bb7b1264a683dbbafcbd387dc69e4b7b8329903f811c60c sqlite3-2.5.0.rc1-x86_64-linux-musl.gem
ee6b8f5ce42a1b498c0546cb3f9063d352fa8e101a72db9807230cc5e23560c3 sqlite3-2.5.0.rc1-x86-linux-gnu.gem
d0d21b6bdb92e225affcf18f1dee71083910a4859c67bb109d3bdbb0c97ec65c sqlite3-2.5.0.rc1-x86-linux-musl.gem
2.4.1 / 2024-12-08
2.4.1 / 2024-12-08
Dependencies
-
Vendored sqlite is updated to v3.47.2 #593 @flavorjones
The description from the upstream maintainers is:
SQLite version 3.47.2, now available, fixes an important bug that first appeared in the 3.47.0
release. In SQLite versions 3.47.0 and 3.47.1, if you try to convert a string into a
floating-point value and the first 16 significant digits of the value are exactly
"1844674407370955", then the floating-point number generated might be incorrect. The problem
only affects x64 and i386 CPUs, so it does not affect you if you are running on ARM. And it only
affects releases 3.47.0 and 3.47.1. If you are running SQLite versions 3.47.0 or 3.47.1, then
upgrading is recommended.Saving you a click, you should upgrade if you're running sqlite3-ruby v2.1.1 or later.
Fixed
- Prevent unnecessary "Invalid Reference" warnings from the
ForkSafety
module when GC runs during the "after fork" hook. #592 @flavorjones
sha256 checksums
963cbf8139fef16d9b1037bd9e84c5239d0443fbd0d34cb94df173678f7e3c90 sqlite3-2.4.1-aarch64-linux-gnu.gem
b73d6d61d67e684589590e06490413988431a5eb0d248e2afd18f8fb9fc8da27 sqlite3-2.4.1-aarch64-linux-musl.gem
7b0eba380a0ddd04a7ed44be615ed0a9aa6e439ec47f0a877ee917598f41f493 sqlite3-2.4.1-arm64-darwin.gem
a62c24d66014d8de3e2a4f0bc2d5643f9c63596c4349d9c41880707065d5fe85 sqlite3-2.4.1-arm-linux-gnu.gem
cf6ea4d3b8de0fec2f48dfda02866c08528cb0625f216ae976e30239066a9c4f sqlite3-2.4.1-arm-linux-musl.gem
e4c069ad08e77f86e5945d1765082b76c4409298bad371ab687c6ce4e546fd83 sqlite3-2.4.1.gem
5bf827fe1f301d3a1027a18035f2ccc58d732c2ce6d5e9b51e0ee5049934f108 sqlite3-2.4.1-x64-mingw-ucrt.gem
4f33d75c82aadc3cf974a6277fd7ac528edb4aee3b8fe8d765cfc2e31bebc142 sqlite3-2.4.1-x86_64-darwin.gem
9cb0e4a529487a35fd7896e237874a2fe8c300bdbed7c4b97149362a601baa37 sqlite3-2.4.1-x86_64-linux-gnu.gem
07176f8a22b3fd88f074801a3c5759d2e4c75fd183ba12c6c268e4ecce606b15 sqlite3-2.4.1-x86_64-linux-musl.gem
8d18948c87380bc23b9430acd92df538766aea9a417b77011c9f953ed684c5c9 sqlite3-2.4.1-x86-linux-gnu.gem
4374bb5605fa9b901e993a988701bdf2a85079c3f13c9953c9923f25acc25ae1 sqlite3-2.4.1-x86-linux-musl.gem
2.4.0 / 2024-12-03
2.4.0 / 2024-12-03
Added
Database#load_extension
now accepts any object that responds to#to_path
, in addition to String filesystem paths. [#586] @flavorjonesDatabase.new
now accepts anextensions:
parameter, which is an array of SQLite extensions that will be loaded during initialization. The array may contain String filesystem paths and objects that respond to#to_path
. [#586] @flavorjones
sha256 checksums
1a8b73e8d6cc99049071359ea39a0a80b8e26c963af40dddd122e51259e332dd sqlite3-2.4.0-aarch64-linux-gnu.gem
c7e73d1fb6249444331e218d5dbb22b8b13998fcab246f82afe8356e0fe29115 sqlite3-2.4.0-aarch64-linux-musl.gem
b1d0072353ce303a64b3d5af700a63fa4b52c14968c6f08c4e42e562f2c8b1d7 sqlite3-2.4.0-arm64-darwin.gem
67ace9f9ffc9bbe7f04140ddc7c81eb03740da3733448f880717f8a673a807c8 sqlite3-2.4.0-arm-linux-gnu.gem
e40a0bb9f8413e14a0e0b7cfa523aee2305552422a9065cee0e6e1e860628dce sqlite3-2.4.0-arm-linux-musl.gem
9f3c4f9eda42cb295705c2fbfca4e2a7334d3f84400482bf2deeef45e9423918 sqlite3-2.4.0.gem
3893389c321845090015b39b76eea652efca769004afe6f8fabe6637128656e7 sqlite3-2.4.0-x64-mingw-ucrt.gem
47c59c42d8d5f357faedd85b63c709c4616045db45316f250ef6df253bc87e2b sqlite3-2.4.0-x86_64-darwin.gem
d6242da7d671bf37fb806b7727336c3ca0c8d5656955c12975eb8831e10de128 sqlite3-2.4.0-x86_64-linux-gnu.gem
e8d405663bf4d04e114e4febcfdfdb6684558b5483b03ef6ce64c4d2df4523e1 sqlite3-2.4.0-x86_64-linux-musl.gem
5aea2d664a1c11254f4f9ee067db103c548adf2193531855bf7d522e704da47c sqlite3-2.4.0-x86-linux-gnu.gem
b3c99111936b467b9bcd7829de40456403d5ed5b26822ad988305e365e92f05c sqlite3-2.4.0-x86-linux-musl.gem
2.3.1 / 2024-11-25
2.3.1 / 2024-11-25
Dependencies
- Vendored sqlite is updated to v3.47.1 [#589] @flavorjones
sha256 checksums
a8398a65bf84467fb03e29914f31282878d0f94fd78bc511b5d7d4b3e447effc sqlite3-2.3.1-aarch64-linux-gnu.gem
9684f77bd2c0e18ee6c5ab15b35a7f953d025c26bc8915832a33306d2926b986 sqlite3-2.3.1-aarch64-linux-musl.gem
882a006725ce6905570c652c8b2f2d1d295b9f21ac009f176c91777d7c602a40 sqlite3-2.3.1-arm64-darwin.gem
d9ded328f99b8d0c774aa1a11126806f1c3c5160e5d8a00f42900b0bb6693f55 sqlite3-2.3.1-arm-linux-gnu.gem
648802caf7556adbae12a6c1908feb2cd64bef2bc9e04acdb40c0a44e00b3d16 sqlite3-2.3.1-arm-linux-musl.gem
46ed5f9086bc59ea33a90ea08db93fa887809d37bc2f8f96693d32540b295b9d sqlite3-2.3.1.gem
e47c52052e8063ad4f3686e7f59cfc431a08bb7320a6e09823a49decff60fd4e sqlite3-2.3.1-x64-mingw-ucrt.gem
700558d100306c17e0f14ae2b493e4c83e5c77a713015eba79e0ca2dd3aa0f17 sqlite3-2.3.1-x86_64-darwin.gem
7e71f818d510998a8b2d1cf9ef5a53ef85300736648621c66cb9494b1684b339 sqlite3-2.3.1-x86_64-linux-gnu.gem
709406604aeee3622bc01c970f31bbcfadb0590f4ee3dc5bb6fe4fbf1c855a7e sqlite3-2.3.1-x86_64-linux-musl.gem
dfa199e6fa67608b547eee6b332c60f0719fffa14275319f4c82282af6d4f036 sqlite3-2.3.1-x86-linux-gnu.gem
3bda981d1d3049d1285958e55bcbf0600863216f079fb019f04e7364a3733757 sqlite3-2.3.1-x86-linux-musl.gem
2.3.0 / 2024-11-20
2.3.0 / 2024-11-20
Added
- The SQLITE_DBPAGE extension is now enabled by default, which implements an eponymous-only virtual table that provides direct access to the underlying database file by interacting with the pager. See https://www.sqlite.org/dbpage.html for more information. [#578] @flavorjones
- The DBSTAT extension is now enabled by default, which implements a read-only eponymous virtual table that returns information about the amount of disk space used to store the content of an SQLite database. See https://sqlite.org/dbstat.html for more information. [#580] @pawurb @flavorjones
Database#optimize
which wraps thepragma optimize;
statement. Also addedConstants::Optimize
to allow advanced users to pass a bitmask of options. See https://www.sqlite.org/pragma.html#pragma_optimize. [#572] @alexcwatt @flavorjonesSQLite3::VERSION_INFO
contains a bag of metadata about the gem and the sqlite library used.SQLite3::SQLITE_PACKAGED_LIBRARIES
andSQLite3::SQLITE_PRECOMPILED_LIBRARIES
indicate how the gem was built. [#581] @flavorjones
Fixed
Database#encoding=
support for switching the database encoding toUTF-16BE
, which has been broken sinceDatabase#encoding=
was introduced in v1.3.12 in 2016. [#575] @miyucy- Omit mention of the
pkg-config
gem when failing to build from source, since it is not used. [#358] @flavorjones
sha256 checksums
87cbf39ca2ca07c4e6f3d7a5168bfc2fcca845ea36e6d04408622226900e7f92 sqlite3-2.3.0-aarch64-linux-gnu.gem
0e67ea7d8dc42178ac7b57f499177288cc1edf9c7932e86cf631e932947228c2 sqlite3-2.3.0-aarch64-linux-musl.gem
c2beb302a07e106722cd63bae42425bd0e913a4e90b552df64b1f04dec3d676d sqlite3-2.3.0-arm64-darwin.gem
78ef24e763e513635e51a26709ad23cc11c30a895b5e2bc8c7ae2407a4f56059 sqlite3-2.3.0-arm-linux-gnu.gem
3815a8adc37f6d65e460c97eba725334b4db3a8bc68dbd2b2cfd2079656b20be sqlite3-2.3.0-arm-linux-musl.gem
dc1b2afd5d099931d5fca7dfec44af3b78b9ec383c382edc6d35e268064b3673 sqlite3-2.3.0.gem
fb32821ae861135e670828f084de9d9e69b4598cd1643f7f8e6c7deeea06b000 sqlite3-2.3.0-x64-mingw-ucrt.gem
6ab00fbf07537e14cebd66e97159053e9094e68da9c6db8f82c21b4333a17345 sqlite3-2.3.0-x86_64-darwin.gem
5b8bbd85e661e04da863cb3d092fbf4e37c9817828ecc6f40a81791bd2111612 sqlite3-2.3.0-x86_64-linux-gnu.gem
db5fef66552d7e10c750f737f8838a63c39055711afac8e16025dbe274217b2b sqlite3-2.3.0-x86_64-linux-musl.gem
bdb241da2bebe2bc5449cf121a552fe89f2476ed21cff169aa4d0f5ad9d750ff sqlite3-2.3.0-x86-linux-gnu.gem
9c0989eb572331f569b4b976d6bf4010e322b4f591eb03fbcbf42674cacb4310 sqlite3-2.3.0-x86-linux-musl.gem
2.2.0 / 2024-10-30
2.2.0 / 2024-10-30
Added
- URI filenames are now allowed. This allows the injection of some behavior via recognized query parameters. See https://www.sqlite.org/uri.html for more information. [#571] @flavorjones
Improved
- SQL Syntax errors during
Database#prepare
will raise a verbose exception with a multiline message indicating with a "^" exactly where in the statement the error occurred. [#554] @fractaledmind @flavorjones
sha256 checksums:
5e33dc761b8be16b0ba2480fd4dfa85ad3f4d0b7514c1d4375700c7bb0e0a101 sqlite3-2.2.0-aarch64-linux-gnu.gem
99b31de2c6a68754f03c7fb31af1a432567b6aef6d10163e56552eb278de1066 sqlite3-2.2.0-aarch64-linux-musl.gem
c86bfa909d052fe31d94f6b589dcc8eee23cb60988754177db0014729090bd50 sqlite3-2.2.0-arm64-darwin.gem
bccdd28086df162e5bff6b6b205a4c1ae5291a8d21d3655e86a94f0f8da399be sqlite3-2.2.0-arm-linux-gnu.gem
6e44744b8526a180fee6b68245601e1646d82916fb67c6c4479cdf42e78b82dd sqlite3-2.2.0-arm-linux-musl.gem
85ebbd8fceb47fcf96795260398c7e96dedcfc2919ec064568d59ce43ace1aa7 sqlite3-2.2.0.gem
76377037bff70fa786dda9694d09937fc750314ed01ab5016eed2f9147784a8b sqlite3-2.2.0-x64-mingw-ucrt.gem
525a96b032e0881b11a5498a0531fd2487bc6049e1b58f8fa378dd3a59560e67 sqlite3-2.2.0-x86_64-darwin.gem
3d05032a786fc56299acd743ee226715cca49a4acd2159ab8e1ebae53f24fb2d sqlite3-2.2.0-x86_64-linux-gnu.gem
59e9dcf90595c15bfe00f816d5dec4123c1d01530ccba069c4e6989df6d8455e sqlite3-2.2.0-x86_64-linux-musl.gem
cc896e77e85119cbf2126167e6990ba6356da7ca5f53e09372470ffbf2789834 sqlite3-2.2.0-x86-linux-gnu.gem
ef75eece5db2403faddf62ded791a7d6deef94c44a322b8ea1ec0a154f0d2d9e sqlite3-2.2.0-x86-linux-musl.gem
2.1.1 / 2024-10-22
2.1.1 / 2024-10-22
Dependencies
- Vendored sqlite is updated to v3.47.0 [#570] @flavorjones
sha256 checksums:
8e66a55e17ab5251d8a3e86c95fa79676d7b6f9657f5a2bade6604d69e15fc6f sqlite3-2.1.1-aarch64-linux-gnu.gem
74bb21dade2c31eb9de8bcb410ed0a5b5e2d3bfe8643ad129b38d8452e2e46ce sqlite3-2.1.1-aarch64-linux-musl.gem
964d03e90952b355827a6c981511304c36d6cb552a894112720655793d09b78c sqlite3-2.1.1-arm64-darwin.gem
c42e2888360ba68bcb11e56b6df253ccdd650208f9ee25acbe0df1d3b8776113 sqlite3-2.1.1-arm-linux-gnu.gem
2e3adc9f0d42287376ee3dbf2176fd01a100c6588271ad8418ea70758a161a06 sqlite3-2.1.1-arm-linux-musl.gem
08ef9a277f25665bf237f16f7c68ec22b79100d1abe256e566a5e23337a62cf6 sqlite3-2.1.1.gem
8b027802f064007e0dc87f26eda4479aaf3e7ae1e8708c9b851522ea7c1dfa64 sqlite3-2.1.1-x64-mingw-ucrt.gem
b38eac8abe54341d4cc8ffa4285f78755e07852f82559b2815e7b85e353d398c sqlite3-2.1.1-x86_64-darwin.gem
f2cd96fe785f6928d1696751b54dac854dda880db67cd54525838d5849a5c1b9 sqlite3-2.1.1-x86_64-linux-gnu.gem
e7f43e4f0fbe575ebaf437489bd12c90464c8d287af14d3879359e4ac1e6a820 sqlite3-2.1.1-x86_64-linux-musl.gem
b2e0d4479c505af22e93172abc0e34979c5d8ba55d7139be3bc725cea2b34e75 sqlite3-2.1.1-x86-linux-gnu.gem
d4babefc2e142cc230f20aae94cc87348006ebaf5f514ba5fcb45fdc73461e42 sqlite3-2.1.1-x86-linux-musl.gem
2.1.0 / 2024-09-24
2.1.0 / 2024-09-24
Ruby
- This release drops support for Ruby 3.0. [#563] @flavorjones
Fork safety improvements
Sqlite itself is not fork-safe. Specifically, writing in a child process to a database connection that was created in the parent process may corrupt the database file. To mitigate this risk, sqlite3-ruby has implemented the following changes:
- All open writable database connections carried across a
fork()
will immediately be closed in the child process to mitigate the risk of corrupting the database file. - These connections will be incompletely closed ("discarded") which will result in a one-time memory leak in the child process.
If it's at all possible, we strongly recommend that you close writable database connections in the parent before forking. If absolutely necessary (and you know what you're doing), you may suppress the fork safety warnings by calling SQLite3::ForkSafety.suppress_warnings!
.
See the README's "Fork Safety" section and adr/2024-09-fork-safety.md
for more information. [#558, #565, #566] @flavorjones
Improved
- Use
sqlite3_close_v2
to close databases in a deferred manner if there are unclosed prepared statements. Previously closing a database while statements were open resulted in aBusyException
. See https://www.sqlite.org/c3ref/close.html for more context. [#557] @flavorjones - When setting a Database
busy_handler
, fire the write barrier to prevent potential crashes during the GC mark phase. [#556] @jhawthorn
Documentation
New Contributors
- @jhawthorn made their first contribution in #556
- @rickhull made their first contribution in #562
Full Changelog: v2.0.4...v2.1.0
sha256 checksums:
6ed8c7edce2c4ec432152f548ffc80667bd774870d585bf5634d8e2e085fb70d sqlite3-2.1.0-aarch64-linux-gnu.gem
b8330e67696ae9294b6e5da0d7ceb4e33e46462e1911b79fdf81eb20aa6f0dc7 sqlite3-2.1.0-aarch64-linux-musl.gem
577636e21e7373546f2f2e526316a53ed0ee0eeaa10960647e26479d1ebb49b9 sqlite3-2.1.0-arm64-darwin.gem
7bad1c60fd4e46c4c941bfc4d12c59254a9715b289655a606880e471e829c74c sqlite3-2.1.0-arm-linux-gnu.gem
42ec543f593e0b3ddb5a944e15ede59dea3cc35acb27639e67bc6f819b1b5bcc sqlite3-2.1.0-arm-linux-musl.gem
aea47c58078c274ca83195ce1686ee22c4641eb60ccab12918500e78c4babb4f sqlite3-2.1.0.gem
0c7505899d8754c4cd73b02f0aec88028a0f282cdb426f3b2e5fa2c9dafd0dce sqlite3-2.1.0-x64-mingw-ucrt.gem
e2be8fad85b6aee16f83baad378b3b3ab992c904e98592cccfd845ad56f4da1f sqlite3-2.1.0-x86_64-darwin.gem
8993191e8304386d6a9bd76fe9ed161f323ddf857cc06f7f77a31e8b6ccb4d34 sqlite3-2.1.0-x86_64-linux-gnu.gem
cd6b7e6701b1110f033d3dbd156ac19bca011ed4e976c7897b402d578720b9c3 sqlite3-2.1.0-x86_64-linux-musl.gem
1a092fbe4b6cbf20bbeec239c95b8b9caa0d9faa0ad2431fa46ababcd3d91718 sqlite3-2.1.0-x86-linux-gnu.gem
ea377977a07031a6215a2d5ed1e0bd7fb77da0cbbca1af145533b10e0e11bc02 sqlite3-2.1.0-x86-linux-musl.gem
2.1.0.rc3 / 2024-09-18
prerelease 2.1.0.rc3 / 2024-09-18
Improved
- Allow suppression of fork safety warnings. [#566] @flavorjones
sha256 checksums:
e4cb283be8178c21583a808111f11289b424c237b909e7f42ac94ba2878a45b0 sqlite3-2.1.0.rc3-aarch64-linux-gnu.gem
a8d107a6701109cc00cbd9fe5a893236951776b7d03aa054c2b692ba06dff77a sqlite3-2.1.0.rc3-aarch64-linux-musl.gem
5560636c301b6a71a22a9483c2576ed978eb4ece618002dc2ea8cf0221375317 sqlite3-2.1.0.rc3-arm64-darwin.gem
dc1a04410ec6f0bc959769bf272f69c7b167e33fae8030717d3ab7634fddf160 sqlite3-2.1.0.rc3-arm-linux-gnu.gem
3dfcf5e036e2297ed07ca8af10a0cd6ab054fd487b716e54d55525505b9a6aa9 sqlite3-2.1.0.rc3-arm-linux-musl.gem
f40e8329a4418644d205eb7b98adc18ea0567dd2397c799dd47bb67761d0ffe6 sqlite3-2.1.0.rc3.gem
17d6ae329b11e52a23691986e76d8d03443b4b4eae7302b83045b80697151e5e sqlite3-2.1.0.rc3-x64-mingw-ucrt.gem
431b1eb401b036063b5f108269ceff5c711161759456d1f011b19b145ca38fcd sqlite3-2.1.0.rc3-x86_64-darwin.gem
f7cb855b5908b600765971500ecd201828e91c530cca4c3213b2717028f1a2db sqlite3-2.1.0.rc3-x86_64-linux-gnu.gem
0cd1fab6e8b3996291075125eac6ea321e73fe829a2bad1efffdf6ac172e1d3b sqlite3-2.1.0.rc3-x86_64-linux-musl.gem
dc9055ed291c3d8342a8d4b9953354fbca6aaab122ccc25b4b0e6b8ed42de59d sqlite3-2.1.0.rc3-x86-linux-gnu.gem
555d45a8739d2f4df6b2fb9c6bce5737879a67bc7bdc2973b70873381b3d3adc sqlite3-2.1.0.rc3-x86-linux-musl.gem
2.1.0.rc2 / 2024-09-18
prerelease 2.1.0.rc2 / 2024-09-18
Improved
- Address a performance regression in 2.1.0.rc1. See [#565] @flavorjones