Skip to content

Commit 589e53b

Browse files
committed
v6.0.0
1 parent 125f112 commit 589e53b

File tree

7 files changed

+35
-30
lines changed

7 files changed

+35
-30
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
#### 6.x Releases
99

10+
- `6.0.x` Releases - [6.0.0](#600)
1011
- `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)
1112

1213
#### 5.x Releases
@@ -97,7 +98,9 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
9798

9899
---
99100

100-
## Next Release
101+
## 6.0.0
102+
103+
Released September 9, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v6.0.0-beta.4...v6.0.0)
101104

102105
- **New**: Bump custom SQLite builds v3.39.3
103106
- **Fixed**: [#1274](https://github.com/groue/GRDB.swift/discussions/1274) Fixed a bug with HasManyThrough associations when the "through" association has the same association key as the association itself.

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.0.0-beta.4/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.0/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.0.0-beta.4/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.0/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.0.0-beta.4/Structs/DatabaseMigrator.html) for more migrator methods.
80+
See the [DatabaseMigrator reference](http://groue.github.io/GRDB.swift/docs/6.0/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.0.0-beta.4'
3+
s.version = '6.0.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.0.0-beta.4 \
482-
--module-version 6.0.0-beta.4 \
481+
--source-host-files-url https://github.com/groue/GRDB.swift/tree/v6.0.0 \
482+
--module-version 6.0.0 \
483483
--module GRDB \
484-
--root-url http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/ \
484+
--root-url http://groue.github.io/GRDB.swift/docs/6.0/ \
485485
--output Documentation/Reference \
486486
--swift-build-tool xcodebuild \
487487
--undocumented-text '' \

README.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,20 @@
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
910
<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+
-->
1012
</p>
1113

1214
---
1315

14-
**Latest release**: August 28, 2022 • [version 6.0.0-beta.4](https://github.com/groue/GRDB.swift/tree/v6.0.0-beta.4)[CHANGELOG](CHANGELOG.md)[Migrating From GRDB 5 to GRDB 6](Documentation/GRDB6MigrationGuide.md)
16+
**Latest release**: September 9, 2022 • [version 6.0.0](https://github.com/groue/GRDB.swift/tree/v6.0.0)[CHANGELOG](CHANGELOG.md)[Migrating From GRDB 5 to GRDB 6](Documentation/GRDB6MigrationGuide.md)
1517

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

1820
| Swift version | GRDB version |
1921
| -------------- | ----------------------------------------------------------- |
20-
| **Swift 5.7+** | **v6.0.0-beta.4** |
22+
| **Swift 5.7+** | **v6.0.0** |
2123
| Swift 5.3 | [v5.26.0](https://github.com/groue/GRDB.swift/tree/v5.26.0) |
2224
| Swift 5.2 | [v5.12.0](https://github.com/groue/GRDB.swift/tree/v5.12.0) |
2325
| Swift 5.1 | [v4.14.0](https://github.com/groue/GRDB.swift/tree/v4.14.0) |
@@ -322,7 +324,7 @@ Documentation
322324

323325
#### Reference
324326

325-
- [GRDB Reference](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
327+
- [GRDB Reference](http://groue.github.io/GRDB.swift/docs/6.0/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
326328

327329
#### Getting Started
328330

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

617619
> **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).
618620
619-
See [Configuration](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Structs/Configuration.html) for more details and configuration options.
621+
See [Configuration](http://groue.github.io/GRDB.swift/docs/6.0/Structs/Configuration.html) for more details and configuration options.
620622

621623

622624
SQLite API
@@ -673,7 +675,7 @@ try dbQueue.write { db in
673675
}
674676
```
675677

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.0.0-beta.4/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
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.0/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
677679

678680
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.
679681

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

934-
- **Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/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`:
936+
- **Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/6.0/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`:
935937

936938
```swift
937939
// Prints all Github links
@@ -1010,7 +1012,7 @@ let rows = try Row.fetchAll(db,
10101012
arguments: ["name": "Arthur"])
10111013
```
10121014

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.0.0-beta.4/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
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.0/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
10141016

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

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

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

1321-
Values can be used as [statement arguments](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Structs/StatementArguments.html):
1323+
Values can be used as [statement arguments](http://groue.github.io/GRDB.swift/docs/6.0/Structs/StatementArguments.html):
13221324

13231325
```swift
13241326
let url: URL = ...
@@ -1789,7 +1791,7 @@ try dbQueue.inDatabase { db in // or dbPool.writeWithoutTransaction
17891791
}
17901792
```
17911793

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

17941796
```swift
17951797
// fatal error: A transaction has been left opened at the end of a database access
@@ -1901,7 +1903,7 @@ try dbQueue.write { db in
19011903
}
19021904
```
19031905

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.0.0-beta.4/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
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.0/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
19051907

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

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

1987-
For more information about prepared statements, see the [Statement reference](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Classes/Statement.html).
1989+
For more information about prepared statements, see the [Statement reference](http://groue.github.io/GRDB.swift/docs/6.0/Classes/Statement.html).
19881990

19891991

19901992
### Prepared Statements Cache
@@ -2728,7 +2730,7 @@ try Place.fetchSet(db, sql: "SELECT ...", arguments:...) // Set<Place>
27282730
try Place.fetchOne(db, sql: "SELECT ...", arguments:...) // Place?
27292731
```
27302732

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.0.0-beta.4/Structs/StatementArguments.html) for more information about the query arguments.
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.0/Structs/StatementArguments.html) for more information about the query arguments.
27322734

27332735
> **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()`.
27342736

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

3241-
For detailed information about each callback, check the [reference](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Protocols/MutablePersistableRecord.html).
3243+
For detailed information about each callback, check the [reference](http://groue.github.io/GRDB.swift/docs/6.0/Protocols/MutablePersistableRecord.html).
32423244

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

@@ -3431,7 +3433,7 @@ protocol EncodableRecord {
34313433
}
34323434
```
34333435

3434-
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
3436+
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/6.0/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/6.0/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
34353437

34363438

34373439
### Date and UUID Coding Strategies
@@ -3453,7 +3455,7 @@ protocol EncodableRecord {
34533455
}
34543456
```
34553457

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

34583460
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).
34593461

@@ -5013,7 +5015,7 @@ Player // SELECT * FROM player
50135015
```
50145016
50155017
5016-
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Structs/StatementArguments.html):
5018+
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/6.0/Structs/StatementArguments.html):
50175019
50185020
```swift
50195021
// SELECT DATE(creationDate), COUNT(*) FROM player WHERE name = 'Arthur' GROUP BY date(creationDate)
@@ -5919,7 +5921,7 @@ try Player.customRequest().fetchAll(db) // [Player]
59195921
59205922
- 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.
59215923
5922-
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Structs/AnyFetchRequest.html): a type-erased request.
5924+
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/6.0/Structs/AnyFetchRequest.html): a type-erased request.
59235925
59245926
59255927
## Joined Queries Support
@@ -7252,7 +7254,7 @@ DatabaseRegion helps [ValueObservation] and [DatabaseRegionObservation] track ch
72527254
72537255
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.
72547256
7255-
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Structs/DatabaseRegion.html).
7257+
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/6.0/Structs/DatabaseRegion.html).
72567258
72577259
72587260
#### The DatabaseRegionConvertible Protocol
@@ -8616,7 +8618,7 @@ When this is the case, there are two possible explanations:
86168618
try db.execute(sql: "UPDATE player SET name = ?", arguments: [name])
86178619
```
86188620
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.0.0-beta.4/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
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.0/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
86208622
86218623
86228624
@@ -8765,7 +8767,7 @@ This chapter has [moved](Documentation/Concurrency.md#database-snapshots).
87658767
87668768
#### DatabaseWriter and DatabaseReader Protocols
87678769
8768-
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Protocols/DatabaseWriter.html).
8770+
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/6.0/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/6.0/Protocols/DatabaseWriter.html).
87698771
87708772
#### Asynchronous APIs
87718773
@@ -8819,7 +8821,7 @@ This chapter was renamed to [Embedding SQL in Query Interface Requests].
88198821
[Sharing a Database]: Documentation/SharingADatabase.md
88208822
[FAQ]: #faq
88218823
[Database Observation]: #database-changes-observation
8822-
[SQLRequest]: http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Structs/SQLRequest.html
8824+
[SQLRequest]: http://groue.github.io/GRDB.swift/docs/6.0/Structs/SQLRequest.html
88238825
[SQL literal]: Documentation/SQLInterpolation.md#sql-literal
88248826
[Identifiable]: https://developer.apple.com/documentation/swift/identifiable
88258827
[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.0.0-beta.4</string>
18+
<string>6.0.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

0 commit comments

Comments
 (0)