Skip to content

Commit 628ac58

Browse files
committed
Merge branch 'development'
2 parents e82a036 + 373f95a commit 628ac58

File tree

27 files changed

+290
-4229
lines changed

27 files changed

+290
-4229
lines changed

CHANGELOG.md

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

88
#### 6.x Releases
99

10-
- `6.0.0` Betas - [6.0.0-beta](#600-beta) | [6.0.0-beta.2](#600-beta2)
10+
- `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)
1111

1212
#### 5.x Releases
1313

@@ -97,12 +97,21 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
9797

9898
---
9999

100+
## 6.0.0-beta.4
101+
102+
Released August 28, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v6.0.0-beta.3...v6.0.0-beta.4)
103+
104+
- **New**: [#1271](https://github.com/groue/GRDB.swift/pull/1271) by [@groue](https://github.com/groue): Bump custom SQLite builds v3.39.2
105+
- **Breaking Change**: The`GRDB.xcodeproj` or `GRDBCustom.xcodeproj` projects now define cross-platforms targets.
106+
- **Documentation Update**: [Migrating From GRDB 5 to GRDB 6](Documentation/GRDB6MigrationGuide.md) describes how to update applications that directly embed the `GRDB.xcodeproj` or `GRDBCustom.xcodeproj` project.
107+
- **Documentation Update**: [Custom SQLite Builds](CustomSQLiteBuilds.md) was updated for the new cross-platform target defined by the `GRDBCustom.xcodeproj` project.
108+
100109
## 6.0.0-beta.3
101110

102-
Released August 25, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v6.0.0-beta...v6.0.0-beta.2)
111+
Released August 25, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v6.0.0-beta.2...v6.0.0-beta.3)
103112

104113
- **Fix**: [#1268](https://github.com/groue/GRDB.swift/pull/1268) by [@groue](https://github.com/groue): Fix SQL generation of CHECK constraints
105-
- **Breaking**: The `Column` type is no longer `Equatable`
114+
- **Breaking Change**: The `Column` type is no longer `Equatable`
106115
- **Documentation Update**: [Migrating From GRDB 5 to GRDB 6](Documentation/GRDB6MigrationGuide.md) describes in detail how to update records that customize their persistence methods.
107116
- **Documentation Update**: The [Single-Row Tables](Documentation/SingleRowTables.md) guide was updated for the new persistence callbacks.
108117

Documentation/CustomSQLiteBuilds.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Custom SQLite Builds
33

44
By default, GRDB uses the version of SQLite that ships with the target operating system.
55

6-
**You can build GRDB with a custom build of [SQLite 3.37.2](https://www.sqlite.org/changes.html).**
6+
**You can build GRDB with a custom build of [SQLite 3.39.2](https://www.sqlite.org/changes.html).**
77

88
A custom SQLite build can activate extra SQLite features, and extra GRDB features as well, such as support for the [FTS5 full-text search engine](../../../#full-text-search), and [SQLite Pre-Update Hooks](../../../#support-for-sqlite-pre-update-hooks).
99

@@ -111,9 +111,9 @@ GRDB builds SQLite with [swiftlyfalling/SQLiteLib](https://github.com/swiftlyfal
111111

112112
5. Embed the `GRDBCustom.xcodeproj` project in your own project.
113113

114-
6. Add the `GRDBCustomSQLiteOSX` or `GRDBCustomSQLiteiOS` target in the **Target Dependencies** section of the **Build Phases** tab of your **application target**.
114+
6. Add the `GRDBCustom` target in the **Target Dependencies** section of the **Build Phases** tab of your **application target**.
115115

116-
7. Add the `GRDBCustomSQLite.framework` from the targeted platform to the **Embedded Binaries** section of the **General** tab of your **application target**.
116+
7. Add the `GRDBCustom.framework` from the targeted platform to the **Embedded Binaries** section of the **General** tab of your **application target**.
117117

118118
8. Add a Run Script phase for your target in the **Pre-actions** section of the **Build** tab of your **application scheme**:
119119

Documentation/DemoApps/GRDBDemoiOS/GRDBDemoiOS.xcodeproj/project.pbxproj

Lines changed: 11 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
56185BBF25B8036100B9C30F /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56185BBE25B8036100B9C30F /* Persistence.swift */; };
1111
56185BF325B80B8900B9C30F /* AppDatabaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56185BF225B80B8900B9C30F /* AppDatabaseTests.swift */; };
1212
56185C0725B80CEC00B9C30F /* PlayerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56185C0625B80CEC00B9C30F /* PlayerTests.swift */; };
13-
56606D202355938A00185962 /* GRDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 56606D142355931F00185962 /* GRDB.framework */; };
14-
56606D212355938A00185962 /* GRDB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 56606D142355931F00185962 /* GRDB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
15-
56606D24235593AB00185962 /* GRDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 56606D182355931F00185962 /* GRDB.framework */; };
16-
56606D25235593AB00185962 /* GRDB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 56606D182355931F00185962 /* GRDB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
13+
567940C528BA33D2004A0298 /* GRDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 56606D0A2355931F00185962 /* GRDB.framework */; };
14+
567940C628BA33D2004A0298 /* GRDB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 56606D0A2355931F00185962 /* GRDB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
15+
567940C728BA33DE004A0298 /* GRDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 56606D0A2355931F00185962 /* GRDB.framework */; };
16+
567940C828BA33DE004A0298 /* GRDB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 56606D0A2355931F00185962 /* GRDB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
1717
568E5FC31E926430002582E0 /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 568E5FC11E926430002582E0 /* Interface.storyboard */; };
1818
568E5FC51E926430002582E0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 568E5FC41E926430002582E0 /* Assets.xcassets */; };
1919
568E5FCC1E926430002582E0 /* GRDBDemoWatchOS Extension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 568E5FCB1E926430002582E0 /* GRDBDemoWatchOS Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
@@ -54,62 +54,6 @@
5454
remoteGlobalIDString = 56E5D7F91B4D422D00430942;
5555
remoteInfo = GRDBOSXTests;
5656
};
57-
56606D112355931F00185962 /* PBXContainerItemProxy */ = {
58-
isa = PBXContainerItemProxy;
59-
containerPortal = 56B036261E8D9F79003B6DA4 /* GRDB.xcodeproj */;
60-
proxyType = 2;
61-
remoteGlobalIDString = 56553C181C3E906C00522B5C;
62-
remoteInfo = GRDBOSXCrashTests;
63-
};
64-
56606D132355931F00185962 /* PBXContainerItemProxy */ = {
65-
isa = PBXContainerItemProxy;
66-
containerPortal = 56B036261E8D9F79003B6DA4 /* GRDB.xcodeproj */;
67-
proxyType = 2;
68-
remoteGlobalIDString = 56E5D7CA1B4D3FED00430942;
69-
remoteInfo = GRDBiOS;
70-
};
71-
56606D152355931F00185962 /* PBXContainerItemProxy */ = {
72-
isa = PBXContainerItemProxy;
73-
containerPortal = 56B036261E8D9F79003B6DA4 /* GRDB.xcodeproj */;
74-
proxyType = 2;
75-
remoteGlobalIDString = 56E5D7D31B4D3FEE00430942;
76-
remoteInfo = GRDBiOSTests;
77-
};
78-
56606D172355931F00185962 /* PBXContainerItemProxy */ = {
79-
isa = PBXContainerItemProxy;
80-
containerPortal = 56B036261E8D9F79003B6DA4 /* GRDB.xcodeproj */;
81-
proxyType = 2;
82-
remoteGlobalIDString = 565490A01D5A4798005622CB;
83-
remoteInfo = GRDBWatchOS;
84-
};
85-
56606D192355931F00185962 /* PBXContainerItemProxy */ = {
86-
isa = PBXContainerItemProxy;
87-
containerPortal = 56B036261E8D9F79003B6DA4 /* GRDB.xcodeproj */;
88-
proxyType = 2;
89-
remoteGlobalIDString = AAA4DCFE230F1E0600C74B15;
90-
remoteInfo = GRDBtvOS;
91-
};
92-
56606D1B2355931F00185962 /* PBXContainerItemProxy */ = {
93-
isa = PBXContainerItemProxy;
94-
containerPortal = 56B036261E8D9F79003B6DA4 /* GRDB.xcodeproj */;
95-
proxyType = 2;
96-
remoteGlobalIDString = AAA4DDD4230F262000C74B15;
97-
remoteInfo = GRDBtvOSTests;
98-
};
99-
56606D1D2355937900185962 /* PBXContainerItemProxy */ = {
100-
isa = PBXContainerItemProxy;
101-
containerPortal = 56B036261E8D9F79003B6DA4 /* GRDB.xcodeproj */;
102-
proxyType = 1;
103-
remoteGlobalIDString = 56E5D7C91B4D3FED00430942;
104-
remoteInfo = GRDBiOS;
105-
};
106-
56606D22235593A300185962 /* PBXContainerItemProxy */ = {
107-
isa = PBXContainerItemProxy;
108-
containerPortal = 56B036261E8D9F79003B6DA4 /* GRDB.xcodeproj */;
109-
proxyType = 1;
110-
remoteGlobalIDString = 5654909F1D5A4798005622CB;
111-
remoteInfo = GRDBWatchOS;
112-
};
11357
568E5FCD1E926430002582E0 /* PBXContainerItemProxy */ = {
11458
isa = PBXContainerItemProxy;
11559
containerPortal = 56B035FB1E8D9EBE003B6DA4 /* Project object */;
@@ -155,7 +99,7 @@
15599
dstPath = "";
156100
dstSubfolderSpec = 10;
157101
files = (
158-
56606D25235593AB00185962 /* GRDB.framework in Embed Frameworks */,
102+
567940C828BA33DE004A0298 /* GRDB.framework in Embed Frameworks */,
159103
);
160104
name = "Embed Frameworks";
161105
runOnlyForDeploymentPostprocessing = 0;
@@ -166,7 +110,7 @@
166110
dstPath = "";
167111
dstSubfolderSpec = 10;
168112
files = (
169-
56606D212355938A00185962 /* GRDB.framework in Embed Frameworks */,
113+
567940C628BA33D2004A0298 /* GRDB.framework in Embed Frameworks */,
170114
);
171115
name = "Embed Frameworks";
172116
runOnlyForDeploymentPostprocessing = 0;
@@ -214,15 +158,15 @@
214158
isa = PBXFrameworksBuildPhase;
215159
buildActionMask = 2147483647;
216160
files = (
217-
56606D24235593AB00185962 /* GRDB.framework in Frameworks */,
161+
567940C728BA33DE004A0298 /* GRDB.framework in Frameworks */,
218162
);
219163
runOnlyForDeploymentPostprocessing = 0;
220164
};
221165
56B036001E8D9EBE003B6DA4 /* Frameworks */ = {
222166
isa = PBXFrameworksBuildPhase;
223167
buildActionMask = 2147483647;
224168
files = (
225-
56606D202355938A00185962 /* GRDB.framework in Frameworks */,
169+
567940C528BA33D2004A0298 /* GRDB.framework in Frameworks */,
226170
);
227171
runOnlyForDeploymentPostprocessing = 0;
228172
};
@@ -243,13 +187,7 @@
243187
isa = PBXGroup;
244188
children = (
245189
56606D0A2355931F00185962 /* GRDB.framework */,
246-
56606D0C2355931F00185962 /* GRDBOSXTests.xctest */,
247-
56606D122355931F00185962 /* GRDBOSXCrashTests.xctest */,
248-
56606D142355931F00185962 /* GRDB.framework */,
249-
56606D162355931F00185962 /* GRDBiOSTests.xctest */,
250-
56606D182355931F00185962 /* GRDB.framework */,
251-
56606D1A2355931F00185962 /* GRDB.framework */,
252-
56606D1C2355931F00185962 /* GRDBtvOSTests.xctest */,
190+
56606D0C2355931F00185962 /* GRDBTests.xctest */,
253191
);
254192
name = Products;
255193
sourceTree = "<group>";
@@ -390,7 +328,6 @@
390328
buildRules = (
391329
);
392330
dependencies = (
393-
56606D23235593A300185962 /* PBXTargetDependency */,
394331
);
395332
name = "GRDBDemoWatchOS Extension";
396333
productName = "GRDBDemoWatchOS Extension";
@@ -410,7 +347,6 @@
410347
buildRules = (
411348
);
412349
dependencies = (
413-
56606D1E2355937900185962 /* PBXTargetDependency */,
414350
568E5FD81E926430002582E0 /* PBXTargetDependency */,
415351
);
416352
name = GRDBDemoiOS;
@@ -488,55 +424,13 @@
488424
remoteRef = 56606D092355931F00185962 /* PBXContainerItemProxy */;
489425
sourceTree = BUILT_PRODUCTS_DIR;
490426
};
491-
56606D0C2355931F00185962 /* GRDBOSXTests.xctest */ = {
427+
56606D0C2355931F00185962 /* GRDBTests.xctest */ = {
492428
isa = PBXReferenceProxy;
493429
fileType = wrapper.cfbundle;
494-
path = GRDBOSXTests.xctest;
430+
path = GRDBTests.xctest;
495431
remoteRef = 56606D0B2355931F00185962 /* PBXContainerItemProxy */;
496432
sourceTree = BUILT_PRODUCTS_DIR;
497433
};
498-
56606D122355931F00185962 /* GRDBOSXCrashTests.xctest */ = {
499-
isa = PBXReferenceProxy;
500-
fileType = wrapper.cfbundle;
501-
path = GRDBOSXCrashTests.xctest;
502-
remoteRef = 56606D112355931F00185962 /* PBXContainerItemProxy */;
503-
sourceTree = BUILT_PRODUCTS_DIR;
504-
};
505-
56606D142355931F00185962 /* GRDB.framework */ = {
506-
isa = PBXReferenceProxy;
507-
fileType = wrapper.framework;
508-
path = GRDB.framework;
509-
remoteRef = 56606D132355931F00185962 /* PBXContainerItemProxy */;
510-
sourceTree = BUILT_PRODUCTS_DIR;
511-
};
512-
56606D162355931F00185962 /* GRDBiOSTests.xctest */ = {
513-
isa = PBXReferenceProxy;
514-
fileType = wrapper.cfbundle;
515-
path = GRDBiOSTests.xctest;
516-
remoteRef = 56606D152355931F00185962 /* PBXContainerItemProxy */;
517-
sourceTree = BUILT_PRODUCTS_DIR;
518-
};
519-
56606D182355931F00185962 /* GRDB.framework */ = {
520-
isa = PBXReferenceProxy;
521-
fileType = wrapper.framework;
522-
path = GRDB.framework;
523-
remoteRef = 56606D172355931F00185962 /* PBXContainerItemProxy */;
524-
sourceTree = BUILT_PRODUCTS_DIR;
525-
};
526-
56606D1A2355931F00185962 /* GRDB.framework */ = {
527-
isa = PBXReferenceProxy;
528-
fileType = wrapper.framework;
529-
path = GRDB.framework;
530-
remoteRef = 56606D192355931F00185962 /* PBXContainerItemProxy */;
531-
sourceTree = BUILT_PRODUCTS_DIR;
532-
};
533-
56606D1C2355931F00185962 /* GRDBtvOSTests.xctest */ = {
534-
isa = PBXReferenceProxy;
535-
fileType = wrapper.cfbundle;
536-
path = GRDBtvOSTests.xctest;
537-
remoteRef = 56606D1B2355931F00185962 /* PBXContainerItemProxy */;
538-
sourceTree = BUILT_PRODUCTS_DIR;
539-
};
540434
/* End PBXReferenceProxy section */
541435

542436
/* Begin PBXResourcesBuildPhase section */
@@ -617,16 +511,6 @@
617511
target = 56B036021E8D9EBE003B6DA4 /* GRDBDemoiOS */;
618512
targetProxy = 56185BF525B80B8900B9C30F /* PBXContainerItemProxy */;
619513
};
620-
56606D1E2355937900185962 /* PBXTargetDependency */ = {
621-
isa = PBXTargetDependency;
622-
name = GRDBiOS;
623-
targetProxy = 56606D1D2355937900185962 /* PBXContainerItemProxy */;
624-
};
625-
56606D23235593A300185962 /* PBXTargetDependency */ = {
626-
isa = PBXTargetDependency;
627-
name = GRDBWatchOS;
628-
targetProxy = 56606D22235593A300185962 /* PBXContainerItemProxy */;
629-
};
630514
568E5FCE1E926430002582E0 /* PBXTargetDependency */ = {
631515
isa = PBXTargetDependency;
632516
target = 568E5FCA1E926430002582E0 /* GRDBDemoWatchOS Extension */;

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.3/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.0-beta.4/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.3/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.0-beta.4/Structs/StatementArguments.html):
591591

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

Documentation/GRDB6MigrationGuide.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,4 +375,9 @@ The record protocols have been refactored. We tried to keep the amount of modifi
375375
}
376376
```
377377

378-
[persistence callbacks]: ../README.md#persistence-callbacks
378+
- If your application directly embeds the `GRDB.xcodeproj` or `GRDBCustom.xcodeproj` project, then you have to update your dependencies. Those projects now define cross-platform targets, and you must perform the following actions:
379+
380+
- In the **Target Dependencies** section of the **Build Phases** tab of your **application targets**, replace the GRDB target with `GRDB` or `GRDBCustom`.
381+
- In the **Embedded Binaries** section of the **General** tab of your **application target**, replace the GRDB framework with `GRDB.framework` or `GRDBCustom.framework`.
382+
383+
[persistence callbacks]: ../README.md#persistence-callbacks

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.3/Structs/DatabaseMigrator.html) for more migrator methods.
80+
See the [DatabaseMigrator reference](http://groue.github.io/GRDB.swift/docs/6.0.0-beta.4/Structs/DatabaseMigrator.html) for more migrator methods.
8181

8282

8383
## The `eraseDatabaseOnSchemaChange` Option

Documentation/Playgrounds/Associations.playground/Contents.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//: To run this playground:
22
//:
33
//: - Open GRDB.xcworkspace
4-
//: - Select the GRDBOSX scheme: menu Product > Scheme > GRDBOSX
4+
//: - Select the GRDB scheme: menu Product > Scheme > GRDB
55
//: - Build: menu Product > Build
66
//: - Select the playground in the Playgrounds Group
77
//: - Run the playground

Documentation/Playgrounds/MyPlayground.playground/Contents.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// To run this playground, select and build the GRDBOSX scheme.
1+
// To run this playground, select and build the GRDB scheme.
22

33
import GRDB
44

Documentation/Playgrounds/Tour.playground/Contents.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//: To run this playground:
22
//:
33
//: - Open GRDB.xcworkspace
4-
//: - Select the GRDBOSX scheme: menu Product > Scheme > GRDBOSX
4+
//: - Select the GRDB scheme: menu Product > Scheme > GRDB
55
//: - Build: menu Product > Build
66
//: - Select the playground in the Playgrounds Group
77
//: - Run the playground

Documentation/Playgrounds/TransactionObserver.playground/Contents.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//: To run this playground:
22
//:
33
//: - Open GRDB.xcworkspace
4-
//: - Select the GRDBOSX scheme: menu Product > Scheme > GRDBOSX
4+
//: - Select the GRDB scheme: menu Product > Scheme > GRDB
55
//: - Build: menu Product > Build
66
//: - Select the playground in the Playgrounds Group
77
//: - Run the playground

0 commit comments

Comments
 (0)