sqlite3 1.4.2 → 1.6.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff35addc187325a243e752d17c9f38ac54ea4a5b8a48c4809c4dd91692f1f94d
4
- data.tar.gz: c9c22fc4b4a091197b12ae09c13d199c2fcd5f8c836944bf04f50be919d32f8a
3
+ metadata.gz: bd05b46af0d4f89e125660bec21d64440653c7e8c9ebcc425f90390ce7b8f9c9
4
+ data.tar.gz: 619be5f01d500878ad1d101683d67503ac8f18e6c4e78326c9c735344d141997
5
5
  SHA512:
6
- metadata.gz: 68c1c1233ff73049b7c1ff1e0bbeec883bc90228182bd090564ff4df2b9f37fe92e4e9333a374306ba7fcdd10b0b2f914c4116dff0c34ef5c2e964f9342de986
7
- data.tar.gz: 698263b49e7efa9a3c06220d71e617657fdf31b8e8097a9e2278b5ca3a5fbbb3468b2492fa51670345a3756b4760169d2b79681fac523144166f99253f1e40f3
6
+ metadata.gz: d51109b1fc40075a89eb5d1dbde3332c750490bdb8fc7c979aca45c3010083435a4453da40671b0a046767390b6555c117f450ddae6fb92f0c68f299db1cec5d
7
+ data.tar.gz: dde78179c5e10ffc088d99161178e47c857fe54d673a3641b54bcc70075a97512785c1ee3cc56266054894483b75c05f2fa89e194d416034b9c6b1f2c268b8f8
@@ -1,4 +1,4 @@
1
- = API Changes
1
+ # API Changes
2
2
 
3
3
  * SQLite3::Database#execute only accepts an array for bind parameters.
4
4
 
@@ -8,7 +8,7 @@
8
8
  sometimes important change in behavior.
9
9
 
10
10
  83882d2208ed189361617d5ab8532a325aaf729d
11
-
11
+
12
12
  * SQLite3::Database#trace now takes either a block or an object that responds
13
13
  to "call". The previous implementation passed around a VALUE that was cast
14
14
  to a void *. This is dangerous because the value could get garbage collected
@@ -30,7 +30,7 @@
30
30
  * test/test_tc_database.rb was removed because we no longer use the Driver
31
31
  design pattern.
32
32
 
33
- = Garbage Collection Strategy
33
+ # Garbage Collection Strategy
34
34
 
35
35
  All statements keep pointers back to their respective database connections.
36
36
  The @connection instance variable on the Statement handle keeps the database
@@ -47,4 +47,3 @@ collected. So, it is possible that a connection and a statement are up for
47
47
  garbage collection. If the database connection were to be free'd before the
48
48
  statement, then boom. Instead we'll be conservative and free unclosed
49
49
  statements when the connection is terminated.
