sqlite3 2.9.4 → 2.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d8d7877b1eded0d31ae508e3f8fe14f1298b60c062f6a68258d564a62d898b7
4
- data.tar.gz: e4f52286f1282d53ec2a0f17bab574edb175ef97a9c00edce61972d50e57cd5e
3
+ metadata.gz: d07346cdcb69a6187d144247aefa90dbf7b2966513f94643e20baa18dd38fbbf
4
+ data.tar.gz: e1c7385c0d16942a8b3b9fc4976b486e1b1fed18524975e0d53a608d542a2943
5
5
  SHA512:
6
- metadata.gz: c88e6c7e05b8e4ed99f57f6f86425f55cd2cc2f66d47c9f2276faaf7c2bcd6140203d94c69e0d93100b8d4cecce2600be75fabba0426b080e3d710608ea2356a
7
- data.tar.gz: 77b56dde40aeeb6b60c5c06b91dce64c58f6939ac86178721801ae5e5a9f40040fa7f6412175338ec4ed6c9f04284f5d6ba29794adf74b98c1083952bc035576
6
+ metadata.gz: 0e95401b70a9780e5e5a1903e3b9cf3d0aa588e75c89db0211642918d83305132b06ab169ee519633d507fc27a1d6674e344162acae905c8fe14478850a3b3cf
7
+ data.tar.gz: ab4fb4b3a3b7dba95cbb0e7cbb893c9223de6f5ca82469ac68f35f6b89293bc2ba8292cd5d561cfb245e038769880b60edb6a4896a4b9072305661dda2f9e999
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # sqlite3-ruby Changelog
2
2
 
3
+ ## 2.9.5 / 2026-06-07
4
+
5
+ ### Dependencies
6
+
7
+ - Vendored sqlite is updated to [v3.53.2](https://www.sqlite.org/releaselog/3_53_3.html) (from v3.53.1). #709 @flavorjones
8
+
9
+ ### Security / Stability
10
+
11
+ - Fix use-after-free issue with custom functions, when the same function name is used with multiple arities. See https://github.com/sparklemotion/sqlite3-ruby/security/advisories/GHSA-28hh-pr2h-2w89 for more information. #710 @flavorjones
12
+ - Fix use-after-free issue with aggregate functions, if a statement is used after a soft database close. See https://github.com/sparklemotion/sqlite3-ruby/security/advisories/GHSA-j7fr-3v8c-3qc3 for more information. #711 @flavorjones
13
+
14
+
3
15
  ## 2.9.4 / 2026-05-05
4
16
 
5
17
  - Vendored sqlite is updated to [v3.53.1](https://www.sqlite.org/releaselog/3_53_1.html) (from v3.53.0). #704 @flavorjones
data/dependencies.yml CHANGED
@@ -1,13 +1,13 @@
1
1
  sqlite3:
2
2
  # checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
3
- # 36ca143645cf76997d07b66e9244c636b8ccdec64a1d50558259c4e415e6558b
3
+ # 025328da165109f48abccc6e7478508060804412bed2bd81d47e98ba1b72983b
4
4
  #
5
- # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3530100.tar.gz
6
- # 36ca143645cf76997d07b66e9244c636b8ccdec64a1d50558259c4e415e6558b ports/archives/sqlite-autoconf-3530100.tar.gz
5
+ # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3530200.tar.gz
6
+ # 025328da165109f48abccc6e7478508060804412bed2bd81d47e98ba1b72983b ports/archives/sqlite-autoconf-3530200.tar.gz
7
7
  #
8
- # $ sha256sum ports/archives/sqlite-autoconf-3530100.tar.gz
9
- # 83e6b2020a034e9a7ad4a72feea59e1ad52f162e09cbd26735a3ffb98359fc4f ports/archives/sqlite-autoconf-3530100.tar.gz
10
- version: "3.53.1"
8
+ # $ sha256sum ports/archives/sqlite-autoconf-3530200.tar.gz
9
+ # 588ad51949419a56ebe81fe56193d510c559eb94c9a57748387860b5d3069316 ports/archives/sqlite-autoconf-3530200.tar.gz
10
+ version: "3.53.2"
11
11
  files:
12
- - url: "https://sqlite.org/2026/sqlite-autoconf-3530100.tar.gz"
13
- sha256: "83e6b2020a034e9a7ad4a72feea59e1ad52f162e09cbd26735a3ffb98359fc4f"
12
+ - url: "https://sqlite.org/2026/sqlite-autoconf-3530200.tar.gz"
13
+ sha256: "588ad51949419a56ebe81fe56193d510c559eb94c9a57748387860b5d3069316"
@@ -198,8 +198,6 @@ sqlite3_rb_close(VALUE self)
198
198
 
199
199
  close_or_discard_db(ctx);
200
200
 
201
- rb_iv_set(self, "-aggregators", Qnil);
202
-
203
201
  return self;
204
202
  }
205
203
 
@@ -212,8 +210,6 @@ sqlite3_rb_discard(VALUE self)
212
210
 
213
211
  discard_db(ctx);
214
212
 
215
- rb_iv_set(self, "-aggregators", Qnil);
216
-
217
213
  return self;
218
214
  }
