Surge: Progress Log!

Starting a small Surge progress log here.

I’ll use this thread to keep track of major milestones, releases, things I’m currently working on, and project updates.

Surge started earlier this year as a small Go project and has grown quite a bit since then. Right now I’m mainly working on improving reliability, download scheduling, performance, and cleaning up the core library.

I’ll keep adding updates here as things move along.

1 Like

An update on what we’ve been doing from August 26-Sept 4:

  1. We released Surge v0.12.1 and continued improving the Chrome extension integration, including retrying failed browser handoffs and fixing duplicate-download handling.
  2. We made substantial reliability and performance improvements to concurrent downloads:
  • better handling for rate limits and transient 403 responses;
  • throttle-aware concurrent downloads;
  • fixes for races, paused downloads, phantom progress, and retry behavior;
  • shared TLS session caching for improved connection reuse.
  1. We improved the terminal UI with category-management work, clearer error persistence, safer removal flows, file-picker navigation, and lower rendering overhead.
  2. We added useful quality-of-life features, including importing download commands directly from clipboard cURL strings and improved handling of insufficient disk space.
  3. We also improved packaging, Docker/Nix/CI reliability, and kept core and extension dependencies current.

Overall, this period was focused on making Surge more reliable under real-world download conditions while continuing to improve the UX and release infrastructure.

This is based on the 45 commits merged to main after the previous update, through August 26.

1 Like

An update on what we’ve been doing since August 26, through September 30:

We released Surge v0.12.2 and added easier installation options, including a standalone install script, a Windows Chocolatey package, and Linux AppImage packaging. We also expanded the documentation.

We strengthened download reliability by making progress reporting more authoritative, tightening completion and pause handling, finalizing file sizes for downloads with unknown lengths, and preserving authentication headers when resuming downloads.

We hardened CLI and remote usage, including fixes for pause --all and resume --all, safer handling of refresh, limit, and ls, clearer pending-confirmation messages, and more reliable remote TUI connections.

We improved the Chrome extension with a restored toolbar icon, an active-download badge, configurable duplicate warnings, and an updated Chrome Web Store publishing flow.

We also improved release packaging and CI across platforms, and kept core and extension dependencies current.

Overall, this period focused on making downloads and commands more dependable, while broadening installation options and improving release infrastructure.

This summary covers 52 commits merged to main after the August 26 baseline, through September 30.

3 Likes