= New Features * Sequel now supports Ruby 2.7+ startless ranges in filters: DB[:table].where(:column=>(..10)) # SELECT * FROM table WHERE (column <= 10) DB[:table].where(:column=>(...10)) # SELECT * FROM table WHERE (column < 10) It also supports startless, endless ranges in filters, using a condition that is always true: DB[:table].where(:column=>(nil..nil)) # SELECT * FROM table WHERE (1 = 1) * Sequel now supports startless ranges in the pg_range extension: DB.extension :pg_range DB[:table].insert(:column=>(..10)) # INSERT INTO "table" ("column") VALUES ('[,10]') RETURNING "id" DB[:table].insert(:column=>(...10)) # INSERT INTO "table" ("column") VALUES ('[,10)') RETURNING "id" DB[:table].insert(:column=>(nil..nil)) # INSERT INTO "table" ("column") VALUES ('[,]') RETURNING "id" * Sequel now supports a :materialized option in Dataset#with on PostgreSQL 12+, to control the inlining of common table expressions: DB[:t].with(:t, DB[:t2], :materialized=>false) # WITH "t" AS NOT MATERIALIZED (SELECT * FROM "t2") # SELECT * FROM "t" DB[:t].with(:t, DB[:t2], :materialized=>true) # WITH "t" AS MATERIALIZED (SELECT * FROM "t2") # SELECT * FROM "t" = Other Improvements * Database#primary_key_sequence now works for tables without serial sequences on PostgreSQL 12+. * Dataset#multi_insert and #import with return: :primary_key option on Microsoft SQL Server now work correctly if the dataset uses a row_proc (e.g. for model datasets).