219
215
 
@@ -528,7 +524,7 @@ define_function_with_flags(VALUE self, VALUE name, VALUE flags)
528
524
 
529
525
  CHECK(ctx->db, status);
530
526
 
531
- rb_hash_aset(rb_iv_get(self, "@functions"), name, block);
527
+ rb_ary_push(rb_iv_get(self, "@functions"), block);
532
528
 
533
529
  return self;
534
530
  }
@@ -105,10 +105,10 @@ module Sqlite3
105
105
  def configure_extension
106
106
  append_cflags("-fvisibility=hidden") # see https://github.com/rake-compiler/rake-compiler-dock/issues/87
107
107
 
108
- if find_header("sqlite3.h")
109
- # noop
110
- elsif sqlcipher? && find_header("sqlcipher/sqlite3.h")
108
+ if sqlcipher? && find_header("sqlcipher/sqlite3.h")
111
109
  append_cppflags("-DUSING_SQLCIPHER_INC_SUBDIR")
110
+ elsif find_header("sqlite3.h")
111
+ # noop
112
112
  else
113
113
  abort_could_not_find("sqlite3.h")
114
114
  end
@@ -175,7 +175,7 @@ module SQLite3
175
175
  @authorizer = nil
176
176
  @progress_handler = nil
177
177
  @collations = {}
178
- @functions = {}
178
+ @functions = []
179
179
  @results_as_hash = options[:results_as_hash]
180
180
  @readonly = mode & Constants::Open::READONLY != 0
181
181
  @default_transaction_mode = options[:default_transaction_mode] || :deferred
@@ -398,6 +398,8 @@ module SQLite3
398
398
  # the FunctionProxy#result= method on the +func+ parameter and
399
399
  # indicate the return value that way.
400
400
  #
401
+ # A reference to the block will be kept for the lifetime of the database object.
402
+ #
401
403
  # Example:
402
404
  #
403
405
  # db.create_function( "maim", 1 ) do |func, value|
@@ -437,6 +439,8 @@ module SQLite3
437
439
  # function invocation. It should invoke FunctionProxy#result= to
438
440
  # store the result of the function.
439
441
  #
442
+ # A reference to the block will be kept for the lifetime of the database object.
443
+ #
440
444
  # Example:
441
445
  #
442
446
  # db.create_aggregate( "lengths", 1 ) do
@@ -1,4 +1,4 @@
1
1
  module SQLite3
2
2
  # (String) the version of the sqlite3 gem, e.g. "2.1.1"
3
- VERSION = "2.9.4"
3
+ VERSION = "2.9.5"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqlite3
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.4
4
+ version: 2.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamis Buck
@@ -75,7 +75,7 @@ files:
75
75
  - lib/sqlite3/value.rb
76
76
  - lib/sqlite3/version.rb
77
77
  - lib/sqlite3/version_info.rb
78
- - ports/archives/sqlite-autoconf-3530100.tar.gz
78
+ - ports/archives/sqlite-autoconf-3530200.tar.gz
79
79
  homepage: https://github.com/sparklemotion/sqlite3-ruby
80
80
  licenses:
81
81
  - BSD-3-Clause
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  requirements: []
106
- rubygems_version: 4.0.6
106
+ rubygems_version: 4.0.10
107
107
  specification_version: 4
108
108
  summary: Ruby library to interface with the SQLite3 database engine (http://www.sqlite.org).
109
109
  test_files: []