Releases: superness/swimchain
Release list
Swimchain Android v0.1.10-alpha (mainnet — node recovery)
The build that fixes "zero peers."
A node that lost its peers could not get back on the network. This release fixes that, plus the outage it exposed on the seed.
What changed
- A stale peer cache can no longer strand you. Discovery falls back to seeds when nothing in the store connects, and a dead peer now loses score so it stops being re-dialled forever. Previously a phone holding one unreachable address would dial only that, indefinitely, with a healthy seed available the whole time.
- A wedged peer can no longer stall the node. Broadcasts release the connection-pool lock before sending, send concurrently, and drop a peer that fails three sends in a row — on every send path, not just broadcast.
- The accept loop no longer performs the handshake inline. One silent peer used to block the node from accepting anybody. This was the root cause: the mainnet seed's accept backlog pinned at 4097/4096 while the process looked perfectly healthy.
Verified
- Signed with the same key as every previous release — installs as an update
lib/arm64-v8a/libswimchain_mobile_lib.soconfirmed present (15.8 MB, ARM aarch64)- Fleet has run this exact code for over an hour: 9–13 peers per node, zero stranded connections, zero accept backlog
SHA-256: 952c308d9e881b04a6047675a4c1e7d1f72f093023700534293ec1742ddd73d4
arm64 only.
Swimchain Desktop v0.1.15-alpha (mainnet — node recovery, and the installer ships a node again)
Carries the same node-recovery fixes as Android v0.1.10-alpha, plus a packaging bug worth stating plainly.
The installer had no node in it
The desktop app spawns resource_dir()/binaries/sw.exe. That file has not been in the bundle since #46, which removed the resource entry to unbreak a build rather than stage the missing file. Every installer since shipped an app looking for a node it did not have.
It is back, the release build stages it, and the preflight now refuses to bundle without it — so this cannot recur silently.
Verified inside this MSI: sw.exe (23.9 MB) and all six launcher apps.
Node fixes
- A stale peer cache can no longer strand a node. Seeds are retried when the peer store yields nothing reachable, and failed dials cost score so dead addresses stop being re-dialled forever.
- A wedged peer can no longer stall the node. Broadcasts release the pool lock before sending, send concurrently, and a peer failing three consecutive sends is dropped — on every send path.
- The accept loop no longer handshakes inline. One silent peer used to stop the node accepting anybody; the mainnet seed's backlog pinned at 4097/4096 while every health check read green.
Verified
Fleet has run this exact code for over an hour: 9–13 peers per node, zero stranded connections, zero accept backlog.
SHA-256
Swimchain_0.1.5_x64-setup.exe — bbdb6382852d1bd3f593ba721274bd3e22fe9df060a5d08c90b0de037194c58a
Swimchain_0.1.5_x64_en-US.msi — 98eb8fc800d1bc549cce52de3813f85ad04b8148e591b55164366dd39ed9dcc7
Swimchain Android v0.1.9-alpha (mainnet — checkpoint)
Consolidated checkpoint: full-bleed feed media carousel with swipe galleries (#102), no-rubber-band overscroll (#106), and the node's same-second listing fix with automatic index migration (#108). versionCode 1002 — installs as an update over any earlier build.
SHA-256: 9c15c7a12e7f01260084dca9b18ef96598a0b25bfa0967214bd40681d6ebe3cd
Swimchain Android v0.1.8-alpha (mainnet — full-bleed feed media)
Feed images now run edge-to-edge like a modern mobile feed: full-width media with a capped 4:5 crop for tall images, and an Instagram-style swipe carousel (snap, dots, n/N counter) for multi-image posts. From PR #102. App version 0.1.1 / versionCode 1001 — installs as an update over previous builds.
SHA-256: aa55a492a5ec8b36887926f174e35bab992233fdcc25d9d9919c2a2608035f9a
Swimchain Desktop v0.1.14-alpha (mainnet — checkpoint)
Consolidated checkpoint: full-bleed feed media carousel (#102), unlock/connect fixes (#105), chat layout fix + no-rubber-band overscroll across every client (#106), launcher fits its app grid and app windows open on-screen and remember their size/position (#107), and the node's same-second listing fix with automatic index migration (#108).
SHA-256 (setup.exe): e1b6772aaeb22f7f85fbea3aa94a063516aa5a3092c0593f2a88931f20bc8e6d
Swimchain Desktop v0.1.13-alpha (mainnet — chat layout fix)
Fixes the chat app being shoved off the top of the window when a space has many channels (channel list now scrolls internally; scroll-to-newest scrolls the message pane only, never the page). From PR #106. Carries the v0.1.12 unlock/connect fixes and the v0.1.11 full-bleed feed carousel.
SHA-256 (setup.exe): 7adca8b696c3081cdd53f91f97532e9028b25f0a32f3c7baa1e3404065f64e64
Swimchain Desktop v0.1.12-alpha (mainnet — unlock/connect fix)
Fixes the launcher failing to connect after an upgrade ("Cookie file not found"): unlock retries no longer delete the running node's RPC cookie, first starts get up to 2 minutes for post-upgrade reindexing (was 10s), and a crashed node sidecar is respawned instead of wedging the app. From PR #105. Carries everything in v0.1.11-alpha (full-bleed feed media carousel, #102).
SHA-256 (setup.exe): 61cdacb8ace833922e5e8f2f336bd994a0288f504e3ddc27ee3d8c06ad3fb693
Swimchain Desktop v0.1.11-alpha (mainnet — full-bleed feed media)
Feed images now fill the card edge-to-edge with a capped natural aspect ratio, and multi-image posts get a swipeable carousel with dots and an n/N counter (feed and post detail). From PR #102. App version 0.1.1.
SHA-256 (setup.exe): a0ff5700fec270733492522d56875cc5a43888dee9525d904d55240358b0491b
Swimchain Android v0.1.7-alpha (mainnet — post images)
Bundles the node media_refs fix: post images that had dropped their references now resolve. From PR #95.
Swimchain Android v0.1.6-alpha (mainnet — fixed)
Fixes the app not connecting to peers. The bundled node was hardcoded to testnet (NetworkMode::Testnet) despite the previous release being labeled mainnet, so it dialed testnet seeds and never joined the mainnet network. This build joins mainnet (seed 167.71.241.252:9735) and uses a network-specific data dir so no manual clear-data is needed. arm64-v8a. (PR #91)