FTStore now holds both halves of the product:
ios/ the swift app — the fork of claration/Feather, unchanged apart
from its new home
web/ FTStore Admin, formerly its own repository. serves the
dashboard at /admin, the ftstore.json feed and IPA downloads
app-repo.json and Images/ stay at the repo root on purpose: the former is
a published AltStore source whose raw.githubusercontent URL is what
installed copies resolve updates through, so moving it would break every
subscriber.
The admin server is renamed throughout: package ftstore-admin, images
ghcr.io/<owner>/ftstore-admin-{app,worker}, postgres role/db ftstore,
session cookie ftstore_session, temp dir /tmp/ftstore, backup type
ftstore-settings, outbound user-agent FTStoreAdmin. backups written under the old
name still import, and compose is pinned to name: ftstore so the
volume prefix does not follow the directory name.
apply-rebrand.sh gains a relocation step: upstream's tree is rooted at
the repo root while ours lives in ios/, so a merge drops Feather's files
next to ios/ and the script folds them in before renaming. it never
touches web/. still idempotent.
release tags are namespaced — v* for the app, web-v* for the server —
so a server release no longer triggers a macOS build or rewrites
app-repo.json. workflows are prefixed ios-/web- and path-filtered.
330 lines
9.6 KiB
JSON
330 lines
9.6 KiB
JSON
{
|
|
"pins" : [
|
|
{
|
|
"identity" : "apikit",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/ishkawa/APIKit.git",
|
|
"state" : {
|
|
"revision" : "b839e53b870104798035b279d2a6168b0a2227b1",
|
|
"version" : "5.4.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "async-http-client",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/swift-server/async-http-client.git",
|
|
"state" : {
|
|
"revision" : "333f51104b75d1a5b94cb3b99e4c58a3b442c9f7",
|
|
"version" : "1.25.2"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "async-kit",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/vapor/async-kit.git",
|
|
"state" : {
|
|
"revision" : "e048c8ee94967e8d8a1c2ec0e1156d6f7fa34d31",
|
|
"version" : "1.20.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "bitbytedata",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/tsolomko/BitByteData",
|
|
"state" : {
|
|
"revision" : "cdcdc5177ad536cfb11b95c620f926a81014b7fe",
|
|
"version" : "2.0.4"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "console-kit",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/vapor/console-kit.git",
|
|
"state" : {
|
|
"revision" : "742f624a998cba2a9e653d9b1e91ad3f3a5dff6b",
|
|
"version" : "4.15.2"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "heliumlogger",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/Kitura/HeliumLogger.git",
|
|
"state" : {
|
|
"revision" : "fc2a71597ae974da5282d751bcc11965964bccce",
|
|
"version" : "2.0.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "licenseplist",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/mono0926/LicensePlist",
|
|
"state" : {
|
|
"revision" : "ab1692c16f4ce50fc134a8f51179f3310d41c5ef",
|
|
"version" : "3.27.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "loggerapi",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/Kitura/LoggerAPI.git",
|
|
"state" : {
|
|
"revision" : "4e6b45e850ffa275e8e26a24c6454fd709d5b6ac",
|
|
"version" : "2.0.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "multipart-kit",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/vapor/multipart-kit.git",
|
|
"state" : {
|
|
"revision" : "3498e60218e6003894ff95192d756e238c01f44e",
|
|
"version" : "4.7.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "nuke",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/kean/Nuke",
|
|
"state" : {
|
|
"revision" : "0ead44350d2737db384908569c012fe67c421e4d",
|
|
"version" : "12.8.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "openssl",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/krzyzanowskim/OpenSSL",
|
|
"state" : {
|
|
"revision" : "623c84da314e85363236507ca38a4bde65df21c3",
|
|
"version" : "3.3.3001"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "routing-kit",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/vapor/routing-kit.git",
|
|
"state" : {
|
|
"revision" : "8c9a227476555c55837e569be71944e02a056b72",
|
|
"version" : "4.9.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swcompression",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/tsolomko/SWCompression",
|
|
"state" : {
|
|
"revision" : "390e0b0af8dd19a600005a242a89e570ff482e09",
|
|
"version" : "4.8.6"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-algorithms",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-algorithms.git",
|
|
"state" : {
|
|
"revision" : "87e50f483c54e6efd60e885f7f5aa946cee68023",
|
|
"version" : "1.2.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-argument-parser",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-argument-parser.git",
|
|
"state" : {
|
|
"revision" : "41982a3656a71c768319979febd796c6fd111d5c",
|
|
"version" : "1.5.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-asn1",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-asn1.git",
|
|
"state" : {
|
|
"revision" : "ae33e5941bb88d88538d0a6b19ca0b01e6c76dcf",
|
|
"version" : "1.3.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-atomics",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-atomics.git",
|
|
"state" : {
|
|
"revision" : "cd142fd2f64be2100422d658e7411e39489da985",
|
|
"version" : "1.2.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-collections",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-collections.git",
|
|
"state" : {
|
|
"revision" : "671108c96644956dddcd89dd59c203dcdb36cec7",
|
|
"version" : "1.1.4"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-crypto",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-crypto.git",
|
|
"state" : {
|
|
"revision" : "e8d6eba1fef23ae5b359c46b03f7d94be2f41fed",
|
|
"version" : "3.12.3"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-html-entities",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/Kitura/swift-html-entities.git",
|
|
"state" : {
|
|
"revision" : "d8ca73197f59ce260c71bd6d7f6eb8bbdccf508b",
|
|
"version" : "4.0.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-http-structured-headers",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-http-structured-headers.git",
|
|
"state" : {
|
|
"revision" : "8e769facea6b7d46ea60e5e93635a384fd573480",
|
|
"version" : "1.2.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-http-types",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-http-types.git",
|
|
"state" : {
|
|
"revision" : "ef18d829e8b92d731ad27bb81583edd2094d1ce3",
|
|
"version" : "1.3.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-log",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-log.git",
|
|
"state" : {
|
|
"revision" : "3d8596ed08bd13520157f0355e35caed215ffbfa",
|
|
"version" : "1.6.3"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-metrics",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-metrics.git",
|
|
"state" : {
|
|
"revision" : "44491db7cc66774ab930cf15f36324e16b06f425",
|
|
"version" : "2.6.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-nio",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-nio.git",
|
|
"state" : {
|
|
"revision" : "6e17bc946821e550b88d22fd964423f70f1ce42d",
|
|
"version" : "2.82.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-nio-extras",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-nio-extras.git",
|
|
"state" : {
|
|
"revision" : "00f3f72d2f9942d0e2dc96057ab50a37ced150d4",
|
|
"version" : "1.25.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-nio-http2",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-nio-http2.git",
|
|
"state" : {
|
|
"revision" : "170f4ca06b6a9c57b811293cebcb96e81b661310",
|
|
"version" : "1.35.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-nio-ssl",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-nio-ssl.git",
|
|
"state" : {
|
|
"revision" : "0cc3528ff48129d64ab9cab0b1cd621634edfc6b",
|
|
"version" : "2.29.3"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-nio-transport-services",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-nio-transport-services.git",
|
|
"state" : {
|
|
"revision" : "3c394067c08d1225ba8442e9cffb520ded417b64",
|
|
"version" : "1.23.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-numerics",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-numerics.git",
|
|
"state" : {
|
|
"revision" : "e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8",
|
|
"version" : "1.0.3"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "swift-system",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/apple/swift-system.git",
|
|
"state" : {
|
|
"revision" : "a34201439c74b53f0fd71ef11741af7e7caf01e1",
|
|
"version" : "1.4.2"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "vapor",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/vapor/vapor",
|
|
"state" : {
|
|
"revision" : "236025b6a213f372f81b732ff792f95789c089d4",
|
|
"version" : "4.104.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "websocket-kit",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/vapor/websocket-kit.git",
|
|
"state" : {
|
|
"revision" : "4232d34efa49f633ba61afde365d3896fc7f8740",
|
|
"version" : "2.15.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "xcodeedit",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/tomlokhorst/XcodeEdit.git",
|
|
"state" : {
|
|
"revision" : "0e550cdee72844b35431afc3a1e176042be6d0f0",
|
|
"version" : "2.13.0"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "yams",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/jpsim/Yams.git",
|
|
"state" : {
|
|
"revision" : "b4b8042411dc7bbb696300a34a4bf3ba1b7ad19b",
|
|
"version" : "5.3.1"
|
|
}
|
|
},
|
|
{
|
|
"identity" : "zip",
|
|
"kind" : "remoteSourceControl",
|
|
"location" : "https://github.com/marmelroy/Zip",
|
|
"state" : {
|
|
"revision" : "67fa55813b9e7b3b9acee9c0ae501def28746d76",
|
|
"version" : "2.1.2"
|
|
}
|
|
}
|
|
],
|
|
"version" : 2
|
|
}
|