50
-
data/CHANGELOG.md ADDED
@@ -0,0 +1,520 @@
1
+ # sqlite3-ruby Changelog
2
+
3
+ ## 1.6.3 / 2023-05-16
4
+
5
+ ### Dependencies
6
+
7
+ Vendored sqlite is updated to [v3.42.0](https://sqlite.org/releaselog/3_42_0.html).
8
+
9
+ From the release announcement:
10
+
11
+ > This is a regular enhancement release. The main new features are:
12
+ > * SQLite will now parse and understand JSON5, though it is careful to generate only pure, canonical JSON.
13
+ > * The secure-delete option has been added to the FTS5 extension.
14
+
15
+
16
+ ## 1.6.2 / 2023-03-27
17
+
18
+ ### Dependencies
19
+
20
+ Vendored sqlite is updated from v3.41.0 to [v3.41.2](https://sqlite.org/releaselog/3_41_2.html).
21
+
22
+
23
+ ### Packaging
24
+
25
+ * Allow compilation against system libraries without the presence of `mini_portile2`, primarily for the convenience of linux distro repackagers. [#381] (Thank you, @voxik!)
26
+
27
+
28
+ ## 1.6.1 / 2023-02-22
29
+
30
+ ### Dependencies
31
+
32
+ * Vendored sqlite is updated to [v3.41.0](https://sqlite.org/releaselog/3_41_0.html).
33
+
34
+
35
+ ## 1.6.0 / 2023-01-13
36
+
37
+ ### Ruby
38
+
39
+ This release introduces native gem support for Ruby 3.2.
40
+
41
+ This release ends native gem support for Ruby 2.6, for which [upstream support ended 2022-04-12](https://www.ruby-lang.org/en/downloads/branches/).
42
+
43
+
44
+ ### Dependencies
45
+
46
+ * Vendored sqlite3 is updated to [v3.40.1](https://sqlite.org/releaselog/3_40_1.html).
47
+
48
+
49
+ ### Fixes
50
+
51
+ * `get_boolean_pragma` now returns the correct value. Previously, it always returned true. [#275] (Thank you, @Edouard-chin!)
52
+
53
+
54
+ ## 1.5.4 / 2022-11-18
55
+
56
+ ### Dependencies
57
+
58
+ * Vendored sqlite is updated to [v3.40.0](https://sqlite.org/releaselog/3_40_0.html).
59
+
60
+
61
+ ## 1.5.3 / 2022-10-11
62
+
63
+ ### Fixed
64
+
65
+ * Fixed installation of the "ruby" platform gem when building from source on Fedora. In v1.5.0..v1.5.2, installation failed on some systems due to the behavior of Fedora's pkg-config implementation. [#355]
66
+
67
+
68
+ ## 1.5.2 / 2022-10-01
69
+
70
+ ### Packaging
71
+
72
+ This version correctly vendors the tarball for sqlite v3.39.4 in the vanilla "ruby" platform gem package, so that users will not require network access at installation.
73
+
74
+ v1.5.0 and v1.5.1 mistakenly packaged the tarball for sqlite v3.38.5 in the vanilla "ruby" platform gem, resulting in downloading the intended tarball over the network at installation time (or, if the network was not available, failure to install). Note that the precompiled native gems were not affected by this issue. [#352]
75
+
76
+
77
+ ## 1.5.1 / 2022-09-29
78
+
79
+ ### Dependencies
80
+
81
+ * Vendored sqlite is updated to [v3.39.4](https://sqlite.org/releaselog/3_39_4.html).
82
+
83
+ ### Security
84
+
85
+ The vendored version of sqlite, v3.39.4, should be considered to be a security release. From the release notes:
86
+
87
+ > Version 3.39.4 is a minimal patch against the prior release that addresses issues found since the
88
+ > prior release. In particular, a potential vulnerability in the FTS3 extension has been fixed, so
89
+ > this should be considered a security update.
90
+ >
91
+ > In order to exploit the vulnerability, an attacker must have full SQL access and must be able to
92
+ > construct a corrupt database with over 2GB of FTS3 content. The problem arises from a 32-bit
93
+ > signed integer overflow.
94
+
95
+ For more information please see [GHSA-mgvv-5mxp-xq67](https://github.com/sparklemotion/sqlite3-ruby/security/advisories/GHSA-mgvv-5mxp-xq67).
96
+
97
+
98
+ ## 1.5.0 / 2022-09-08
99
+
100
+ ### Packaging
101
+
102
+ #### Faster, more reliable installation
103
+
104
+ Native (precompiled) gems are available for Ruby 2.6, 2.7, 3.0, and 3.1 on all these platforms:
105
+
106
+ - `aarch64-linux`
107
+ - `arm-linux`
108
+ - `arm64-darwin`
109
+ - `x64-mingw32` and `x64-mingw-ucrt`
110
+ - `x86-linux`
111
+ - `x86_64-darwin`
112
+ - `x86_64-linux`
113
+
114
+ If you are using one of these Ruby versions on one of these platforms, the native gem is the recommended way to install sqlite3-ruby.
115
+
116
+ See [the README](https://github.com/sparklemotion/sqlite3-ruby#native-gems-recommended) for more information.
117
+
118
+
119
+ #### More consistent developer experience
120
+
121
+ Both the native (precompiled) gems and the vanilla "ruby platform" (source) gem include sqlite v3.39.3 by default.
122
+
123
+ Defaulting to a consistent version of sqlite across all systems means that your development environment behaves exactly like your production environment, and you have access to the latest and greatest features of sqlite.
124
+
125
+ You can opt-out of the packaged version of sqlite (and use your system-installed library as in versions < 1.5.0). See [the README](https://github.com/sparklemotion/sqlite3-ruby#avoiding-the-precompiled-native-gem) for more information.
126
+
127
+ [Release notes for this version of sqlite](https://sqlite.org/releaselog/3_39_3.html)
128
+
129
+
130
+ ### Rubies and Platforms
131
+
132
+ * TruffleRuby is supported.
133
+ * Apple Silicon is supported (M1, arm64-darwin).
134
+ * vcpkg system libraries supported. [#332] (Thanks, @MSP-Greg!)
135
+
136
+
137
+ ### Added
138
+
139
+ * `SQLite3::SQLITE_LOADED_VERSION` contains the version string of the sqlite3 library that is dynamically loaded (compare to `SQLite3::SQLITE_VERSION` which is the version at compile-time).
140
+
141
+
142
+ ### Fixed
143
+
144
+ * `SQLite3::Database#load_extensions` now raises a `TypeError` unless a String is passed as the file path. Previously it was possible to pass a non-string and cause a segfault. [#339]
145
+
146
+
147
+ ## 1.4.4 / 2022-06-14
148
+
149
+ ### Fixes
150
+
151
+ * Compilation no longer fails against SQLite3 versions < 3.29.0. This issue was introduced in v1.4.3. [#324] (Thank you, @r6e!)
152
+
153
+
154
+ ## 1.4.3 / 2022-05-25
155
+
156
+ ### Enhancements
157
+
158
+ * Disable non-standard support for double-quoted string literals via the `:strict` option. [#317] (Thank you, @casperisfine!)
159
+ * Column type names are now explicitly downcased on platforms where they may have been in shoutcaps. [#315] (Thank you, @petergoldstein!)
160
+ * Support File or Pathname arguments to `Database.new`. [#283] (Thank you, @yb66!)
161
+ * Support building on MSVC. [#285] (Thank you, @jmarrec!)
162
+
163
+
164
+ ## 1.4.2 / 2019-12-18
165
+
166
+ * Travis: Drop unused setting "sudo: false"
167
+ * The taint mechanism will be deprecated in Ruby 2.7
168
+ * Fix Ruby 2.7 rb_check_safe_obj warnings
169
+ * Update travis config
170
+
171
+
172
+ ## 1.4.1
173
+
174
+ * Don't mandate dl functions for the extention build
175
+ * bumping version
176
+
177
+
178
+ ## 1.4.0
179
+
180
+ ### Enhancements
181
+
182
+ * Better aggregator support
183
+
184
+ ### Bugfixes
185
+
186
+ * Various
187
+
188
+
189
+ ## 1.3.13
190
+
191
+ ### Enhancements
192
+
193
+ * Support SQLite flags when defining functions
194
+ * Add definition for SQLITE_DETERMINISTIC flag
195
+
196
+
197
+ ## 1.3.12
198
+
199
+ ### Bugfixes
200
+
201
+ * OS X install will default to homebrew if available. Fixes #195
202
+
203
+
204
+ ## 1.3.11 / 2015-10-10
205
+
206
+ ### Enhancements
207
+
208
+ * Windows: build against SQLite 3.8.11.1
209
+
210
+ ### Internal
211
+
212
+ * Use rake-compiler-dock to build Windows binaries. Pull #159 [larskanis]
213
+ * Expand Ruby versions being tested for Travis and AppVeyor
214
+
215
+
216
+ ## 1.3.10 / 2014-10-30
217
+
218
+ ### Enhancements
219
+
220
+ * Windows: build against SQLite 3.8.6. Closes #135 [Hubro]
221
+
222
+
223
+ ## 1.3.9 / 2014-02-25
224
+
225
+ ### Bugfixes
226
+
227
+ * Reset exception message. Closes #80
228
+ * Reduce warnings due unused pointers. Closes #89
229
+ * Add BSD-3 license reference to gemspec. Refs #99 and #106
230
+
231
+
232
+ ## 1.3.8 / 2013-08-17
233
+
234
+ ### Enhancements
235
+
236
+ * Windows: build against SQLite 3.7.17
237
+
238
+ ### Bugfixes
239
+
240
+ * Reset exception message. Closes #80
241
+ * Correctly convert BLOB values to Ruby. Closes #65
242
+ * Add MIT license reference to gemspec. Closes #99
243
+ * Remove unused pointer. Closes #89
244
+
245
+ ### Internal
246
+
247
+ * Backport improvements in cross compilation for Windows
248
+ * Use of Minitest for internal tests
249
+ * Use Gemfile (generated by Hoe) to deal with dependencies
250
+ * Cleanup Travis CI
251
+
252
+
253
+ ## 1.3.7 / 2013-01-11
254
+
255
+ ### Bugfixes
256
+
257
+ * Closing a bad statement twice will not segv.
258
+ * Aggregate handlers are initialized on each query. Closes #44
259
+
260
+ ### Internal
261
+
262
+ * Unset environment variables that could affect cross compilation.
263
+
264
+
265
+ ## 1.3.6 / 2012-04-16
266
+
267
+ ### Enhancements
268
+
269
+ * Windows: build against SQLite 3.7.11
270
+ * Added SQLite3::ResultSet#each_hash for fetching each row as a hash.
271
+ * Added SQLite3::ResultSet#next_hash for fetching one row as a hash.
272
+
273
+ ### Bugfixes
274
+
275
+ * Support both UTF-16LE and UTF-16BE encoding modes on PPC. Closes #63
276
+ * Protect parameters to custom functions from being garbage collected too
277
+ soon. Fixes #60. Thanks hirataya!
278
+ * Fix backwards compatibility with 1.2.5 with bind vars and `query` method.
279
+ Fixes #35.
280
+ * Fix double definition error caused by defining sqlite3_int64/uint64.
281
+ * Fix suspicious version regexp.
282
+
283
+ ### Deprecations
284
+
285
+ * ArrayWithTypesAndFields#types is deprecated and the class will be removed
286
+ in version 2.0.0. Please use the `types` method on the ResultSet class
287
+ that created this object.
288
+ * ArrayWithTypesAndFields#fields is deprecated and the class will be removed
289
+ in version 2.0.0. Please use the `columns` method on the ResultSet class
290
+ that created this object.
291
+ * The ArrayWithTypesAndFields class will be removed in 2.0.0
292
+ * The ArrayWithTypes class will be removed in 2.0.0
293
+ * HashWithTypesAndFields#types is deprecated and the class will be removed
294
+ in version 2.0.0. Please use the `types` method on the ResultSet class
295
+ that created this object.
296
+ * HashWithTypesAndFields#fields is deprecated and the class will be removed
297
+ in version 2.0.0. Please use the `columns` method on the ResultSet class
298
+ that created this object.
299
+
300
+
301
+ ## 1.3.5 / 2011-12-03 - ZOMG Holidays are here Edition!
302
+
303
+ ### Enhancements
304
+
305
+ * Windows: build against SQLite 3.7.9
306
+ * Static: enable SQLITE_ENABLE_COLUMN_METADATA
307
+ * Added Statement#clear_bindings! to set bindings back to nil
308
+
309
+ ### Bugfixes
310
+
311
+ * Fixed a segv on Database.new. Fixes #34 (thanks nobu!)
312
+ * Database error is not reset, so don't check it in Statement#reset!
313
+ * Remove conditional around Bignum statement bindings.
314
+ Fixes #52. Fixes #56. Thank you Evgeny Myasishchev.
315
+
316
+ ### Internal
317
+
318
+ * Use proper endianness when testing database connection with UTF-16.
319
+ Fixes #40. Fixes #51
320
+ * Use -fPIC for static compilation when host is x86_64.
321
+
322
+
323
+ ## 1.3.4 / 2011-07-25
324
+
325
+ ### Enhancements
326
+
327
+ * Windows: build against SQLite 3.7.7.1
328
+ * Windows: build static binaries that do not depend on sqlite3.dll be
329
+ installed anymore
330
+
331
+ ### Bugfixes
332
+
333
+ * Backup API is conditionally required so that older libsqlite3 can be used.
334
+ Thanks Hongli Lai.
335
+ * Fixed segmentation fault when nil is passed to SQLite3::Statement.new
336
+ * Fix extconf's hardcoded path that affected installation on certain systems.
337
+
338
+
339
+ ## 1.3.3 / 2010-01-16
340
+
341
+ ### Bugfixes
342
+
343
+ * Abort on installation if sqlite3_backup_init is missing. Fixes #19
344
+ * Gem has been renamed to 'sqlite3'. Please use `gem install sqlite3`
345
+
346
+
347
+ ## 1.3.2 / 2010-10-30 / RubyConf Uruguay Edition!
348
+
349
+ ### Enhancements
350
+
351
+ * Windows: build against 3.7.3 version of SQLite3
352
+ * SQLite3::Database can now be open as readonly
353
+
354
+ db = SQLite3::Database.new('my.db', :readonly => true)
355
+
356
+ * Added SQLite3::SQLITE_VERSION and SQLite3::SQLITE_VERSION_NUMBER [nurse]
357
+
358
+ ### Bugfixes
359
+
360
+ * type_translation= works along with Database#execute and a block
361
+ * defined functions are kept in a hash to prevent GC. #7
362
+ * Removed GCC specific flags from extconf.
363
+
364
+ ### Deprecations
365
+
366
+ * SQLite3::Database#type_translation= will be deprecated in the future with
367
+ no replacement.
368
+ * SQlite3::Version will be deprecated in 2.0.0 with SQLite3::VERSION as the
369
+ replacement.
370
+
371
+
372
+ ## 1.3.1 / 2010-07-09
373
+
374
+ ### Enhancements
375
+
376
+ * Custom collations may be defined using SQLite3::Database#collation
377
+
378
+ ### Bugfixes
379
+
380
+ * Statements returning 0 columns are automatically stepped. [RF #28308]
381
+ * SQLite3::Database#encoding works on 1.8 and 1.9
382
+
383
+
384
+ ## 1.3.0 / 2010-06-06
385
+
386
+ ### Enhancements
387
+
388
+ * Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove]
389
+ See API_CHANGES document for details.
390
+ This closes: Bug #27300, Bug #27241, Patch #16020
391
+ * Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse]
392
+ * Added support for type translations [tenderlove]
393
+
394
+ @db.translator.add_translator('sometime') do |type, thing|
395
+ 'output' # this will be returned as value for that column
396
+ end
397
+
398
+ ### Experimental
399
+
400
+ * Added API to access and load extensions. [kashif]
401
+ These functions maps directly into SQLite3 own enable_load_extension()
402
+ and load_extension() C-API functions. See SQLite3::Database API documentation for details.
403
+ This closes: Patches #9178
404
+
405
+ ### Bugfixes
406
+
407
+ * Corrected gem dependencies (runtime and development)
408
+ * Fixed threaded tests [Alexey Borzenkov]
409
+ * Removed GitHub gemspec
410
+ * Fixed "No definition for" warnings from RDoc
411
+ * Generate zip and tgz files for releases
412
+ * Added Luis Lavena as gem Author (maintainer)
413
+ * Prevent mkmf interfere with Mighty Snow Leopard
414
+ * Allow extension compilation search for common lib paths [kashif]
415
+ (lookup /usr/local, /opt/local and /usr)
416
+ * Corrected extension compilation under MSVC [romuloceccon]
417
+ * Define load_extension functionality based on availability [tenderlove]
418
+ * Deprecation notices for Database#query. Fixes RF #28192
419
+
420
+
421
+ ## 1.3.0.beta.2 / 2010-05-15
422
+
423
+ ### Enhancements
424
+
425
+ * Added support for type translations [tenderlove]
426
+
427
+ @db.translator.add_translator('sometime') do |type, thing|
428
+ 'output' # this will be returned as value for that column
429
+ end
430
+
431
+ ### Bugfixes
432
+
433
+ * Allow extension compilation search for common lib paths [kashif]
434
+ (lookup /usr/local, /opt/local and /usr)
435
+ * Corrected extension compilation under MSVC [romuloceccon]
436
+ * Define load_extension functionality based on availability [tenderlove]
437
+ * Deprecation notices for Database#query. Fixes RF #28192
438
+
439
+
440
+ ## 1.3.0.beta.1 / 2010-05-10
441
+
442
+ ### Enhancements
443
+
444
+ * Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove]
445
+ See API_CHANGES document for details.
446
+ This closes: Bug #27300, Bug #27241, Patch #16020
447
+ * Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse]
448
+
449
+ ### Experimental
450
+
451
+ * Added API to access and load extensions. [kashif]
452
+ These functions maps directly into SQLite3 own enable_load_extension()
453
+ and load_extension() C-API functions. See SQLite3::Database API documentation for details.
454
+ This closes: Patches #9178
455
+
456
+ ### Bugfixes
457
+
458
+ * Corrected gem dependencies (runtime and development)
459
+ * Fixed threaded tests [Alexey Borzenkov]
460
+ * Removed GitHub gemspec
461
+ * Fixed "No definition for" warnings from RDoc
462
+ * Generate zip and tgz files for releases
463
+ * Added Luis Lavena as gem Author (maintainer)
464
+ * Prevent mkmf interfere with Mighty Snow Leopard
465
+
466
+
467
+ ## 1.2.5 / 2009-07-25
468
+
469
+ * Check for illegal nil before executing SQL [Erik Veenstra]
470
+ * Switch to Hoe for gem task management and packaging.
471
+ * Advertise rake-compiler as development dependency.
472
+ * Build gem binaries for Windows.
473
+ * Improved Ruby 1.9 support compatibility.
474
+ * Taint returned values. Patch #20325.
475
+ * Database.open and Database.new now take an optional block [Gerrit Kaiser]
476
+
477
+
478
+ ## 1.2.4.1 (internal) / 2009-07-05
479
+
480
+ * Check for illegal nil before executing SQL [Erik Veenstra]
481
+ * Switch to Hoe for gem task management and packaging.
482
+ * Advertise rake-compiler as development dependency.
483
+ * Build gem binaries for Windows.
484
+ * Improved Ruby 1.9 support compatibility.
485
+
486
+
487
+ ## 1.2.4 / 2008-08-27
488
+
489
+ * Package the updated C file for source builds. [Jamis Buck]
490
+
491
+
492
+ ## 1.2.3 / 2008-08-26
493
+
494
+ * Fix incorrect permissions on database.rb and translator.rb [Various]
495
+ * Avoid using Object#extend for greater speedups [Erik Veenstra]
496
+ * Ruby 1.9 compatibility tweaks for Array#zip [jimmy88@gmail.com]
497
+ * Fix linking against Ruby 1.8.5 [Rob Holland <rob@inversepath.com>]
498
+
499
+
500
+ ## 1.2.2 / 2008-05-31
501
+
502
+ * Make the table_info method adjust the returned default value for the rows
503
+ so that the sqlite3 change in 3.3.8 and greater can be handled
504
+ transparently [Jamis Buck <jamis@37signals.com>]
505
+ * Ruby 1.9 compatibility tweaks [Roman Le Negrate <roman2k@free.fr>]
506
+ * Various performance enhancements [thanks Erik Veenstra]
507
+ * Correct busy_handler documentation [Rob Holland <rob@inversepath.com>]
508
+ * Use int_bind64 on Fixnum values larger than a 32bit C int can take. [Rob Holland <rob@inversepath.com>]
509
+ * Work around a quirk in SQLite's error reporting by calling sqlite3_reset
510
+ to produce a more informative error code upon a failure from
511
+ sqlite3_step. [Rob Holland <rob@inversepath.com>]
512
+ * Various documentation, test, and style tweaks [Rob Holland <rob@inversepath.com>]
513
+ * Be more granular with time/data translation [Rob Holland <rob@inversepath.com>]
514
+ * Use Date directly for parsing rather than going via Time [Rob Holland <rob@inversepath.com>]
515
+ * Check for the rt library and fdatasync so we link against that when
516
+ needed [Rob Holland <rob@inversepath.com>]
517
+ * Rename data structures to avoid collision on win32. based on patch
518
+ by: Luis Lavena [Rob Holland <rob@inversepath.com>]
519
+ * Add test for defaults [Daniel Rodríguez Troitiño]
520
+ * Correctly unquote double-quoted pragma defaults [Łukasz Dargiewicz <lukasz.dargiewicz@gmail.com>]
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,33 @@
1
+ # Contributing to sqlite3-ruby
2
+
3
+ **This document is a work-in-progress.**
4
+
5
+ This doc is a short introduction on how to modify and maintain the sqlite3-ruby gem.
6
+
7
+
8
+ ## Building gems
9
+
10
+ As a prerequisite please make sure you have `docker` correctly installed, so that you're able to cross-compile the native gems.
11
+
12
+ Run `bin/build-gems` which will package gems for all supported platforms, and run some basic sanity tests on those packages using `bin/test-gem-set` and `bin/test-gem-file-contents`.
13
+
14
+
15
+ ## Updating the version of libsqlite3
16
+
17
+ Update `/dependencies.yml` to reflect:
18
+
19
+ - the version of libsqlite3
20
+ - the URL from which to download
21
+ - the checksum of the file, which will need to be verified manually (see comments in that file)
22
+
23
+
24
+ ## Making a release
25
+
26
+ A quick checklist:
27
+
28
+ - [ ] make sure CI is green!
29
+ - [ ] update `CHANGELOG.md` and `lib/sqlite3/version.rb` including `VersionProxy::{MINOR,TINY}`
30
+ - [ ] create a git tag using a format that matches the pattern `v\d+\.\d+\.\d+`, e.g. `v1.3.13`
31
+ - [ ] run `bin/build-gems` and make sure it completes and all the tests pass
32
+ - [ ] `for g in gems/*.gem ; do gem push $g ; done`
33
+ - [ ] create a release at https://github.com/sparklemotion/sqlite3-ruby/releases and include sha2 checksums
data/Gemfile CHANGED
@@ -1,17 +1,11 @@
1
- # -*- ruby -*-
1
+ source "https://rubygems.org"
2
2
 
3
- # DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`.
3
+ gemspec
4
4
 
5
- source "https://rubygems.org/"
5
+ gem("minitest", "~> 5.15")
6
+ gem("rake-compiler", "~> 1.2.0")
7
+ gem("rake-compiler-dock", "1.3.0")
8
+ gem("rdoc", ">= 4.0", "< 7")
9
+ gem("psych", "~> 4.0") # psych 5 doesn't build on some CI platforms yet
6
10
 
7
-
8
- gem "minitest", "~>5.11", :group => [:development, :test]
9
- gem "rake-compiler", "~>1.0", :group => [:development, :test]
10
- gem "rake-compiler-dock", "~>0.6.0", :group => [:development, :test]
11
- gem "mini_portile", "~>0.6.2", :group => [:development, :test]
12
- gem "hoe-bundler", "~>1.0", :group => [:development, :test]
13
- gem "hoe-gemspec", "~>1.0", :group => [:development, :test]
14
- gem "rdoc", ">=4.0", "<6", :group => [:development, :test]
15
- gem "hoe", "~>3.17", :group => [:development, :test]
16
-
17
- # vim: syntax=ruby
11
+ gem("ruby_memcheck") if Gem::Platform.local.os == "linux"
@@ -0,0 +1,20 @@
1
+ # Vendored Dependency Licenses
2
+
3
+ The library `sqlite3-ruby` (which lives at https://github.com/sparklemotion/sqlite3-ruby) may include the source code for `sqlite` (which lives at https://www.sqlite.org/)
4
+
5
+ `sqlite` source code is licensed under the public domain:
6
+
7
+ > https://www.sqlite.org/copyright.html
8
+
9
+ The license terms shipped with `sqlite` are included here for your convenience:
10
+
11
+ ```
12
+ The author disclaims copyright to this source code. In place of
13
+ a legal notice, here is a blessing:
14
+
15
+ May you do good and not evil.
16
+ May you find forgiveness for yourself and forgive others.
17
+ May you share freely, never taking more than you give.
18
+ ```
19
+
20
+ Note that these license terms do not apply to the `sqlite3-ruby` library itself.