Releases: ptrstovka/sink
Release list
Sink v0.4.0
Highlights
- Managed HTTPS with durable ACME certificate state and Cloudflare DNS-01.
- Persistent namespace claims and namespace management commands.
- Multi-route client configuration through
sink connect. - Named account tokens with rotation and immediate session revocation.
- Direct public HTTP/HTTPS deployment through the supplied Docker Compose and
systemd examples. - Optional raw TLS passthrough and PROXY protocol support for advanced
deployments.
Upgrade notes
- Back up the server SQLite database before upgrading. Database migrations run
automatically whensink-serverstarts. - The supplied Compose example now publishes ports 80 and 443 directly and
disables ingress PROXY protocol by default. Existing custom deployments keep
their explicit listener and proxy settings. - The client and server should be upgraded together.
Artifacts
Release automation publishes signed and notarized macOS binaries, Linux musl
binaries, checksums, and the multi-platform
ghcr.io/ptrstovka/sink-server:0.4.0 image for linux/amd64 and linux/arm64.
Full changes: v0.3.1...v0.4.0
Sink v0.3.1
Adds opt-in CORS support for sharing assets and making cross-origin requests through a tunnel.
- Use repeatable
--cors-allow-origin https://app.example.comvalues or--cors-allow-origin '*'for public resources. - Add
--cors-allow-credentialsfor credentialed requests with concrete allowed origins. Wildcard and credentials cannot be combined. - Handle CORS preflight locally, replace conflicting upstream CORS headers, and preserve correct caching with
Vary: Origin. - Include preflight responses in the inspector while preserving streaming, WebSockets, and existing behavior when CORS is disabled.
Only the client needs updating for this feature. Restart the tunnel with the new options; no server migration is required.
Validation: workspace tests, Clippy, formatting, and Chrome checks for cross-origin JavaScript modules, preflight, cookies, and denied origins.
Sink v0.3.0
Sink v0.2.0
Sink v0.2.0 improves tunnel reliability under sustained and mixed traffic.
- Prevent control-link heartbeat traffic from being blocked behind large data transfers.
- Keep ordinary HTTP requests, uploads, downloads, SSE, and WebSocket traffic responsive when they share one tunnel.
- Bound public stream-open waits so stalled exchanges fail promptly instead of holding the session indefinitely.
- Improve safe server diagnostics for stream-open and forwarding latency without exposing request or credential data.
Sink v0.1.0
Sink v0.1.0 adds the local traffic inspector.
- Embedded loopback dashboard enabled by default, with no Node.js or local dashboard files required at runtime.
- Bounded request and response capture with searchable traffic, masked sensitive headers, explicit reveal, and readable JSON/text previews.
- Exact local replay and cURL generation with eligibility checks and sensitive-header confirmation.
- Pause, resume, delete, clear, live updates, responsive layouts, Firefox-compatible clipboard behavior, and shadcn-vue interface components.
- Strong loopback Host, Origin, mutation-token, CSP, no-store, and reserved-header boundaries.
- Improved tunnel control-link liveness diagnostics and regression coverage.
Sink v0.0.3
Highlights
- Prevent silent half-open control WebSockets from retaining tunnel hostname claims indefinitely with server-initiated heartbeats and bounded liveness timeouts.
- Let a reconnect from the same authenticated client run atomically replace its older control link without weakening conflicts between independent claimants.
- Add requested hostname and incumbent session details to conflict warnings for easier production diagnosis.
- Update the packaged server and deployment examples to version 0.0.3.
The existing 30-second same-run reconnect grace remains unchanged.
Sink v0.0.2
Highlights
- Add
sink versionandsink-server version; the conventional--versionflag remains supported. - Sign and notarize macOS arm64 and x86_64 downloads with the StackTrace Developer ID.
- Update deployment examples and the Docker Compose default to 0.0.2.
Sink v0.0.1
Full Changelog: https://github.com/ptrstovka/sink/commits/v0.0.1