Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update sqlite3 requirement from ~> 1.7 to ~> 2.1 #1

Merged
merged 1 commit into from
Oct 19, 2024

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 17, 2024

Updates the requirements on sqlite3 to permit the latest version.

Release notes

Sourced from sqlite3's releases.

2.1.0 / 2024-09-24

Ruby

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 a BusyException. 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

Full Changelog: sparklemotion/sqlite3-ruby@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
</tr></table> 

... (truncated)

Changelog

Sourced from sqlite3's changelog.

2.1.0 / 2024-09-24

Ruby

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 a BusyException. 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

2.0.4 / 2024-08-13

Dependencies

2.0.3 / 2024-07-29

Improved

  • Database#quote avoids allocating strings where reusing frozen strings is preferable. #548 @​casperisfine

2.0.2 / 2024-05-23

Dependencies

... (truncated)

Commits
  • 9a18cb9 version bump to v2.1.0
  • 04d111c version bump to v2.1.0.rc3
  • 81fb037 Merge pull request #566 from sparklemotion/flavorjones-suppress-fork-warnings
  • c90b177 feat: SQLite3::ForkSafety.suppress_warnings!
  • 4b6d614 version bump to v2.1.0.rc2
  • 98d24ce Merge pull request #565 from sparklemotion/flavorjones-optimize-discarded-db-...
  • af548cf Optimize the statement check for a non-discarded database
  • e621d88 doc: update garbage collection description
  • 81ea485 version bump to v2.1.0.rc1
  • 5f4b0aa doc: add a note to CONTRIBUTING.md about the /adr dir
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) to permit the latest version.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](sparklemotion/sqlite3-ruby@v1.7.0...v2.1.0)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Oct 17, 2024
Copy link
Member

@hhorikawa hhorikawa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rails 7.2 で sqlite3 v2 が使えるようになった。

@hhorikawa hhorikawa merged commit 9f35fbe into master Oct 19, 2024
0 of 3 checks passed
@dependabot dependabot bot deleted the dependabot/bundler/sqlite3-tw-2.1 branch October 19, 2024 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant