You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
proxysql/CHANGELOG.md

16 KiB

ProxySQL Changelog

Version 3.0.x Series - PostgreSQL Support Introduction

v3.0.2 (2025-08-06)

PostgreSQL Enhancements

  • Improved error processing and reporting format for backend connections using libpq (#4947)
  • Fixed backend connection reset and parameter handling for RESET/SET TO DEFAULT (#5060)
  • Fixed crash when mirroring is configured for PostgreSQL (#5051)
  • Fixed memory leak during Admin startup in flush_pgsql_variables___database_to_runtime (#5037)
  • Fixed pgsql_replication_hostgroups table definition - range for check_type now reflects only supported checks (#5043)

MySQL Fixes

  • Added Group Replication support for MySQL 8.4 and 9.x (#4983)
  • Fixed memory leak in stats_mysql_global (#5006)
  • Fixed potential overflow in SQLite3_memory_bytes field from stats_mysql_global (#5006)
  • Fixed MySQL binary log handling for prepared statements with 0 parameters (#5007)

Common Fixes

  • Fixed memory leak in Query Processor during query rules deletion (#5037)

v3.0.1 (2025-05-13)

Major PostgreSQL Features

  • Parameter/Variable Tracking: Significantly improves multiplexing capabilities for better connection reuse (#4799)
  • Backend Monitoring Support: Handles larger number of backend servers with small worker thread set (#4726)
    • Connect checks: Availability and connection latency assessment
    • Ping checks: Responsiveness with automatic SHUNNING and latency tracking
    • ReadOnly checks: Server placement via pgsql_replication_hostgroups with automatic failover
  • Transaction Support: Variable state tracking through transactions and savepoints (SAVEPOINT/ROLLBACK) (#4929)
  • Connection Parameters: Full support for all PostgreSQL connection parameters with server-side validation (#4899)
  • Notice and Warning Messages: Support with Query Cache compatibility (#4770)
  • COPY Support: Added support for COPY ... FROM STDIN via FAST FORWARD (#4762, #4874)

Major MySQL Features

  • Dual-Password Support: Allows two passwords for password rotation like MySQL native feature
  • Enhanced Event and Query Logging (ported from 2.7.2):
    • Real-time query logging in stats_mysql_query_events and history_mysql_query_events
    • MySQL Logger metrics exported through stats_mysql_global and Prometheus
    • Circular buffer with SQLite databases (in-memory and on-disk)
  • Prepared Statement Parameter Logging (#4895, #4922):
    • Logs actual parameter values for prepared statements
    • Available in binary and JSON formats
    • Controlled by mysql-eventslog_stmt_parameters (disabled by default)
  • New PROXYSQL_METADATA Event: Added metadata event in binary eventlog format (#4922)
  • DNS Cache Enhancement: Better distribution of DNS resolution attempts (#4745)

Common Improvements

  • OpenSSL Changes: Now uses system OpenSSL library (dynamically linked) instead of static (#4740)
  • Admin Performance: Avoids unnecessary VACUUM operations on stats database (#4859)

v3.0.0-alpha (2024-09-30)

  • Initial PostgreSQL Support:
    • Default ports: 6132 (admin), 6133 (PostgreSQL traffic)
    • Authentication methods: Plain Text, MD5, SCRAM-SHA-256
    • PostgreSQL-specific configuration tables and options
    • SSL support for frontend and backend connections
    • Multiplexing and connection pooling
    • Multiple statements in single query support
  • Architecture Changes:
    • Separate query processors for MySQL and PostgreSQL
    • Refactored Query Processor Architecture
    • New PostgreSQL statistics tables (pgsql_servers, pgsql_users, pgsql_query_rules, etc.)

Version 2.7.x Series

v2.7.3 (2025-03-11)

  • Added PMM compatibility for runtime_mysql_servers_* metrics in Prometheus exporter (#4854)
  • Ignore tracking for session_track_system_variables until properly supported (#4853, #4839)
  • Added support for @@session and @@global syntax in SET statements parser (#4853)
  • Fixed frontend/backend collation mismatch when collation ID larger than 255 (#4850)
  • Fixed DELETE operations for stats_mysql_query_events on stats memory database (#4822)
  • Fixed PMM compatibility for new MySQL_Logger metrics (#4822)

v2.7.2 (2025-01-27)

Major Features

  • Enhanced Event and Query Logging (#4713, #4802):
    • Real-time insights with circular buffer and SQLite databases
    • New tables: stats_mysql_query_events and history_mysql_query_events
    • MySQL Logger metrics in stats_mysql_global and Prometheus exporter
  • MySQL protocol compression level control via mysql-protocol_compression_level (#4789)
  • mysql_hostgroup_attributes configurable through config file (#4748)
  • Randomized cache TTL queueing reducing helper thread needs (#4729)
  • Integrity checks for malformed MySQL packets (#4742)

Bug Fixes

  • Fixed crash on empty Admin interface queries (#4722)
  • Fixed halt on PROXYSQL RESUME command (#4757)
  • Fixed SSL cache leak for auxiliary threads (#4801)
  • Fixed query cache storing behavior for mysql-query_cache_stores_empty_result (#4723)
  • Fixed potential overflows for mysql_thread___threshold_resultset_size (#4733)

v2.7.1 (2024-09-23)

  • Added Fedora 41 builds (#4635)
  • DNS Cache improvements - removes DNS records on connection failures (#4656)
  • DNS cache auto-disabled with -M or --no-monitor option
  • Faster packaging with optimized file operations (#4647)
  • Fixed --initial option after crashes (#4659)
  • Fixed TLS certificate reload after crashes (#4658)
  • Fixed leading spaces in stats_mysql_query_digest.digest (#4646)
  • Applied clang fix to all clang versions (#4635)

v2.7.0 (2024-09-04)

Major Features

  • PROXY Protocol V1 Support: Enables identifying original client IP behind load balancers
    • IP-based query rules for caching, routing, filtering
    • Improved processlist and audit logs showing original IPs
    • Enhanced security with IP-based access restrictions
  • Additional ProxySQL APT Repository Layout: New common layout support
    • Example: deb https://repo.proxysql.com/ProxySQL bookworm main
  • Thread Naming: Easier debugging with named threads

Version 2.6.x Series

v2.6.6 (2024-09-23)

  • DNS Cache updates - removes outdated records on connection failures (#4656)
  • DNS cache auto-disabled with -M or --no-monitor option
  • Fixed leading spaces in stats_mysql_query_digest.digest (#4646)

v2.6.5 (2024-08-29)

  • Fixed USE command semicolon handling (#4629)
  • Fixed stats_mysql_query_digest.digest case normalization (#4626)

v2.6.4 (2024-08-27)

  • Updated OpenSSL to v3.3.1 (#4561)
  • Added Ubuntu 24 and Fedora 40 support (#4541)
  • Improved USE query parsing for text protocol (#4605)
  • Disabled AWS RDS topology auto-discovery by default (#4578)
  • Fixed SSL error queue pollution causing invalid terminations (#4555, #4602)
  • Fixed control chars in query digests (#4554) - Note: Review mysql_query_rules if using extra spaces
  • Fixed COM_CHANGE_USER with hashed passwords for native_mysql_password (#4623)
  • Fixed crashes for COM_CHANGE_USER with caching_sha2_password (#4619)

v2.6.3 (2024-05-20)

Major Features

  • New Hostgroup Attributes:
    • monitor_slave_lag_when_null for hostgroup_settings (#4528)
    • max_num_online_servers safety feature (#4517)
  • Handle SELECT LAST_INSERT_ID() FROM DUAL without disabling multiplexing (#4520)
  • Support SIGUSR1 for log rotation (#4502)

Bug Fixes

  • Fixed client reconnect with SSL enabled (#4537)
  • Fixed startup crashes from HTTP_Server/RESTAPI requests (#4518)
  • Fixed memory leaks in Cluster and GTID Binlog Reader (#4546)

v2.6.2 (2024-04-02)

  • AWS RDS MySQL Multi-AZ Cluster auto-discovery (#4490, #4406)
  • SQLite3 password management functions: MYSQL_NATIVE_PASSWORD(), CACHING_SHA2_PASSWORD() (#4479)
  • Daemon restart with exponential backoff (#4480)
  • Fixed invalid free for caching_sha2_password with CLIENT_COMPRESS (#4485)
  • Fixed crash on invalid stmt_id for COM_STMT_EXECUTE (#4481)

v2.6.1 (2024-03-21)

  • Multiple fixes for mysql_servers_ssl_params (#4467)
  • Fixed Prometheus connection_pool metrics reset (#4470)
  • Added session_id to error log for lagging/offline server detection

v2.6.0 (2024-03-04)

Major Features

  • caching_sha2_password Authentication Support:
    • Deprecated admin-hash_passwords
    • New variable mysql-default_authentication_plugin
  • mysql_servers_ssl_params Table: Per-host SSL configuration (#4458)
  • New Web Interface via Web Interface Plugin
  • Enhanced LDAP Support via LDAP Plugin
  • Warnings Handling: SHOW WARNINGS support with control variables (#4365)
  • Group Replication Autodiscovery for MySQL 8 (#4208)
  • Bootstrap Mode for MySQL 8 Group Replication (#4232)
  • ProxySQL Cluster: New synchronization algorithm for mysql_servers (#4169)

Dependency Updates

  • libmariadbclient: 3.1.9 → 3.3.8 (#4407)
  • OpenSSL: 3.1.4 → 3.2.1 (#4360, #4371, #4447, #4448)
  • SQLite3: 3.42 → 3.43.2 (#4363)
  • curl: 7.87.0 → 8.4.0 (#4359)
  • libhttpserver: 0.9.75 → 0.9.77 (#4362)

Version 2.5.x Series

v2.5.5 (2023-08-18)

  • Fixed file descriptor leak with SSL CA certificates (regression from 2.5.1) (#4307)
  • Fixed infinite loop when SSL frontend connection terminated during handshake (#4321)
  • Fixed COMMIT/ROLLBACK filtering after backend errors (#4306)

v2.5.4 (2023-07-19)

  • Reworked SET parser implementation (disabled by default) (#4274)
  • Added SET TRANSACTION ISOLATION LEVEL support (#4280, #4283)
  • Added error code classification for Prometheus MySQL errors (#4290)
  • Fixed utf8mb3 charset crashes (#4269)
  • Fixed read_only_actions crash with OFFLINE_SERVERS (#4288)

v2.5.3 (2023-06-21)

  • Debian 12 support (#4265)
  • SQLite3 3.42.0 (#4263)
  • SSLKEYLOGFILE support via admin-ssl_keylog_file (#4236)
  • New troubleshooting features: mysql-data_packets_history_size, coredump_filters (#4225)
  • Fixed DNS cache configuration file loading (#4235)
  • Fixed invalid reads in fast-forward sessions (#4229)

v2.5.2 (2023-05-12)

  • OpenSSL 3.1.0 (#4165)
  • Weighted flagOUTs for mysql_query_rules (#4202)
  • Monitor read-only actions rework - lighter operations (#4127)
  • Query digest generation optimization (#4096)
  • New mysql-query_rules_fast_routing_algorithm variable (#4182)
  • Core dump generation on demand (x86-64 Linux only) (#4188)

v2.5.1 (2023-03-09)

  • mysql_hostgroup_attributes.init_connect support (#4110)
  • Multiple binlog clients per username (#4105)
  • x509 shared cache for faster SSL connections (#4120)
  • OpenSSL 3.0.8 security update (#4122)
  • Fixed fast_forward encryption for binlog commands (#4114)

v2.5.0 (2023-02-05)

  • Asynchronous parallel fetching for Monitor module (#4063)
  • Group Replication one-thread-per-cluster monitoring (#4082)
  • Native MySQL 8 Group Replication monitoring (#4082)
  • mysql_hostgroup_attributes feature with multiplex/free_connections_pct/throttle (#4091)
  • COM_BINLOG_DUMP/COM_BINLOG_DUMP_GTID/COM_REGISTER_SLAVE support (#3807)
  • Query Cache soft TTL (#4086)
  • Major dependency upgrades (cityhash, clickhouse-cpp, curl, json, etc.) (#4069)

Version 2.4.x Series

v2.4.8 (2023-02-14)

  • Security: OpenSSL 3.0.8 with multiple CVE fixes (#4118)

v2.4.7 (2023-01-18)

  • Fixed SSL connection hangs under edge conditions (#4083)

v2.4.6 (2023-01-12)

  • fast_forward SSL support (#4062)
  • Fedora 37 builds (#4058)
  • Fixed autocommit reporting issues (#4052)
  • Fixed replica shunning when max_replication_lag = 0 (#4077)

v2.4.5 (2022-12-12)

  • OpenSSL 3.0.7 (#4007)
  • RESTAPI improvements (#4046)
  • ProxySQL local DNS Cache feature (#4024)
  • Fixed malformed packet with MariaDB fast_forward (#3996)
  • Fixed compressed packet handling (#3995)

v2.4.4 (2022-09-15)

  • AWS Aurora isolation level fixes (#3976)
  • Fixed multiplexing with cached STMT (#3970)
  • Fixed crashes with high server counts (#3973)

v2.4.3 (2022-08-15)

  • Cluster fetch query processing improvements (#3930, #3921)
  • OpenSSL 3.0.5 performance fix (#3938)
  • ClickHouse 2.1.0 with CLIENT_DEPRECATE_EOF (#3888)

v2.4.2 (2022-06-27)

  • AlmaLinux 9 builds (#3884)
  • Fixed query digest parsing crashes (#3889, #3901)

v2.4.1 (2022-05-13)

v2.4.0 (2022-05-11)

Major Features

  • Session variable transaction_isolation no longer disables multiplexing (#3664)
  • OpenSSL 3.0.2 (#3844, #3675)
  • New mysql-unshun_algorithm variable (#3649)
  • COM_RESET_CONNECTION support for frontend (#3645)
  • Query digest improvements with grouping controls (#3680)
  • Session variable parsing improvements (#3702, #3754)
  • ProxySQL Cluster UUID support (#3305)
  • AWS Aurora auto-discovery
  • New builds: OpenSuse15, AlmaLinux, Fedora34, Ubuntu22

Version 2.3.x Series

v2.3.2 (2021-10-01)

  • Fixed get_multiple_idle_connections() preventing backend pings (#3628)
  • Fixed SET variable parsing with '@@' (#3647)
  • Fixed crashes with client_error_limit and timeouts (#3646)

v2.3.1 (2021-09-16)

  • Fixed Client Error Limit initialization issues (#3627)

v2.3.0 (2021-09-15)

Major Features

  • TLS files runtime reload with PROXYSQL TLS RELOAD (#3552)
  • Enhanced SPIFFE authentication (#3552)
  • Private key support beyond RSA (e.g., EC keys) (#3552)
  • Certificate revocation list (CRL) and multiple CA support (#3577)
  • Client Error Limit auto-blocking feature (#3617)
  • Group replication monitoring improvements (#3533)
  • Per-user default transaction isolation level (#3466)
  • Aurora improvements for replicas with zero lag (#3515)
  • LDAP authentication rework (#3491)

Version 2.2.x Series

v2.2.2 (2021-09-08)

  • Fixed USE statement parsing issues (#3610)
  • Fixed prepared statement NULL value preservation (#3604)
  • Fixed RESTAPI socket fd issues (#3611)

v2.2.1 (2021-09-02)

  • Grave accent support in SET statements (#3479)
  • USE statement comment support (#3493)
  • Fixed memory leaks and corruptions in prepared statements (#3544, #3546)
  • Fixed fast_forward CLIENT_DEPRECATE_EOF mismatch (#3560)

v2.2.0 (2021-06-08)

  • Query annotations evaluation for prepared statements (#3453)
  • LDAP global variables synchronization (#3419)
  • re2 library with -fPIC (#3405)
  • Fixed crashes with invalid metadata access (#3461)
  • Fixed query rules processing for prepared statements (#3427)

Version 2.1.x Series

v2.1.1 (2021-04-21)

v2.1.0 (2021-01-13)

Major Features

  • Built-in Prometheus Exporter: Native metrics endpoint
  • Routing metadata caching prevention for COM_STMT_EXECUTE
  • ProxySQL Cluster SSL support (#2748)
  • Cluster version verification (#2750)
  • Extended cluster synchronization (galera, group_replication, aurora) (#2687)
  • SQLite3 plugin support (#2821)
  • Oracle mysqlsh support (#2854)
  • New attributes column for mysql_users (#3083) and mysql_query_rules (#3088)
  • Initial CLIENT_DEPRECATE_EOF support (text protocol only)
  • Honor wsrep_sst_donor_rejects_queries for Galera (#3227)

Version 2.0.x Series (Selected Major Releases)

v2.0.18 (2021-04-08)

  • Improved prepared statement metadata handling (#1574)
  • Fixed infinite loops and memory issues
  • Fixed connection dropping from PXC readers (#3182)

v2.0.15 (2020-10-29)

  • ARM64 packages and Docker images
  • mysql-max_transaction_idle_time and mysql-max_transaction_time variables
  • Per-thread connection cache re-enabled

v2.0.10 (2020-02-17)

  • Fixed client stalls when no backends available (#2536)
  • Fixed Galera issues with pxc_maint_mode (#2537, #2533)
  • Firewall whitelist fixes (#2534)

v2.0.1 (2019-01-25)

  • MySQL replication hostgroups extended with check_type field
  • GTID causal reads implementation
  • Frontend SSL support
  • Native Galera Cluster support
  • LDAP authentication support
  • DNS cache implementation
  • Security: firewall whitelist and SQL injection engine

Version 1.4.x Series (Selected)

v1.4.16 (2020-01-20)

  • COM_FIELD_LIST support
  • mysql-keep_multiplexing_variables variable
  • Integer overflow fixes

v1.4.1 (2017-08-01)

  • Native MySQL Group Replication support
  • PCRE and RC2 regex engines
  • Background thread for connection reset
  • FreeBSD and ARM CPU support