diff --git a/CHANGELOG b/CHANGELOG index aa257d67f..f9a0ce592 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,6 @@ -=== master +=== 5.81.0 (2024-06-01) + +* Fix ignored block warnings in a couple plugin apply methods on Ruby 3.4 (jeremyevans) * Skip Ruby internal caller locations when searching for caller locations in caller_logging and provenance extensions (jeremyevans) diff --git a/doc/release_notes/5.81.0.txt b/doc/release_notes/5.81.0.txt new file mode 100644 index 000000000..19cc2259c --- /dev/null +++ b/doc/release_notes/5.81.0.txt @@ -0,0 +1,31 @@ += New Features + +* A temporarily_release_connection Database extension has been added, + designed for multithreaded transactional testing. + + This allows one thread to start a transaction, and then release + the connection back for usage by the connection pool, so that + other threads can operate on the connection object safely inside + the transaction. This requires the connection pool be limited + to a single connection, to ensure that the released connection + can be reacquired. It's not perfect, because if the connection + is disconnected and removed from the pool while temporarily + released, there is no way to handle that situation correctly. + Example: + + DB.transaction(rollback: :always, auto_savepoint: true) do |conn| + DB.temporarily_release_connection(conn) do + # Other threads can operate on connection safely inside + # the transaction + yield + end + end + += Other Improvements + +* In the caller_logging and provenance extensions, Ruby internal + caller locations are skipped when trying to locate the appropriate + caller line to include. + +* A couple ignored block warnings in plugin apply methods have been + fixed on Ruby 3.4. diff --git a/lib/sequel/version.rb b/lib/sequel/version.rb index 32d07b1e7..7cb20410b 100644 --- a/lib/sequel/version.rb +++ b/lib/sequel/version.rb @@ -6,7 +6,7 @@ module Sequel # The minor version of Sequel. Bumped for every non-patch level # release, generally around once a month. - MINOR = 80 + MINOR = 81 # The tiny version of Sequel. Usually 0, only bumped for bugfix # releases that fix regressions from previous versions.