Skip to content

Commit c0e9c87

Browse files
committed
v5.25.0
1 parent d1cba5e commit c0e9c87

File tree

7 files changed

+32
-29
lines changed

7 files changed

+32
-29
lines changed

CHANGELOG.md

Lines changed: 4 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.25.x` Releases - [5.25.0](#5250)
1011
- `5.24.x` Releases - [5.24.0](#5240) | [5.24.1](#5241)
1112
- `5.23.x` Releases - [5.23.0](#5230)
1213
- `5.22.x` Releases - [5.22.0](#5220) | [5.22.1](#5221) | [5.22.2](#5222)
@@ -91,7 +92,9 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
9192

9293
---
9394

94-
## Next Release
95+
## 5.25.0
96+
97+
Released June 11, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v5.24.1...v5.25.0)
9598

9699
- **New**: [#1226](https://github.com/groue/GRDB.swift/pull/1226) by [@naveensrinivasan](https://github.com/naveensrinivasan): Included githubactions in the dependabot config
97100
- **New**: [#1228](https://github.com/groue/GRDB.swift/pull/1228) by [@naveensrinivasan](https://github.com/naveensrinivasan): Set permissions for GitHub actions

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.24/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.25/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.24/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.25/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.24/Structs/DatabaseMigrator.html) for more migrator methods.
80+
See the [DatabaseMigrator reference](http://groue.github.io/GRDB.swift/docs/5.25/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.24.1'
3+
s.version = '5.25.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
@@ -586,10 +586,10 @@ ifdef JAZZY
586586
--author 'Gwendal Roué' \
587587
--author_url https://github.com/groue \
588588
--github_url https://github.com/groue/GRDB.swift \
589-
--github-file-prefix https://github.com/groue/GRDB.swift/tree/v5.24.1 \
590-
--module-version 5.24.1 \
589+
--github-file-prefix https://github.com/groue/GRDB.swift/tree/v5.25.0 \
590+
--module-version 5.25.0 \
591591
--module GRDB \
592-
--root-url http://groue.github.io/GRDB.swift/docs/5.24/ \
592+
--root-url http://groue.github.io/GRDB.swift/docs/5.25/ \
593593
--output Documentation/Reference \
594594
--xcodebuild-arguments -project,GRDB.xcodeproj,-scheme,GRDBiOS
595595
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**: May 26, 2022 • [version 5.24.1](https://github.com/groue/GRDB.swift/tree/v5.24.1)[CHANGELOG](CHANGELOG.md)[Migrating From GRDB 4 to GRDB 5](Documentation/GRDB5MigrationGuide.md)
14+
**Latest release**: June 11, 2022 • [version 5.25.0](https://github.com/groue/GRDB.swift/tree/v5.25.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.24.1** |
20+
| **Swift 5.3+** | **v5.25.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.24/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
324+
- [GRDB Reference](http://groue.github.io/GRDB.swift/docs/5.25/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
325325

326326
#### Getting Started
327327

@@ -617,7 +617,7 @@ do {
617617
>
618618
> :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.
619619
620-
See [Configuration](http://groue.github.io/GRDB.swift/docs/5.24/Structs/Configuration.html) for more details and configuration options.
620+
See [Configuration](http://groue.github.io/GRDB.swift/docs/5.25/Structs/Configuration.html) for more details and configuration options.
621621

622622

623623
SQLite API
@@ -674,7 +674,7 @@ try dbQueue.write { db in
674674
}
675675
```
676676

677-
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.
677+
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.25/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
678678

679679
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.
680680

