Skip to content

Releases: katulevskiy/reins

Reins v0.17.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 03:25
8295269

Features

  • core: add scoped account permissions and bounded delegations (4a63e1d)
  • core: enforce connector and MCP review with captured attempts (e681db7)
  • mobile: configure scoped account and temporary permissions (5da4544)
  • core: bind automatic permission setup to owner consent (2a98f77)
  • mobile: explicitly authorize primary-phone permission setup (c663044)

Fixes

  • core: preserve permission authority across effects and reconnects (a8dbf4c)
  • core: recheck execution after token acquisition and retain managed boundaries (af41477)
  • core: guard final disclosures and keep held permission controls readable (44e7412)
  • core: roll out connected defaults alongside enforcing adapters (c253edf)
  • core: reject positive imports without managed account history (00b8bc2)
  • core: recheck connector and MCP delivery after auth refresh (3146c48)
  • core: fence policy handover and make agent revocation dominate (93bcd91)
  • core: hide revoked agents and preserve failed-server revocation brake (987a722)
  • core: hold authorization until handover history is materialized (3f7ccfd)
  • core: keep unsupported defaults readonly and validate full permission flows (e8afccf)
  • mobile: describe current review rules using canonical core reasons (35f6099)
  • policy: distinguish review defaults from mandatory review (7a7572c)
  • mobile: make the exact permission draft inspectable before saving (42f750f)
  • mobile: explain one-time mail approvals and ongoing permissions (87c42c1)
  • core: expose only enforceable permission choices (42049c8)
  • core: disable legacy Remember for managed mail accounts (1c5d102)
  • android: observe account epoch in permission routes (85a85c0)
  • core: require published authorization history before handover (23933b9)
  • core: preserve typed handover sync failures (803838e)
  • mobile: preserve exact nonempty recovery proof input (af5095f)
  • core: attribute verified permission audit actors (4d99ade)
  • mobile: distinguish explicit permission audit decisions (e348c08)
  • core: summarize observed command actions beyond strict syntax (6eecc09)
  • core: retain executable command setup in readable actions (24cd061)
  • mobile: put command actions and consequences before setup (2067327)
  • core: keep dynamic directory and executable source visible (e80cc38)
  • ios: preserve completion actions and wait for rendered test controls (1bc89e4)
  • core: conceal command credentials without hiding executable source (59fe7df)
  • core: cover curl protocol clusters and joined Git helpers (37b4354)

Other

  • test(core): cover receipt settlement and late Gmail policy changes (30eed4b)
  • test(core): supply authenticated headers in file handoff fixture (a14c827)
  • Require signed policy support before handing over protected accounts (c115c04)
  • test(core): use explicit Arc cloning in revocation race fixture (b31ae06)
  • Preserve all authorization brakes and usage history during handover (7a34cd1)
  • Finish phone transfer only after policy history is ready (25b85a4)
  • test(android): isolate connection calls and check the new finishing surface (cf00d94)
  • Assert the actual synced primary frontier after handover (02fa3f9)
  • test(e2e): verify managed mail uses scoped permissions (1cb52ef)
  • style(core): simplify permission availability conditions (b442b77)
  • test(e2e): measure managed Gmail full-review round trip (3e9ddf7)
  • test(core): isolate authorization fixtures from local probes (da6a443)
  • test(android): cover permission preview in minified Trust smoke (a548569)
  • test(ios): walk account permission preview without saving (40ef9a2)
  • test(android): traverse long permission forms in release smoke (d7f6476)
  • test(android): retain asynchronous control appearance wait (ab48abe)
  • test(android): capture reported release command baseline (8b987ab)
  • test(ios): finish grant form input and scope ended-row queries (9e9629e)
  • test(ios): reacquire rendered controls and position scroll checks safely (5b0005a)
  • test(e2e): await Bypass pending settlement after hook answers (a96e110)
  • test(ios): query visible buttons and reach the list end (ac04760)

