Releases: gruen/tailport
Release list
v0.1.6
A thin patch — one wording fix in the UI — but the first tailport release you can install without a download script.
Highlights
- tailport is on the AUR. Two packages:
tailportbuilds from source, andtailport-bindrops in the prebuilt release binary with no Go toolchain needed. They conflict with each other by design — install whichever suits. (jtpx) - tailport is on Homebrew, via a tap:
brew install gruen/tap/tailport. It builds from source, so it works on Apple Silicon and Intel Macs alike, and on Linuxbrew. (s3wn)
Fixes
- The bottom bar's hint for
nnow reads new favorite rather than "add favorite". The binding has always beenNewPort— "add" was the drift, not "new". (2pz4)
Also
- Packaging now publishes from CI when a tag lands, rather than by hand: both AUR packages and the Homebrew formula bump themselves, taking their checksums from the release artifacts they describe. (18cr, nqmn)
Install
curl -fsSL https://raw.githubusercontent.com/gruen/tailport/main/install.sh | shOr, as of this release:
paru -S tailport # Arch, from the AUR (or: paru -S tailport-bin)
brew install gruen/tap/tailport # macOS / Linux, via HomebrewExisting installs upgrade automatically — this is a patch bump, so install.sh treats it as non-breaking.
Full Changelog: v0.1.5...v0.1.6
v0.1.5
Undo/redo for your port registry, a keybind rename, and a fix for go install builds reporting the wrong version.
Heads up: u changed meaning
u used to unfavorite. It's undo now. Unfavoriting moved to F (shift-f), renamed forget. If u is muscle memory for you, that's the one thing to relearn here.
Highlights
-
Undo / redo.
usteps back through registry edits — favorite, forget, label, lock, add — andctrl+rsteps forward. Session-only, 50 deep.Undo deliberately covers only the registry. It never changes what's actually exposed: serve and funnel have their own keys and confirms, and undo won't flip them behind your back. For the same reason it won't unlock
:22— that needs a deliberate typed confirm, and undo isn't a way around it. -
Fforgets a port: clears its ★ and drops it from the default view. Shift-keyed, so a stray press can't wipe your shortlist. -
go installbuilds report their real version (#1gw5).go installapplies no linker flags, so those builds reportedtailport deveven though the binary knew perfectly well which module version it was built from. It now reads that embedded version — while still sayingdevfor genuinely untagged local builds, which is the honest answer there.
Also
- AUR PKGBUILDs bumped to real, verified digests (they'd been sitting on placeholder checksums and could not have built).
Install
curl -fsSL https://raw.githubusercontent.com/gruen/tailport/main/install.sh | shExisting installs upgrade automatically — a patch bump is non-breaking. Installing with go install github.com/gruen/tailport/cmd/tailport@latest now reports the version correctly.
Full Changelog: v0.1.4...v0.1.5
v0.1.4
A UX-focused patch: the port list is easier to scan on wide terminals, tailnet-reachable ports finally read the same as served ones, and every copyable row confirms the copy.
Highlights
- Responsive multi-column port list. Wide terminals now lay the list out as a grid of rich two-line rows instead of one tall column, so a busy host fits on one screen. Narrow terminals are unchanged. (9gys)
- Tailnet-reachable ports present like served ones. A wildcard-bound port is on the tailnet whether or not tailport serves it — the UI now says so consistently: its description shows the reachable URL, a green ◉ marker, and a
*:portbind indicator. (qptn) ✓ copiedon every copyable row. The inline copy confirmation is no longer limited to a subset of rows. (vqa3)- Version in the top bar. The header now reads
tailport v0.1.4, so the running build is visible without dropping to--version. (0qy8)
Fixes
ccopies the URL that actually resolves for each reach state (localhost/LAN) rather than a dead tailnet one.- Long toasts wrap and display in full instead of being clipped.
Install
curl -fsSL https://raw.githubusercontent.com/gruen/tailport/main/install.sh | shExisting installs upgrade automatically — this is a patch bump, so install.sh treats it as non-breaking.
Full Changelog: v0.1.3...v0.1.4