Tags

Tags give the ability to mark specific points in history as being important
  • v0.3.0

    4775759a · release v0.3.0 ·
    Release: v0.3.0
    This release is signed with the same certificate as v0.2.0, so it installs over v0.2.0. SHA-256 fingerprint `9F:D6:8F:FB:5E:B3:2F:D6:FC:2B:5D:FB:C9:7B:23:46:C7:54:C4:62:6F:9F:44:41:19:7B:D5:73:AB:16:18:E8`. The APK and `SHA256SUMS_v0.3.0` are PGP signed by /dev/fd0 (key `2D230520212A5901`).
    
    - Pool announcements are ignored unless they are signed by the pool key they advertise and have sane values.
    - Credentials are only accepted from the pool's creator.
    - Joinstr refuses to sign a registration that would cost more than 15000 sats, that sits below the dust limit, or that could be broadcast on its own.
    - Pool messages go to the relay the pool advertises, not the one set in Settings.
    - Ring signature recovery when input registration times out before every peer has registered.
    - The fee rate for a new pool comes from your node's fee estimate, and the final transaction is broadcast through your node.
    - Transaction links open the explorer for your network instead of always opening signet.
    - Starting Tor right after stopping it no longer leaves it off.
    - A finished coinjoin no longer shows an error afterwards.
    
    ```
    gpg --verify Joinstr_v0.3.0_release.apk.asc Joinstr_v0.3.0_release.apk
    sha256sum -c SHA256SUMS_v0.3.0
    ```
  • v0.2.0

    e8bad747 · release v0.2.0 ·
    Release: v0.2.0
    This release is signed with a new certificate. SHA-256 fingerprint:
    `9F:D6:8F:FB:5E:B3:2F:D6:FC:2B:5D:FB:C9:7B:23:46:C7:54:C4:62:6F:9F:44:41:19:7B:D5:73:AB:16:18:E8`.
    Upgrading from v0.1.x requires uninstalling the old app first. The APK is also
    PGP-signed by /dev/fd0 (key `2D230520212A5901`) — verify the detached `.asc`
    signature.
    
    - **Tor support (Android):** pools can now be created and joined over Tor. The app
      embeds a Tor daemon (kmp-tor) — no external app required. The create-pool screen
      offers Tor (default) or VPN per pool, joiners automatically use the pool's
      transport, and nostr relay traffic is routed through Tor's local SOCKS5 proxy
      with a DNS guard that prevents hostname resolution outside Tor.
    - **Regtest support:** regtest now works end to end — regtest chain handling on
      all platforms, fixed fee rate, and coinjoin transactions broadcast through the
      user's own node (`sendrawtransaction`) since no public explorer exists for
      regtest.
    
    - **Output validation** (matching the electrum plugin): before signing and again
      before broadcasting, the coinjoin transaction is verified to have one output
      per participant, all outputs equal, our own registered output present with the
      correct amount, and amounts above the dust limit.
    - **Per-output fee share:** previously every output paid the full estimated
      transaction fee, overpaying by a factor of the peer count and producing output
      values incompatible with other joinstr clients. Fees now match the electrum
      plugin (fee split equally across outputs).
    - **Integer-satoshi amounts:** BTC→sat conversions now use rounded integer math,
      avoiding 1-sat floating point errors that could invalidate segwit signatures.
    
    - Failed broadcasts are no longer recorded as successful coinjoins.
    - Fixed app crash when PSBT creation failed.
    - Chain detection updates correctly after node info loads or refreshes.
    - VPN connection is verified before joining a pool.
    - Fixed missing OpenVPN resources in the Android build.
    
  • v0.1.0

    e25521ef · Update README.md ·
    Release: Pre-release v0.1.0
    pre-release