Skip to content

Commit c98d918

Browse files
committed
v6.2.0
1 parent c197e2f commit c98d918

File tree

7 files changed

+34
-33
lines changed

7 files changed

+34
-33
lines changed

CHANGELOG.md

Lines changed: 5 additions & 2 deletions
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
#### 6.x Releases
99

10+
- `6.2.x` Releases - [6.2.0](#620)
1011
- `6.1.x` Releases - [6.1.0](#610)
1112
- `6.0.x` Releases - [6.0.0](#600)
1213
- `6.0.0` Betas - [6.0.0-beta](#600-beta) | [6.0.0-beta.2](#600-beta2) | [6.0.0-beta.3](#600-beta3) | [6.0.0-beta.4](#600-beta4)
@@ -99,9 +100,11 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
99100

100101
---
101102

102-
## Next Release
103+
## 6.2.0
103104

104-
- **New**: [#1289](https://github.com/groue/GRDB.swift/pull/1289) by [@arkie](https://github.com/arkie): Add support for passing in categories to the unicode61 tokenizer
105+
Released October 28, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v6.1.0...v6.2.0)
106+
107+
- **New**: [#1289](https://github.com/groue/GRDB.swift/pull/1289) by [@arkie](https://github.com/arkie): Add support for passing in categories to the FTS5 unicode61 tokenizer (SQLite 3.25+)
105108
- **Fixed**: The `FTS5Tokenizer.tokenize(query:)` method no longer returns incorrect results for certain tokenizer arguments.
106109

107110
## 6.1.0

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/6.1/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/6.2/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/6.1/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/6.2/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/6.1/Structs/DatabaseMigrator.html) for more migrator methods.
80+
See the [DatabaseMigrator reference](http://groue.github.io/GRDB.swift/docs/6.2/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 = '6.1.0'
3+
s.version = '6.2.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
@@ -478,10 +478,10 @@ ifdef JAZZY
478478
--author_url https://github.com/groue \
479479
--source-host github \
480480
--source-host-url https://github.com/groue/GRDB.swift \
481-
--source-host-files-url https://github.com/groue/GRDB.swift/tree/v6.1.0 \
482-
--module-version 6.1.0 \
481+
--source-host-files-url https://github.com/groue/GRDB.swift/tree/v6.2.0 \
482+
--module-version 6.2.0 \
483483
--module GRDB \
484-
--root-url http://groue.github.io/GRDB.swift/docs/6.1/ \
484+
--root-url http://groue.github.io/GRDB.swift/docs/6.2/ \
485485
--output Documentation/Reference \
486486
--swift-build-tool xcodebuild \
487487
--undocumented-text '' \

README.md

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,18 @@
66
<a href="https://developer.apple.com/swift/"><img alt="Swift 5.7" src="https://img.shields.io/badge/swift-5.7-orange.svg?style=flat"></a>
77
<a href="https://developer.apple.com/swift/"><img alt="Platforms" src="https://img.shields.io/cocoapods/p/GRDB.swift.svg"></a>
88
<a href="https://github.com/groue/GRDB.swift/blob/master/LICENSE"><img alt="License" src="https://img.shields.io/github/license/groue/GRDB.swift.svg?maxAge=2592000"></a>
9-
<!-- no CI badge until actions can run Xcode 14
109
<a href="https://github.com/groue/GRDB.swift/actions/workflows/CI.yml"><img alt="CI Status" src="https://github.com/groue/GRDB.swift/actions/workflows/CI.yml/badge.svg?branch=master"></a>
11-
-->
1210
</p>
1311

1412
---
1513

16-
**Latest release**: October 20, 2022 • [version 6.1.0](https://github.com/groue/GRDB.swift/tree/v6.1.0)[CHANGELOG](CHANGELOG.md)[Migrating From GRDB 5 to GRDB 6](Documentation/GRDB6MigrationGuide.md)
14+
**Latest release**: October 29, 2022 • [version 6.2.0](https://github.com/groue/GRDB.swift/tree/v6.2.0)[CHANGELOG](CHANGELOG.md)[Migrating From GRDB 5 to GRDB 6](Documentation/GRDB6MigrationGuide.md)
1715

1816
**Requirements**: iOS 11.0+ / macOS 10.13+ / tvOS 11.0+ / watchOS 4.0+ &bull; SQLite 3.19.3+ &bull; Swift 5.7+ / Xcode 14+
1917

2018
| Swift version | GRDB version |
2119
| -------------- | ----------------------------------------------------------- |
22-
| **Swift 5.7+** | **v6.1.0** |
20+
| **Swift 5.7+** | **v6.2.0** |
2321
| Swift 5.3 | [v5.26.1](https://github.com/groue/GRDB.swift/tree/v5.26.1) |
2422
| Swift 5.2 | [v5.12.0](https://github.com/groue/GRDB.swift/tree/v5.12.0) |
2523
| Swift 5.1 | [v4.14.0](https://github.com/groue/GRDB.swift/tree/v4.14.0) |
@@ -324,7 +322,7 @@ Documentation
324322

325323
#### Reference
326324

327-
- [GRDB Reference](http://groue.github.io/GRDB.swift/docs/6.1/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
325+
- [GRDB Reference](http://groue.github.io/GRDB.swift/docs/6.2/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
328326

329327
#### Getting Started
330328

@@ -618,7 +616,7 @@ do {
618616

619617
> **Warning**: It is your responsibility to prevent sensitive information from leaking in unexpected locations, so you should not set the `publicStatementArguments` flag in release builds (think about GDPR and other privacy-related rules).
620618
621-
See [Configuration](http://groue.github.io/GRDB.swift/docs/6.1/Structs/Configuration.html) for more details and configuration options.
619+
See [Configuration](http://groue.github.io/GRDB.swift/docs/6.2/Structs/Configuration.html) for more details and configuration options.
622620

623621

624622
SQLite API
@@ -675,7 +673,7 @@ try dbQueue.write { db in
675673
}
676674
```
677675

678-
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/6.1/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
676+
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/6.2/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
679677

680678
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.
681679

@@ -933,7 +931,7 @@ try dbQueue.read { db in
933931
let dictionary = try Dictionary(uniqueKeysWithValues: cursor)
934932
```
935933

936-
- **Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/6.1/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`:
934+
- **Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/6.2/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`:
937935

938936
```swift
939937
// Prints all Github links
@@ -1012,7 +1010,7 @@ let rows = try Row.fetchAll(db,
10121010
arguments: ["name": "Arthur"])
10131011
```
10141012

1015-
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/6.1/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
1013+
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/6.2/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
10161014

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

@@ -1320,7 +1318,7 @@ GRDB ships with built-in support for the following value types:
13201318

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

1323-
Values can be used as [statement arguments](http://groue.github.io/GRDB.swift/docs/6.1/Structs/StatementArguments.html):
1321+
Values can be used as [statement arguments](http://groue.github.io/GRDB.swift/docs/6.2/Structs/StatementArguments.html):
13241322

13251323
```swift
13261324
let url: URL = ...
@@ -1791,7 +1789,7 @@ try dbQueue.inDatabase { db in // or dbPool.writeWithoutTransaction
17911789
}
17921790
```
17931791

1794-
Transactions can't be left opened unless you set the [allowsUnsafeTransactions](http://groue.github.io/GRDB.swift/docs/6.1/Structs/Configuration.html) configuration flag:
1792+
Transactions can't be left opened unless you set the [allowsUnsafeTransactions](http://groue.github.io/GRDB.swift/docs/6.2/Structs/Configuration.html) configuration flag:
17951793

17961794
```swift
17971795
// fatal error: A transaction has been left opened at the end of a database access
@@ -1903,7 +1901,7 @@ try dbQueue.write { db in
19031901
}
19041902
```
19051903

1906-
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/6.1/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
1904+
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/6.2/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
19071905

19081906
```swift
19091907
insertStatement.arguments = ["name": "Arthur", "score": 1000]
@@ -1986,7 +1984,7 @@ See also `Database.execute(sql:)` in the [Executing Updates](#executing-updates)
19861984

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

1989-
For more information about prepared statements, see the [Statement reference](http://groue.github.io/GRDB.swift/docs/6.1/Classes/Statement.html).
1987+
For more information about prepared statements, see the [Statement reference](http://groue.github.io/GRDB.swift/docs/6.2/Classes/Statement.html).
19901988

19911989

19921990
### Prepared Statements Cache
@@ -2730,7 +2728,7 @@ try Place.fetchSet(db, sql: "SELECT ...", arguments:...) // Set<Place>
27302728
try Place.fetchOne(db, sql: "SELECT ...", arguments:...) // Place?
27312729
```
27322730

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

27352733
> **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()`.
27362734

@@ -3240,7 +3238,7 @@ Here is a list with all the available [persistence callbacks], listed in the sam
32403238
- `aroundDelete`
32413239
- `didDelete`
32423240

3243-
For detailed information about each callback, check the [reference](http://groue.github.io/GRDB.swift/docs/6.1/Protocols/MutablePersistableRecord.html).
3241+
For detailed information about each callback, check the [reference](http://groue.github.io/GRDB.swift/docs/6.2/Protocols/MutablePersistableRecord.html).
32443242

32453243
In the `MutablePersistableRecord` protocol, `willInsert` and `didInsert` are mutating methods. In `PersistableRecord`, they are not mutating.
32463244

@@ -3433,7 +3431,7 @@ protocol EncodableRecord {
34333431
}
34343432
```
34353433

3436-
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/6.1/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/6.1/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
3434+
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/6.2/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/6.2/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
34373435

34383436

34393437
### Date and UUID Coding Strategies
@@ -3455,7 +3453,7 @@ protocol EncodableRecord {
34553453
}
34563454
```
34573455

3458-
See [DatabaseDateDecodingStrategy](https://groue.github.io/GRDB.swift/docs/6.1/Enums/DatabaseDateDecodingStrategy.html), [DatabaseDateEncodingStrategy](https://groue.github.io/GRDB.swift/docs/6.1/Enums/DatabaseDateEncodingStrategy.html), and [DatabaseUUIDEncodingStrategy](https://groue.github.io/GRDB.swift/docs/6.1/Enums/DatabaseUUIDEncodingStrategy.html) to learn about all available strategies.
3456+
See [DatabaseDateDecodingStrategy](https://groue.github.io/GRDB.swift/docs/6.2/Enums/DatabaseDateDecodingStrategy.html), [DatabaseDateEncodingStrategy](https://groue.github.io/GRDB.swift/docs/6.2/Enums/DatabaseDateEncodingStrategy.html), and [DatabaseUUIDEncodingStrategy](https://groue.github.io/GRDB.swift/docs/6.2/Enums/DatabaseUUIDEncodingStrategy.html) to learn about all available strategies.
34593457

34603458
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).
34613459

@@ -5015,7 +5013,7 @@ Player // SELECT * FROM player
50155013
```
50165014
50175015
5018-
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/6.1/Structs/StatementArguments.html):
5016+
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/6.2/Structs/StatementArguments.html):
50195017
50205018
```swift
50215019
// SELECT DATE(creationDate), COUNT(*) FROM player WHERE name = 'Arthur' GROUP BY date(creationDate)
@@ -5921,7 +5919,7 @@ try Player.customRequest().fetchAll(db) // [Player]
59215919
59225920
- 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.
59235921
5924-
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/6.1/Structs/AnyFetchRequest.html): a type-erased request.
5922+
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/6.2/Structs/AnyFetchRequest.html): a type-erased request.
59255923
59265924
59275925
## Joined Queries Support
@@ -7254,7 +7252,7 @@ DatabaseRegion helps [ValueObservation] and [DatabaseRegionObservation] track ch
72547252
72557253
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.
72567254
7257-
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/6.1/Structs/DatabaseRegion.html).
7255+
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/6.2/Structs/DatabaseRegion.html).
72587256
72597257
72607258
#### The DatabaseRegionConvertible Protocol
@@ -8618,7 +8616,7 @@ When this is the case, there are two possible explanations:
86188616
try db.execute(sql: "UPDATE player SET name = ?", arguments: [name])
86198617
```
86208618
8621-
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/6.1/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
8619+
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/6.2/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
86228620
86238621
86248622
@@ -8767,7 +8765,7 @@ This chapter has [moved](Documentation/Concurrency.md#database-snapshots).
87678765
87688766
#### DatabaseWriter and DatabaseReader Protocols
87698767
8770-
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/6.1/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/6.1/Protocols/DatabaseWriter.html).
8768+
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/6.2/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/6.2/Protocols/DatabaseWriter.html).
87718769
87728770
#### Asynchronous APIs
87738771
@@ -8821,7 +8819,7 @@ This chapter was renamed to [Embedding SQL in Query Interface Requests].
88218819
[Sharing a Database]: Documentation/SharingADatabase.md
88228820
[FAQ]: #faq
88238821
[Database Observation]: #database-changes-observation
8824-
[SQLRequest]: http://groue.github.io/GRDB.swift/docs/6.1/Structs/SQLRequest.html
8822+
[SQLRequest]: http://groue.github.io/GRDB.swift/docs/6.2/Structs/SQLRequest.html
88258823
[SQL literal]: Documentation/SQLInterpolation.md#sql-literal
88268824
[Identifiable]: https://developer.apple.com/documentation/swift/identifiable
88278825
[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>6.1.0</string>
18+
<string>6.2.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

0 commit comments

Comments
 (0)