Skip to content

Commit

Permalink
Bump version to 5.77.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremyevans committed Feb 1, 2024
1 parent 35a2922 commit 88a4982
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 2 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG
@@ -1,4 +1,4 @@
=== master
=== 5.77.0 (2024-02-01)

* Support create_table :without_rowid option on SQLite (loranger32) (#2126)

Expand Down
63 changes: 63 additions & 0 deletions doc/release_notes/5.77.0.txt
@@ -0,0 +1,63 @@
= New Features

* A transaction_connection_validator extension has been added. This
extension allows for transparently switching to a new connection if
a disconnect error is raised while trying to start a transaction, as
long as a connection was not already checked out from the pool
when the transaction method was called. Transparent reconnection
is safe in this case, since no user code is retried.

This extension can have lower overhead than the
connection_validator extension if that is configured to check for
validity more often than the default of one hour. However, it
only handles cases where transactions are used. It can detect
disconnects that would not be detected by default with the
connection_validator extension, since that extension defaults to
only checking validity if the connection has not been used in the
last hour.

* Sequel now supports a create_table :without_rowid option on SQLite,
to create a table WITHOUT ROWID, for better performance in some
cases. Users are encouraged to read the SQLite documentation on
WITHOUT ROWID before using this option.

* The sqlite adapter now supports a :regexp_function_cache option, if
the :setup_regexp_function option is set to :cached. The
:regexp_function_cache option should be a Proc (returning a cache
object to use), or a class. It's possible to use
ObjectSpace::WeakKeyMap as the value of the option on Ruby 3.3+
to avoid the memory leaks that are possible when using
:setup_regexp_function option :cached value with dynamic regexps.

* The duplicate_columns_handler extension now supports specifying
the on_duplicate_columns option as a connection string parameter.

= Other Improvements

* The list plugin now honors the :top option for the position when
adding the first item to the list, instead of always using 1.

* Regexp matches on SQLite are now faster on Ruby 2.4+, using
Regexp#match?.

* The uniqueness validation in the validation_helpers plugin now
uses empty? instead of count == 0, for better performance.

* On Ruby 3.4+, Sequel uses the timed_queue connection pool instead
of the threaded connection pool by default. This should make it
so no existing applications are affected by the default switch.
This should hopefully allow ample testing of the timed_queue
connection pool. At some point in the future, if no problems
are repoted, Sequel will likely switch to using the timed_queue
connection pool by default on Ruby 3.2+.

= Backwards Compatibility

* Sequel now warns by default if using eager_graph/association_join
with an association that uses a block, in the cases where the
block would be ignored and there are no appropriate graph options
set. In Sequel 6, this warning will be turned into an exception.
It is recommended that users use the auto_restrict_eager_graph
plugin to turn this into an exception now, or use the
:graph_use_association_block option so that the block is not
ignored when graphing.
2 changes: 1 addition & 1 deletion lib/sequel/version.rb
Expand Up @@ -6,7 +6,7 @@ module Sequel

# The minor version of Sequel. Bumped for every non-patch level
# release, generally around once a month.
MINOR = 76
MINOR = 77

# The tiny version of Sequel. Usually 0, only bumped for bugfix
# releases that fix regressions from previous versions.
Expand Down

0 comments on commit 88a4982

Please sign in to comment.