Skip to content

AgentNotify v0.0.4-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 31 Aug 04:55

This is a prerelease. It is intended for testing and evaluation: expect incomplete
features, breaking changes, and unsigned binaries. The mature 1.0.0 release is reserved for a
future stable milestone.

Adds AgentNotify Relay: a self-hostable service that carries notifications from your computers to
your phone, without routing them through somebody else's messaging product. Connecting a computer
is now a browser approval rather than a pasted token.

Relay is a separate open-source project —
github.com/Akash97p/agent-notify-relay — and is
documented at Relay. The mobile client and
the hosted Relay Go plan do not exist yet, and the desktop still sends an experimental opaque
transport rather than a sealed box, so end-to-end confidentiality is not yet delivered.

Added

  • Browser-based AgentNotify Relay connection. The Windows Channels panel now discovers a Relay,
    opens its approval page, displays a short verification code, polls with cancellation and bounded
    retry, verifies the approved installation, and saves the one-time credential only when the
    provider is saved. Manual credential entry remains under a collapsed Advanced section.
  • Headless Relay pairing. agentnotify relay pair runs the same device-authorization handshake
    on Windows, macOS, and Linux, while agentnotify relay status verifies saved Relay providers.
    --json provides line-delimited state transitions for scripts.

Security

  • Relay discovery, pairing, verification, and delivery now share one redirect-free, proxy-free,
    DNS-pinned HTTP transport. Browser approval URLs must match the configured Relay origin exactly;
    polling and installation credentials are never placed in URLs, UI text, logs, or exceptions.

Fixed

  • Relay test sends no longer submit a synthetic relay-placeholder-device after sender pairing.
    An installation with no active phone now returns no_devices_paired locally and the Channels UI
    explains the required next step; an unknown pinned device is rejected before any envelope is sent.
  • Every Relay send failed with relay_400. Two serialization details were rejected by the
    Relay before any handler ran: expires_at used DateTimeOffset.ToString("O"), which emits a
    numeric offset instead of the trailing Z the schema accepted, and absent optional metadata was
    written as an explicit null. Timestamps now use the Z form and nulls are omitted.
  • The route editor's provider dropdown showed a type name instead of each provider's name, so
    every entry looked identical. The themed ComboBox draws the closed control from
    SelectionBoxItemTemplate, which DisplayMemberPath alone leaves empty; an explicit
    ItemTemplate now drives both the list and the selection.
  • Envelopes carried a sender_id that did not match the value sealed into the ciphertext. The
    recipient rebuilds its authentication data from the sender_id it is given, so the mismatch
    would have made every envelope fail authentication on the device once the transport is really
    encrypted. Both now come from one value.
  • The setup window and settings header rendered a soft, low-resolution logo. Windows selects a
    small icon frame for an image with an explicit size; on-screen logos now use the 512px source
    while window and executable icons keep the multi-resolution .ico.

Install

Windows — download AgentNotifySetup.exe below and run it. No separate .NET runtime is needed.
The installer is not Authenticode-signed, so Windows may show a SmartScreen prompt.

macOS and Linux

curl -fsSL https://raw.githubusercontent.com/Akash97p/agent-notify/main/scripts/install.sh | sh

This verifies the published SHA-256 checksum before installing agentnotify and agentnotifyd
into ~/.local/bin. To install this exact version, set AGENTNOTIFY_VERSION=v0.0.4-alpha.1.
See Installing on macOS and Linux.

Verifying downloads

SHA256SUMS.txt covers the Windows installer. SHA256SUMS-portable.txt covers the portable
archives. Check a download before running it:

sha256sum -c SHA256SUMS-portable.txt --ignore-missing

Documentation

Getting started ·
CLI reference ·
API ·
Configuration ·
Troubleshooting ·
What is verified

Full commit log: v0.0.3-alpha.1...v0.0.4-alpha.1