Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d42f448e31 | ||
|
|
1566f1bb00 | ||
|
|
f12042f194 | ||
|
|
e7cf336665 |
+41
-13
@@ -3,29 +3,57 @@
|
||||
Working backlog of forward-looking items not yet scoped into a dedicated plan
|
||||
doc. See [`ROADMAP.md`](ROADMAP.md) for the curated, public-facing direction.
|
||||
|
||||
## Blocking incident — before unrelated work
|
||||
## Framework incident — closed with operator acceptance
|
||||
|
||||
- **OPEN: Framework LND startup / missing Receive address / false zero balance.**
|
||||
User requires investigation and a verified fix on the actual node before later
|
||||
unrelated work. Startup and native balances were verified on the actual node;
|
||||
final display confirmation is pending. See the incident record for evidence.
|
||||
- **CLOSED WITH OPERATOR ACCEPTANCE (2026-09-30): Framework LND startup /
|
||||
missing Receive address / false zero balance.** Startup, native balances,
|
||||
Cashu address and source integration were verified; the operator accepted the
|
||||
remaining display check and authorized release. See the incident record for evidence.
|
||||
See [incident evidence and closure criteria](incident-framework-lnd-startup.md)
|
||||
and the repository `AGENTS.md` session-start instructions.
|
||||
|
||||
## Current repair and release tasks — 2026-09-29
|
||||
## Next release after 1.8.21 — reported 2026-09-30
|
||||
|
||||
Release is blocked until these pass; see [execution record](repair-release-20260929.md).
|
||||
- [x] Review and repair open paid-download PRs #161 and #162, refresh both
|
||||
branches from main, run independent and combined isolated suites, and verify
|
||||
rootless file permissions in disposable scratch storage. Combined result:
|
||||
1,585 passed, zero failed, four existing tests ignored. See the
|
||||
[review evidence and remaining acceptance work](pr-review-20260930.md).
|
||||
- [ ] Integrate the reviewed PR branches into the next release and run funded
|
||||
candidate acceptance, including Tor-only transport and payments with change.
|
||||
PRs remain open; the reviewed code has not been deployed to live wallets.
|
||||
- [ ] Design durable recovery for an accepted payment whose response is lost.
|
||||
Preserve the truthful unconfirmed-refund warning and prevent automatic
|
||||
duplicate payment while that recovery work is outstanding.
|
||||
- [ ] **ThinkPad X250 kiosk: Bitcoin installation version selector is unreadable
|
||||
and appears underneath the pruning information.** Operator reports white
|
||||
styling with invisible text on the actual kiosk; the same flow works in remote
|
||||
Brave. Reproduce on the X250's kiosk engine and record its version, display
|
||||
scale and resolution. Inspect the native `<select>` in
|
||||
`neode-ui/src/components/InstallVersionModal.vue`, its option colors, and the
|
||||
scroll/stacking behavior in `BaseModal.vue`; these are investigation leads,
|
||||
not a confirmed cause. Fix contrast and popup visibility without changing
|
||||
version selection or pruning behavior. Validate Core and Knots, open/closed
|
||||
and scrolled dropdowns, keyboard/touch selection, and pruning on/off on the
|
||||
actual kiosk, with remote Brave and mobile regression checks. Browser mocks
|
||||
alone do not establish that the kiosk rendering is fixed. Track for the next
|
||||
release; the signed 1.8.21 artifacts remain unchanged.
|
||||
|
||||
- [ ] Fix Cashu paid-file redemption between dev and Shorty; test keyset IDs,
|
||||
## 1.8.21 repair and release tasks — completed 2026-09-30
|
||||
|
||||
See the [execution record](repair-release-20260929.md) for evidence and limits.
|
||||
|
||||
- [x] Fix Cashu paid-file redemption between dev and Shorty; test keyset IDs,
|
||||
mint errors, fees, and refund reporting before live validation.
|
||||
- [ ] Complete the remaining Framework incident verification and evidence.
|
||||
- [ ] Replace the unavailable tx1138.com explorer default with mempool.space;
|
||||
- [x] Record Framework verification and the operator's acceptance of the
|
||||
remaining display check before release.
|
||||
- [x] Replace the unavailable tx1138.com explorer default with mempool.space;
|
||||
migrate the old default with fresh consent and preserve custom/local explorers.
|
||||
- [ ] Offer pruning in the Bitcoin installation version modal, using the same
|
||||
- [x] Offer pruning in the Bitcoin installation version modal, using the same
|
||||
pruning settings as automatic pruning even on large disks.
|
||||
- [ ] Explain Bitcoin warmup without raw RPC errors; gate LND unlock on Bitcoin
|
||||
- [x] Explain Bitcoin warmup without raw RPC errors; gate LND unlock on Bitcoin
|
||||
RPC readiness and show install/start/sync waiting states with automatic recovery.
|
||||
- [ ] Test the completed changes on this development box, then publish a new
|
||||
- [x] Test the completed changes on this development box, then publish a new
|
||||
signed OTA and raw ISO release. Record any remaining verification gaps.
|
||||
|
||||
## Dev & build process (priority)
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
# Paid-download PR review — 2026-09-30
|
||||
|
||||
## Scope and result
|
||||
|
||||
Reviewed both open PRs from the repository pull-request list: [#161](https://source.archipelago-foundation.org/lfg2025/archy/pulls/161)
|
||||
and [#162](https://source.archipelago-foundation.org/lfg2025/archy/pulls/162).
|
||||
Both branches were updated from main, repaired and tested independently and
|
||||
together. Their existing remote branches were advanced without rewriting the
|
||||
contributors' history. They remain open for integration into the release after
|
||||
1.8.21; no reviewed code was merged into main or deployed to a live wallet.
|
||||
The signed 1.8.21 artifacts are unchanged.
|
||||
|
||||
| Candidate | Tested commit | Isolated backend result |
|
||||
| --- | --- | --- |
|
||||
| PR #161 | `971d4777` | 1,576 passed, 0 failed, 4 existing tests ignored |
|
||||
| PR #162 | `0677924a` | 1,568 passed, 0 failed, 4 existing tests ignored |
|
||||
| Both together | `4bf4bf1a` | 1,585 passed, 0 failed, 4 existing tests ignored |
|
||||
|
||||
Both individual branches also passed production `cargo check`, with the
|
||||
repository's existing 16 warnings. The combined merge required no conflict
|
||||
resolution. Backend tests ran through `scripts/test-backend-isolated.sh` so they
|
||||
could not access host wallets, native services or production container storage.
|
||||
|
||||
## Findings and repairs
|
||||
|
||||
### #161 — payment delivery and file readability
|
||||
|
||||
- The branch conflicted with newer mint-fee, keyset-ID and truthful refund
|
||||
reporting fixes. Preserve those implementations from main; do not reintroduce
|
||||
its older unconditional “refunded” messages or duplicate keyset resolution.
|
||||
- Opening a file before charging, then reopening/reading it afterward, still
|
||||
permits a read failure after payment. Prepare the complete requested bytes
|
||||
before redemption, including ranged reads. Tests delete or alter the backing
|
||||
file during payment verification and still receive the prepared original data.
|
||||
- Empty/out-of-bounds/reversed ranges could fail after redemption, and empty
|
||||
files could underflow the range calculation. Validate ranges before charging
|
||||
and return HTTP 416 when unsatisfiable.
|
||||
- `chmod a+r` unnecessarily changed the permissions of shared paid/private
|
||||
files. Read restricted FileBrowser files through the rootless namespace while
|
||||
retaining their mode. Scope the fallback to regular files canonically inside
|
||||
FileBrowser storage, and reject unauthorized peers before reading.
|
||||
- A single-delivery flag must also prevent redirects and ambiguous transport
|
||||
retries. Payment-bearing GET and POST requests now retain the first HTTP
|
||||
response and do not retry after timeouts or disconnects that might follow
|
||||
delivery. Refused connections and normal nonpayment browsing retain the
|
||||
appropriate retry behavior.
|
||||
- Interrupted response bodies now report the outcome using the actual local
|
||||
refund result. Seller explanations are bounded, stripped of control
|
||||
characters and explicitly identified as peer text.
|
||||
- Original permission tests silently returned when run as root. Replacement
|
||||
tests inject read/payment boundary failures, exercise them under the isolated
|
||||
runner, and assert that read failures never invoke redemption.
|
||||
|
||||
### #162 — saving purchases in Files
|
||||
|
||||
- Its host-permission repair overlapped 1.8.21's authenticated Files API path.
|
||||
Review of [FileBrowser v2.63.23's resource handler](https://github.com/filebrowser/filebrowser/blob/v2.63.23/http/resource.go)
|
||||
showed that `override=false` checks for existence separately from opening
|
||||
with truncation. It does not guarantee no overwrites under concurrent saves.
|
||||
- The proposed direct path exposed the final filename before the write
|
||||
completed. Both direct and namespace paths now finish a private temporary
|
||||
file and publish it through a no-clobber hard link, retrying numbered names.
|
||||
- Plain `ln` could place a temporary file inside an existing directory instead
|
||||
of treating the destination as a collision. Use `ln -T`; existing directories
|
||||
and dangling symlinks are conflicts, never replacement targets.
|
||||
- Add filename and destination checks, unique temporary names, bounded name
|
||||
retries, synchronization before publication, and exact input-length checks.
|
||||
Truncated pipe input cannot become a completed purchased file.
|
||||
- Files storage remains optional. An unavailable copy destination does not
|
||||
undo the purchase or create a fake FileBrowser installation; the durable
|
||||
purchased-content cache remains primary.
|
||||
|
||||
## Additional verification on the development node
|
||||
|
||||
Used disposable scratch directories only, then removed them:
|
||||
|
||||
- Reproduced a FileBrowser-style rootless-owned 0640 upload. The host backend
|
||||
UID could not read it. `podman unshare cat` returned identical bytes without
|
||||
changing its 0640 mode.
|
||||
- Ran the exact namespace writer script with four concurrent writers against
|
||||
a directory owned by the container UID range. Every file had unique naming,
|
||||
exact bytes, the expected owner and mode, and no remaining temporary file.
|
||||
- Sent truncated input to the namespace writer and verified refusal, no final
|
||||
file and temporary-file cleanup.
|
||||
|
||||
The isolated tests additionally exercised 24 simultaneous direct writes,
|
||||
existing-file preservation, symlink/directory conflicts, collision exhaustion,
|
||||
root-independent permission failures, read-before-redemption ordering,
|
||||
authorization, redirects and peer disconnects.
|
||||
|
||||
Logs on the development box:
|
||||
`/tmp/archy-pr161-tests.log`, `/tmp/archy-pr162-tests.log`,
|
||||
`/tmp/archy-pr-integration-tests.log`, `/tmp/archy-pr161-check.log`,
|
||||
`/tmp/archy-pr162-check.log`, `/tmp/archy-pr-userns-scratch-test.log`.
|
||||
|
||||
## Next-release acceptance and limits
|
||||
|
||||
- Integrate the reviewed branches and repeat the release gates against the
|
||||
final release commit if additional code changes land.
|
||||
- Perform funded peer-to-peer acceptance on the candidate build, including a
|
||||
Tor-only purchase and a purchase requiring change, before the next release.
|
||||
The new review branches were not deployed to funded live wallets here.
|
||||
- These PRs do not implement durable payment receipts. If a seller redeems a
|
||||
payment and the connection subsequently loses the response, the buyer may
|
||||
receive an unconfirmed-refund warning. Do not represent that warning as proof
|
||||
of a refund or automatically charge the buyer again. Receipt-based recovery
|
||||
remains separate follow-up work.
|
||||
- Abrupt process termination can leave a hidden namespace temporary file;
|
||||
ordinary write failures and truncated input are tested to clean up. The final
|
||||
filename is published only after complete input, and existing files remain
|
||||
protected.
|
||||
- The separately reported X250 kiosk version-selector rendering issue remains
|
||||
open in `TODO.md` and requires validation on the actual kiosk.
|
||||
@@ -356,3 +356,42 @@ Bitcoin and LND IDs/start times remained unchanged, with generated stop settings
|
||||
still verified. No temporary graceful-stop overrides remain. Catalog signature
|
||||
verifies against the pinned release root; final 1.8.21 artifact validator passes.
|
||||
The candidate is ready for the user's local OTA signing ceremony.
|
||||
|
||||
### 1.8.21 publication completed — 2026-09-30
|
||||
|
||||
The operator signed the OTA manifest and subsequently the ISO checksum JSON.
|
||||
Both signatures verified against the pinned release root. The signed OTA was
|
||||
published on git/ngit, and the operator confirmed that Framework could see the
|
||||
update. Source main and the annotated `v1.8.21-alpha` tag were published.
|
||||
|
||||
Raw ISO:
|
||||
`archipelago-installer-1.8.21-alpha-unbundled-x86_64_RC1.iso`
|
||||
|
||||
- Size: 2,682,419,200 bytes.
|
||||
- SHA256: `8667b5522c476a40e29abba19df4180086191527a194a88765aa70ed527f9406`.
|
||||
- Build and ISO smoke checks passed. The mounted backend matched the staged
|
||||
OTA backend hash, and the full dashboard/AIUI tree matched the fresh build.
|
||||
- An isolated UEFI QEMU guest, with no network or host disks attached, booted to
|
||||
the installer prompt. The VM was stopped and the ISO unmounted afterward.
|
||||
This was an installer boot check, not a full installation onto hardware.
|
||||
- Uploaded the raw ISO, plain SHA256 sidecar and signed checksum JSON to the
|
||||
[1.8.21 release](https://source.archipelago-foundation.org/lfg2025/archy/releases/tag/v1.8.21-alpha).
|
||||
The stored server file hashes matched, the public ISO headers and first/last
|
||||
byte samples matched, and both public checksum files matched byte-for-byte.
|
||||
- The ngit downloader's full-ISO acquisition exceeded its fixed 30-minute
|
||||
deadline on the available connection. Published Nostr asset records using
|
||||
the already verified hashes, sizes and public URLs with the existing ngit
|
||||
signer; both repository relays acknowledged them. Ngit then accepted those
|
||||
records and final readback resolved all five release assets with the expected
|
||||
hashes and sizes. No new release-root signing was performed by the assistant.
|
||||
|
||||
Final publication evidence: `/tmp/archy-1821-finish-events.log`,
|
||||
`/tmp/archy-ngit-1821-complete-view.json`, and
|
||||
`/tmp/archy-1821-verified-asset-events.log` on the development box.
|
||||
|
||||
Subsequent review of PRs #161/#162 found additional delivery and concurrent
|
||||
file-save edge cases. Their repaired, tested branches are recorded in
|
||||
[the next-release review](pr-review-20260930.md); those changes are not in the
|
||||
signed 1.8.21 artifacts. The X250 kiosk selector report is also tracked for the
|
||||
next release. No claim of exhaustive hardware or network-failure coverage is
|
||||
made for this release.
|
||||
|
||||
+18
-22
@@ -1,34 +1,30 @@
|
||||
{
|
||||
"changelog": [
|
||||
"Fixed Cashu file payments rejected despite a shared mint, and preserved the payment amount when mint fees reduce change.",
|
||||
"Payment failures now report whether a refund actually succeeded; missing files and unsupported payment methods are rejected before charging.",
|
||||
"Improved saving paid files into Files and reopening purchases without paying again.",
|
||||
"Bitcoin Core and Knots installation offers optional pruning on larger disks, using the same settings as automatic pruning.",
|
||||
"Fixed false missing-port checks that unnecessarily restarted Bitcoin and LND; recovery now respects managed shutdown timeouts.",
|
||||
"LND explains when it is waiting for Bitcoin installation, startup, or sync, without treating normal synchronization as a restart-worthy failure.",
|
||||
"Bitcoin startup messages explain block-index loading without exposing raw RPC errors, and Lightning keeps known balances clearly marked during outages.",
|
||||
"Changed the public transaction-explorer default to mempool.space while preserving local explorers and custom choices."
|
||||
"Fixed Bitcoin and other containers being forcibly stopped after ten seconds during managed updates and restarts.",
|
||||
"Existing installations now receive the same graceful shutdown allowance as new containers, without restarting apps just to apply this setting.",
|
||||
"Prevented unnecessary Lightning restarts when Bitcoin has stayed running; dependency restarts now require an observed Bitcoin container change.",
|
||||
"Includes the Cashu payment, optional Bitcoin pruning, Lightning readiness, and explorer improvements from 1.8.20."
|
||||
],
|
||||
"components": [
|
||||
{
|
||||
"current_version": "1.8.20-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.20-alpha/archipelago",
|
||||
"current_version": "1.8.21-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.21-alpha/archipelago",
|
||||
"name": "archipelago",
|
||||
"new_version": "1.8.20-alpha",
|
||||
"sha256": "16a173129672cbb40c250446ec52ba4a9bd1974cbb3a4988f90c6f3187b7a1f7",
|
||||
"size_bytes": 64716656
|
||||
"new_version": "1.8.21-alpha",
|
||||
"sha256": "ff602e85f340aff7e43d9d94f7f84f11f713735c964c0d8ba150e23b065c30eb",
|
||||
"size_bytes": 64748176
|
||||
},
|
||||
{
|
||||
"current_version": "1.8.20-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.20-alpha/archipelago-frontend-1.8.20-alpha.tar.gz",
|
||||
"name": "archipelago-frontend-1.8.20-alpha.tar.gz",
|
||||
"new_version": "1.8.20-alpha",
|
||||
"sha256": "658b78fce0dfa20a627c987dd153b24cbac15adbde905cc6518744c637e12802",
|
||||
"size_bytes": 97152297
|
||||
"current_version": "1.8.21-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.21-alpha/archipelago-frontend-1.8.21-alpha.tar.gz",
|
||||
"name": "archipelago-frontend-1.8.21-alpha.tar.gz",
|
||||
"new_version": "1.8.21-alpha",
|
||||
"sha256": "6c0842ec83a440269a353808a4cf154174f5232c9989b4a5448bc6486e1d0620",
|
||||
"size_bytes": 97152546
|
||||
}
|
||||
],
|
||||
"release_date": "2026-09-29",
|
||||
"signature": "326cab454902abcb4f8037751af67aaae2860ecf00300177ec377a1f223a6a85b6e92d49297e7bc29a73220d501e6f4c83ee23477e2b688e33e19d093c6d210b",
|
||||
"release_date": "2026-09-30",
|
||||
"signature": "2ba21dde08284a13f511f11f0b925f09a56c1b36e40424558601b9ab6beea17edfa316e0baa51474bf084fd4da25429ec35a77d9a831554b309845c8226d4f0d",
|
||||
"signed_by": "did:key:z6Mkfu5LT8d4DjETtrkATvHh9Dvcbnr7zBCUwfau8Sw7DLWT",
|
||||
"version": "1.8.20-alpha"
|
||||
"version": "1.8.21-alpha"
|
||||
}
|
||||
|
||||
+18
-22
@@ -1,34 +1,30 @@
|
||||
{
|
||||
"changelog": [
|
||||
"Fixed Cashu file payments rejected despite a shared mint, and preserved the payment amount when mint fees reduce change.",
|
||||
"Payment failures now report whether a refund actually succeeded; missing files and unsupported payment methods are rejected before charging.",
|
||||
"Improved saving paid files into Files and reopening purchases without paying again.",
|
||||
"Bitcoin Core and Knots installation offers optional pruning on larger disks, using the same settings as automatic pruning.",
|
||||
"Fixed false missing-port checks that unnecessarily restarted Bitcoin and LND; recovery now respects managed shutdown timeouts.",
|
||||
"LND explains when it is waiting for Bitcoin installation, startup, or sync, without treating normal synchronization as a restart-worthy failure.",
|
||||
"Bitcoin startup messages explain block-index loading without exposing raw RPC errors, and Lightning keeps known balances clearly marked during outages.",
|
||||
"Changed the public transaction-explorer default to mempool.space while preserving local explorers and custom choices."
|
||||
"Fixed Bitcoin and other containers being forcibly stopped after ten seconds during managed updates and restarts.",
|
||||
"Existing installations now receive the same graceful shutdown allowance as new containers, without restarting apps just to apply this setting.",
|
||||
"Prevented unnecessary Lightning restarts when Bitcoin has stayed running; dependency restarts now require an observed Bitcoin container change.",
|
||||
"Includes the Cashu payment, optional Bitcoin pruning, Lightning readiness, and explorer improvements from 1.8.20."
|
||||
],
|
||||
"components": [
|
||||
{
|
||||
"current_version": "1.8.20-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.20-alpha/archipelago",
|
||||
"current_version": "1.8.21-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.21-alpha/archipelago",
|
||||
"name": "archipelago",
|
||||
"new_version": "1.8.20-alpha",
|
||||
"sha256": "16a173129672cbb40c250446ec52ba4a9bd1974cbb3a4988f90c6f3187b7a1f7",
|
||||
"size_bytes": 64716656
|
||||
"new_version": "1.8.21-alpha",
|
||||
"sha256": "ff602e85f340aff7e43d9d94f7f84f11f713735c964c0d8ba150e23b065c30eb",
|
||||
"size_bytes": 64748176
|
||||
},
|
||||
{
|
||||
"current_version": "1.8.20-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.20-alpha/archipelago-frontend-1.8.20-alpha.tar.gz",
|
||||
"name": "archipelago-frontend-1.8.20-alpha.tar.gz",
|
||||
"new_version": "1.8.20-alpha",
|
||||
"sha256": "658b78fce0dfa20a627c987dd153b24cbac15adbde905cc6518744c637e12802",
|
||||
"size_bytes": 97152297
|
||||
"current_version": "1.8.21-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.21-alpha/archipelago-frontend-1.8.21-alpha.tar.gz",
|
||||
"name": "archipelago-frontend-1.8.21-alpha.tar.gz",
|
||||
"new_version": "1.8.21-alpha",
|
||||
"sha256": "6c0842ec83a440269a353808a4cf154174f5232c9989b4a5448bc6486e1d0620",
|
||||
"size_bytes": 97152546
|
||||
}
|
||||
],
|
||||
"release_date": "2026-09-29",
|
||||
"signature": "326cab454902abcb4f8037751af67aaae2860ecf00300177ec377a1f223a6a85b6e92d49297e7bc29a73220d501e6f4c83ee23477e2b688e33e19d093c6d210b",
|
||||
"release_date": "2026-09-30",
|
||||
"signature": "2ba21dde08284a13f511f11f0b925f09a56c1b36e40424558601b9ab6beea17edfa316e0baa51474bf084fd4da25429ec35a77d9a831554b309845c8226d4f0d",
|
||||
"signed_by": "did:key:z6Mkfu5LT8d4DjETtrkATvHh9Dvcbnr7zBCUwfau8Sw7DLWT",
|
||||
"version": "1.8.20-alpha"
|
||||
"version": "1.8.21-alpha"
|
||||
}
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"changelog": [
|
||||
"Fixed Bitcoin and other containers being forcibly stopped after ten seconds during managed updates and restarts.",
|
||||
"Existing installations now receive the same graceful shutdown allowance as new containers, without restarting apps just to apply this setting.",
|
||||
"Prevented unnecessary Lightning restarts when Bitcoin has stayed running; dependency restarts now require an observed Bitcoin container change.",
|
||||
"Includes the Cashu payment, optional Bitcoin pruning, Lightning readiness, and explorer improvements from 1.8.20."
|
||||
],
|
||||
"components": [
|
||||
{
|
||||
"current_version": "1.8.21-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.21-alpha/archipelago",
|
||||
"name": "archipelago",
|
||||
"new_version": "1.8.21-alpha",
|
||||
"sha256": "ff602e85f340aff7e43d9d94f7f84f11f713735c964c0d8ba150e23b065c30eb",
|
||||
"size_bytes": 64748176
|
||||
},
|
||||
{
|
||||
"current_version": "1.8.21-alpha",
|
||||
"download_url": "https://source.archipelago-foundation.org/lfg2025/archy/releases/download/v1.8.21-alpha/archipelago-frontend-1.8.21-alpha.tar.gz",
|
||||
"name": "archipelago-frontend-1.8.21-alpha.tar.gz",
|
||||
"new_version": "1.8.21-alpha",
|
||||
"sha256": "6c0842ec83a440269a353808a4cf154174f5232c9989b4a5448bc6486e1d0620",
|
||||
"size_bytes": 97152546
|
||||
}
|
||||
],
|
||||
"release_date": "2026-09-30",
|
||||
"signature": "2ba21dde08284a13f511f11f0b925f09a56c1b36e40424558601b9ab6beea17edfa316e0baa51474bf084fd4da25429ec35a77d9a831554b309845c8226d4f0d",
|
||||
"signed_by": "did:key:z6Mkfu5LT8d4DjETtrkATvHh9Dvcbnr7zBCUwfau8Sw7DLWT",
|
||||
"version": "1.8.21-alpha"
|
||||
}
|
||||
Reference in New Issue
Block a user