Full changelog: v0.16.0...v0.17.0

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.17.0/reins-desktop-0.17.0-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.17.0-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.17.0-x86_64-unknown-linux-musl/reins ~/.loca...
Read more

Reins v0.16.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 00:12
f1d1c42

Features

  • policy: add versioned ABAC contracts and pure authorization evaluator (57871e6)
  • make command requests readable across Android and iOS (be569a5)
  • core: enforce mandatory account policy before execution (eb90184)
  • finish integration connections with verified success (28fd410)
  • core: enforce connector and MCP review with captured attempts (7ecd4fc)

Fixes

  • core: preserve policy conflict history and recheck disclosure (9b9c809)
  • core: distinguish uncertain attempts and withheld successes (c62449d)
  • distinguish uncertain Activity outcomes on mobile (d9cead5)

Other

  • test(policy): harden wire boundaries and document authorization integration (2fb7e70)
  • docs: keep command screenshots in the pull request only (23c7c7d)
  • test: use the same command question in visual comparisons (a4120a9)
  • test(core): inspect settled MCP failures for secret leaks (db0a30f)
  • test(core): cover unknown file-upload errors without secret disclosure (8234053)
  • chore(core): reuse audit outcome string allocation (1a2425c)

Full changelog: v0.15.2...v0.16.0

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.16.0/reins-desktop-0.16.0-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.16.0-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.16.0-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.16.0_amd64.deb (arm64) and reins-0.16.0-1.x86_64.rpm (aarch64), plus
reins-app_0.16.0_amd64.deb and reins-app-0.16.0-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.16.0_amd64.deb, sudo dnf install ./reins-0.16.0-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.16.0"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.16.0/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.16.0

or the Linux binary with SQLite, reins-server-0.16.0-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.16.0-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.16.0/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Reins v0.15.2

Choose a tag to compare

@github-actions github-actions released this 19 Oct 22:33
3dddff1

Fixes

  • security follow-ups to Auto's push rule and the proof exemption (8790d7d)
  • ios: restore scroll coverage and retain retry build artifacts (6bf10d4)
  • android: align Activity history details with iOS (3ae7fb6)
  • android: preserve keyboard insets on legacy history (54542f0)

Other

  • ci: build iOS tests once and run the classes a pull request touches (ef5a6ae)
  • ci: leave two macOS runners free of iOS test shards (41e65fd)
  • ci(ios): queue pull request iOS runs in one shared concurrency group (e0b9fa9)
  • ci(ios): skip simulator diagnostics collection after a test failure (e6d5142)
  • test(ios): quarantine the two remaining scroll-from-row UI tests on CI (5baee81)
  • ci(ios): pass CI=1 to the test process and update the routing test (1d78b62)
  • ci(ios): inject CI=1 into the xctestrun instead of -testenv (2420f9c)
  • test(ios): quarantine two more consistently-failing UI tests on CI (24615fc)
  • test(ios): quarantine testScreenshots on CI (c7cf62f)
  • test(ios): keep scroll gestures in content and stabilize settings interactions (f6dd7a9)
  • test(ios): damp Activity centering setup without changing gesture assertions (d95e169)
  • test(ios): wait for the reopened menu before selecting Manual (abdb3d4)
  • test(ios): allow hittable settings controls at viewport edges (cdbc182)
  • test(ios): restore settings screenshot and disconnect CI coverage (6cc70ac)

Full changelog: v0.15.1...v0.15.2

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.15.2/reins-desktop-0.15.2-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.15.2-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.15.2-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.15.2_amd64.deb (arm64) and reins-0.15.2-1.x86_64.rpm (aarch64), plus
reins-app_0.15.2_amd64.deb and reins-app-0.15.2-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.15.2_amd64.deb, sudo dnf install ./reins-0.15.2-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.15.2"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.15.2/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.15.2

or the Linux binary with SQLite, reins-server-0.15.2-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.15.2-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.15.2/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Reins v0.15.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 21:16
a1234c4

Fixes

  • android: prevent Trust callback cache crashes in release builds (d1ebdbf)

