Skip to content

Commit 560a908

Browse files
cbaker6TomWFox
andauthored
Release 1.0.0 (#56)
* Update readme * Initial * removed deployment of jazzy on PR's only on releases now * Update changeling * Update * Update README.md * match release version numbers: * Swift Linux missing URLSessionWebSocketTask so it can't use LiveQuery for now * Update CHANGELOG.md * Update README.md * Add ParseConfig * updated podspec and changelog * Ensure fetchAll query doesn't limit expected results. Since the default query limit=100, if a user fetchAll >100 unique items, the original limit will cause a problem. * Update Install directions in README * Update README.md * Update some async test cases. * Minor updates to playground comments * Update ParseConfig docs. * Give user access to "sessionToken" Co-authored-by: Tom Fox <[email protected]>
1 parent 86d4eb7 commit 560a908

File tree

50 files changed

+884
-137
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+884
-137
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,6 @@ jobs:
106106
bundle install
107107
- name: Create Jazzy Docs
108108
run: ./Scripts/jazzy.sh
109-
- name: Deploy Jazzy Docs
110-
if: github.ref == 'refs/heads/main'
111-
uses: peaceiris/actions-gh-pages@v3
112-
with:
113-
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
114-
publish_dir: ./docs
115109

116110
cocoapods:
117111
needs: xcode-build-watchos

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ jobs:
2727
uses: actions/cache@v2
2828
with:
2929
path: vendor/bundle
30-
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
30+
key: ${{ runner.os }}-gem-v1-${{ hashFiles('**/Gemfile.lock') }}
3131
restore-keys: |
32-
${{ runner.os }}-gem-
32+
${{ runner.os }}-gem-v1
3333
- name: Install Bundle
3434
run: |
3535
bundle config path vendor/bundle

CHANGELOG.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Parse-Swift Changelog
2+
3+
### main
4+
[Full Changelog](https://github.com/parse-community/Parse-Swift/compare/1.0.0...main)
5+
* _Contributing to this repo? Add info about your change here to be included in next release_
6+
7+
__New features__
8+
- Config support ([#56](https://github.com/parse-community/Parse-Swift/pull/56)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
9+
- Role and Relation support. Also improved Parse operations and added examples in Playgrounds ([#54](https://github.com/parse-community/Parse-Swift/pull/54)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
10+
- Added more `Query` support for distinct, aggregate, nor, containedBy, and relative time ([#54](https://github.com/parse-community/Parse-Swift/pull/54)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
11+
- Annonymous and Apple login along with `ParseAuthentication` protocol for support of any adapter ([#53](https://github.com/parse-community/Parse-Swift/pull/53)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
12+
- Developer side network authentication for certificate pinning. Parse-Swift can share authentication with `ParseLiveQuery` or they can use seperate ([#45](https://github.com/parse-community/Parse-Swift/pull/45)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
13+
- Full LiveQuery support (min requirement: macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0) ([#45](https://github.com/parse-community/Parse-Swift/pull/45)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
14+
- Support of Cloud and Job functions along with password reset and verification email request ([#43](https://github.com/parse-community/Parse-Swift/pull/43)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
15+
- Add `ParseFile` support ([#40](https://github.com/parse-community/Parse-Swift/pull/40)), thanks to [Corey Baker](https://github.com/cbaker6).
16+
- Add `deleteAll` to Parse objects ([#34](https://github.com/parse-community/Parse-Swift/pull/34)), thanks to [Corey Baker](https://github.com/cbaker6).
17+
- Save child pointers and deep saving of objects ([#21](https://github.com/parse-community/Parse-Swift/pull/21)), thanks to [Corey Baker](https://github.com/cbaker6).
18+
- Persist `ParseUser`, `ParseInstallation`, and default `ParseACL` to Keychain ([#19](https://github.com/parse-community/Parse-Swift/pull/19)), thanks to [Corey Baker](https://github.com/cbaker6).
19+
- Add PrimitiveObectStore protocol that extends Keychain Store ([#13](https://github.com/parse-community/Parse-Swift/pull/13)), thanks to [Pranjal Satija](https://github.com/pranjalsatija).
20+
- Add `AnyCodable` support ([#12](https://github.com/parse-community/Parse-Swift/pull/12)), thanks to [Corey Baker](https://github.com/cbaker6) and [Shawn Baek](https://github.com/ShawnBaek).
21+
- Add Keychain storage ([#7](https://github.com/parse-community/Parse-Swift/pull/7)), thanks to [Florent Vilmart](https://github.com/flovilmart).
22+
- Add `ParseError`, SwiftLint, saveAll, SPM, synchronous support ([#6](https://github.com/parse-community/Parse-Swift/pull/6)), thanks to [Florent Vilmart](https://github.com/flovilmart).
23+
- Create Parse-Swift project, project Playground, and add Travis CI ([#1](https://github.com/parse-community/Parse-Swift/pull/1)), thanks to [Florent Vilmart](https://github.com/flovilmart).
24+
25+
__Improvements__
26+
- Naming conventions and structure ([#54](https://github.com/parse-community/Parse-Swift/pull/54)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
27+
- Improve network progress updates and threading ([#51](https://github.com/parse-community/Parse-Swift/pull/51)), thanks to [Corey Baker](https://github.com/cbaker6).
28+
- User login now uses `POST` instead of `GET` ([#45](https://github.com/parse-community/Parse-Swift/pull/45)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
29+
- Dedicated Parse URLSession for more control and delegation ([#45](https://github.com/parse-community/Parse-Swift/pull/45)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
30+
- Objects are batched in groups of 50 ([#43](https://github.com/parse-community/Parse-Swift/pull/43)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
31+
- Add default queues to async calls ([#38](https://github.com/parse-community/Parse-Swift/pull/38)), thanks to [Corey Baker](https://github.com/cbaker6).
32+
- Persist queried and fetch objects to Keychain if they match a `current` object already stored ([#34](https://github.com/parse-community/Parse-Swift/pull/34)), thanks to [Corey Baker](https://github.com/cbaker6).
33+
- Improve ParseEncoder to support arrays ([#33](https://github.com/parse-community/Parse-Swift/pull/33)), thanks to [Corey Baker](https://github.com/cbaker6).
34+
- Add a new ParseEncoder from Swift 5.3 open-source JSON encoder ([#21](https://github.com/parse-community/Parse-Swift/pull/21)), thanks to [Corey Baker](https://github.com/cbaker6).
35+
- Full support of `ParseGeopoint` and improve querying ([#21](https://github.com/parse-community/Parse-Swift/pull/21)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
36+
- Improved async networking calls ([#15](https://github.com/parse-community/Parse-Swift/pull/15)), thanks to [Corey Baker](https://github.com/cbaker6).
37+
- Rename and restructure project ([#13](https://github.com/parse-community/Parse-Swift/pull/13)), thanks to [Pranjal Satija](https://github.com/pranjalsatija).
38+
- Update to Swift 5.0 ([#12](https://github.com/parse-community/Parse-Swift/pull/12)), thanks to [Corey Baker](https://github.com/cbaker6).
39+
- Remove RESTCommand and add API.Command ([#6](https://github.com/parse-community/Parse-Swift/pull/6)), thanks to [Florent Vilmart](https://github.com/flovilmart).
40+
41+
__Fixes__
42+
- Delete current installation during logout ([#52](https://github.com/parse-community/Parse-Swift/pull/52)), thanks to [Corey Baker](https://github.com/cbaker6).
43+
- Parse server supports `$eq`, but this isn't supported by LiveQueryServer, switched to supported ([#48](https://github.com/parse-community/Parse-Swift/pull/48)), thanks to [Corey Baker](https://github.com/cbaker6).
44+
- Bug when updating a ParseObject bug where objects was accidently converted to pointers ([#48](https://github.com/parse-community/Parse-Swift/pull/48)), thanks to [Corey Baker](https://github.com/cbaker6).
45+
- User logout was calling the wrong endpoint ([#43](https://github.com/parse-community/Parse-Swift/pull/43)), thanks to [Corey Baker](https://github.com/cbaker6) and [Tom Fox](https://github.com/TomWFox).
46+
- Fix an issue where ACL was overwritten with nil ([#40](https://github.com/parse-community/Parse-Swift/pull/40)), thanks to [Corey Baker](https://github.com/cbaker6).
47+
- Update Keychain during fetch. Fix synchronous bug that occured with `ParseError` was thrown ([#38](https://github.com/parse-community/Parse-Swift/pull/38)), thanks to [Corey Baker](https://github.com/cbaker6).
48+
- Fix ParseEncoder bugs ([#27](https://github.com/parse-community/Parse-Swift/pull/27)), thanks to [Corey Baker](https://github.com/cbaker6).
49+
- Fix async callback queue bug ([#27](https://github.com/parse-community/Parse-Swift/pull/27)), thanks to [Corey Baker](https://github.com/cbaker6).
50+
- Fix bugs in ParseACL and bump minimum OS support to `.iOS(.v11), .macOS(.v10_13), .tvOS(.v11), .watchOS(.v4)` ([#19](https://github.com/parse-community/Parse-Swift/pull/19)), thanks to [Corey Baker](https://github.com/cbaker6).
51+
- Fix bugs in batch and save responses ([#15](https://github.com/parse-community/Parse-Swift/pull/15)), thanks to [Corey Baker](https://github.com/cbaker6).
52+
- Fix Keychain tests ([#12](https://github.com/parse-community/Parse-Swift/pull/12)), thanks to [Corey Baker](https://github.com/cbaker6).

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2020 Parse Community
3+
Copyright (c) 2021 Parse Community
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

ParseSwift-iOS/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<key>CFBundlePackageType</key>
1818
<string>FMWK</string>
1919
<key>CFBundleShortVersionString</key>
20-
<string>1.0</string>
20+
<string>$(MARKETING_VERSION)</string>
2121
<key>CFBundleVersion</key>
2222
<string>$(CURRENT_PROJECT_VERSION)</string>
2323
<key>NSPrincipalClass</key>

ParseSwift-macOS/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>1.0</string>
18+
<string>$(MARKETING_VERSION)</string>
1919
<key>CFBundleVersion</key>
2020
<string>$(CURRENT_PROJECT_VERSION)</string>
2121
<key>NSHumanReadableCopyright</key>

ParseSwift-tvOS/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>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>1.0</string>
18+
<string>$(MARKETING_VERSION)</string>
1919
<key>CFBundleVersion</key>
2020
<string>$(CURRENT_PROJECT_VERSION)</string>
2121
</dict>

ParseSwift-watchOS/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>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>1.0</string>
18+
<string>$(MARKETING_VERSION)</string>
1919
<key>CFBundleVersion</key>
2020
<string>$(CURRENT_PROJECT_VERSION)</string>
2121
</dict>

ParseSwift.playground/Pages/1 - Your first Object.xcplaygroundpage/Contents.swift

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ npm start -- --appId applicationId --clientKey clientKey --masterKey masterKey -
1212

1313
initializeParse()
1414

15-
//: Create your own ValueTyped ParseObject
15+
//: Create your own value typed `ParseObject`.
1616
struct GameScore: ParseObject {
1717
//: Those are required for Object
1818
var objectId: String?
1919
var createdAt: Date?
2020
var updatedAt: Date?
2121
var ACL: ParseACL?
2222

23-
//: Your own properties
23+
//: Your own properties.
2424
var score: Int = 0
2525

26-
//custom initializer
26+
//: Custom initializer.
2727
init(score: Int) {
2828
self.score = score
2929
}
@@ -33,7 +33,7 @@ struct GameScore: ParseObject {
3333
}
3434
}
3535

36-
//: Define initial GameScores
36+
//: Define initial GameScores.
3737
let score = GameScore(score: 10)
3838
let score2 = GameScore(score: 3)
3939

@@ -50,8 +50,8 @@ score.save { result in
5050
assert(savedScore.ACL == nil)
5151
assert(savedScore.score == 10)
5252

53-
/*: To modify, need to make it a var as the Value Type
54-
was initialized as immutable
53+
/*: To modify, need to make it a var as the value type
54+
was initialized as immutable.
5555
*/
5656
var changedScore = savedScore
5757
changedScore.score = 200
@@ -75,10 +75,10 @@ score.save { result in
7575
}
7676
}
7777

78-
//: This will store the second batch score to be used later
78+
//: This will store the second batch score to be used later.
7979
var score2ForFetchedLater: GameScore?
8080

81-
//: Saving multiple GameScores at once
81+
//: Saving multiple GameScores at once.
8282
[score, score2].saveAll { results in
8383
switch results {
8484
case .success(let otherResults):
@@ -101,7 +101,7 @@ var score2ForFetchedLater: GameScore?
101101
}
102102
}
103103

104-
//: Save synchronously (not preferred - all operations on main queue)
104+
//: Save synchronously (not preferred - all operations on main queue).
105105
let savedScore: GameScore?
106106
do {
107107
savedScore = try score.save()
@@ -116,8 +116,8 @@ assert(savedScore?.createdAt != nil)
116116
assert(savedScore?.updatedAt != nil)
117117
assert(savedScore?.score == 10)
118118

119-
/*: To modify, need to make it a var as the Value Type
120-
was initialized as immutable
119+
/*: To modify, need to make it a var as the value type
120+
was initialized as immutable.
121121
*/
122122
guard var changedScore = savedScore else {
123123
fatalError()
@@ -154,10 +154,10 @@ otherResults!.forEach { result in
154154
}
155155
}
156156

157-
//: Now we will create another object and delete it
157+
//: Now we will create another object and delete it.
158158
let score3 = GameScore(score: 30)
159159

160-
//: Save the score and store it in "scoreToDelete"
160+
//: Save the score and store it in "scoreToDelete".
161161
var scoreToDelete: GameScore!
162162
do {
163163
scoreToDelete = try score3.save()
@@ -166,15 +166,15 @@ do {
166166
assertionFailure("Error deleting: \(error)")
167167
}
168168

169-
//: Delete the score from parse-server synchronously
169+
//: Delete the score from parse-server synchronously.
170170
do {
171171
try scoreToDelete.delete()
172172
print("Successfully deleted: \(scoreToDelete!)")
173173
} catch {
174174
assertionFailure("Error deleting: \(error)")
175175
}
176176

177-
//: Now we will fetch a ParseObject that has already been saved based on its' objectId
177+
//: Now we will fetch a ParseObject that has already been saved based on its' objectId.
178178
let scoreToFetch = GameScore(objectId: savedScore?.objectId)
179179

180180
//: Asynchronously (preferred way) fetch this GameScore based on it's objectId alone.
@@ -195,7 +195,7 @@ do {
195195
assertionFailure("Error fetching: \(error)")
196196
}
197197

198-
//: Now we will fetch ParseObject's in batch that have already been saved based on its' objectId
198+
//: Now we will fetch `ParseObject`'s in batch that have already been saved based on its' objectId.
199199
let score2ToFetch = GameScore(objectId: score2ForFetchedLater?.objectId)
200200

201201
//: Asynchronously (preferred way) fetch GameScores based on it's objectId alone.
@@ -251,7 +251,7 @@ do {
251251
}
252252

253253
//: Synchronously deleteAll GameScore's based on it's objectId's alone.
254-
//: Commented out because the async above deletes the items already
254+
//: Commented out because the async above deletes the items already.
255255
/* do {
256256
let fetchedScores = try [scoreToFetch, score2ToFetch].deleteAll()
257257
fetchedScores.forEach { result in

ParseSwift.playground/Pages/10 - Cloud Code.xcplaygroundpage/Contents.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ import ParseSwift
77
PlaygroundPage.current.needsIndefiniteExecution = true
88
initializeParse()
99

10-
//: Create your own ValueTyped ParseCloud type
10+
//: Create your own value typed `ParseCloud` type.
1111
struct Cloud: ParseCloud {
1212
//: These are required for Object
1313
var functionJobName: String
1414

15-
//: If your cloud function takes arguments, they can be passed by creating properties
15+
//: If your cloud function takes arguments, they can be passed by creating properties:
1616
//var argument1: [String: Int] = ["test": 5]
1717
}
1818

@@ -33,7 +33,7 @@ cloud.runFunction { result in
3333
}
3434
}
3535

36-
//: Jobs can be run the same way by using the method `startJob()`
36+
//: Jobs can be run the same way by using the method `startJob()`.
3737
PlaygroundPage.current.finishExecution()
3838

3939
//: [Next](@next)

0 commit comments

Comments
 (0)