Skip to content

Commit 5b254ee

Browse files
committed
v5.24.0
1 parent 3632edb commit 5b254ee

File tree

7 files changed

+34
-29
lines changed

7 files changed

+34
-29
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
77

88
#### 5.x Releases
99

10+
- `5.24.x` Releases - [5.24.0](#5240)
1011
- `5.23.x` Releases - [5.23.0](#5230)
1112
- `5.22.x` Releases - [5.22.0](#5220) | [5.22.1](#5221) | [5.22.2](#5222)
1213
- `5.21.x` Releases - [5.21.0](#5210)
@@ -90,8 +91,12 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
9091

9192
---
9293

93-
## Next Release
94+
## 5.24.0
9495

96+
Released May 1, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v5.23.0...v5.24.0)
97+
98+
- **Fixed**: [#1203](https://github.com/groue/GRDB.swift/pull/1203) by [@EvanHahn](https://github.com/EvanHahn): Fix changelog links
99+
- **Fixed**: [#1212](https://github.com/groue/GRDB.swift/pull/1212) by [@MartinP7r](https://github.com/MartinP7r): Fix apple docs links
95100
- **Fixed**: [#1213](https://github.com/groue/GRDB.swift/pull/1213) by [@groue](https://github.com/groue): Fix crash when the number of active ValueObservations is high
96101
- **Breaking Change**: Transactions performed during a read-only database access are no longer notified to transaction observers. This is, strictly speaking, a breaking change. However it should have no impact since read-only transactions have very little interest.
97102

Documentation/FullTextSearch.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ let pattern = FTS3Pattern(matchingAnyTokenIn: "") // nil
304304
let pattern = FTS3Pattern(matchingAnyTokenIn: "*") // nil
305305
```
306306

307-
FTS3Pattern are regular [values](../README.md#values). You can use them as query [arguments](http://groue.github.io/GRDB.swift/docs/5.23/Structs/StatementArguments.html):
307+
FTS3Pattern are regular [values](../README.md#values). You can use them as query [arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
308308

309309
```swift
310310
let documents = try Document.fetchAll(db,
@@ -587,7 +587,7 @@ let pattern = FTS5Pattern(matchingAnyTokenIn: "") // nil
587587
let pattern = FTS5Pattern(matchingAnyTokenIn: "*") // nil
588588
```
589589

590-
FTS5Pattern are regular [values](../README.md#values). You can use them as query [arguments](http://groue.github.io/GRDB.swift/docs/5.23/Structs/StatementArguments.html):
590+
FTS5Pattern are regular [values](../README.md#values). You can use them as query [arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
591591

592592
```swift
593593
let documents = try Document.fetchAll(db,

Documentation/Migrations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ try dbQueue.read { db in
7777
}
7878
```
7979

80-
See the [DatabaseMigrator reference](http://groue.github.io/GRDB.swift/docs/5.23/Structs/DatabaseMigrator.html) for more migrator methods.
80+
See the [DatabaseMigrator reference](http://groue.github.io/GRDB.swift/docs/5.24/Structs/DatabaseMigrator.html) for more migrator methods.
8181

8282

8383
## The `eraseDatabaseOnSchemaChange` Option

GRDB.swift.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'GRDB.swift'
3-
s.version = '5.23.0'
3+
s.version = '5.24.0'
44

55
s.license = { :type => 'MIT', :file => 'LICENSE' }
66
s.summary = 'A toolkit for SQLite databases, with a focus on application development.'

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -538,10 +538,10 @@ ifdef JAZZY
538538
--author 'Gwendal Roué' \
539539
--author_url https://github.com/groue \
540540
--github_url https://github.com/groue/GRDB.swift \
541-
--github-file-prefix https://github.com/groue/GRDB.swift/tree/v5.23.0 \
542-
--module-version 5.23.0 \
541+
--github-file-prefix https://github.com/groue/GRDB.swift/tree/v5.24.0 \
542+
--module-version 5.24.0 \
543543
--module GRDB \
544-
--root-url http://groue.github.io/GRDB.swift/docs/5.23/ \
544+
--root-url http://groue.github.io/GRDB.swift/docs/5.24/ \
545545
--output Documentation/Reference \
546546
--xcodebuild-arguments -project,GRDB.xcodeproj,-scheme,GRDBiOS
547547
else

README.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111

1212
---
1313

14-
**Latest release**: April 16, 2022 • [version 5.23.0](https://github.com/groue/GRDB.swift/tree/v5.23.0)[CHANGELOG](CHANGELOG.md)[Migrating From GRDB 4 to GRDB 5](Documentation/GRDB5MigrationGuide.md)
14+
**Latest release**: May 1, 2022 • [version 5.24.0](https://github.com/groue/GRDB.swift/tree/v5.24.0)[CHANGELOG](CHANGELOG.md)[Migrating From GRDB 4 to GRDB 5](Documentation/GRDB5MigrationGuide.md)
1515

1616
**Requirements**: iOS 11.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+ • SQLite 3.8.5+ • Swift 5.3+ / Xcode 12+
1717

1818
| Swift version | GRDB version |
1919
| -------------- | ----------------------------------------------------------- |
20-
| **Swift 5.3+** | **v5.23.0** |
20+
| **Swift 5.3+** | **v5.24.0** |
2121
| Swift 5.2 | [v5.12.0](https://github.com/groue/GRDB.swift/tree/v5.12.0) |
2222
| Swift 5.1 | [v4.14.0](https://github.com/groue/GRDB.swift/tree/v4.14.0) |
2323
| Swift 5 | [v4.14.0](https://github.com/groue/GRDB.swift/tree/v4.14.0) |
@@ -321,7 +321,7 @@ Documentation
321321

322322
#### Reference
323323

324-
- [GRDB Reference](http://groue.github.io/GRDB.swift/docs/5.23/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
324+
- [GRDB Reference](http://groue.github.io/GRDB.swift/docs/5.24/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
325325

326326
#### Getting Started
327327

@@ -613,7 +613,7 @@ do {
613613
>
614614
> :warning: **Warning**: The SQLite version that ships with old operating systems (prior to OSX 10.12, tvOS 10.0, and watchOS 3.0) outputs statement arguments in the [trace events](#how-do-i-print-a-request-as-sql), regardless of the `publicStatementArguments` flag.
615615
616-
See [Configuration](http://groue.github.io/GRDB.swift/docs/5.23/Structs/Configuration.html) for more details and configuration options.
616+
See [Configuration](http://groue.github.io/GRDB.swift/docs/5.24/Structs/Configuration.html) for more details and configuration options.
617617

618618

619619
SQLite API
@@ -670,7 +670,7 @@ try dbQueue.write { db in
670670
}
671671
```
672672

673-
The `?` and colon-prefixed keys like `:score` in the SQL query are the **statements arguments**. You pass arguments with arrays or dictionaries, as in the example above. See [Values](#values) for more information on supported arguments types (Bool, Int, String, Date, Swift enums, etc.), and [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.23/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
673+
The `?` and colon-prefixed keys like `:score` in the SQL query are the **statements arguments**. You pass arguments with arrays or dictionaries, as in the example above. See [Values](#values) for more information on supported arguments types (Bool, Int, String, Date, Swift enums, etc.), and [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
674674

675675
You can also embed query arguments right into your SQL queries, with the `literal` argument label, as in the example below. See [SQL Interpolation] for more details.
676676

@@ -928,7 +928,7 @@ try dbQueue.read { db in
928928
let dictionary = try Dictionary(uniqueKeysWithValues: cursor)
929929
```
930930

931-
- **Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/5.23/Protocols/Cursor.html) protocol, which looks a lot like standard [lazy sequences](https://developer.apple.com/reference/swift/lazysequenceprotocol) of Swift.** As such, cursors come with many convenience methods: `compactMap`, `contains`, `dropFirst`, `dropLast`, `drop(while:)`, `enumerated`, `filter`, `first`, `flatMap`, `forEach`, `joined`, `joined(separator:)`, `max`, `max(by:)`, `min`, `min(by:)`, `map`, `prefix`, `prefix(while:)`, `reduce`, `reduce(into:)`, `suffix`:
931+
- **Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/5.24/Protocols/Cursor.html) protocol, which looks a lot like standard [lazy sequences](https://developer.apple.com/reference/swift/lazysequenceprotocol) of Swift.** As such, cursors come with many convenience methods: `compactMap`, `contains`, `dropFirst`, `dropLast`, `drop(while:)`, `enumerated`, `filter`, `first`, `flatMap`, `forEach`, `joined`, `joined(separator:)`, `max`, `max(by:)`, `min`, `min(by:)`, `map`, `prefix`, `prefix(while:)`, `reduce`, `reduce(into:)`, `suffix`:
932932

933933
```swift
934934
// Prints all Github links
@@ -1007,7 +1007,7 @@ let rows = try Row.fetchAll(db,
10071007
arguments: ["name": "Arthur"])
10081008
```
10091009

1010-
See [Values](#values) for more information on supported arguments types (Bool, Int, String, Date, Swift enums, etc.), and [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.23/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
1010+
See [Values](#values) for more information on supported arguments types (Bool, Int, String, Date, Swift enums, etc.), and [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
10111011

10121012
Unlike row arrays that contain copies of the database rows, row cursors are close to the SQLite metal, and require a little care:
10131013

@@ -1292,7 +1292,7 @@ GRDB ships with built-in support for the following value types:
12921292

12931293
- Generally speaking, all types that adopt the [DatabaseValueConvertible](#custom-value-types) protocol.
12941294

1295-
Values can be used as [statement arguments](http://groue.github.io/GRDB.swift/docs/5.23/Structs/StatementArguments.html):
1295+
Values can be used as [statement arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
12961296

12971297
```swift
12981298
let url: URL = ...
@@ -1763,7 +1763,7 @@ try dbQueue.inDatabase { db in // or dbPool.writeWithoutTransaction
17631763
}
17641764
```
17651765

1766-
Transactions can't be left opened unless you set the [allowsUnsafeTransactions](http://groue.github.io/GRDB.swift/docs/5.23/Structs/Configuration.html) configuration flag:
1766+
Transactions can't be left opened unless you set the [allowsUnsafeTransactions](http://groue.github.io/GRDB.swift/docs/5.24/Structs/Configuration.html) configuration flag:
17671767

17681768
```swift
17691769
// fatal error: A transaction has been left opened at the end of a database access
@@ -1875,7 +1875,7 @@ try dbQueue.write { db in
18751875
}
18761876
```
18771877

1878-
The `?` and colon-prefixed keys like `:name` in the SQL query are the statement arguments. You set them with arrays or dictionaries (arguments are actually of type [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.23/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
1878+
The `?` and colon-prefixed keys like `:name` in the SQL query are the statement arguments. You set them with arrays or dictionaries (arguments are actually of type [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
18791879

18801880
```swift
18811881
insertStatement.arguments = ["name": "Arthur", "score": 1000]
@@ -1958,7 +1958,7 @@ See also `Database.execute(sql:)` in the [Executing Updates](#executing-updates)
19581958

19591959
> :point_up: **Note**: it is a programmer error to reuse a prepared statement that has failed: GRDB may crash if you do so.
19601960

1961-
For more information about prepared statements, see the [Statement reference](http://groue.github.io/GRDB.swift/docs/5.23/Classes/Statement.html).
1961+
For more information about prepared statements, see the [Statement reference](http://groue.github.io/GRDB.swift/docs/5.24/Classes/Statement.html).
19621962

19631963

19641964
### Prepared Statements Cache
@@ -2701,7 +2701,7 @@ try Place.fetchSet(db, sql: "SELECT ...", arguments:...) // Set<Place>
27012701
try Place.fetchOne(db, sql: "SELECT ...", arguments:...) // Place?
27022702
```
27032703

2704-
See [fetching methods](#fetching-methods) for information about the `fetchCursor`, `fetchAll`, `fetchSet` and `fetchOne` methods. See [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.23/Structs/StatementArguments.html) for more information about the query arguments.
2704+
See [fetching methods](#fetching-methods) for information about the `fetchCursor`, `fetchAll`, `fetchSet` and `fetchOne` methods. See [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html) for more information about the query arguments.
27052705

27062706
> :point_up: **Note**: for performance reasons, the same row argument to `init(row:)` is reused during the iteration of a fetch query. If you want to keep the row for later use, make sure to store a copy: `self.row = row.copy()`.
27072707

@@ -3141,7 +3141,7 @@ protocol EncodableRecord {
31413141
}
31423142
```
31433143

3144-
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.23/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.23/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
3144+
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
31453145

31463146

31473147
### Date and UUID Coding Strategies
@@ -3163,7 +3163,7 @@ protocol EncodableRecord {
31633163
}
31643164
```
31653165

3166-
See [DatabaseDateDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.23/Enums/DatabaseDateDecodingStrategy.html), [DatabaseDateEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.23/Enums/DatabaseDateEncodingStrategy.html), and [DatabaseUUIDEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.23/Enums/DatabaseUUIDEncodingStrategy.html) to learn about all available strategies.
3166+
See [DatabaseDateDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseDateDecodingStrategy.html), [DatabaseDateEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseDateEncodingStrategy.html), and [DatabaseUUIDEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseUUIDEncodingStrategy.html) to learn about all available strategies.
31673167

31683168
There is no customization of uuid decoding, because UUID can already decode all its encoded variants (16-bytes blobs and uuid strings, both uppercase and lowercase).
31693169

@@ -4688,7 +4688,7 @@ Player // SELECT * FROM player
46884688
```
46894689
46904690
4691-
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/5.23/Structs/StatementArguments.html):
4691+
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
46924692
46934693
```swift
46944694
// SELECT DATE(creationDate), COUNT(*) FROM player WHERE name = 'Arthur' GROUP BY date(creationDate)
@@ -5594,7 +5594,7 @@ try Player.customRequest().fetchAll(db) // [Player]
55945594
55955595
- The `adapted(_:)` method eases the consumption of complex rows with [row adapters](#row-adapters). See [Joined Queries Support](#joined-queries-support) for some sample code that uses this method.
55965596
5597-
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/5.23/Structs/AnyFetchRequest.html): a type-erased request.
5597+
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/5.24/Structs/AnyFetchRequest.html): a type-erased request.
55985598
55995599
56005600
## Joined Queries Support
@@ -6896,7 +6896,7 @@ DatabaseRegion helps [ValueObservation] and [DatabaseRegionObservation] track ch
68966896
68976897
For example, if you observe the region of `Player.select(max(Column("score")))`, then you'll get be notified of all changes performed on the `score` column of the `player` table (updates, insertions and deletions), even if they do not modify the value of the maximum score. However, you will not get any notification for changes performed on other database tables, or updates to other columns of the player table.
68986898
6899-
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/5.23/Structs/DatabaseRegion.html).
6899+
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/5.24/Structs/DatabaseRegion.html).
69006900
69016901
69026902
#### The DatabaseRegionConvertible Protocol
@@ -8236,7 +8236,7 @@ When this is the case, there are two possible explanations:
82368236
try db.execute(sql: "UPDATE player SET name = ?", arguments: [name])
82378237
```
82388238
8239-
For more information, see [Double-quoted String Literals Are Accepted](https://sqlite.org/quirks.html#dblquote), and [Configuration.acceptsDoubleQuotedStringLiterals](http://groue.github.io/GRDB.swift/docs/5.23/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
8239+
For more information, see [Double-quoted String Literals Are Accepted](https://sqlite.org/quirks.html#dblquote), and [Configuration.acceptsDoubleQuotedStringLiterals](http://groue.github.io/GRDB.swift/docs/5.24/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
82408240
82418241
82428242
@@ -8377,7 +8377,7 @@ This chapter has [moved](Documentation/Concurrency.md#database-snapshots).
83778377
83788378
#### DatabaseWriter and DatabaseReader Protocols
83798379
8380-
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/5.23/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/5.23/Protocols/DatabaseWriter.html).
8380+
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/5.24/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/5.24/Protocols/DatabaseWriter.html).
83818381
83828382
#### Asynchronous APIs
83838383
@@ -8430,7 +8430,7 @@ This chapter was renamed to [Embedding SQL in Query Interface Requests].
84308430
[Sharing a Database]: Documentation/SharingADatabase.md
84318431
[FAQ]: #faq
84328432
[Database Observation]: #database-changes-observation
8433-
[SQLRequest]: http://groue.github.io/GRDB.swift/docs/5.23/Structs/SQLRequest.html
8433+
[SQLRequest]: http://groue.github.io/GRDB.swift/docs/5.24/Structs/SQLRequest.html
84348434
[SQL literal]: Documentation/SQLInterpolation.md#sql-literal
84358435
[Identifiable]: https://developer.apple.com/documentation/swift/identifiable
84368436
[Query Interface Organization]: Documentation/QueryInterfaceOrganization.md

Support/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<key>CFBundlePackageType</key>
1616
<string>FMWK</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>5.23.0</string>
18+
<string>5.24.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

0 commit comments

Comments
 (0)