Releases: saptarshiroy39/portyard
Releases · saptarshiroy39/portyard
Release list
v1.3.0
[1.3.0] - 2026-08-14
Added
- Expanded Technology Brand Detection: Added process name detection for frameworks and databases including
django,fastapi,flask,uvicorn,react,vue,angular,deno,bun,postgres,mongodb,mysql,redis,php, andruby, activating accurate Codicon and theme color mappings.
Changed
- Compact Process Identifier: Formatted tree item descriptions from
(PID: <number>)to compact(#<number>)(e.g.node.exe (#13816)). - Streamlined Architecture: Cleaned up redundant decoration providers and dead code paths, utilizing native
ThemeIconcoloring for faster sidebar tree rendering.
Fixed
- SSH Tunnel Persistence on Dev Server Reloads: Added SSH keepalives (
ServerAliveInterval=15,ServerAliveCountMax=3,TCPKeepAlive=yes) andExitOnForwardFailure=noto keep public tunnels active across web application hot-reloads and idle periods. - SSH Stream Chunk Buffering: Implemented bounded output chunk accumulation in
tunnelManager.tsto prevent URL detection failures caused by split TCP stream chunks. - Loopback Target Resolution: Refined loopback resolution to use
localhostby default, ensuring forwarded connections route seamlessly across both IPv4 and IPv6 loopback bindings.
Full Changelog: v1.2.3...v1.3.0
v1.2.3
[1.2.3] - 2026-07-17
Added
- Development Build Scripts: Added helper shell scripts
compile.shandpackage.shunderscripts/to simplify compiling and packaging the extension. - Modular Tunnel Manager: Created a dedicated
src/tunnelManager.tsfile to isolate SSH tunnel execution logic, state, and target host resolution from VS Code lifecycle events.
Changed
- Code Quality Improvements: Sorted and grouped imports alphabetically across all source files for improved readability.
Fixed
- IPv4 Loopback Standardization: Standardized the target host in SSH forwarding commands to exclusively use the highly optimized IPv4 loopback (
127.0.0.1) for all loopback and wildcard bindings (including IPv6[::1],[::], and::), while keeping custom non-loopback IPv4 addresses (like192.168.x.x). This guarantees maximum loopback forwarding performance and avoids any network routing delays or firewall blocks related to IPv6 on local devices. - SSH Connection Speedup: Added the
-4flag to the SSH command, forcing IPv4 name resolution. This completely bypasses slow IPv6 handshake attempts and timeouts tolocalhost.runservers, making tunnel generation and loading instantaneous. - Robust SSH Output Capturing: Attached the tunnel URL parser to both
stdoutandstderrstreams, and refined URL matching logic to filter out thehttps://admin.localhost.runwelcome link, ensuring only valid public tunnel URLs (*.lhr.life/*.localhost.run) are captured.
Full Changelog: v1.2.2...v1.2.3
v1.2.2
[1.2.2] - 2026-07-10
Fixed
- IPv6 Loopback Forwarding: Changed target loopback address in SSH forwarding commands from
127.0.0.1tolocalhost. This resolves theERR_EMPTY_RESPONSEerror when forwarding development servers (like modern Vite or Next.js) that listen exclusively on the IPv6 loopback interface ([::1]).
Full Changelog: v1.2.1...v1.2.2
v1.2.1
[1.2.1] - 2026-07-05
Fixed
- SSH Tunnel URL Detection: Restored tunnel URL listener to
stdoutonly (reverting thestderrlistener introduced in 1.2.0), preventing administrative links in the SSH welcome banner from being incorrectly captured as active forwarding URLs.
Full Changelog: v1.2.0...v1.2.1
v1.2.0
[1.2.0] - 2026-06-29
Added
- Differentiated Brand Codicons: Updated tree items to render distinct VS Code Codicons based on technology category (
databasefor databases,serverfor runtimes,globefor web apps, andpackagefor containers).
Changed
- Visibility-Aware Polling: Intelligent scanning engine that automatically pauses background shell execution when the Portyard sidebar panel is collapsed or hidden, saving CPU and battery.
- Process Mapping Cache: Implemented a 10-second process caching layer to eliminate redundant process table lookups during port scans.
- Clean Tooltip Layout: Streamlined tooltip formatting for a compact, readable presentation.
Fixed
- SSH Process Tree Termination: Enhanced tunnel termination using recursive process tree killing (
taskkill /F /Ton Windows) to guarantee that all background SSH subprocesses and sockets are completely destroyed upon stopping forwarding. - SSH Output Stream Parsing: Attached tunnel URL extraction listeners to both
stdoutandstderrstreams, preventing URL detection timeouts.
Full Changelog: v1.1.1...v1.2.0
v1.1.1
[1.1.1] - 2026-06-25
Changed
- Optimized Auto-Refresh Rate: Adjusted the auto-refresh interval of active ports list to 5 seconds (previously 30 seconds) for faster UI synchronization.
Fixed
- Orphaned SSH Forwarding Tunnels: Switched the runner from
child_process.exectochild_process.spawnfor the SSH forwarder. This ensures the underlying SSH process is completely killed when stopping port forwarding, preventing public URL exposure from persisting.
Full Changelog: v1.1.0...v1.1.1
v1.1.0
[1.1.0] - 2026-06-23
Added
- Visual Sharing State: Port items are now decorated with a brand-colored
broadcasticon when actively shared/forwarded. - One-Click Unsharing: Added a direct
Stop Forwarding(circle-slash) inline button on shared port tree items to terminate tunnels with one click. - Inline Sharing Utilities: Added inline actions to quickly
Copy Public URLandOpen in Browserfor shared ports directly from the sidebar.
Full Changelog: v1.0.0...v1.1.0
v1.0.0
[1.0.0] - 2026-06-12
Added
- Initial release of the Portyard extension.
- Cross-Platform Port Discovery: Engine utilizing native
netstat(Windows) andlsof(macOS & Linux) tools. - Interactive Sidebar Panel: Custom Activity Bar view showing the Active Ports list.
- Auto-Refresh: Automatically scans and refreshes active ports every 30 seconds to keep status in sync.
- Fast Process Termination: "Stop Process" action to release port-hogging sockets instantly.
- Secure SSH Forwarding: Instant public tunnel sharing powered by
localhost.runusing safeStrictHostKeyChecking=accept-newchecking. - Quick Endpoints: Built-in "Open in Browser" action for active
HTTP/HTTPSservers. - Visual Branding: Tech brand detection with custom color indicators for Vite, Node, Python, Postgres, Redis, and more.
- System Port Filtering: "Eye" toggle to quickly show or hide system and ephemeral ports.
Full Changelog: https://github.com/saptarshiroy39/portyard/commits/v1.0.0