Releases: omardoesdata/ohmydb-proxy
Release list
OhMyDB v1.1.0
OhMyDB v1.1.0
OhMyDB v1.1.0 is the first release under the OhMyDB brand, formerly SQL Safety Proxy.
Highlights
- Introduces the new
ohmydbcommand-line interface. - Preserves the legacy
sql-safety-proxyCLI for compatibility. - Rebrands user-facing runtime messages and documentation as OhMyDB.
- Uses
ohmydbas the Docker entrypoint. - Renames the GitHub repository to
ohmydb-proxy. - Keeps the existing
sql_safety_proxyPython import package for backward compatibility. - Maintains fail-closed database safety behavior.
Validation
- 341 automated tests passed.
- Python 3.11, 3.12, and 3.13 CI passed.
compileallpassed.pip checkpassed.- Real PostgreSQL integration matrix passed.
- Fresh wheel installation passed.
- Both
ohmydband legacysql-safety-proxyCLI commands were verified from the built wheel. - Docker image build and non-root runtime validation passed.
- Wheel and source distribution passed
twine check.
Compatibility
Existing users may continue to invoke:
sql-safety-proxy
The preferred command for new installations is:
ohmydb
The Python package remains:
sql_safety_proxy
This release intentionally preserves those compatibility surfaces while moving the public product identity to OhMyDB.
SQL Safety Proxy v1.0.0
SQL Safety Proxy v1.0.0 is the first stable release. It includes PostgreSQL safety enforcement, documented MySQL/MariaDB-compatible protocol support, prepared-statement inspection, transaction-state tracking and recovery, fail-closed policy handling, audit logging and sanitization, CLI configuration, Docker deployment, public architecture and security documentation, and validated packaging. The stable release passed the 341-test regression suite, real PostgreSQL E2E validation, fresh-wheel validation, Docker runtime validation, and supported Python CI.
SQL Safety Proxy v0.9.0rc1
v0.9.0rc1 is the release-candidate hardening milestone for SQL Safety Proxy. It includes the v0.9 version transition, repeatable PostgreSQL latency benchmarking, RC readiness and security documentation, 341-test regression coverage, successful real PostgreSQL E2E validation, packaging and twine validation, fresh-wheel installation/runtime verification, and updated public documentation. No broad new database features are introduced.
SQL Safety Proxy v0.8.0a1
v0.8.0a1 completes the productization milestone with improved CLI and configuration UX, Docker support, public documentation, architecture and threat-model documentation, environment-safe examples, and validated PostgreSQL runtime, prepared-statement and transaction recovery, security, fresh-wheel, packaging, Docker, and full regression gates.
SQL Safety Proxy v0.7.0a1
SQL Safety Proxy v0.7.0a1
Highlights:
- MySQL prepared-statement inspection
- Prepared statement lifecycle support
- MySQL transaction-state tracking
- COM_PING and COM_STMT_RESET support
- MariaDB server protocol compatibility through mysql-connector-python
- Runtime hardening, sanitization, redaction, and resource limits
- PostgreSQL regression hardening
- Isolated concurrency and recovery validation
Validation:
- 320 tests passed
- Python 3.11, 3.12, and 3.13 CI passed
- Real PostgreSQL runtime validation passed
- Real MariaDB server validation via mysql-connector-python passed
- Concurrency/recovery validation passed
- Wheel and sdist passed twine checks
- Fresh-wheel validation passed
Known limitation:
MariaDB Connector/Python itself is not part of the supported Windows validation gate due to a reproducible native runtime crash in the current Windows environment.
v0.6.0a1 — MySQL/MariaDB Proxy Runtime
MySQL/MariaDB runtime alpha release. Adds wire-protocol proxying, authentication relay, command dispatch, session database tracking, policy enforcement, impact estimation, audit logging, logical packet reassembly, and connection lifecycle handling. Validated against a real MariaDB 12.3 backend and client, including safe query forwarding, targeted updates, blocking of full-table mutations and structural operations, database switching, authentication failure handling, package installation, and fresh-wheel runtime execution. Known limitations: prepared statements are not supported, TLS termination is not supported, and MySQL/MariaDB clients must connect without TLS, such as with --ssl=OFF.
SQL Safety Proxy v0.5.0a1
SQL Safety Proxy v0.5.0a1
Highlights
- Formal database-adapter contract and registry.
- Explicit adapter capability metadata.
- PostgreSQL aliases:
postgres,postgresql, andpg. - Proxy startup and impact estimation routed through the selected adapter.
- New primary setting:
DATABASE_ADAPTER. - Legacy
DATABASE_ENGINEandSQL_DIALECTremain supported during alpha. - Adapter conformance tests.
- Real PostgreSQL integration matrix using psycopg Simple Query, psycopg
extended protocol, and asyncpg.
PostgreSQL remains the only implemented protocol runtime in this release.
SQL Safety Proxy v0.4.0a1
SQL Safety Proxy v0.4.0a1
Highlights
- Backend transaction-state tracking through PostgreSQL
ReadyForQuery. - Transaction-aware synthetic responses for blocked Simple Query requests.
- Prepared-statement and portal lifecycle management.
- PostgreSQL
Closemessage parsing and local state cleanup. - Extended-protocol recovery that waits for
Syncafter proxy-generated errors. - Strict bounds and payload validation for PostgreSQL protocol messages.
- Multi-statement detection with
POLICY_MULTI_STATEMENT_ACTION. - Expanded protocol hardening and regression tests.
Safety changes
Blocked Simple Query requests no longer always return idle status. The proxy
uses the last backend transaction status (I, T, or E). Blocked or malformed
extended-query messages place the proxy into recovery mode; messages are
discarded until Sync arrives.
Simple Query batches containing multiple statements are blocked by default.
This prevents a safe first statement from hiding a destructive later statement.
New configuration
POLICY_MULTI_STATEMENT_ACTION=BLOCK
Allowed values are ALLOW, CONFIRM, and BLOCK. The default is BLOCK.
Remaining limitations
This alpha release does not terminate PostgreSQL TLS, fully decode binary
parameter types through OID metadata, or support non-PostgreSQL protocols.
SQL Safety Proxy v0.3.0a1
SQL Safety Proxy v0.3.0a1
Highlights
- Configurable policy engine with ALLOW, CONFIRM, and BLOCK actions.
- Risk severities: LOW, MEDIUM, HIGH, and CRITICAL.
- PostgreSQL row-impact estimation for UPDATE, DELETE, and TRUNCATE.
- JSONL audit logging for policy and user decisions.
- Simple Query and extended Parse/Bind/Execute interception.
- Fail-safe protocol-gap handling with strict, balanced, and permissive modes.
- CI coverage on Python 3.11, 3.12, and 3.13.
Fail-safe modes
strict: block any SQL execution that cannot be reconstructed.balanced: block protocol gaps while allowing normal policy confirmation for
unparseable, unsupported, and estimation-failure cases.permissive: forward protocol gaps and recordALLOWED_PROTOCOL_GAP.
This mode is intended only for compatibility troubleshooting.
The default mode is balanced.
Audit decisions
The audit log may contain:
ALLOWEDAPPROVED_BY_USERBLOCKED_BY_USERBLOCKED_BY_POLICYALLOWED_PROTOCOL_GAPBLOCKED_PROTOCOL_GAP
Remaining limitations
This alpha release does not terminate PostgreSQL TLS, fully track transaction
state, decode every binary parameter type, or support database protocols other
than PostgreSQL.
SQL Safety Proxy v0.2.0-alpha
SQL Safety Proxy v0.2.0-alpha
Adds safe affected-row estimation before risky PostgreSQL mutations are executed.
Added
- Full-table row estimation for
UPDATEwithoutWHERE - Full-table row estimation for
DELETEwithoutWHERE - Filtered row estimation for
UPDATEandDELETE TRUNCATEimpact preview support- Read-only estimator transactions
- Configurable estimation timeout
- Estimated row counts in popup and blocked-query errors
- SQL classifier test coverage
Verified
-
UPDATE users SET active = false;- Estimated: 5000 rows
- Blocked successfully
-
UPDATE users SET active = false WHERE id <= 100;- Estimated: 100 rows
- Blocked successfully
Status
Alpha release. PostgreSQL support only for now.