Other

  • test(android): verify minified mode actions without accessibility selection flags (007b7a4)
  • test(android): synchronize exact controls during Trust refreshes (c13da81)

Full changelog: v0.15.0...v0.15.1

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.15.1/reins-desktop-0.15.1-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.15.1-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.15.1-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.15.1_amd64.deb (arm64) and reins-0.15.1-1.x86_64.rpm (aarch64), plus
reins-app_0.15.1_amd64.deb and reins-app-0.15.1-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.15.1_amd64.deb, sudo dnf install ./reins-0.15.1-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.15.1"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.15.1/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.15.1

or the Linux binary with SQLite, reins-server-0.15.1-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.15.1-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.15.1/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Reins v0.15.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 11:41
887dc1a

Features

  • Autopilot's model updates itself on Wi-Fi (726f1fb)
  • core: the user's own name for any connection, shown everywhere (5913f62)
  • server: keep a computer's boxed name for its desktop app (a7eb851)
  • desktop: show the name the phone gives this computer (398c5b5)
  • ios: rename any connection; a second account of an AI asks for a name (327ee35)
  • android: rename any connection; a second account of an AI asks for a name (ec5b23b)
  • ios: mark the commits, files and emails worth a closer look (11c57f3)
  • android: mark the commits, files and emails worth a closer look (49a304a)
  • a second account of an AI shows as "Claude 2" without being named (141a8ae)
  • core: Auto works from the first request; your answers tune it, never unlock it (9e966a5)
  • core: live sync engine over the signed op log (f8a2a7e)
  • mcp: list every tool, say how to use Reins, and prepare directory listings (2c8c4e2)

Fixes

  • model updates stop off Wi-Fi, roll back loaded, and verify from disk (3fe27c1)
  • core: clippy on the self-check timeout and the pause test (bcaccfb)
  • apps: the model row's version is never cut off (cfa353d)
  • a pairing's name is the user's only when they edited the field (4d7fd71)
  • core: Auto keeps its risk checks warm or trusted, and a known target is known per kind (77a51ca)
  • core: agreement that relaxes Auto's risk check cannot be gamed, and main always asks (63fc064)
  • core: a push to the default branch always asks in Overnight too, and from a hook's command (01bfd43)
  • core,server: live sync security review (23429b7)
  • core: a push destination is read as git resolves it, and git's options or an alias cannot hide one (b096d40)
  • core: only the primary phone renames a connection (f6bace1)
  • core,server: live sync security review, round 2 (7343d0a)
  • server: proven-device proof exemption keyed by device key, expiring and cleared on removal (1f2cc44)
  • core: model-update tests wait for the download instead of a short sleep (3e99b6a)
  • core,server: live sync security review, round 3 (e20d032)
  • core: pushes to the default branch are read however they are written, and a feature branch's bare push passes again (bf8103e)
  • ios: the demo names a second connection as the core does; a code pairing comes with its suggestion; the rename sheet's fields are reachable (ead47a1)
  • mcp: review follow-up on hints, waiting text and instructions (6c2f5a1)
  • core: a push is decided by Autopilot only in one allowlisted shape (172e063)
  • desktop: report the push branch only from configuration read in full (84b46d4)
  • core,server: live sync security review, round 4 (e01a85e)
  • core: bind a recovery confirmation to what the user saw; end an untrusted start only cleanly (0b8f66e)

Other

  • ci: run iOS unit and UI tests on pull requests (7518f63)
  • ci: tolerate an empty UI skip list on macOS bash (aee8f41)
  • ci: do not expand an empty skip list on bash 3.2 (870236f)
  • ci: ad-hoc sign iOS simulator tests (d8921af)
  • ci: rebuild the iOS simulator core on main pushes (ff68332)
  • test(ios): this week's Auto kinds are the demo's three, each named (6bda0fc)
  • test(ios): centre each Activity scroll drag in the visible list (b3169a7)
  • test(core): a bypass's permission may end a second past the bypass, which takes it back [skip release] (2da9434)