@@ -932,7 +932,7 @@ try dbQueue.read { db in
932932
let dictionary = try Dictionary(uniqueKeysWithValues: cursor)
933933
```
934934

935-
- **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`:
935+
- **Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/5.25/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`:
936936

937937
```swift
938938
// Prints all Github links
@@ -1011,7 +1011,7 @@ let rows = try Row.fetchAll(db,
10111011
arguments: ["name": "Arthur"])
10121012
```
10131013

1014-
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.
1014+
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.25/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
10151015

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

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

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

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

13011301
```swift
13021302
let url: URL = ...
@@ -1767,7 +1767,7 @@ try dbQueue.inDatabase { db in // or dbPool.writeWithoutTransaction
17671767
}
17681768
```
17691769

1770-
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:
1770+
Transactions can't be left opened unless you set the [allowsUnsafeTransactions](http://groue.github.io/GRDB.swift/docs/5.25/Structs/Configuration.html) configuration flag:
17711771

17721772
```swift
17731773
// fatal error: A transaction has been left opened at the end of a database access
@@ -1879,7 +1879,7 @@ try dbQueue.write { db in
18791879
}
18801880
```
18811881

1882-
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).
1882+
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.25/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
18831883

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

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

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

19671967

19681968
### Prepared Statements Cache
@@ -2705,7 +2705,7 @@ try Place.fetchSet(db, sql: "SELECT ...", arguments:...) // Set<Place>
27052705
try Place.fetchOne(db, sql: "SELECT ...", arguments:...) // Place?
27062706
```
27072707

2708-
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.
2708+
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.25/Structs/StatementArguments.html) for more information about the query arguments.
27092709

27102710
> :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()`.
27112711

@@ -3145,7 +3145,7 @@ protocol EncodableRecord {
31453145
}
31463146
```
31473147

3148-
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.
3148+
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
31493149

31503150

31513151
### Date and UUID Coding Strategies
@@ -3167,7 +3167,7 @@ protocol EncodableRecord {
31673167
}
31683168
```
31693169

3170-
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.
3170+
See [DatabaseDateDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseDateDecodingStrategy.html), [DatabaseDateEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseDateEncodingStrategy.html), and [DatabaseUUIDEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseUUIDEncodingStrategy.html) to learn about all available strategies.
31713171

31723172
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).
31733173

@@ -4692,7 +4692,7 @@ Player // SELECT * FROM player
46924692
```
46934693
46944694
4695-
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
4695+
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html):
46964696
46974697
```swift
46984698
// SELECT DATE(creationDate), COUNT(*) FROM player WHERE name = 'Arthur' GROUP BY date(creationDate)
@@ -5598,7 +5598,7 @@ try Player.customRequest().fetchAll(db) // [Player]
55985598
55995599
- 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.
56005600
5601-
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/5.24/Structs/AnyFetchRequest.html): a type-erased request.
5601+
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/5.25/Structs/AnyFetchRequest.html): a type-erased request.
56025602
56035603
56045604
## Joined Queries Support
@@ -6900,7 +6900,7 @@ DatabaseRegion helps [ValueObservation] and [DatabaseRegionObservation] track ch
69006900
69016901
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.
69026902
6903-
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/5.24/Structs/DatabaseRegion.html).
6903+
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/5.25/Structs/DatabaseRegion.html).
69046904
69056905
69066906
#### The DatabaseRegionConvertible Protocol
@@ -8240,7 +8240,7 @@ When this is the case, there are two possible explanations:
82408240
try db.execute(sql: "UPDATE player SET name = ?", arguments: [name])
82418241
```
82428242
8243-
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).
8243+
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.25/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
82448244
82458245
82468246
@@ -8381,7 +8381,7 @@ This chapter has [moved](Documentation/Concurrency.md#database-snapshots).
83818381
83828382
#### DatabaseWriter and DatabaseReader Protocols
83838383
8384-
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).
8384+
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/5.25/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/5.25/Protocols/DatabaseWriter.html).
83858385
83868386
#### Asynchronous APIs
83878387
@@ -8434,7 +8434,7 @@ This chapter was renamed to [Embedding SQL in Query Interface Requests].
84348434
[Sharing a Database]: Documentation/SharingADatabase.md
84358435
[FAQ]: #faq
84368436
[Database Observation]: #database-changes-observation
8437-
[SQLRequest]: http://groue.github.io/GRDB.swift/docs/5.24/Structs/SQLRequest.html
8437+
[SQLRequest]: http://groue.github.io/GRDB.swift/docs/5.25/Structs/SQLRequest.html
84388438
[SQL literal]: Documentation/SQLInterpolation.md#sql-literal
84398439
[Identifiable]: https://developer.apple.com/documentation/swift/identifiable
84408440
[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.24.1</string>
18+
<string>5.25.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

0 commit comments

Comments
 (0)