Skip to content

Commit e47b3d4

Browse files
committed
release: 0.4.37
1 parent f262f91 commit e47b3d4

3 files changed

Lines changed: 72 additions & 8 deletions

File tree

README.md

Lines changed: 70 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,57 @@ An example of the catalog output is as follows:
382382

383383
```
384384

385+
386+
### fairtool source verify
387+
388+
The `fairtool source verify` can be used to check the validity of the
389+
apps in a JSON catalog.
390+
391+
For example:
392+
393+
```shell
394+
% fairtool source create https://github.com/Cloud-Cuckoo/App/releases/latest/download/Cloud-Cuckoo-iOS.ipa > catalog.json
395+
396+
% fairtool source verify catalog.json
397+
398+
[
399+
{
400+
"app": {
401+
"bundleIdentifier": "app.Cloud-Cuckoo"
402+
"sha256": "56e748bf053aff8612702ba9f1aa13031ef0c29313cc4047e3176b9ba8526686",
403+
"size": 5136274
404+
}
405+
}
406+
]
407+
```
408+
409+
If, for example, the resource at the `downloadURL` no longer matches the
410+
SHA256 checksum or file size, the catalog's validation errors
411+
would look like:
412+
413+
```json
414+
[
415+
{
416+
"app": {
417+
"bundleIdentifier": "app.Cloud-Cuckoo"
418+
"size": 5136274,
419+
"sha256": "56e748bf053aff8612702ba9f1aa13031ef0c29313cc4047e3176b9ba8526686"
420+
},
421+
"failures": [
422+
{
423+
"type": "size_mismatch",
424+
"message": "Download size mismatch (5136274 vs. 5052688) from: https://github.com/Cloud-Cuckoo/App/releases/latest/download/Cloud-Cuckoo-iOS.ipa"
425+
},
426+
{
427+
"type": "checksum_failed",
428+
"message": "Checksum mismatch (56e748bf053aff8612702ba9f1aa13031ef0c29313cc4047e3176b9ba8526686 vs. 07e74b8db6eed309a6cdc92e40d5f7b7fd00922126f8ff49085516dd052ffa3a) from: https://github.com/Cloud-Cuckoo/App/releases/latest/download/Cloud-Cuckoo-iOS.ipa"
429+
}
430+
]
431+
}
432+
]
433+
```
434+
435+
385436
#### App Source Catalog
386437

387438
The format of the catalog and the meaning of the various properties is described
@@ -390,9 +441,11 @@ at [https://appfair.net/#app-source-catalog](https://appfair.net/#app-source-cat
390441

391442
### fairtool online
392443

393-
An experimental web service with limited functionality is available at
444+
An experimental web service with a subset of the
445+
fairtool's functionality is available at:
394446
[https://fairtool.herokuapp.com](https://fairtool.herokuapp.com).
395-
The service can be used to inspect the properties of .app .zip and .ipa
447+
448+
This service can be used to inspect the properties of `.app` `.zip` and `.ipa`
396449
URLs online, as well as generate default catalog entries for
397450
application artifacts.
398451

@@ -426,7 +479,7 @@ See the [documentation for FairCore](https://fair-ground.github.io/Fair/document
426479

427480
The `FairApp` module contains the necessary functionality for
428481
building and distributing an app on a fair ground such as
429-
[appfair.net](https://appfair.net).
482+
[appfair.net](https://appfair.net). `FairApp` depends on `FairCore`.
430483

431484
Important types are
432485
[AppCatalog](https://fair-ground.github.io/Fair/documentation/fairapp/appcatalog),
@@ -438,18 +491,29 @@ See the [documentation for FairApp](https://fair-ground.github.io/Fair/documenta
438491

439492
### FairExpo
440493

441-
The `FairExpo` module
494+
The `FairExpo` module provides a cross-platform set of networking
495+
protocols, such as utilities for interacting with a
496+
[GraphQLEndpointService](https://fair-ground.github.io/Fair/documentation/fairexpo/graphqlendpointservice),
497+
getting metadata from the
498+
[HomebrewAPI](https://fair-ground.github.io/Fair/documentation/fairexpo/homebrewapi/),
499+
and creating and verifying App Source catalogs with the
500+
[https://fair-ground.github.io/Fair/documentation/fairexpo/appcatalogapi](AppCatalogAPI).
442501

502+
`FairExpo` depends on `FairApp`.
503+
443504
See the [documentation for FairExpo](https://fair-ground.github.io/Fair/documentation/fairexpo/).
444505

445506
### FairKit
446507

447-
The `FairKit` module
508+
The `FairKit` module contains optional SwiftUI Views and enhancements,
509+
such as a SwiftUI [WebView](https://fair-ground.github.io/Fair/documentation/fairkit/webview).
510+
511+
`FairKit` depends on `FairApp`.
448512

449513
See the [documentation for FairKit](https://fair-ground.github.io/Fair/documentation/fairkit/).
450514

451515

452-
## Swift Package Manager usage
516+
## Swift Package Manager
453517

454518
In order to add the Fair module to an existing package named "App",
455519

Sources/FairCore/Info.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ let Info : [String : Any] = [
44
"CFBundleIdentifier" : "org.fair-ground.Fair",
55
"CFBundleInfoDictionaryVersion" : "6.0",
66
"CFBundlePackageType" : "FMWK",
7-
"CFBundleShortVersionString" : "0.4.36",
7+
"CFBundleShortVersionString" : "0.4.37",
88
"NSHumanReadableCopyright" : "GNU Affero General Public License",
99
]

Sources/FairCore/Resources/FairCore.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<key>CFBundlePackageType</key>
1212
<string>FMWK</string>
1313
<key>CFBundleShortVersionString</key>
14-
<string>0.4.36</string>
14+
<string>0.4.37</string>
1515
<key>NSHumanReadableCopyright</key>
1616
<string>GNU Affero General Public License</string>
1717
</dict>

0 commit comments

Comments
 (0)