Full changelog: v0.14.2...v0.15.0

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.15.0/reins-desktop-0.15.0-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.15.0-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.15.0-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.15.0_amd64.deb (arm64) and reins-0.15.0-1.x86_64.rpm (aarch64), plus
reins-app_0.15.0_amd64.deb and reins-app-0.15.0-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.15.0_amd64.deb, sudo dnf install ./reins-0.15.0-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.15.0"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.15.0/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.15.0

or the Linux binary with SQLite, reins-server-0.15.0-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.15.0-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.15.0/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Reins v0.14.2

Choose a tag to compare

@github-actions github-actions released this 16 Oct 09:45
ed0f6a5

Fixes

  • desktop: detail rows give values the width, long paths wrap sensibly (0b45c3e)

Other

  • docs: a README for customers first, with the Signal screens and downloads [skip release] (fba9f4b)
  • docs: the README's hero shows one request on both screens [skip release] (88a6e1a)
  • test(server): check the cap key is a hex digest instead of searching it for "ada" [skip release] (809e803)

Full changelog: v0.14.1...v0.14.2

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.14.2/reins-desktop-0.14.2-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.14.2-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.14.2-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.14.2_amd64.deb (arm64) and reins-0.14.2-1.x86_64.rpm (aarch64), plus
reins-app_0.14.2_amd64.deb and reins-app-0.14.2-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.14.2_amd64.deb, sudo dnf install ./reins-0.14.2-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.14.2"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.14.2/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.14.2

or the Linux binary with SQLite, reins-server-0.14.2-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.14.2-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.14.2/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Reins v0.14.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 08:17
092bac3

Fixes

  • ios: background pushes and refreshes can't be killed for a held lock or an overrun (c859d78)
  • ios: never give the background task back while the store lock is held (4513117)

Other

  • android: a busy or failing core session is retried, not read as signed out (4277821)

Full changelog: v0.14.0...v0.14.1

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.14.1/reins-desktop-0.14.1-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.14.1-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.14.1-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.14.1_amd64.deb (arm64) and reins-0.14.1-1.x86_64.rpm (aarch64), plus
reins-app_0.14.1_amd64.deb and reins-app-0.14.1-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.14.1_amd64.deb, sudo dnf install ./reins-0.14.1-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.14.1"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.14.1/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.14.1

or the Linux binary with SQLite, reins-server-0.14.1-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.14.1-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.14.1/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Reins v0.14.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 07:46
ebcfee4

Features

  • Bypass header folds into a compact bar on scroll; nothing hides under the tab bar (f272229)

Fixes

  • Trust's mood line says what a running bypass or Overnight did today (78f7c21)
  • ios: the running field reaches compact when its fold range is fractional; the list test counts what the demo decided (a5d07e5)
  • ios: the compact bar's button never measures under 44 pt (299ef6a)
  • ios: the field's sentence fades out by a third of the fold, before Stop crosses it (ef07241)

Other

  • test(ios): the fold's state is the running field's value; running-mode tests wait for the field (4d3fb35)
  • test(ios): a tap proves the compact bar's button; an opened list is checked by its rows (ccc511e)
  • test(ios): measure Add MCP server by its button, not its cell (9f8c03d)

Full changelog: v0.13.1...v0.14.0

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.14.0/reins-desktop-0.14.0-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.14.0-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.14.0-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.14.0_amd64.deb (arm64) and reins-0.14.0-1.x86_64.rpm (aarch64), plus
reins-app_0.14.0_amd64.deb and reins-app-0.14.0-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.14.0_amd64.deb, sudo dnf install ./reins-0.14.0-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.14.0"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.14.0/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.14.0

or the Linux binary with SQLite, reins-server-0.14.0-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.14.0-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.14.0/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Reins v0.13.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 07:27
86b6aa1

Other

  • ci: shorten the slow Rust tests and gate desktop jobs on their own paths (e759b52)
  • ci: run the Rust tests from one archive on two runners (d36decb)
  • ci: keep the Rust tests in one Nextest job (fa79c3e)
  • ci(release): build iOS with the other builds, upload after publication (5a87bd6)
  • ci: draw 2,000 grant-soundness cases on the weekly run (7cef85f)
  • ci(release): upload the signed archive with xcodebuild -exportArchive (8ad74c0)

