Skip to content

Releases: turbine-dev/turbine-proxy

TurbineProxy v0.5.1

15 May 15:42

Choose a tag to compare

TurbineProxy v0.5.1

Downloads

Platform File
Linux x86_64 (musl static) turbineproxy-x86_64-unknown-linux-musl-v0.5.1.tar.gz
Linux aarch64 (musl static) turbineproxy-aarch64-unknown-linux-musl-v0.5.1.tar.gz
macOS x86_64 turbineproxy-x86_64-apple-darwin-v0.5.1.tar.gz
macOS Apple Silicon turbineproxy-aarch64-apple-darwin-v0.5.1.tar.gz
Debian/Ubuntu .deb turbineproxy_v0.5.1_amd64.deb
RHEL/Fedora .rpm turbineproxy-v0.5.1-1.x86_64.rpm
Docker ghcr.io/turbine-dev/turbine-proxy:v0.5.1

Quick install (Linux x86_64)

curl -fsSL https://github.com/turbine-dev/turbine-proxy/releases/download/v0.5.1/turbineproxy-x86_64-unknown-linux-musl-v0.5.1.tar.gz | tar -xz
sudo mv turbineproxy /usr/local/bin/

Debian/Ubuntu

curl -fsSLO https://github.com/turbine-dev/turbine-proxy/releases/download/v0.5.1/turbineproxy_v0.5.1_amd64.deb
sudo dpkg -i turbineproxy_v0.5.1_amd64.deb
sudo systemctl enable --now turbineproxy

Docker

docker run -p 3307:3307 -p 8080:8080 \
  -v ./turbineproxy.toml:/app/turbineproxy.toml:ro \
  ghcr.io/turbine-dev/turbine-proxy:v0.5.1

All checksums: SHA256SUMS

v0.5.0

14 May 21:14

Choose a tag to compare

TurbineProxy v0.5.0

Downloads

Platform File
Linux x86_64 (musl static) turbineproxy-x86_64-unknown-linux-musl-v0.5.0.tar.gz
Linux aarch64 (musl static) turbineproxy-aarch64-unknown-linux-musl-v0.5.0.tar.gz
macOS x86_64 turbineproxy-x86_64-apple-darwin-v0.5.0.tar.gz
macOS Apple Silicon turbineproxy-aarch64-apple-darwin-v0.5.0.tar.gz
Debian/Ubuntu .deb turbineproxy_v0.5.0_amd64.deb
RHEL/Fedora .rpm turbineproxy-v0.5.0-1.x86_64.rpm
Docker ghcr.io/turbine-dev/turbine-proxy:v0.5.0

Quick install (Linux x86_64)

curl -fsSL https://github.com/turbine-dev/turbine-proxy/releases/download/v0.5.0/turbineproxy-x86_64-unknown-linux-musl-v0.5.0.tar.gz | tar -xz
sudo mv turbineproxy /usr/local/bin/

Debian/Ubuntu

curl -fsSLO https://github.com/turbine-dev/turbine-proxy/releases/download/v0.5.0/turbineproxy_v0.5.0_amd64.deb
sudo dpkg -i turbineproxy_v0.5.0_amd64.deb
sudo systemctl enable --now turbineproxy

Docker

docker run -p 3307:3307 -p 8080:8080 \
  -v ./turbineproxy.toml:/app/turbineproxy.toml:ro \
  ghcr.io/turbine-dev/turbine-proxy:v0.5.0

All checksums: SHA256SUMS

TurbineProxy v0.4.0

12 May 10:41

Choose a tag to compare

TurbineProxy v0.4.0

Downloads

Platform File
Linux x86_64 (musl static) turbineproxy-x86_64-unknown-linux-musl-v0.4.0.tar.gz
Linux aarch64 (musl static) turbineproxy-aarch64-unknown-linux-musl-v0.4.0.tar.gz
macOS x86_64 turbineproxy-x86_64-apple-darwin-v0.4.0.tar.gz
macOS Apple Silicon turbineproxy-aarch64-apple-darwin-v0.4.0.tar.gz
Debian/Ubuntu .deb turbineproxy_v0.4.0_amd64.deb
RHEL/Fedora .rpm turbineproxy-v0.4.0-1.x86_64.rpm
Docker ghcr.io/turbine-dev/turbine-proxy:v0.4.0

Quick install (Linux x86_64)

curl -fsSL https://github.com/turbine-dev/turbine-proxy/releases/download/v0.4.0/turbineproxy-x86_64-unknown-linux-musl-v0.4.0.tar.gz | tar -xz
sudo mv turbineproxy /usr/local/bin/

Debian/Ubuntu

curl -fsSLO https://github.com/turbine-dev/turbine-proxy/releases/download/v0.4.0/turbineproxy_v0.4.0_amd64.deb
sudo dpkg -i turbineproxy_v0.4.0_amd64.deb
sudo systemctl enable --now turbineproxy

Docker

docker run -p 3307:3307 -p 8080:8080 \
  -v ./turbineproxy.toml:/app/turbineproxy.toml:ro \
  ghcr.io/turbine-dev/turbine-proxy:v0.4.0

All checksums: SHA256SUMS

v0.3.6

09 May 21:48

Choose a tag to compare

TurbineProxy v0.3.6

Downloads

Platform File
Linux x86_64 (musl static) turbineproxy-x86_64-unknown-linux-musl-v0.3.6.tar.gz
Linux aarch64 (musl static) turbineproxy-aarch64-unknown-linux-musl-v0.3.6.tar.gz
macOS x86_64 turbineproxy-x86_64-apple-darwin-v0.3.6.tar.gz
macOS Apple Silicon turbineproxy-aarch64-apple-darwin-v0.3.6.tar.gz
Debian/Ubuntu .deb turbineproxy_v0.3.6_amd64.deb
RHEL/Fedora .rpm turbineproxy-v0.3.6-1.x86_64.rpm
Docker ghcr.io/turbine-php/turbine-proxy:v0.3.6

Quick install (Linux x86_64)

curl -fsSL https://github.com/turbine-php/turbine-proxy/releases/download/v0.3.6/turbineproxy-x86_64-unknown-linux-musl-v0.3.6.tar.gz | tar -xz
sudo mv turbineproxy /usr/local/bin/

Debian/Ubuntu

curl -fsSLO https://github.com/turbine-php/turbine-proxy/releases/download/v0.3.6/turbineproxy_v0.3.6_amd64.deb
sudo dpkg -i turbineproxy_v0.3.6_amd64.deb
sudo systemctl enable --now turbineproxy

Docker

docker run -p 3307:3307 -p 8080:8080 \
  -v ./turbineproxy.toml:/app/turbineproxy.toml:ro \
  ghcr.io/turbine-php/turbine-proxy:v0.3.6

All checksums: SHA256SUMS

v0.3.0

09 May 20:49

Choose a tag to compare

Features
AES-256-GCM at-rest encryption for stored passwords — Passwords saved through the dashboard are encrypted before being written to SQLite when TURBINEPROXY_SECRET_KEY (64-char hex) is set. On-disk format: enc:<base64url(nonce || ciphertext)>. Existing plaintext values and env:/file: references continue to work without migration.

External secret references (env: / file:) — Any password field in TOML or SQLite now accepts env:VAR (reads environment variable) or file:/path (reads file, trims whitespace) in addition to literal values. The actual secret never touches SQLite.

server_version per listener — Configure the version string sent to clients in the initial handshake independently per port. [mysql] defaults to "8.0.36-TurbineProxy"; [pgsql] defaults to "16.0". Useful when migrating to/from Aurora, Cloud SQL, or MariaDB without changing applications that depend on the version string.

Per-rule fast_forward — In addition to the global listener-level fast-forward mode, individual [[query_rules]] now support fast_forward = true. Only queries matching that rule bypass the full pipeline (fingerprinting, routing, cache, RYOW, N+1 detection, SQL injection protection, analytics). All other traffic retains full observability.

Per-rule qps_limit — Rate-limit the number of queries per second a rule forwards to the backend using a token bucket. Short bursts are absorbed immediately; sustained traffic above the limit is rejected with an error. 0 or omit = unlimited.

Per-rule dry_run — Mark a rule as dry_run = true to log matches without applying routing. Match statistics appear normally in the dashboard. Enables safe rule validation in production before going live.

Per-backend max_connections — Cap the maximum number of open connections to each primary or replica independently via the max_connections field in [[shared.replicas]] or [[shared.primary]].

PROXY Protocol v2 — Full support for the binary PROXY Protocol v2 format in [mysql.proxy_protocol] and [pgsql.proxy_protocol], in addition to the existing v1 (text) support.

Performance
Lookup table in query classifier — Query intent classification (SELECT, INSERT, UPDATE, …) now uses a compile-time 256-entry uppercase lookup table, eliminating per-query heap allocations in the hot path.
Dashboard
Query rules form now includes a Fast forward toggle alongside QPS limit and Dry run.
Rules table has a new Fast-fwd column with a visual indicator.
Documentation
README: feature table updated to reflect all new capabilities.
reference.md: dry_run, qps_limit, fast_forward added to [[query_rules]]; server_version added to [mysql] and [pgsql].
query-routing.md: new sections — Dry Run, Rate Limiting, and Per-Rule Fast Forward.
fast-forward.md: new Per-Rule Fast Forward section with a comparison table (global vs. per-rule).

v0.2.0

08 May 20:48

Choose a tag to compare

What's New in v0.2.0

Features

GTID-aware Read-Your-Own-Writes — After a write, the proxy captures the GTID from the primary's OK packet and waits for a replica to apply that transaction before routing the next read there. If no replica has caught up, the read falls back to the primary automatically. No application changes needed. Requires MySQL 8.0+ with GTID-based replication.

[mysql]
gtid_aware_ryow = true

WAN Compression — zlib & zstd — Enable MySQL wire-protocol compression on backend connections. zstd (MySQL 8.0.18+, MariaDB 10.8+) delivers ~3–5× better compression ratio than the classic zlib option. Negotiated per-connection at handshake time; transparent to the client.

[[shared.replicas]]
addr        = "wan-replica:3306"
compression = "zstd"   # "off" | "zlib" | "zstd"
Read more

v0.1.0

08 May 14:20

Choose a tag to compare