Skip to content

v0.1.14

Choose a tag to compare

@github-actions github-actions released this 14 Oct 17:17
· 474 commits to main since this release

Added

  • Read and search Heeler's connection guides in English or Simplified Chinese
    on the new documentation site, with navigation for overlay networks, Jump
    Hosts, Host Routes, and Windows setup, and copy any guide as Markdown. (#442)
  • Group the Agents list By Workspace from its presentation menu. Collapse
    Workspaces to focus on one project while keeping status counts visible;
    the choice and collapsed Workspaces persist across launches. (refs #364)
  • Return to the Console from an Agent's More menu. Back to Console does
    what swiping in from the left edge does, so the way back no longer
    depends on knowing the gesture; the Agent keeps running on the Host. (#439)
  • Give a Host more than one route — its LAN address for home, say, and an
    overlay network or Jump Host for everywhere else. Add Route in Edit Host;
    Heeler tries every route each time it connects and keeps the first that
    reaches the Host, starting routes over this device's own network a moment
    ahead, so at home the LAN address wins without an overlay network ever
    starting. Pairing adds every address the Pairing Code offers. A Host's key
    is trusted once for all of its routes: another machine answering one of
    its addresses is refused, and adding an overlay address no longer asks to
    confirm the key again. (#437)
  • See which route a Host is connected through. Its detail page opens with
    the connection's status and a Reconnect or Stop button, lists every route
    with the one in use marked, and when no route reaches the Host shows why
    each one failed. Edit Host lists routes as rows that each open their own
    page, and a new Host starts from Add Route. Run Checks Again moves beside
    the Preflight heading. (#438)
  • Reach a Host through Tailscale, ZeroTier, or EasyTier without turning on a
    VPN. Add a network in Settings › Overlay Networks, then choose it under
    Network when editing the Host. Heeler joins the network itself while it is
    open, and only for its own connections. A network's screen shows this
    device's addresses and node ID (copyable, for authorizing on ZeroTier) and
    its peers; Tailscale networks can sign out, ZeroTier networks can orbit
    moons or use a custom planet of their own (so networks on ZeroTier Central
    and on self-hosted roots connect side by side), and EasyTier can use a
    fixed address or take its networks from an EasyTier config server (web
    console). Several EasyTier networks, manual or from config servers, run
    side by side, even on the same subnet; a config server may assign up to
    eight, listed on its network's screen, and a Host reaches the one its
    address or name is on. A config server must offer EasyTier's encrypted
    connection unless Require Encryption is turned off for it; the form warns
    about clear-text and unverified transports. ZeroTier networks that give
    this device the same address stay apart too, each Host reaching the peer
    on its own network. A Host address that is not on the tailnet, or that its
    ZeroTier network has no route to, fails at once instead of waiting for the
    connection timeout. (#426)
  • Pick a Host from a Tailscale or EasyTier network instead of typing its
    address: Choose from Tailnet… in the Host form connects the network if
    needed and lists its peers to search, filling in the peer's IP address
    (or Tailscale machine name) and a blank Host name; the form then names
    the chosen machine and the list marks it. Add beside a machine on a
    network's screen in Settings adds it as a Host too, and machines that
    already are a Host say so. (#426)
  • A ZeroTier network's screen has Diagnostics: the network's status,
    addresses, routes, roots and members with their paths, and recent events,
    with Copy All for reporting a problem. Its peers are listed as members and
    roots. A device awaiting authorization shows as Waiting and keeps trying
    until an admin approves it. (#426)
  • Stop waiting for a network that is slow to connect: Connect on a
    network's screen, Choose from Tailnet…, a Host's checks, and a Host the
    Console is still connecting each offer Cancel (or Stop Connecting), which
    returns at once without a timeout error. A ZeroTier network stays joined
    so a later authorization still applies; a stopped Host stays paused until
    you reconnect it. (#426)

Changed

  • The solving orb on working Agents draws at 30 frames per second and pauses while it is off screen or Heeler is in the background, so a working Agent keeps the main thread far less busy and the phone cooler; the animation looks the same. (#436)
  • Settings › About › Acknowledgements shows each component's source and, where recorded, its version, and a distributed build names the commit it was made from, with a link to that source. (#426)
  • Redesign Settings › Overlay Networks: each network has a switch to connect or disconnect it (Cancel while it connects, Sign In before its first login), a status card with this device's address to copy, and its machines with Add or Host beside each, searchable. Adding a Tailscale network picks the kind from cards, keeps the coordination server and auth key under Advanced, and goes straight to browser sign-in (or connects with its auth key); Edit, Sign Out and Delete sit in the network's menu. A Tailscale device awaiting admin approval shows Waiting for approval and joins once approved, and the Host form puts Network first once an overlay network exists. ZeroTier and EasyTier networks connect as soon as they are added, keep moons, custom planets, fixed addresses and encryption under Advanced, and show the ZeroTier node ID or EasyTier machine ID to authorize on the status card (ZeroTier creates its node ID on the first connect, not when its form opens, so an unused one no longer sits in the network list); a ZeroTier network waiting for authorization offers Open ZeroTier Central, its roots move to Diagnostics, and an EasyTier config server's networks each list their address and peers, or why they don't run. (#426)

Fixed

  • Removing a Host now ends its Live Activity and forgets its Live Activity
    setting, and Heeler no longer keeps retrying Live Activity updates for the
    removed Host. (#444)
  • Removing a connected Host now also stops its notifications to this
    device: Heeler first takes this device off the Host's notification list,
    then deletes the Host's Notification Key along with its saved password. If
    the Host isn't connected, the confirmation says so and suggests connecting
    first; a Host removed without being reached may keep sending this device
    generic "Agent update" notifications. (#445)
  • When a Host's Heeler plugin is turned off, the steps on the Host's page
    now always end with the command that turns it back on: after updating an
    outdated plugin, which herdr 0.9.4 leaves off, and after removing a copy
    left under the plugin's former name. That command names the Host's herdr
    session, so it works when the default session isn't running.
    Notification settings now say the plugin is missing or turned off and
    point to the Host's page. (#458)
  • Close Agent and Close Terminal now ask from the More button you tapped,
    instead of a bubble floating in the middle of the terminal. (#440)
  • New Agent with long Arguments on a macOS Host running herdr 0.9.4 now
    waits for the new shell to take the launch command instead of failing at
    once and removing what it created. If the shell never takes it, as with
    dash, New Agent asks you to shorten the Arguments. (#458)
  • When attaching to an Agent or terminal on a macOS or Linux Host fails
    because herdr exits, the message now quotes herdr's own error, such as an
    older herdr earlier on the SSH PATH losing its connection to the server,
    instead of only an exit status. (#443)
  • On a macOS or Linux Host with herdr 0.9.4, opening an Agent or a Shell
    Terminal over a slow connection no longer types stray characters into
    the Agent or shell: Heeler no longer answers the terminal query herdr
    sends when it attaches, whose late answer herdr passed on as typing.
    (#458)
  • Start Tailscale browser authorization with one Sign In button and reconnect automatically after returning from the browser. (#426)
  • Show Connected and remove the sign-in prompt when Tailscale browser authorization completes, without requiring another Connect. (#426)
  • Open a Host's connection checks after adding it from an overlay network's peer list, so its SSH host key can be trusted on the first connection. (#426)
  • Agent cards keep a Host's herdr sidebar fields and Agent order when its
    herdr sidebar settings use the letta agent, the machine field, field
    rules, or a UTF-8 byte-order mark, instead of falling back to herdr's
    defaults. Update the Heeler plugin to 0.6.1 on each Host. Sync from
    plugin no longer blames herdr when the plugin can't read a Host's
    settings. (#458)
  • Type Korean straight into the terminal with the iOS Korean keyboard:
    syllables now compose as typed instead of arriving as repeated or loose
    jamo ("한글 지원", not "한한한글글글글지지지원"), with the software keyboard
    and a hardware keyboard alike, including after Backspace. (#441)
  • Removing a Worktree that has checked-out submodules now says that the
    submodules block it, instead of blaming modified or untracked files.
    Show Changes stays, and Copy Command hands you the herdr command that
    forces the removal. While herdr is still loading restored Worktrees
    after a restart, the message gives herdr's own reason instead of
    saying a worktree change is already underway. (#458)