Full changelog: v0.13.0...v0.13.1

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.13.1/reins-desktop-0.13.1-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.13.1-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.13.1-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.13.1_amd64.deb (arm64) and reins-0.13.1-1.x86_64.rpm (aarch64), plus
reins-app_0.13.1_amd64.deb and reins-app-0.13.1-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.13.1_amd64.deb, sudo dnf install ./reins-0.13.1-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.13.1"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.13.1/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.13.1

or the Linux binary with SQLite, reins-server-0.13.1-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.13.1-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.13.1/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Reins v0.13.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 06:19
bdc527b

Features

  • core: phone roles: keys, roster, signed answers (04288cc)
  • core: per-record op-log store (c70144a)

Fixes

  • core: bind the recovery wrap to the roster; refuse replayed handover requests (7aadc71)
  • core: a phone that does not decide answers nothing (58eaf18)
  • core: phone roles security review: enrollment order, commits, resets, gates (1f00757)
  • server,core: recovery proofs count per device and per account; viewers deny no handover (08eee2f)
  • core: purchases pay only on a confirmed primary; a refused recovery keeps nothing (d09e755)
  • core: op-log review: replaced primaries, checkpoints, reordering, forgetting (ecf949c)
  • core: only the current primary grants view keys or proves a fork (a4a3941)
  • core,server: primary_counter bounded by what was seen; Activity entries keyed by their op (74d3bb2)

Full changelog: v0.12.0...v0.13.0

Install

New to Reins? Start with the quick start.

Desktop app (reins): pick the archive for your computer: x86_64-unknown-linux-musl or
aarch64-unknown-linux-musl (Linux, static), aarch64-apple-darwin (Apple silicon Mac),
x86_64-apple-darwin (Intel Mac), or the .zip with reins.exe for Windows: x86_64-pc-windows-msvc
(aarch64-pc-windows-msvc for Arm, when it is listed).

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.13.0/reins-desktop-0.13.0-x86_64-unknown-linux-musl.tar.gz
tar xzf reins-desktop-0.13.0-x86_64-unknown-linux-musl.tar.gz
install -m 755 reins-desktop-0.13.0-x86_64-unknown-linux-musl/reins ~/.local/bin/reins
reins --version

On macOS, a binary downloaded with a browser is quarantined; curl downloads are not (or run
xattr -d com.apple.quarantine reins).

Linux packages: reins_0.13.0_amd64.deb (arm64) and reins-0.13.0-1.x86_64.rpm (aarch64), plus
reins-app_0.13.0_amd64.deb and reins-app-0.13.0-1.x86_64.rpm for the desktop app
(sudo apt install ./reins_0.13.0_amd64.deb, sudo dnf install ./reins-0.13.0-1.x86_64.rpm). The signed APT
and RPM repositories bring updates with the system's:
Linux packages. On Arch Linux:
curl -fsSL https://reins2fa.com/install.sh | sh.

On Windows (PowerShell), the install script downloads this release's zip, checks it against SHA256SUMS and puts
reins.exe on your PATH:

$env:REINS_VERSION = "v0.13.0"; irm https://raw.githubusercontent.com/katulevskiy/reins/v0.13.0/scripts/install.ps1 | iex

Server (self-hosting guide): the Docker image (linux/amd64 and
linux/arm64, with the web vault)

docker pull ghcr.io/katulevskiy/reins-server:0.13.0

or the Linux binary with SQLite, reins-server-0.13.0-x86_64-unknown-linux-gnu.tar.gz (no web vault; see the guide).

Android: download reins-0.13.0-android.apk on the phone and open it (Android asks you to allow installs from your browser once).

Verify a download against SHA256SUMS:

curl -fsSLO https://github.com/katulevskiy/reins/releases/download/v0.13.0/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS