Subject: CVS commit: pkgsrc/databases/ruby-sqlite3
From: Takahiro Kambe
Date: 2024-10-13 18:22:23
Message id: 20241013162223.93AABFC7E@cvs.NetBSD.org

Log Message:
databases/ruby-sqlite3: update to 2.1.0

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 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

* The FAQ.md has been updated to fix some inaccuracies.  [#562] @rickhull

Files:
RevisionActionfile
1.79modifypkgsrc/databases/ruby-sqlite3/Makefile
1.29modifypkgsrc/databases/ruby-sqlite3/PLIST
1.45modifypkgsrc/databases/ruby-sqlite3/distinfo