diff --git a/CHANGELOG b/CHANGELOG index 7b536bde8..cf1f62e1f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,4 @@ -=== master +=== 5.84.0 (2024-09-01) * Support creating VIRTUAL tables on SQLite via the create_table :using option (jeremyevans) diff --git a/doc/release_notes/5.84.0.txt b/doc/release_notes/5.84.0.txt new file mode 100644 index 000000000..92e570d50 --- /dev/null +++ b/doc/release_notes/5.84.0.txt @@ -0,0 +1,33 @@ += New Features + +* The pg_json_ops extension now supports the json_exists, json_value, + and json_query functions added in PostgreSQL 17: + + Sequel.extension :pg_json_ops + j = Sequel.pg_json_op(:jsonb_column) + j.exists('$.foo') # json_exists(jsonb_column, '$.foo') + j.value('$.foo') # json_value(jsonb_column, '$.foo') + j.query('$.foo') # json_query(jsonb_column, '$.foo') + + j.exists('$.foo', passing: {a: 1}) # json_exists(jsonb_column, '$.foo' PASSING 1 AS a) + j.value('$.foo', returning: Time) # json_value(jsonb_column, '$.foo' RETURNING timestamp) + j.query('$.foo', wrapper: true) # json_query(jsonb_column, '$.foo' WITH WRAPPER) + + All clauses supported by PostgreSQL 17 are supported via options + (supported options differ per method): + + * :on_error : ON ERROR + * :on_empty : ON EMPTY + * :passing : PASSING + * :returning : RETURNING + * :wrapper : WITH WRAPPER | OMIT QUOTES + +* On SQLite, Database#create_table now supports a :using option to + create a virtual table: + + DB.create_table(:t, using: 'fts5(email)') + # CREATE VIRTUAL TABLE t USING fts5(email) + += Other Improvements + +* The gem size has been reduced 25% by removing documentation. diff --git a/lib/sequel/version.rb b/lib/sequel/version.rb index 780a0dc9f..7aa36a28c 100644 --- a/lib/sequel/version.rb +++ b/lib/sequel/version.rb @@ -6,11 +6,11 @@ module Sequel # The minor version of Sequel. Bumped for every non-patch level # release, generally around once a month. - MINOR = 83 + MINOR = 84 # The tiny version of Sequel. Usually 0, only bumped for bugfix # releases that fix regressions from previous versions. - TINY = 1 + TINY = 0 # The version of Sequel you are using, as a string (e.g. "2.11.0") VERSION = [MAJOR, MINOR, TINY].join('.').freeze