diff --git a/doc/release-notes/CHANGELOG-3.0.6-4.0.6-commits.md b/doc/release-notes/CHANGELOG-3.0.6-4.0.6-commits.md new file mode 100644 index 000000000..26ab0f095 --- /dev/null +++ b/doc/release-notes/CHANGELOG-3.0.6-4.0.6-commits.md @@ -0,0 +1,842 @@ +# ProxySQL 3.0.6 / 4.0.6 - Categorized Commits + +> **Generated:** 2026-02-23 +> **Total commits:** 725 + +--- + +## Summary by Type + +| **Build** | 14 | +| **Docs** | 11 | +| **Feature** | 242 | +| **Fix** | 192 | +| **Improvement** | 38 | +| **Other** | 93 | +| **Test** | 33 | + +**Total: 623 commits** + +--- + + +## Build + + +### Core (14 commits) + +- `0691b8a85` build: address reviewer feedback and finalize dynamic linking architecture +- `788be4adb` build: restore dynamic linking and configure rpath for shared dependencies +- `ba893e7ce` build: transition libtap to static archive and bundle dependencies +- `9410a60f6` build: make Rust toolchain optional, only required for PROXYSQLGENAI +- `acdd4c91b` build: replace grep -oP with sed -E for macOS compatibility +- `432cdfe49` Modify Makefile to increment major version when PROXYSQLGENAI is enabled +- `08e7c8ce9` chore: Remove data files mistakenly added to root folder +- `9e980d924` update docker build image versions in docker-compose.yml +- `93517540a` Added Makefile for rag_ingest +- `d43ae6e12` Surgical fixes for macOS compatibility: headers, types, and Makefile linking +- `f9c5a00f8` chore: Delete temporary discovery output files +- `7ade08f57` chore: Remove accidentally committed discovery output file +- `82d7f0c87` chore: Ignore discovery output files and remove accidentally committed file +- `83c398307` chore: Remove stale database discovery report files from root + +## Docs + + +### Core (6 commits) + +- `d10cdd3db` Updated macOS build instructions in INSTALL.md and added doc/BUILD-MACOS.md +- `ed65b6905` Remove mistakenly created Doxygen files +- `6fd58a6fd` docs: Update README for v1.3 improvements +- `1193a55e7` docs: Remove Version History section from LLM Bridge README +- `5afb71ca9` docs: Rename NL2SQL documentation to LLM Bridge +- `8a6b7480b` docs: Update NL2SQL documentation for v0.2.0 features + +### MCP (2 commits) + +- `6a2f77784` doc: Document existing `stats` tables and `/mcp/stats` tools & implementation +- `aced26336` docs: Update MCP documentation to reflect current implementation + +### RAG (1 commits) + +- `ea09e9156` Remove inline vector search testing documentation + +### SQLite (1 commits) + +- `194b71889` Update sqlite-rembed integration documentation for tar.gz packaging + +### TSDB (1 commits) + +- `2267ef245` doc: update TSDB documentation + +## Feature + + +### Admin (3 commits) + +- `afd6dffb0` Fix admin shutdown races and implement graceful teardown +- `a17593b99` Add rand5_admin_1 test group environment configuration +- `cc1d93d08` implement admin command 'PROXYSQL FLUSH STATS' for DEBUG builds + +### Core (85 commits) + +- `f36eb318b` test: implement and document internal_noise_mysql_traffic_v2 +- `3f7479bd0` Improve reg_test_2233: Add cleanup and user creation +- `42acaf8ae` Add reg_test_5389-flush_logs_no_drop to test groups +- `17092487c` Add protocol-labeled logger counters and FLUSH LOGS race TAP +- `ab1173ea4` Add TAP test for query rules routing +- `2538e303c` tap ai: add dual-backend static-harvest fixtures and target_id coverage test +- `c133d716b` Improve reg_test_2233: Add SQLite3 Server support and documentation +- `946052099` Add more tests +- `ba5afd0bb` Add TAP test +- `41564acaa` Fix #5355: Add null pointer check in RequestEnd() to prevent use-after-free crash #5355 +- `3d3831565` add --locked to cargo build to ensure reproducibility +- `e3bdd3c07` main: add macOS support for executable SHA1 calculation +- `763d4df53` chore: add scram.c.diff patch reference for security fix v3.0 +- `a94b7d6b2` Add PROXYSQLGENAI support to docker builds +- `70c404901` Add test group environment configurations +- `e351a0df7` feat: Add leading comments (--) detection for 'run_sql_readonly' +- `79ee743a4` Add detailed logging and per-source commits to rag_ingest +- `fe76479cf` add fedora43, remove fedora40 +- `03e58146e` fix: Re-enable SQLite3DB::LoadPlugin() with allow_load_plugin flag +- `5e121399a` fix: Add AFTER UPDATE trigger to keep catalog_fts index in sync for upserts +- `5dd5dbe6b` fix: Add missing assert(proxy_sqlite3_bind_blob) in sqlite3db.cpp +- `18cc24620` fix: Add missing proxy declarations to MAIN_PROXY_SQLITE3 branch +- `7bf912105` sqlite3: fix duplicate proxy declarations and add forward declarations +- `8dc4246bd` Introduce canonical proxy_sqlite3 symbol TU; update lib Makefile; remove MAIN_PROXY_SQLITE3 from main.cpp +- `8e2230c3e` Add FTS_User_Guide.md +- `5b502c086` feat: Add question learning capability to demo agent +- `d228142de` chore: Remove temporary discovery output files and add tmp/ to gitignore +- `ba6cfdc8b` feat: Update demo agent prompt to always pass schema parameter +- `7e522aa2c` feat: Add schema parameter to run_sql_readonly with per-connection tracking +- `a0e72aed0` feat: Add related_objects support to two-phase discovery +- `7faf99329` feat: Update demo agent script to leverage include_objects and add --help +- `ee13e4bf1` feat: Add include_objects parameter to llm_search for complete object retrieval +- `1b42cfbd2` feat: Add empty query support to llm_search for listing all artifacts +- `5668c8680` fix: Implement FTS indexing for LLM artifacts and fix reserved keyword issue +- `8a395b9b4` style: Add spaces around commas in SQL CREATE TABLE statements +- `623675b36` feat: Add schema name resolver and deprecate direct DB tools +- `6f23d5bcd` feat: Implement two-phase schema discovery architecture +- `25cd0b71f` chore: Add comprehensive gitignore for discovery output files +- `3895fe5ad` feat: Add Priority 1 improvements from META agent analysis (v1.3) +- `39b9ce6d5` feat: Add Question Catalog generation to all agents +- `130981d1b` feat: Add SECURITY and META agents to multi-agent discovery +- `aed042ba0` feat: Replace single-agent with multi-agent database discovery +- `a3f0bade4` feat: Convert NL2SQL to generic LLM bridge +- `3032dffed` test: Add NL2SQL internal functionality unit tests +- `49092e9c8` test: Add unit tests for AI configuration validation +- `8f38b8a57` feat: Add exponential backoff retry for transient LLM failures +- `d0dc36ac0` feat: Add structured logging with timing and request IDs +- `45e592b62` feat: Add structured error messages with context to NL2SQL +- `36b11223b` feat: Improve SQL validation with multi-factor scoring +- `c5a7fc31f` Add external LLM setup guide and live testing script +- `3b7033f44` Add vector features verification script +- `637b2a669` feat: Implement NL2SQL vector cache and complete Anomaly threat pattern management +- `782f6cb66` feat: Implement threat pattern management and improve statistics +- `f5c18fd8d` scripts: Add threat pattern documentation script +- `4b0cb9d95` test: Add vector features unit test +- `eccb2bfe4` test: Add integration tests for NL2SQL +- `e2d71ec4a` docs: Add comprehensive NL2SQL user and developer documentation +- `aee9c3117` test: Add E2E test script for NL2SQL +- `a61f709c7` test: Add comprehensive TAP unit tests for NL2SQL +- `4f45c2594` docs: Add comprehensive doxygen comments to NL2SQL headers and LLM_Clients +- `bc4fff12c` feat: Add NL2SQL query interception in MySQL_Session +- `147a05978` feat: Add NL2SQL converter with hybrid LLM support +- `d9346fe64` feat: Add AI features manager foundation +- `fdee58a26` Add comprehensive database discovery outputs and enhance headless discovery +- `22afe6cb6` Add test +- `a1e10e305` Add parameterized PID support for pg_cancel_backend/pg_terminate_backend +- `d73ce0c41` Add headless database discovery scripts +- `14de472a3` Add multi-agent database discovery system +- `2ceaac049` docs: Add logging section to bridge README +- `77099f7af` Debug: Add minimal logging to track stdout writes and tool calls +- `55dd5ba57` Debug: Add detailed stdout write logging to troubleshoot Claude Code timeout +- `5846cd8b4` Add Database Discovery Agent architecture documentation +- `3d827144e` Add required environment variables section to README +- `06aa6d6ef` Add comprehensive Doxygen documentation for connection pool +- `b5598d8d5` Add comprehensive ProxySQL_Poll usage documentation throughout codebase +- `ecfff0963` Add NLP search demo script with comprehensive search capabilities +- `d37d29148` Implement comprehensive StackExchange posts processing with search capabilities +- `d94dc036e` Add StackExchange posts processing script with JSON storage +- `cbf27eb60` Add vec0 KNN LIMIT constraint documentation for Posts embeddings +- `221831afc` Add usage examples to script documentation and help output +- `4aba7137b` Add --local-ollama option for local Ollama server support +- `ffdb334dc` Add WHERE filters to prevent empty input errors and fix SQL syntax +- `36a59f3f5` Add Posts embeddings processing script with exponential backoff +- `8e8363576` Add Posts embeddings setup documentation with optimized batch processing +- `a1dc68833` Add accurate SQLite3 Server documentation + +### FFTO (5 commits) + +- `05b723c25` test: Add descriptive diag messages to all test_ffto_* tests +- `9a630a949` Add extended Doxygen documentation for FFTO classes +- `ea7cbaff5` Finalize FFTO TAP test setup and add startup debug log +- `69acd4b43` Implement FFTO TAP testing suite +- `3a3be5a55` Implement Fast Forward Traffic Observer (FFTO) for MySQL and PostgreSQL + +### GenAI (24 commits) + +- `dd9b761ad` Add GenAI test files to test groups configuration +- `3fe8a48f7` Fix genai variable handling and add API key masking +- `1eb42c57d` fix: Add GenAI variables to runtime_global_variables population +- `51fd51e3f` fix: Add missing GenAI_Thread.h include and fix variables reference +- `a7dac5ef3` feat: Make NL2SQL use async GenAI path instead of blocking calls +- `40b2608c2` feat: Add configuration validation to AI_Features_Manager +- `fec7d6409` feat: Implement NL2SQL vector cache with GenAI embedding generation +- `b77d38c2c` Add comprehensive GenAI module documentation +- `bdd2ef70e` Add comprehensive TAP tests for GenAI async architecture +- `db2485be3` Add comprehensive doxygen documentation to GenAI async module +- `0ff2e38e2` Implement async GenAI module with socketpair-based non-blocking architecture +- `bbad8ab4f` Fix GenAI variable naming and add comprehensive TAP tests +- `39939f598` Add experimental GenAI RERANK: query support for MySQL +- `253591d26` Add experimental GenAI EMBED: query support for MySQL +- `1da9e384d` Add poll() fallback for GenAI module when epoll is not available +- `960704066` Implement real GenAI module with embedding and rerank support +- `f0a32c00b` Add rerank support to GenAI prototype via llama-server +- `aa5361092` Add batch embedding support and scale up GenAI prototype +- `012142eee` Fix event-driven GenAI demo and add early termination +- `11d183a34` Add event-driven GenAI demo +- `89285aa43` Add comprehensive Doxygen documentation to genai_demo.cpp +- `5dad6255d` Add GenAI module prototype +- `99dbd0a35` Add TAP test for GenAI module +- `c476f56f9` Add initial GenAI module placeholder + +### MCP (54 commits) + +- `fbcfd4613` test: Add descriptive diag messages to all test_mcp_* shell scripts +- `b5843e1a8` test: Add visual output for top queries in mcp_show_queries_topk-t +- `4203cbeec` test: Add descriptive diag() messages to all MCP TAP tests +- `723c2daab` fix: Add missing get_mcp_variable function to mcp_runtime_variables-t +- `893ccd2aa` test: Add mcp_runtime_variables-t to verify runtime_global_variables +- `89da8324e` test: Add retry mechanism for MCP server startup in mcp_stats_refresh-t +- `a44c0149f` test: Add missing MCP tests to ai-g1 group in groups.json +- `f93432ab0` TAP MCP stats: add mixed-load profile/churn runners and enhance mixed stress configurability +- `70b61a86e` MCP stats: implement in-memory show_queries Top-K path +- `33fce1ca3` MCP stats: address review findings and add detailed docs +- `0da772a4c` tap groups: add new MCP test assignments to ai-g1 group +- `9ffc3f8d7` mcp tests: add phase-B TAP coverage and optional real Claude CLI E2E runner +- `7e54883ba` mcp query debugging: surface rule-id context for blocks and add backend failure SQL details +- `af0411bd4` MCP: add target-aware rules/stats tests, explain_sql rule coverage, and AI local docker TAP infra +- `013864b36` MCP: introduce profile-based target/auth routing and unified LOAD/SAVE MCP PROFILES commands +- `adb059c4b` mcp/stats: Add doxygen documentation for tool handlers +- `643b322f2` MCP: Add stats endpoint and tools +- `a5ef787c7` feat: Improve logging for MCP and RAG tools +- `c52c621b2` MCP: Add mcp-rag_endpoint_auth config +- `51e91378c` test: Add/Improve TAP tests for MCP query_rules/digests +- `0d5691874` Add full-text search (FTS) tools to MCP query server +- `68a41d6db` MCP: Add handler for prompts and resources +- `a1d9d2f1b` docs: Add comprehensive documentation to MCP features +- `8c9aecce9` feat: Add LOAD MCP QUERY RULES FROM DISK / TO MEMORY commands +- `7e6f9f0ab` fix: Add MCP query rules LOAD/SAVE command handlers +- `f01fc7958` feat: Add runtime_mcp_query_rules table and fix stats_mcp_query_rules schema +- `be675d416` wip: Add interactive MCP query agent demo script using Claude Code +- `2250b762a` feat: Add query_tool_calls table to log MCP tool invocations +- `77643859e` feat: Add timing columns to stats_mcp_query_tools_counters +- `fb66af7c1` feat: Expose MCP catalog database in ProxySQL Admin interface +- `a15be695e` Add GET/OPTIONS handlers for MCP HTTP transport +- `a816a756d` feat: Add MCP query tool usage counters to stats schema +- `ddc4e6570` Add plain HTTP support for MCP server and fix SSL/port restart issues +- `d962caea7` feat: Improve MCP error logging with request payloads +- `53ecda773` fix: Add comprehensive error handling and logging for MCP tools +- `7de3f0c51` feat: Add schema separation to MCP catalog and discovery scope constraint +- `3f44229e2` feat: Add MCP AI Tool Handler for NL2SQL with test script +- `edac8eb5e` Fix: Add verbose logging and fix stdout buffering issue in MCP stdio bridge +- `4491f3ce0` Add debug logging to MCP bridge for troubleshooting +- `01c182cca` Add stdio MCP bridge for Claude Code integration +- `f2ca750c0` Add MCP Database Discovery Agent (initial commit) +- `2ef44e7c3` Add MCP implementation plans for FTS and Vector Embeddings +- `07dc887af` Add MCP Tool Discovery Guide +- `ced10dd05` Implement per-endpoint authentication for MCP endpoints +- `c86a048d9` Implement MCP multi-endpoint architecture with dedicated tool handlers +- `093511920` Add environment variable printing to MCP scripts +- `60d4a7378` Implement automatic MCP server start/stop and add environment variable support +- `a5f712e7d` Add MCP variables documentation +- `5a85ef04f` Fix MCP variables persistence and add DISK command support +- `ef0783178` Add MCP module to admin bootstrap and SHOW MCP VARIABLES command +- `c53b28e42` Add comprehensive documentation to MCP README +- `e9a6dd0b3` Add comprehensive MCP testing suite in scripts/mcp/ +- `221ff2399` Add MySQL exploration MCP tools with SQLite catalog +- `87fff9e04` Add MCP (Model Context Protocol) module skeleton + +### Monitoring (6 commits) + +- `fafe114cf` Fix Prometheus metrics TAP test and add Doxygen documentation +- `3c85c593c` Add GloMTH initialization wait to all monitor and server threads +- `aa53d990e` Add GloMTH initialization wait to all monitor threads +- `e94f9281c` feat: add friend declaration for MetricsCollector to access MyHostGroups +- `d90be4080` Add documentation for Prometheus protocol labels feature +- `2b0c74189` Add TAP test for FLUSH STATS commands + +### MySQL (5 commits) + +- `1b322ed2b` add comprehensive test suite for SQLite Server via MySQL protocol +- `ad2e2a24d` Add native MySQL mode support to test database setup +- `4eab51984` Implement MySQL connection pool for MySQL_Tool_Handler +- `95a95cb47` Add script to copy StackExchange Posts table from MySQL to SQLite3 server +- `2b44aaa58` add protocol labels for shared metrics between mysql and psql + +### Noise (9 commits) + +- `9f0d9d99c` test: add test_noise_injection-t to default-g3 group in groups.json +- `378c13cdd` test: add existence checks for DB and tables in v2 noise routines +- `3710bb621` test: implement multi-table and protocol support in v2 noise routines +- `df76a3dc0` test: implement comprehensive noise injection across MySQL TAP tests +- `d1d7f4df9` test: implement configurable delays and unambiguous logging in noise v2 +- `f15a7028a` test: implement detailed noise failure reporting and enhanced REST poller +- `925cc1a90` test: add test_noise_injection-t to verify noise framework +- `1dbd2d860` Implement Robust Noise Injection Framework for TAP Tests +- `3018a3e0e` Implement Noise Injection framework for TAP tests + +### PostgreSQL (17 commits) + +- `0f3fa7bb0` Add cross-protocol internal noise routines (MySQL + PgSQL) +- `3abc81925` Expand internal noise routines and add PostgreSQL support +- `1c25787b8` Introduce {mysql,pgsql}-query_processor_first_comment_parsing variable (#5384) #5384 +- `deccf0ae0` TAP MCP stats: add MySQL stress test and mixed MySQL+PgSQL concurrent stress test +- `e762f91cd` MCP stats: add in-memory processlist filtering and PgSQL concurrency stress TAP +- `97e5cfee9` docs(doxygen): expand PostgreSQL logger API documentation for new advanced logging components +- `258699547` tap(pgsql): add end-to-end test for eventslog automatic buffer-to-disk sync +- `1edf1f8e8` Add PostgreSQL advanced logging TAP coverage and rewrite architecture doc +- `b100235fb` Add PGSQL eventslog dump commands and periodic disk sync scheduling +- `acbd7d0df` Implement PostgreSQL eventslog circular buffer and sink pipeline +- `2a46c239b` Add PostgreSQL advanced eventslog schema and variable scaffolding +- `49da3fb07` Created new group 'pgsql17-repl' +- `9685cdaa4` mcp discovery: enforce target-scoped run model and add protocol-aware static harvesting (mysql+pgsql) +- `331b0d6bc` Add support for PostgreSQL psql meta-commands in admin interface +- `3ab964010` Add protocol labels to Query Cache metrics and enable PostgreSQL QC metrics +- `778e01174` Add protocol labels to Thread Handler metrics and enable PostgreSQL metrics +- `a892d9a05` Add pgsql-parameterized_kill_queries_test-t test to groups.json + +### RAG (19 commits) + +- `8d022a0fc` RAG: Add 'model' request parameter for embedding service +- `591f4bc9b` RAG: Add system prompt for agentic workflow +- `d66248eb4` add verbose logging for bulk embedding operations +- `a5edd4ad9` Add comprehensive RAG ingestion usage guide +- `7167f9524` AI: Enable extensions for vector_db +- `5fd779464` Add embedding testing plan documentation +- `ff50e834f` Implement batch embedding generation in rag_ingest +- `bc33c3329` Add vec embedding handling with stub and OpenAI providers Added rag_sync_state implementation +- `ad166c6b8` docs: Add comprehensive Doxygen documentation for RAG subsystem +- `55715ecc4` feat: Complete RAG implementation according to blueprint specifications +- `3daaa5c59` feat: Implement RAG (Retrieval-Augmented Generation) subsystem +- `803115f50` Add RAG capability blueprint documents +- `2888ee3f4` Fix gemini-code-assist recommendations and implement comprehensive anomaly detection tests +- `f226c0e68` feat: Implement embedding-based threat similarity for Anomaly Detection +- `0be971518` test: Add comprehensive tests and documentation for Anomaly Detection +- `52a70b0b0` feat: Implement AI-based Anomaly Detection for ProxySQL +- `af68f347d` fix: Add missing verbosity level to proxy_debug call in Anomaly_Detector +- `223dcf51d` Add vector search testing framework with modular scripts +- `d4f838519` Add comprehensive vector search testing guide + +### SQLite (9 commits) + +- `2af3b0d33` Add notes about Valgrind and SQLite memory management +- `dde69e763` add sqlite-rembed to cleanall +- `8a1732d15` Add SQLite Server verification on connect +- `0372556f2` Enable SQLite FTS5 support for full-text search +- `612ef326b` Fix sqlite-rembed demonstration scripts and add environment variable support +- `e75bd7c84` Add comprehensive sqlite-rembed examples and documentation +- `9f30d85e1` Add tar.gz packaging for sqlite-rembed dependency +- `d55947b49` Add comprehensive documentation for sqlite-vec integration +- `fbd0d9732` Add sqlite-vec static extension for vector search in ProxySQL + +### SSL (1 commits) + +- `76822032a` feat: Add SSL/HTTPS support to MCPClient and fix mcp_stats_refresh-t + +### TSDB (5 commits) + +- `95b46cf21` tests: add TSDB API and UI verification test +- `2d51aeff6` tsdb: correctly implement SHOW TSDB commands and variable initialization +- `6404d7b36` tsdb: implement SHOW TSDB VARIABLES and SHOW TSDB STATUS +- `c73011b30` tsdb: implement REST API and basic UI dashboard +- `f17e99983` Implement SQLite-based TSDB subsystem + +## Fix + + +### Admin (5 commits) + +- `03f5f9b31` test: fix test_admin_stats-t failure by clearing persistent history +- `932e07464` Fix reg_test_3847_admin_lock-t by using correct admin credentials and adding diagnostics +- `c5f370ba4` Fix crash on NULL resultset in admin_large_pkts test +- `79756e78d` Fix missing #endif for PROXYSQLGENAI guard in Admin_Handler.cpp +- `9f07e9631` fix: Use prepared statements in ProxySQL_Admin_Stats to prevent SQL injection + +### Core (101 commits) + +- `6be9dd1bf` fix: Address AI code review feedback from PR #5410 #5410 +- `26d3d1fce` fix: Skip failing tests in issue5384-t due to feature regression +- `b143f61b9` fix: Fix issue5384-t test - column name and result handling +- `89646984e` fix: Check transport success instead of is_success for disabled tool test +- `9b5d52308` fix: Use legacy prepare_v2 for conditional statement preparation +- `de60fe2b3` fix: Use db->execute() for runtime_global_variables inserts +- `7479f2168` fix: Only prepare runtime_global_variables stmt when runtime=true +- `79c0b383e` integration: fix pre-CI issues in unified branch +- `3ccf0982e` AI: Fix retry logic bug and synchronize TAP tests +- `3240a3a94` Fix SIGSEGV caused by double-finalize of sqlite3_stmt +- `a1f97a4e4` Fix test_match_eof_conn_cap failures due to audit log buffering and rotation +- `8073b19e0` Fix test_cluster_sync-t failure by skipping non-existent global variable +- `7b33b282b` Fix compilation error in issue5384-t TAP test +- `458b0db31` Fix reg_test_2233: Use match_pattern in diagnostic query +- `1375d4fe8` Fix reg_test_2233: Set default_schema='main' for test user +- `43117471b` Fix TAP plan count and variable-restore fallback +- `2c4287b7a` Fix TAP plan count in flush logs race test +- `eaadabbb8` logger: fix thread-context map race in buffered logging +- `db40505d1` Fix #2233: Mirror sessions destination_hostgroup overwritten by fast routing #2233 +- `37e72ea3f` Fix PROXY protocol detection in MySQL_Data_Stream::read_from_net +- `11a43bf76` Fix uninitialized max_allowed_pkt in MySQL_Connection constructor +- `d42d89ae3` Fix TAP test when statement count after worker threads is below cache limit. Calculate dynamically how many statements to create to ensure we exceed CACHE_LIMIT (1024) and trigger a purge. +- `1cccfb322` Fix connection cleanup in failure paths +- `941e6b732` Fix filters_rwlock initialization race condition +- `09d0dcb80` Fix uninitialized tmp_charset in Data_Stream constructors +- `7c67eb25f` Fix uninitialized fd and status in Data_Stream constructors +- `4e39297ef` Fix more Valgrind uninitialized value errors +- `fdbea2a32` Fix uninitialized memory in Command_Counter::_counters +- `c2f82b3d4` Fix more Valgrind uninitialized value errors +- `ee7ee0b38` Fix multiple Valgrind-reported uninitialized memory issues +- `af58865b0` Fix uninitialized memory in QueryParserArgs.buf +- `335be9ec7` Fix unsafe sprintf and error message handling +- `368a9e3a6` Fix log_buffer debug leak during shutdown +- `da7c8e5cf` Fix missing variable +- `4ae5bd852` Revert "fix: prevent dangling pointer in flush_*_variables___runtime_to_database" +- `17054cd14` fix: memory leak in pull_global_variables_from_peer +- `a20b2704f` fix: prevent dangling pointer in flush_*_variables___runtime_to_database +- `6f415dfdb` fix: correct RAII migration issues - variable naming and redundant declarations +- `e3ee45436` fix: remove duplicate 'int rc' declarations in prepare_v2 migrated functions +- `df1c4e792` fix: medium priority warnings - write-strings and unused variables +- `4c788dcbb` fix: signed/unsigned comparison warnings (-Wsign-compare) +- `9e83a81b4` fix: critical use-after-free in child_telnet function +- `c45fabdb6` fix: correct macOS executable SHA1 implementation +- `c29c77fef` fix: resolve high vulnerability c.lang.security.insecure-use-strtok-fn.insecure-use-strtok-fn +- `a57b43286` Fix TAP test builds with PROXYSQLGENAI +- `b965fc6df` Fix PROXYSQLGENAI build - resolve circular includes and missing headers +- `02f2ff5e2` Fix logging system: remove stderr bypass, thread-safe timestamps, and std::tolower UB +- `87d8c2507` Reapply "fix: 'SQLITE_CONFIG_URI' not being set on 'LoadPlugins'" +- `35b316d4f` Fix absolute paths in documentation +- `48260cbf0` Revert "fix: 'SQLITE_CONFIG_URI' not being set on 'LoadPlugins'" +- `df221617c` fix: 'SQLITE_CONFIG_URI' not being set on 'LoadPlugins' +- `950f163bf` Fix compilation issues: use static libcurl and improve includes +- `38e5e8e56` Fix critical issues from coderabbitai review +- `c914feb23` Fix security issues identified in PR #5312 code review #5312 +- `a3afde347` fix: Address copilot review concerns for Discovery_Schema.cpp +- `5d4318b54` fix: Address coderabbitai review concerns for PR #27 +- `ffe569036` fix: Address coderabbitai review - use-after-free, missing responses, SQL injection +- `5ece56351` fix: Correct SQL prepared statement API usage and template variable access +- `bbc04974f` fix: Fix mysql_query failure path and affected_rows race condition +- `b3edc6524` fix: Escape SQL strings in harvest_view_definitions +- `6835713f1` fix: Correct column indexes in build_quick_profiles +- `e9abee625` fix: Execute prepared statement in execute_parameterized_query +- `6305537ba` fix: Use delete instead of free for SQLite3_result deallocation +- `bd6d34f52` fix: Address SQL injection vulnerabilities from PR #26 review +- `d7b2fea89` fix: Remove MAIN_PROXY_SQLITE3 defines from tests (v3.1-MCP2 compatibility) +- `02918d18b` Fix PR #25 Review: All AI code reviewer feedback addressed +- `a10c09bcc` Fix PR #21 review: Security, memory safety, thread safety, and code cleanup +- `709649232` fix: Address AI code review concerns from PR #19 +- `23aaf80cd` fix: Address AI code review concerns for PR #19 +- `5d08deca7` Fix AI agent review issues +- `9b66224df` Fix critical double-free bug, SQL injection vulnerability, and hardcoded path +- `f7397f633` Fix catalog search to use FTS5 and enhance test suite +- `f449c4236` fix: Improve question learning fallback and error logging +- `ee74384c7` fix: Prevent llm.search from returning huge object lists in list mode +- `73d3431c9` fix: Use heredocs for system prompt to preserve special characters +- `7c9328017` fix: Escape SQL reserved keyword 'limit' in llm_search_log table +- `4a858521c` Fix JSON-RPC ID type +- `393967f51` fix: Use row->cnt instead of row->fields_count +- `757cdaff1` fix: Improve error logging and fix llm.domain_set_members +- `1b7335acf` Fix two-phase discovery documentation and scripts +- `f9270e6c8` fix: Correct two_phase_discovery.py usage example in docs +- `da0b5a5cf` fix: Correct log message from 4-agent to 6-agent discovery +- `4df56f1c4` fix: Increase default timeout to 1 hour and improve error handling +- `1a8b406d9` fix: Correct SQL query for AI variables in vector features test +- `6d2b0ab30` test: Fix vector keyword conflict in NL2SQL unit tests +- `1d046148d` Fix: Address code review feedback from coderabbitai and gemini-code-assist +- `606fe2e93` Fix: Address code review feedback from gemini-code-assist +- `f4a4af8d8` Fix: Write directly to stdout.buffer to bypass TextIOWrapper issues +- `f5606986f` Fix: Replace stdout with truly unbuffered wrapper to prevent response buffering +- `fc6b462be` Fix: unwrap ProxySQL nested response format +- `d504c93b4` Fix formatting in proxysql.cfg +- `119ca5003` Fix compilation errors in debug build +- `22db1a5fd` Fix JSON value extraction in Query_Tool_Handler::execute_tool +- `acb4c57db` Fix case sensitivity issues in MySQL_Tool_Handler::execute_query +- `904283330` Fix critical use-after-free bug in MySQL_Tool_Handler::execute_query +- `d17fe1dba` Fix configure_mcp.sh error handling and endpoint paths +- `b3646b479` Fix argument parsing and documentation in setup_test_db.sh +- `33a87c66a` Fix critical issues identified by gemini-code-assist +- `62cbd6c71` Fix issues identified in AI code review +- `172bf9f48` Fix int overflow if the first server is invalid +- `db4f7d9c7` Fix delete connection with incorrect index + +### FFTO (5 commits) + +- `96b1a8ff3` fix: Fix test_ffto_pgsql-t test failures +- `db04a54c9` Fix memory corruption and stack overflow in FFTO due to large queries +- `40aff577a` Complete FFTO implementation with verified metrics and robust error handling +- `3dfd6a97d` Fix FFTO metric parity: capture and report affected_rows and rows_sent +- `3ca390dac` Fix binary protocol support for prepared statements in FFTO + +### GenAI (13 commits) + +- `471ebca74` fix: GENAI modules fails to initialise +- `1af768f93` Fix critical issues in GenAI code (PR #5339) #5339 +- `fec97bbab` fix: Fix GENAI variable loading during 'ProxySQL_Admin::init' +- `cecb975f6` fix: LOAD GENAI TO RUNTIME does not initialize the module +- `fd5d433a2` fix: Missing header in ai_llm_retry_scenarios-t +- `f45506e0b` fix: Missing header in ai_llm_retry_scenarios-t +- `6ffb59b85` fix: Use db parameter instead of hardcoded admindb in GenAI database_to_runtime +- `4018a0ad3` fix: Follow MCP pattern for GenAI variables runtime table population +- `1ea67900a` fix: Populate runtime_global_variables for GenAI variables on startup +- `349320a67` docs: Fix NL2SQL documentation with genai variables and async architecture +- `527bfed29` fix: Migrate AI variables to GenAI module for proper architecture +- `1c7cd8c2b` fix: Correct PROXY_DEBUG constant from AI_GENERIC to GENAI +- `59f0b8b1f` Fix GenAI module admin commands - correct character check + +### MCP (27 commits) + +- `b4c80bb31` fix: Disable CTE test in mcp_query_run_sql_readonly-t for MySQL 5.7 +- `fa6b89093` fix: Fix mcp_module-t test failures +- `70647fb42` fix: Remove unused legacy mcp-mysql_* variables +- `8b1fb84d5` fix: Populate runtime_global_variables for MCP variables +- `998bd8238` MCP TAP startup: fix tool-handler initialization order, improve MCP PROFILES observability, and seed monitor users +- `4d4bb9dec` fix: Improved MCP rule testing and helpers +- `50de53653` MCP: Fix crash during server restarts +- `7b6966b9c` fix: Complete JSON escaping in fingerprint_mcp_args +- `3bcee2270` fix: Execute MCP query rules DELETE+INSERT as explicit transaction +- `188aef90f` fix: Use delete instead of free for SQLite3_result in load_mcp_query_rules_to_runtime +- `52142c464` fix: Multiple issues with MCP query_(rules/digests) +- `c092fdbd3` fix: Load re_modifiers field from database in load_mcp_query_rules() +- `cc3cc2553` fix: Remove unused reset parameter from stats___mcp_query_rules() +- `24d2bb2c8` fix: Enforce MCP catalog usage and prohibit Write tool for agent findings +- `01f08ea90` Fix a crash (SIGABRT) that occurred when reloading MCP variables while the MCP server was already running. The issue was caused by improper cleanup of handler objects during reinitialization. +- `f85290036` Fix: Correct MCP catalog JSON parsing to handle special characters +- `49e964bb0` Fix: Make ProxySQL MCP server return MCP-compliant tool responses +- `9b4aea047` Fix: Wrap tools/call responses in MCP-compliant content format +- `2b5134632` Fix: Wrap tool results in TextContent format for MCP protocol compliance +- `6d83ff168` Fix: unwrap ProxySQL response format in MCP tools and fix config syntax +- `ef5b99edb` Fix MCP tool bugs: NULL value handling and query validation +- `de33d177b` Fix verbose mode in test_mcp_tools.sh +- `aeafa61a1` Fix test_mcp_tools.sh to use correct MCP endpoint paths +- `2e7109d89` Fix lock ordering in flush_mcp_variables___database_to_runtime +- `2874c9ad5` Fix flush_mcp_variables___database_to_runtime to populate runtime_global_variables +- `b032c3f69` Fix boolean literal handling in SET command for MCP variables +- `81c53896b` Fix MCP module TAP test failures + +### Monitoring (5 commits) + +- `85952373d` Fix uninitialized mondb pointer in MySQL_Monitor_State_Data constructor +- `f4cd34be5` Fix race condition in monitor_connect_thread +- `52718df11` Fix memory leak in stats processlist functions +- `3d3dc1732` fix test logic and stats reset +- `ae4200dbc` Enhance AI features with improved validation, memory safety, error handling, and performance monitoring + +### MySQL (5 commits) + +- `bed851471` Fix MySQL Monitor assertion failure in DEBUG builds +- `1a7668b73` fix: SQLite3 server support for MySQL client '8.1.0' +- `bd16436ea` Fix MySQL 8.4 build on macOS with C++20 compatibility patch +- `7f957088e` Fix configure_mcp.sh to allow empty MySQL passwords +- `40cff23c3` Initialize MySQL Tool Handler and fix default MySQL port + +### Noise (1 commits) + +- `496f67c7a` Enhance Noise Injection robustness and error handling + +### PostgreSQL (11 commits) + +- `630277ed3` fix: Fix pgsql-issue5384-t test and skip failing tests +- `82a28a2e6` fix(pgsql-eventslog): close remaining minor review findings in logger internals +- `6db089883` fix(admin): improve PGSQL eventslog dump failure reporting and stats insert path +- `0aa3c5e15` fix(pgsql-eventslog): harden event ownership and keep newest rows in memory table +- `eba795d72` fix(pgsql-eventslog): make dump-to-memory sizing protocol-agnostic across admin ports +- `2fa1401b0` MCP query+harvest hardening: HGM-based target routing, weighted backend selection, pgsql schema fix, and TAP robustness +- `ca4f858b2` Fix uninitialized memory read in pgsql tokenizer +- `fcaa90413` fix: crash on macOS/FreeBSD when running PostgreSQL queries +- `230985e93` Fix: PostgreSQL prepared statement purge race condition +- `e3026cbc6` Fix wrong index in connection cleanup loops (MySQL and PgSQL) +- `9ec045ca7` Fix PostgreSQL deadlock with Close Statement flood exceeding threshold_resultset_size + +### QueryProcessor (3 commits) + +- `178f679fa` fix: Handle optimizer hints /*+ */ correctly in query tokenizers +- `ca73b9ece` Tokenizer: fix type mismatch for grouping limit variables +- `deb19a021` fix: remove double-finalization in stats___save_mysql_query_digest_to_sqlite + +### RAG (8 commits) + +- `0e605f417` build: fix anomaly_detection-t linking for PROXYSQLGENAI +- `eb495f42e` AI: Fix vector_db table creation +- `4031f8539` AI: Fix vector_db initialization +- `2a614f817` fix: Missing headers and format strings in vector_db_performance-t +- `0dc353174` fix: Linking issues for anomaly_detection-t TAP test +- `d61381643` fix: Missing headers and format strings in vector_db_performance-t +- `b9a70f85a` fix: Linking issues for anomaly_detection-t TAP test +- `1dc5eb658` fix: Fix RAG implementation compilation issues + +### SQLite (2 commits) + +- `253d09865` security: fix SQL injection vulnerabilities in SQLite catalog queries +- `22c4e94d5` AI: Fix sqlite-vec extension loading + +### TSDB (6 commits) + +- `ef397f9f1` Fix TSDB variable patterns and backend monitor runtime source +- `700459f67` tsdb: address AI code review feedback, fix memory safety and logic bugs +- `a09db8318` tsdb: fix SET command validation by adding tsdb- prefix support +- `685b92cea` tsdb: fix crash due to invalid SQL in tsdb_backend_health macro +- `c3e1a02fe` tsdb: fix crash due to invalid SQL in table definition macros +- `4e0f94a34` tsdb: fix compilation error in ProxySQL_Admin.cpp + +## Improvement + + +### Admin (8 commits) + +- `7c0ff770f` refactor: migrate prepare_v2 SIMPLE cases in ProxySQL_Admin_Stats.cpp +- `5b6381b32` refactor: migrate remaining prepare_v2 SIMPLE cases in ProxySQL_Admin +- `2a83a3097` refactor: migrate more prepare_v2 SIMPLE cases in ProxySQL_Admin +- `ca9b72a9d` refactor: migrate more prepare_v2 SIMPLE cases in ProxySQL_Admin +- `e56da24c8` refactor: migrate more prepare_v2 SIMPLE cases in ProxySQL_Admin +- `575449cdf` refactor: migrate all prepare_v2 SIMPLE cases to RAII API in ProxySQL_Admin +- `7c2c6121e` refactor: migrate prepare_v2 to RAII API in ProxySQL_Admin_Tests2 +- `2c8c27bf6` refactor: migrate prepare_v2 to RAII API in Admin_FlushVariables + +### Core (14 commits) + +- `9eac5f642` Improve async ping mmsd ownership tracking and pool validation +- `e76d9dc13` Cleanup +- `15a4ed66e` Optimize query logging performance (#5243) #5243 +- `ac71e12a9` refactor: migrate RSA key generation to OpenSSL 3.0 EVP_PKEY API +- `73555410e` refactor: migrate prepare_v2 SIMPLE case in FlushDigestTableToDisk template +- `2e907bdd3` refactor: migrate prepare_v2 SIMPLE cases in ProxySQL_Cluster.cpp +- `926208906` refactor: migrate prepare_v2 to RAII API in MySQL_Logger +- `4161372da` refactor: migrate simple prepare_v2 cases to RAII-based API +- `62bc15fd8` Improve macOS build system OpenSSL detection and documentation +- `df0527c04` refactor: list_schemas to use catalog instead of live database +- `527a748d1` refactor: Remove describe_table tool completely +- `897d306d2` Refactor: Simplify NL2SQL to use only generic providers +- `b627f836f` Refactor: Reorganize headless discovery scripts to dedicated directory +- `9d6a2173b` Enhance Rich CLI with configurable LLM chat path and better tracing + +### FFTO (3 commits) + +- `51a039507` Comprehensive FFTO Enhancements: Performance, Robustness, and Security +- `1258a1f2f` Address PR reviews: improve performance, safety, and robustness of FFTO +- `83a631bb1` Enhance FFTO documentation with verification steps and performance details + +### MCP (1 commits) + +- `35b0b224f` refactor: Remove mcp-catalog_path variable and hardcode catalog path + +### Monitoring (3 commits) + +- `e4704c5a5` refactor: migrate prepare_v2 SIMPLE cases in PgSQL_Monitor.cpp +- `f779a6059` refactor: migrate remaining prepare_v2 SIMPLE cases in MySQL_Monitor +- `bdba0b44a` refactor: migrate all prepare_v2 SIMPLE cases to RAII API in MySQL_Monitor + +### PostgreSQL (3 commits) + +- `ee85b11ad` refactor: migrate prepare_v2 SIMPLE case in PgSQL_HostGroups_Manager.cpp +- `854ab4fbb` refactor: migrate generate_pgsql_hostgroup_attributes_table() to RAII prepare_v2 +- `9939fe17e` refactor: migrate generate_pgsql_servers_table() to RAII prepare_v2 + +### RAG (3 commits) + +- `b5807fe14` RAG: Improve system prompt, replace hardcoded values with env vars +- `09bd69eed` RAG: Improve system prompt, include SQLite server interface +- `3f25fb6c4` Enhance anomaly detector unit tests with additional edge case coverage + +### TSDB (3 commits) + +- `488255923` Cleanup: Uncomment delete statsdb_disk in ProxySQL_Statistics destructor +- `b8c6b4f57` tsdb: address code review comments and improve stability +- `5f5b7d604` tsdb: improve administrative interface and command support + +## Other + + +### Core (51 commits) + +- `0f2d606dd` Update test_log_last_insert_id-t to handle query log buffering +- `194e20b3e` Revert "Reset current_hostgroup to default when no query rule matches" +- `c1035dd90` Update .gitignore to ignore .gemini and other workspace files +- `c5191d21f` logger: avoid log drops during rotate close/open window +- `1f0756b59` Correct bytes_sent tracking for extended query protocol +- `caf324f91` logger: harden buffered logging flush/rotation semantics +- `db5f1ea49` Track query count for extended query protocol executions +- `1b3d20388` Reset current_hostgroup to default when no query rule matches +- `e1d420187` Simplify reg_test_2233: Use only SQLite3 Server as backend +- `4f615da7c` Remove commented build rule for reg_test_2233 +- `200fdecb8` Apply AI agent review fixes to PR #5374 #5374 +- `71143c2e8` Address AI review comments +- `746eca9f7` More sprintf to snprintf conversions and indentation fixes +- `3e3733787` Use RAII for sqlite3 statements across codebase +- `ba86be70a` Fixed some bugs in PR 5358 +- `a69b92593` Minor typo fixes +- `091942e9d` Address AI review suggestions +- `2d3d12b9a` Address review comments from gemini and coderabbit +- `c092e557b` build_deps with PROXYSQLGENAI=1 when needed +- `557bdb621` Added missing iterator advancement +- `844a645db` update fedora build image versions +- `18c9c35b1` replace 'which' with 'type' to check for rustc toolchain +- `b141af922` Prevent double version increment when PROXYSQLGENAI is enabled +- `b269d9c71` Remove Fedora 41 support (EOL) +- `3da50e059` Initial plan +- `07154ca66` Empty commit to differentiate from v4.0_rag_ingest_2 +- `9ba3df0ce` Address AI code review feedback from PR #5318 #5318 +- `3ccfa2bcc` Address AI code review feedback for PR #5313 #5313 +- `2f6b058f7` Added test_rag_ingest.sh +- `fb3673dd9` added sample sql files +- `57d8c3f3b` Make rag_ingest compile +- `dd885bd1f` bump version to 4.0.0 +- `6ce053848` Keep main.cpp only; remove accidental backup from commits +- `f877366a6` Restore commented SQLite3DB::LoadPlugin reference with TODO +- `4f0e6e0a4` Disable sqlite3 plugin function replacement; warn instead +- `0db022a17` Apply fixes +- `2dfd61a95` Replace remaining direct sqlite3_* calls with proxy_sqlite3_* equivalents (address code-review) +- `fdb8dfb15` Build system: Darwin-specific fixes and strict platform parity +- `bf429f0a5` Fixed multiple issues +- `7564306e1` Handledwq "notifications/initialized" method +- `6dd2613d6` Move discovery docs to examples directory +- `b41a135e0` bump version to 3.0.6 at the beginning of the development cycle +- `67cbe4645` Simplify PID extraction +- `5066ddd18` Removed isdigit +- `ce42c188f` Improvements +- `a47567fee` Revert: Restore original bridge completely +- `ad54f92dc` Revert: Simplify tool handlers back to original pass-through +- `b9175f848` Fixed reg_test_5233_set_warning-t +- `49e6ac5bc` Revert configure_mcp.sh to respect environment variables +- `28742554b` Use relative catalog path instead of absolute path +- `f561d83ba` Avoid usage of deleted connection + +### FFTO (1 commits) + +- `f3d4153e7` Final FFTO implementation and verification fixes + +### GenAI (6 commits) + +- `5519080ac` mcp stats: address review findings and remove --genai CLI flag +- `fdccb7c03` Export PROXYSQLGENAI to support building all packages with GenAI +- `840502712` Integrate GenAI async event handling into main MySQL session loop +- `a82f58e22` Refactor GenAI module for autonomous JSON query processing +- `fa301948b` Remove genai_demo_event binary from tracking and update .gitignore +- `2c0f3a2e6` Evolve genai_demo_event to working POC with real embeddings + +### MCP (17 commits) + +- `797d4b580` mcp stats: move show_users to in-memory auth snapshots +- `5d45d1745` mcp stats: split connection metrics from debug free-pool snapshots +- `c126e63a2` mcp stats: refresh stats tables under admin mutex before direct reads +- `ade0130e6` discoveryagent: update Claude Code headless flow for target_id-scoped MCP tools +- `8fbd570c7` mcp variables: stop writing runtime_global_variables during LOAD MCP VARIABLES TO RUNTIME +- `f15460348` mcp query diagnostics: include runtime hostgroup status breakdown when target lacks ONLINE backend +- `f4bc1943f` mcp query diagnostics: restore strict ONLINE requirement and explain target non-executable failures +- `49f811a63` mcp query: stop misclassifying reachable targets as non-executable +- `6a788e48c` mcp: make /mcp/query self-healing when targets/backends appear after startup +- `7f19b642c` MCP: Rewrite stats tool handlers based on updated spec +- `e450f1b30` MCP: Handle DELETE method +- `2f38def40` MCP: Handle client notifications properly +- `155a77f96` MCP: Bump protocolVersion to 2025-06-18 +- `25cda31f0` Update test_mcp_tools.sh with dynamic tool discovery +- `991f0138d` Reinitialize MySQL Tool Handler when MCP variables change +- `b70b07ead` Skip checksum generation for MCP until feature is complete +- `245e61ee8` Make MCP_Threads_Handler a standalone independent class + +### Monitoring (1 commits) + +- `b4e85f179` Expose PostgreSQL eventslog metrics in stats and Prometheus + +### MySQL (3 commits) + +- `20d6282a6` build(clean): ignore and remove generated MySQL parser artifacts +- `211179bdc` rag_ingest: Rewrite to use MySQL protocol (Sqlite_Server) instead of SQLite3 API +- `949eda1cc` generate postgres metrics in addition to mysql metrics + +### PostgreSQL (4 commits) + +- `90462f6d5` ffto: harden MySQL/PgSQL observer state handling and align tests/docs +- `6f5a22f66` docs(internal): update PGSQL advanced logging architecture validation section with auto-dump E2E coverage +- `61ce0a96e` Remove redundant sqlite3_finalize calls in pgSQL stats +- `010296583` Convert PostgreSQL patches to unified diff format + +### RAG (3 commits) + +- `10026891c` RAG: Convert vector similarity search into a subquery +- `bc7098893` Added Chunking and Embedding guide +- `e4f4dc95c` RAG: bm25 and MATCH do not work with table alias + +### SQLite (3 commits) + +- `a24b8adaa` Use proxy_sqlite3_* for SQLite calls in Anomaly_Detector.cpp (address PR review) +- `5a6520ad7` Ignore extracted sqlite-rembed source directory +- `01d654692` Integrate sqlite-rembed for text embedding generation + +### SSL (1 commits) + +- `855474213` Avoid send close in ssl connections + +### TSDB (3 commits) + +- `3bb233e80` tsdb: commit missing REST API safety fixes +- `6587bfdd4` tsdb: trigger stats refresh on SHOW TSDB STATUS +- `a236a1378` tsdb: dedicated module for TSDB variables with tsdb- prefix and optimized background tasks + +## Test + + +### Core (8 commits) + +- `4f94815e3` build: update .gitignore to exclude test artifacts and temp build files +- `2dda65ca0` Move deprecated TAP test to test/tap/deprecated/ +- `50858d03a` Adding tests in tap group +- `267b24e17` Added regression test +- `d47e196fc` Added rag_chunks and rag_fts_chunks test +- `c2337d22b` Added regression test +- `23e5efca5` Test: Don't redirect sys.stderr, write logs directly to file +- `de3fd05a5` Reverted change to test/tap/tests/.env + +### FFTO (2 commits) + +- `e53d2c76f` Address PR #5410 review findings across FFTO, sessions, TAP, and docs #5410 +- `2759006f7` Cleanup FFTO tests: remove redundant subdirectories and orchestration scripts + +### MCP (6 commits) + +- `27294a0ac` test: Increase PROXYSQLTEST 1 rows from 20 to 100 in mcp_show_queries_topk-t +- `b46fb575e` TAP MCP client: port PR5372 coverage to MCP profiles/target_id routing model +- `67cb1b72b` MCP TAP: pass target_id explicitly in query-rules test payloads +- `4a8b22403` MCP TAP/docs: migrate tests and documentation from legacy MCP mysql vars to profile-based routing +- `c5db31bf9` test: Improve testing for MCP and RAG tools +- `33a100c1d` Use relative path mcp_catalog.db in MCP test instead of absolute /var/lib/proxysql path + +### Noise (7 commits) + +- `e8253cac1` test: extend summary reports for v2 noise routines +- `00fef8d82` test: expand v2 noise routines with multi-table and protocol support +- `a00abfa36` test: expand noise injection to 20+ TAP tests and update build system +- `ceb89fb91` test: inject background noise into multiple TAP tests +- `43d535465` test: enhance noise framework with specialized parameters and REST poller +- `2b857cd4b` Update NOISE_TESTING.md with dynamic options and TAP plan details +- `ddc06660a` Integrate background noise into major TAP tests + +### PostgreSQL (6 commits) + +- `06a067baf` test: expand noise injection to more PostgreSQL tests +- `0ffeeacd8` test: harden MySQL and PgSQL v2 noise routines +- `3a2513c73` test: inject MySQL v2 and Prometheus noise into PostgreSQL tests +- `09284faea` test: refine PgSQL noise v2 and update integrated tests +- `2a1b19916` test(tap): register pgsql_query_logging_autodump-t in test groups +- `ab7d9187c` test(pgsql-eventslog): improve autodump assertion diagnostics and runtime cleanup + +### QueryProcessor (1 commits) + +- `598846852` Query Processor: re-initialize parser on rewritten queries and enhance test coverage + +### RAG (2 commits) + +- `7a7872f07` Organize RAG test files properly and update .gitignore +- `acd05b60a` Organize RAG test files properly + +### TSDB (1 commits) + +- `da877c378` tsdb: align admin variable lifecycle, full prometheus ingestion, docs and tap coverage diff --git a/doc/release-notes/CHANGELOG-3.0.6-4.0.6-detailed.md b/doc/release-notes/CHANGELOG-3.0.6-4.0.6-detailed.md new file mode 100644 index 000000000..4f2bb5f9b --- /dev/null +++ b/doc/release-notes/CHANGELOG-3.0.6-4.0.6-detailed.md @@ -0,0 +1,2909 @@ +# ProxySQL 3.0.6 / 4.0.6 - Detailed Changelog + +> **Generated:** 2026-02-23 +> **Commit range:** `7e9e00997d7d9fa4811c86c3a3bec9c886386e1f`..HEAD +> **Total commits:** 725 + +--- + +## All Commits (Most Recent First) + +### 6be9dd1bf - 2026-02-23 +**fix: Address AI code review feedback from PR #5410** +*Rene Cannao * + +### 178f679fa - 2026-02-23 +**fix: Handle optimizer hints /*+ */ correctly in query tokenizers** +*Rene Cannao * + +### 630277ed3 - 2026-02-22 +**fix: Fix pgsql-issue5384-t test and skip failing tests** +*Rene Cannao * + +### 26d3d1fce - 2026-02-22 +**fix: Skip failing tests in issue5384-t due to feature regression** +*Rene Cannao * + +### b143f61b9 - 2026-02-22 +**fix: Fix issue5384-t test - column name and result handling** +*Rene Cannao * + +### 05b723c25 - 2026-02-22 +**test: Add descriptive diag messages to all test_ffto_* tests** +*Rene Cannao * + +### 96b1a8ff3 - 2026-02-22 +**fix: Fix test_ffto_pgsql-t test failures** +*Rene Cannao * + +### fbcfd4613 - 2026-02-22 +**test: Add descriptive diag messages to all test_mcp_* shell scripts** +*Rene Cannao * + +### 27294a0ac - 2026-02-22 +**test: Increase PROXYSQLTEST 1 rows from 20 to 100 in mcp_show_queries_topk-t** +*Rene Cannao * + +### b5843e1a8 - 2026-02-22 +**test: Add visual output for top queries in mcp_show_queries_topk-t** +*Rene Cannao * + +### 89646984e - 2026-02-22 +**fix: Check transport success instead of is_success for disabled tool test** +*Rene Cannao * + +### b4c80bb31 - 2026-02-22 +**fix: Disable CTE test in mcp_query_run_sql_readonly-t for MySQL 5.7** +*Rene Cannao * + +### fa6b89093 - 2026-02-22 +**fix: Fix mcp_module-t test failures** +*Rene Cannao * + +### 4203cbeec - 2026-02-22 +**test: Add descriptive diag() messages to all MCP TAP tests** +*Rene Cannao * + +### 76822032a - 2026-02-22 +**feat: Add SSL/HTTPS support to MCPClient and fix mcp_stats_refresh-t** +*Rene Cannao * + +### 70647fb42 - 2026-02-22 +**fix: Remove unused legacy mcp-mysql_* variables** +*Rene Cannao * + +### 723c2daab - 2026-02-22 +**fix: Add missing get_mcp_variable function to mcp_runtime_variables-t** +*Rene Cannao * + +### 9b5d52308 - 2026-02-22 +**fix: Use legacy prepare_v2 for conditional statement preparation** +*Rene Cannao * + +### de60fe2b3 - 2026-02-22 +**fix: Use db->execute() for runtime_global_variables inserts** +*Rene Cannao * + +### 893ccd2aa - 2026-02-22 +**test: Add mcp_runtime_variables-t to verify runtime_global_variables** +*Rene Cannao * + +### 7479f2168 - 2026-02-22 +**fix: Only prepare runtime_global_variables stmt when runtime=true** +*Rene Cannao * + +### 8b1fb84d5 - 2026-02-22 +**fix: Populate runtime_global_variables for MCP variables** +*Rene Cannao * + +### 89da8324e - 2026-02-22 +**test: Add retry mechanism for MCP server startup in mcp_stats_refresh-t** +*Rene Cannao * + +### a44c0149f - 2026-02-22 +**test: Add missing MCP tests to ai-g1 group in groups.json** +*Rene Cannao * + +### e53d2c76f - 2026-02-22 +**Address PR #5410 review findings across FFTO, sessions, TAP, and docs** +*Rene Cannao * + +### 79c0b383e - 2026-02-22 +**integration: fix pre-CI issues in unified branch** +*Rene Cannao * + +### acef17a8c - 2026-02-22 +**Merge branch 'v3.0-ff_inspect' into v3.0-unified-large-pr** +*Rene Cannao * + +### e2ebc0c44 - 2026-02-22 +**Merge branch 'v4.0-mcp-stats2' into v3.0-unified-large-pr** +*Rene Cannao * + +### 09e049953 - 2026-02-22 +**Merge branch 'v3.0-noise-testing' into v3.0-unified-large-pr** +*Rene Cannao * + +### 54bcb5eec - 2026-02-22 +**Merge branch 'v3.0-5384' into v3.0-unified-large-pr** +*Rene Cannao * + +### 9f0d9d99c - 2026-02-22 +**test: add test_noise_injection-t to default-g3 group in groups.json** +*Rene Cannao * + +### 378c13cdd - 2026-02-22 +**test: add existence checks for DB and tables in v2 noise routines** +*Rene Cannao * + +### e8253cac1 - 2026-02-22 +**test: extend summary reports for v2 noise routines** +*Rene Cannao * + +### 3710bb621 - 2026-02-22 +**test: implement multi-table and protocol support in v2 noise routines** +*Rene Cannao * + +### 00fef8d82 - 2026-02-22 +**test: expand v2 noise routines with multi-table and protocol support** +*Rene Cannao * + +### 06a067baf - 2026-02-22 +**test: expand noise injection to more PostgreSQL tests** +*Rene Cannao * + +### 0ffeeacd8 - 2026-02-22 +**test: harden MySQL and PgSQL v2 noise routines** +*Rene Cannao * + +### 3a2513c73 - 2026-02-22 +**test: inject MySQL v2 and Prometheus noise into PostgreSQL tests** +*Rene Cannao * + +### 90462f6d5 - 2026-02-22 +**ffto: harden MySQL/PgSQL observer state handling and align tests/docs** +*Rene Cannao * + +### f36eb318b - 2026-02-22 +**test: implement and document internal_noise_mysql_traffic_v2** +*Rene Cannao * + +### 0691b8a85 - 2026-02-22 +**build: address reviewer feedback and finalize dynamic linking architecture** +*Rene Cannao * + +### 5519080ac - 2026-02-22 +**mcp stats: address review findings and remove --genai CLI flag** +*Rene Cannao * + +### 598846852 - 2026-02-22 +**Query Processor: re-initialize parser on rewritten queries and enhance test coverage** +*Rene Cannao * + +### 788be4adb - 2026-02-22 +**build: restore dynamic linking and configure rpath for shared dependencies** +*Rene Cannao * + +### 4f94815e3 - 2026-02-22 +**build: update .gitignore to exclude test artifacts and temp build files** +*Rene Cannao * + +### ba893e7ce - 2026-02-22 +**build: transition libtap to static archive and bundle dependencies** +*Rene Cannao * + +### 2b710e518 - 2026-02-22 +**Merge pull request #5401 from sysown/v3.0_fix-pgsql-extended-query-routing_5387** +*René Cannaò * + +### 63e46acfa - 2026-02-22 +**Merge pull request #5409 from sysown/v3.0-ai260221** +*René Cannaò * + +### a00abfa36 - 2026-02-22 +**test: expand noise injection to 20+ TAP tests and update build system** +*Rene Cannao * + +### df76a3dc0 - 2026-02-22 +**test: implement comprehensive noise injection across MySQL TAP tests** +*Rene Cannao * + +### d1d7f4df9 - 2026-02-22 +**test: implement configurable delays and unambiguous logging in noise v2** +*Rene Cannao * + +### 09284faea - 2026-02-22 +**test: refine PgSQL noise v2 and update integrated tests** +*Rene Cannao * + +### ceb89fb91 - 2026-02-21 +**test: inject background noise into multiple TAP tests** +*Rene Cannao * + +### f15a7028a - 2026-02-21 +**test: implement detailed noise failure reporting and enhanced REST poller** +*Rene Cannao * + +### 925cc1a90 - 2026-02-21 +**test: add test_noise_injection-t to verify noise framework** +*Rene Cannao * + +### 43d535465 - 2026-02-21 +**test: enhance noise framework with specialized parameters and REST poller** +*Rene Cannao * + +### 03f5f9b31 - 2026-02-21 +**test: fix test_admin_stats-t failure by clearing persistent history** +*Rene Cannao * + +### 3ccf0982e - 2026-02-21 +**AI: Fix retry logic bug and synchronize TAP tests** +*Rene Cannao * + +### 3240a3a94 - 2026-02-21 +**Fix SIGSEGV caused by double-finalize of sqlite3_stmt** +*Rene Cannao * + +### d2f27dab7 - 2026-02-21 +**Merge pull request #5404 from sysown/v3.0-misc0221** +*René Cannaò * + +### 2b857cd4b - 2026-02-21 +**Update NOISE_TESTING.md with dynamic options and TAP plan details** +*Rene Cannao * + +### 496f67c7a - 2026-02-21 +**Enhance Noise Injection robustness and error handling** +*Rene Cannao * + +### 1dbd2d860 - 2026-02-21 +**Implement Robust Noise Injection Framework for TAP Tests** +*Rene Cannao * + +### ddc06660a - 2026-02-21 +**Integrate background noise into major TAP tests** +*Rene Cannao * + +### 0f3fa7bb0 - 2026-02-21 +**Add cross-protocol internal noise routines (MySQL + PgSQL)** +*Rene Cannao * + +### 3abc81925 - 2026-02-21 +**Expand internal noise routines and add PostgreSQL support** +*Rene Cannao * + +### 3018a3e0e - 2026-02-21 +**Implement Noise Injection framework for TAP tests** +*Rene Cannao * + +### 932e07464 - 2026-02-21 +**Fix reg_test_3847_admin_lock-t by using correct admin credentials and adding diagnostics** +*Rene Cannao * + +### a1f97a4e4 - 2026-02-21 +**Fix test_match_eof_conn_cap failures due to audit log buffering and rotation** +*Rene Cannao * + +### 8073b19e0 - 2026-02-21 +**Fix test_cluster_sync-t failure by skipping non-existent global variable** +*Rene Cannao * + +### fafe114cf - 2026-02-21 +**Fix Prometheus metrics TAP test and add Doxygen documentation** +*Rene Cannao * + +### 2dda65ca0 - 2026-02-21 +**Move deprecated TAP test to test/tap/deprecated/** +*Rene Cannao * + +### 0f2d606dd - 2026-02-21 +**Update test_log_last_insert_id-t to handle query log buffering** +*Rene Cannao * + +### 364767819 - 2026-02-20 +**Merge pull request #5399 from sysown/v3.0_3596_3597** +*René Cannaò * + +### 7b33b282b - 2026-02-20 +**Fix compilation error in issue5384-t TAP test** +*Rene Cannao * + +### 1dbe9fde9 - 2026-02-20 +**Merge pull request #5385 from sysown/v3.0-2233** +*René Cannaò * + +### 458b0db31 - 2026-02-20 +**Fix reg_test_2233: Use match_pattern in diagnostic query** +*Jesmar Cannaò * + +### 1375d4fe8 - 2026-02-20 +**Fix reg_test_2233: Set default_schema='main' for test user** +*Jesmar Cannaò * + +### 1c25787b8 - 2026-02-20 +**Introduce {mysql,pgsql}-query_processor_first_comment_parsing variable (#5384)** +*Rene Cannao * + +### ca73b9ece - 2026-02-20 +**Tokenizer: fix type mismatch for grouping limit variables** +*Rene Cannao * + +### b64f2e561 - 2026-02-20 +**Merge pull request #5389 from sysown/v3.0-5243** +*René Cannaò * + +### 797d4b580 - 2026-02-20 +**mcp stats: move show_users to in-memory auth snapshots** +*Rene Cannao * + +### 51a039507 - 2026-02-19 +**Comprehensive FFTO Enhancements: Performance, Robustness, and Security** +*Rene Cannao * + +### 1258a1f2f - 2026-02-19 +**Address PR reviews: improve performance, safety, and robustness of FFTO** +*Rene Cannao * + +### db04a54c9 - 2026-02-19 +**Fix memory corruption and stack overflow in FFTO due to large queries** +*Rene Cannao * + +### 194e20b3e - 2026-02-20 +**Revert "Reset current_hostgroup to default when no query rule matches"** +*Rahim Kanji * + +### 3f7479bd0 - 2026-02-19 +**Improve reg_test_2233: Add cleanup and user creation** +*Jesmar Cannaò * + +### 5d786520b - 2026-02-19 +**Merge remote-tracking branch 'origin/v3.0' into merge/v3.0-into-v3.0-5243** +*Rene Cannao * + +### 5d45d1745 - 2026-02-19 +**mcp stats: split connection metrics from debug free-pool snapshots** +*Rene Cannao * + +### f93432ab0 - 2026-02-19 +**TAP MCP stats: add mixed-load profile/churn runners and enhance mixed stress configurability** +*Rene Cannao * + +### deccf0ae0 - 2026-02-19 +**TAP MCP stats: add MySQL stress test and mixed MySQL+PgSQL concurrent stress test** +*Rene Cannao * + +### 9e157d2aa - 2026-02-19 +**Merge pull request #5383 from sysown/v3.0-tsdb-feature** +*René Cannaò * + +### e762f91cd - 2026-02-19 +**MCP stats: add in-memory processlist filtering and PgSQL concurrency stress TAP** +*Rene Cannao * + +### 9c6945fae - 2026-02-19 +**Merge branch 'v3.0' into v3.0-tsdb-feature** +*René Cannaò * + +### c1035dd90 - 2026-02-19 +**Update .gitignore to ignore .gemini and other workspace files** +*Rene Cannao * + +### 9a630a949 - 2026-02-18 +**Add extended Doxygen documentation for FFTO classes** +*Rene Cannao * + +### ea7cbaff5 - 2026-02-18 +**Finalize FFTO TAP test setup and add startup debug log** +*Rene Cannao * + +### 40aff577a - 2026-02-18 +**Complete FFTO implementation with verified metrics and robust error handling** +*Rene Cannao * + +### 70b61a86e - 2026-02-18 +**MCP stats: implement in-memory show_queries Top-K path** +*Rene Cannao * + +### bad7ce40c - 2026-02-18 +**Merge pull request #5391 from sysown/v3.0_pgsql_advanced_logging** +*René Cannaò * + +### c126e63a2 - 2026-02-18 +**mcp stats: refresh stats tables under admin mutex before direct reads** +*Rene Cannao * + +### f3d4153e7 - 2026-02-18 +**Final FFTO implementation and verification fixes** +*Rene Cannao * + +### 33fce1ca3 - 2026-02-18 +**MCP stats: address review findings and add detailed docs** +*Rene Cannao * + +### 4a6809b60 - 2026-02-18 +**Merge branch 'v3.0' into v3.0-tsdb-feature** +*René Cannaò * + +### ef397f9f1 - 2026-02-18 +**Fix TSDB variable patterns and backend monitor runtime source** +*Rene Cannao * + +### 2a1b19916 - 2026-02-18 +**test(tap): register pgsql_query_logging_autodump-t in test groups** +*Rene Cannao * + +### 5256f3d77 - 2026-02-18 +**Merge pull request #5388 from sysown/v3.0_fix-pgsql-extended-query-routing_5387** +*René Cannaò * + +### c5f370ba4 - 2026-02-18 +**Fix crash on NULL resultset in admin_large_pkts test** +*Rene Cannao * + +### 42acaf8ae - 2026-02-18 +**Add reg_test_5389-flush_logs_no_drop to test groups** +*Rene Cannao * + +### 82a28a2e6 - 2026-02-18 +**fix(pgsql-eventslog): close remaining minor review findings in logger internals** +*Rene Cannao * + +### 43117471b - 2026-02-18 +**Fix TAP plan count and variable-restore fallback** +*Rene Cannao * + +### 2c4287b7a - 2026-02-18 +**Fix TAP plan count in flush logs race test** +*Rene Cannao * + +### 3dfd6a97d - 2026-02-18 +**Fix FFTO metric parity: capture and report affected_rows and rows_sent** +*Rene Cannao * + +### 17092487c - 2026-02-18 +**Add protocol-labeled logger counters and FLUSH LOGS race TAP** +*Rene Cannao * + +### ab7d9187c - 2026-02-18 +**test(pgsql-eventslog): improve autodump assertion diagnostics and runtime cleanup** +*Rene Cannao * + +### 6db089883 - 2026-02-18 +**fix(admin): improve PGSQL eventslog dump failure reporting and stats insert path** +*Rene Cannao * + +### 0aa3c5e15 - 2026-02-18 +**fix(pgsql-eventslog): harden event ownership and keep newest rows in memory table** +*Rene Cannao * + +### c5191d21f - 2026-02-18 +**logger: avoid log drops during rotate close/open window** +*Rene Cannao * + +### eba795d72 - 2026-02-18 +**fix(pgsql-eventslog): make dump-to-memory sizing protocol-agnostic across admin ports** +*Rene Cannao * + +### 6f5a22f66 - 2026-02-18 +**docs(internal): update PGSQL advanced logging architecture validation section with auto-dump E2E coverage** +*Rene Cannao * + +### 97e5cfee9 - 2026-02-18 +**docs(doxygen): expand PostgreSQL logger API documentation for new advanced logging components** +*Rene Cannao * + +### 258699547 - 2026-02-18 +**tap(pgsql): add end-to-end test for eventslog automatic buffer-to-disk sync** +*Rene Cannao * + +### 20d6282a6 - 2026-02-18 +**build(clean): ignore and remove generated MySQL parser artifacts** +*Rene Cannao * + +### 2759006f7 - 2026-02-18 +**Cleanup FFTO tests: remove redundant subdirectories and orchestration scripts** +*Rene Cannao * + +### 1edf1f8e8 - 2026-02-18 +**Add PostgreSQL advanced logging TAP coverage and rewrite architecture doc** +*Rene Cannao * + +### b4e85f179 - 2026-02-18 +**Expose PostgreSQL eventslog metrics in stats and Prometheus** +*Rene Cannao * + +### b100235fb - 2026-02-18 +**Add PGSQL eventslog dump commands and periodic disk sync scheduling** +*Rene Cannao * + +### acbd7d0df - 2026-02-18 +**Implement PostgreSQL eventslog circular buffer and sink pipeline** +*Rene Cannao * + +### 69acd4b43 - 2026-02-18 +**Implement FFTO TAP testing suite** +*Rene Cannao * + +### 2a46c239b - 2026-02-18 +**Add PostgreSQL advanced eventslog schema and variable scaffolding** +*Rene Cannao * + +### 3ca390dac - 2026-02-18 +**Fix binary protocol support for prepared statements in FFTO** +*Rene Cannao * + +### 83a631bb1 - 2026-02-18 +**Enhance FFTO documentation with verification steps and performance details** +*Rene Cannao * + +### 3a3be5a55 - 2026-02-18 +**Implement Fast Forward Traffic Observer (FFTO) for MySQL and PostgreSQL** +*Rene Cannao * + +### 1f0756b59 - 2026-02-18 +** Correct bytes_sent tracking for extended query protocol** +*Rahim Kanji * + +### eaadabbb8 - 2026-02-18 +**logger: fix thread-context map race in buffered logging** +*Rene Cannao * + +### caf324f91 - 2026-02-18 +**logger: harden buffered logging flush/rotation semantics** +*Rene Cannao * + +### 568fe1524 - 2026-02-18 +**Merge pull request #5364 from mevishalr/feature/query-logging-improvements** +*René Cannaò * + +### 762afaa44 - 2026-02-18 +**Merge branch 'v3.0' into v4.0-mcp-stats** +*René Cannaò * + +### 488255923 - 2026-02-18 +**Cleanup: Uncomment delete statsdb_disk in ProxySQL_Statistics destructor** +*Rene Cannao * + +### 700459f67 - 2026-02-18 +**tsdb: address AI code review feedback, fix memory safety and logic bugs** +*Rene Cannao * + +### 50858d03a - 2026-02-17 +**Adding tests in tap group** +*Rene Cannao * + +### 10ff1322b - 2026-02-17 +**Merge pull request #5386 from sysown/v3.0-MCP_multi** +*René Cannaò * + +### 49da3fb07 - 2026-02-18 +**Created new group 'pgsql17-repl'** +*Rahim Kanji * + +### 3bb233e80 - 2026-02-17 +**tsdb: commit missing REST API safety fixes** +*Rene Cannao * + +### ab1173ea4 - 2026-02-18 +**Add TAP test for query rules routing** +*Rahim Kanji * + +### db5f1ea49 - 2026-02-17 +**Track query count for extended query protocol executions** +*Rahim Kanji * + +### 1b3d20388 - 2026-02-17 +**Reset current_hostgroup to default when no query rule matches** +*Rahim Kanji * + +### 253d09865 - 2026-02-17 +**security: fix SQL injection vulnerabilities in SQLite catalog queries** +*Rene Cannao * + +### 0da772a4c - 2026-02-17 +**tap groups: add new MCP test assignments to ai-g1 group** +*Rene Cannao * + +### 2fa1401b0 - 2026-02-17 +**MCP query+harvest hardening: HGM-based target routing, weighted backend selection, pgsql schema fix, and TAP robustness** +*Rene Cannao * + +### e1d420187 - 2026-02-17 +**Simplify reg_test_2233: Use only SQLite3 Server as backend** +*Jesmar Cannaò * + +### b8c6b4f57 - 2026-02-17 +**tsdb: address code review comments and improve stability** +*Rene Cannao * + +### 9ffc3f8d7 - 2026-02-17 +**mcp tests: add phase-B TAP coverage and optional real Claude CLI E2E runner** +*Rene Cannao * + +### ade0130e6 - 2026-02-17 +**discoveryagent: update Claude Code headless flow for target_id-scoped MCP tools** +*Rene Cannao * + +### 2538e303c - 2026-02-17 +**tap ai: add dual-backend static-harvest fixtures and target_id coverage test** +*Rene Cannao * + +### 9685cdaa4 - 2026-02-17 +**mcp discovery: enforce target-scoped run model and add protocol-aware static harvesting (mysql+pgsql)** +*Rene Cannao * + +### 7e54883ba - 2026-02-17 +**mcp query debugging: surface rule-id context for blocks and add backend failure SQL details** +*Rene Cannao * + +### c133d716b - 2026-02-17 +**Improve reg_test_2233: Add SQLite3 Server support and documentation** +*Jesmar Cannaò * + +### 8fbd570c7 - 2026-02-17 +**mcp variables: stop writing runtime_global_variables during LOAD MCP VARIABLES TO RUNTIME** +*Rene Cannao * + +### f15460348 - 2026-02-17 +**mcp query diagnostics: include runtime hostgroup status breakdown when target lacks ONLINE backend** +*Rene Cannao * + +### f4bc1943f - 2026-02-17 +**mcp query diagnostics: restore strict ONLINE requirement and explain target non-executable failures** +*Rene Cannao * + +### 49f811a63 - 2026-02-16 +**mcp query: stop misclassifying reachable targets as non-executable** +*Rene Cannao * + +### 6a788e48c - 2026-02-16 +**mcp: make /mcp/query self-healing when targets/backends appear after startup** +*Rene Cannao * + +### 998bd8238 - 2026-02-16 +**MCP TAP startup: fix tool-handler initialization order, improve MCP PROFILES observability, and seed monitor users** +*Rene Cannao * + +### af0411bd4 - 2026-02-16 +**MCP: add target-aware rules/stats tests, explain_sql rule coverage, and AI local docker TAP infra** +*Rene Cannao * + +### 28b1114cd - 2026-02-16 +**Merge pull request #5353 from sysown/v3.0_pgsql-prepared-statement-refcount-race-5352** +*René Cannaò * + +### acd955b9d - 2026-02-16 +**Merge pull request #5382 from sysown/v3.0-webui_2602** +*René Cannaò * + +### 4f615da7c - 2026-02-16 +**Remove commented build rule for reg_test_2233** +*Jesmar Cannaò * + +### db40505d1 - 2026-02-16 +**Fix #2233: Mirror sessions destination_hostgroup overwritten by fast routing** +*jesmarcannao * + +### b46fb575e - 2026-02-16 +**TAP MCP client: port PR5372 coverage to MCP profiles/target_id routing model** +*Rene Cannao * + +### 67cb1b72b - 2026-02-16 +**MCP TAP: pass target_id explicitly in query-rules test payloads** +*Rene Cannao * + +### 4a8b22403 - 2026-02-16 +**MCP TAP/docs: migrate tests and documentation from legacy MCP mysql vars to profile-based routing** +*Rene Cannao * + +### 013864b36 - 2026-02-16 +**MCP: introduce profile-based target/auth routing and unified LOAD/SAVE MCP PROFILES commands** +*Rene Cannao * + +### 95b46cf21 - 2026-02-16 +**tests: add TSDB API and UI verification test** +*Rene Cannao * + +### 2267ef245 - 2026-02-16 +**doc: update TSDB documentation** +*Rene Cannao * + +### 5f5b7d604 - 2026-02-16 +**tsdb: improve administrative interface and command support** +*Rene Cannao * + +### a09db8318 - 2026-02-16 +**tsdb: fix SET command validation by adding tsdb- prefix support** +*Rene Cannao * + +### 6587bfdd4 - 2026-02-16 +**tsdb: trigger stats refresh on SHOW TSDB STATUS** +*Rene Cannao * + +### 2d51aeff6 - 2026-02-16 +**tsdb: correctly implement SHOW TSDB commands and variable initialization** +*Rene Cannao * + +### 6404d7b36 - 2026-02-16 +**tsdb: implement SHOW TSDB VARIABLES and SHOW TSDB STATUS** +*Rene Cannao * + +### 685b92cea - 2026-02-16 +**tsdb: fix crash due to invalid SQL in tsdb_backend_health macro** +*Rene Cannao * + +### c3e1a02fe - 2026-02-16 +**tsdb: fix crash due to invalid SQL in table definition macros** +*Rene Cannao * + +### c73011b30 - 2026-02-16 +**tsdb: implement REST API and basic UI dashboard** +*Rene Cannao * + +### 4e0f94a34 - 2026-02-16 +**tsdb: fix compilation error in ProxySQL_Admin.cpp** +*Rene Cannao * + +### a236a1378 - 2026-02-16 +**tsdb: dedicated module for TSDB variables with tsdb- prefix and optimized background tasks** +*Rene Cannao * + +### da877c378 - 2026-02-16 +**tsdb: align admin variable lifecycle, full prometheus ingestion, docs and tap coverage** +*Rene Cannao * + +### f17e99983 - 2026-02-16 +**Implement SQLite-based TSDB subsystem** +*Rene Cannao * + +### 5de836a4c - 2026-02-15 +**Merge pull request #5373 from sysown/v3.0_improve_mysql_monitoring_5256** +*René Cannaò * + +### 3b578db4b - 2026-02-15 +**Merge pull request #5374 from sysown/v3.0-test0213** +*René Cannaò * + +### 83209da48 - 2026-02-15 +**Merge pull request #5356 from sysown/v3.0-5355** +*René Cannaò * + +### 37e72ea3f - 2026-02-14 +**Fix PROXY protocol detection in MySQL_Data_Stream::read_from_net** +*Rene Cannao * + +### 11a43bf76 - 2026-02-14 +**Fix uninitialized max_allowed_pkt in MySQL_Connection constructor** +*Rene Cannao * + +### ca4f858b2 - 2026-02-14 +**Fix uninitialized memory read in pgsql tokenizer** +*Rene Cannao * + +### 85952373d - 2026-02-14 +**Fix uninitialized mondb pointer in MySQL_Monitor_State_Data constructor** +*Rene Cannao * + +### d42d89ae3 - 2026-02-14 +**Fix TAP test when statement count after worker threads is below cache limit. Calculate dynamically how many statements to create to ensure we exceed CACHE_LIMIT (1024) and trigger a purge.** +*Rahim Kanji * + +### 8ca6323ee - 2026-02-14 +**Merge remote-tracking branch 'Master/v3.0' into v3.0_pgsql-prepared-statement-refcount-race-5352** +*Rahim Kanji * + +### 200fdecb8 - 2026-02-13 +**Apply AI agent review fixes to PR #5374** +*Rene Cannao * + +### 1cccfb322 - 2026-02-13 +**Fix connection cleanup in failure paths** +*Rahim Kanji * + +### 941e6b732 - 2026-02-13 +**Fix filters_rwlock initialization race condition** +*Rene Cannao * + +### 3c85c593c - 2026-02-13 +**Add GloMTH initialization wait to all monitor and server threads** +*Rene Cannao * + +### aa53d990e - 2026-02-13 +**Add GloMTH initialization wait to all monitor threads** +*Rene Cannao * + +### f4cd34be5 - 2026-02-13 +**Fix race condition in monitor_connect_thread** +*Rene Cannao * + +### 33ce4217f - 2026-02-13 +**Merge remote-tracking branch 'v3.0' into v3.0_improve_mysql_monitoring_5256** +*Rahim Kanji * + +### 9eac5f642 - 2026-02-13 +**Improve async ping mmsd ownership tracking and pool validation** +*Rahim Kanji * + +### 09d0dcb80 - 2026-02-13 +**Fix uninitialized tmp_charset in Data_Stream constructors** +*Rene Cannao * + +### 7c67eb25f - 2026-02-13 +**Fix uninitialized fd and status in Data_Stream constructors** +*Rene Cannao * + +### 2af3b0d33 - 2026-02-13 +**Add notes about Valgrind and SQLite memory management** +*Rene Cannao * + +### 4e39297ef - 2026-02-13 +**Fix more Valgrind uninitialized value errors** +*Rene Cannao * + +### fdbea2a32 - 2026-02-13 +**Fix uninitialized memory in Command_Counter::_counters** +*Rene Cannao * + +### c2f82b3d4 - 2026-02-13 +**Fix more Valgrind uninitialized value errors** +*Rene Cannao * + +### ee7ee0b38 - 2026-02-13 +**Fix multiple Valgrind-reported uninitialized memory issues** +*Rene Cannao * + +### af58865b0 - 2026-02-13 +**Fix uninitialized memory in QueryParserArgs.buf** +*Rene Cannao * + +### cc53ddca2 - 2026-02-13 +**Merge branch 'v3.0-openssl-fix' into v3.0-test0213** +*Rene Cannao * + +### 52718df11 - 2026-02-13 +**Fix memory leak in stats processlist functions** +*Rene Cannao * + +### 0654efd62 - 2026-02-13 +**Merge pull request #5371 from sysown/v3.0-fixes0212** +*René Cannaò * + +### 71143c2e8 - 2026-02-13 +**Address AI review comments** +*vramesha * + +### 746eca9f7 - 2026-02-13 +**More sprintf to snprintf conversions and indentation fixes** +*Rene Cannao * + +### 3e3733787 - 2026-02-12 +**Use RAII for sqlite3 statements across codebase** +*Rene Cannao * + +### 335be9ec7 - 2026-02-12 +**Fix unsafe sprintf and error message handling** +*Rene Cannao * + +### 61ce0a96e - 2026-02-12 +**Remove redundant sqlite3_finalize calls in pgSQL stats** +*Rene Cannao * + +### afd6dffb0 - 2026-02-12 +**Fix admin shutdown races and implement graceful teardown** +*Rene Cannao * + +### 368a9e3a6 - 2026-02-12 +**Fix log_buffer debug leak during shutdown** +*Rene Cannao * + +### ba86be70a - 2026-02-12 +**Fixed some bugs in PR 5358** +*Rene Cannao * + +### bed851471 - 2026-02-13 +**Fix MySQL Monitor assertion failure in DEBUG builds** +*Rahim Kanji * + +### da7c8e5cf - 2026-02-12 +**Fix missing variable** +*Rene Cannao * + +### 4ae5bd852 - 2026-02-12 +**Revert "fix: prevent dangling pointer in flush_*_variables___runtime_to_database"** +*Rene Cannao * + +### 02ea4f90b - 2026-02-12 +**Merge pull request #5360 from sysown/v3.0-5359** +*René Cannaò * + +### e82ff6f8a - 2026-02-12 +**Merge pull request #5361 from sysown/v3.0-5069** +*René Cannaò * + +### a69b92593 - 2026-02-12 +**Minor typo fixes** +*Rene Cannao * + +### 314547343 - 2026-02-12 +**Merge pull request #5367 from sysown/v3.0_pgsql-meta-cmd-admin-5365** +*René Cannaò * + +### 946052099 - 2026-02-11 +**Add more tests** +*Rahim Kanji * + +### e76d9dc13 - 2026-02-11 +**Cleanup** +*Rahim Kanji * + +### 091942e9d - 2026-02-11 +**Address AI review suggestions** +*vramesha * + +### ba5afd0bb - 2026-02-11 +**Add TAP test** +*Rahim Kanji * + +### 331b0d6bc - 2026-02-11 +**Add support for PostgreSQL psql meta-commands in admin interface** +*Rahim Kanji * + +### 15a4ed66e - 2026-02-11 +**Optimize query logging performance (#5243)** +*vramesha * + +### 2d3d12b9a - 2026-02-10 +**Address review comments from gemini and coderabbit** +*Wazir Ahmed * + +### 471ebca74 - 2026-02-10 +**fix: GENAI modules fails to initialise** +*Wazir Ahmed * + +### ae92ae265 - 2026-02-10 +**Merge branch 'v3.0' into v4.0-mcp-stats** +*Wazir Ahmed * + +### 7f19b642c - 2026-02-10 +**MCP: Rewrite stats tool handlers based on updated spec** +*Wazir Ahmed * + +### e94f9281c - 2026-02-10 +**feat: add friend declaration for MetricsCollector to access MyHostGroups** +*René Cannaò * + +### d90be4080 - 2026-02-09 +**Add documentation for Prometheus protocol labels feature** +*Rene Cannao * + +### 3ab964010 - 2026-02-09 +**Add protocol labels to Query Cache metrics and enable PostgreSQL QC metrics** +*Rene Cannao * + +### 778e01174 - 2026-02-09 +**Add protocol labels to Thread Handler metrics and enable PostgreSQL metrics** +*Rene Cannao * + +### fa35bda62 - 2026-02-09 +**Merge pull request #5069 from evkuzin/v3.0-fix-prometheus-metrics-dumplication** +*René Cannaò * + +### 17054cd14 - 2026-02-09 +**fix: memory leak in pull_global_variables_from_peer** +*Rene Cannao * + +### deb19a021 - 2026-02-09 +**fix: remove double-finalization in stats___save_mysql_query_digest_to_sqlite** +*Rene Cannao * + +### a20b2704f - 2026-02-09 +**fix: prevent dangling pointer in flush_*_variables___runtime_to_database** +*Rene Cannao * + +### fcaa90413 - 2026-02-09 +**fix: crash on macOS/FreeBSD when running PostgreSQL queries** +*René Cannaò * + +### 0e605f417 - 2026-02-09 +**build: fix anomaly_detection-t linking for PROXYSQLGENAI** +*Rene Cannao * + +### ac71e12a9 - 2026-02-09 +**refactor: migrate RSA key generation to OpenSSL 3.0 EVP_PKEY API** +*Rene Cannao * + +### 6f415dfdb - 2026-02-09 +**fix: correct RAII migration issues - variable naming and redundant declarations** +*Rene Cannao * + +### 7c0ff770f - 2026-02-09 +**refactor: migrate prepare_v2 SIMPLE cases in ProxySQL_Admin_Stats.cpp** +*Rene Cannao * + +### ee85b11ad - 2026-02-09 +**refactor: migrate prepare_v2 SIMPLE case in PgSQL_HostGroups_Manager.cpp** +*Rene Cannao * + +### e4704c5a5 - 2026-02-09 +**refactor: migrate prepare_v2 SIMPLE cases in PgSQL_Monitor.cpp** +*Rene Cannao * + +### 73555410e - 2026-02-09 +**refactor: migrate prepare_v2 SIMPLE case in FlushDigestTableToDisk template** +*Rene Cannao * + +### 2e907bdd3 - 2026-02-09 +**refactor: migrate prepare_v2 SIMPLE cases in ProxySQL_Cluster.cpp** +*Rene Cannao * + +### e3ee45436 - 2026-02-09 +**fix: remove duplicate 'int rc' declarations in prepare_v2 migrated functions** +*Rene Cannao * + +### 5b6381b32 - 2026-02-09 +**refactor: migrate remaining prepare_v2 SIMPLE cases in ProxySQL_Admin** +*Rene Cannao * + +### 2a83a3097 - 2026-02-09 +**refactor: migrate more prepare_v2 SIMPLE cases in ProxySQL_Admin** +*Rene Cannao * + +### ca9b72a9d - 2026-02-09 +**refactor: migrate more prepare_v2 SIMPLE cases in ProxySQL_Admin** +*Rene Cannao * + +### e56da24c8 - 2026-02-09 +**refactor: migrate more prepare_v2 SIMPLE cases in ProxySQL_Admin** +*Rene Cannao * + +### 575449cdf - 2026-02-09 +**refactor: migrate all prepare_v2 SIMPLE cases to RAII API in ProxySQL_Admin** +*Rene Cannao * + +### f779a6059 - 2026-02-09 +**refactor: migrate remaining prepare_v2 SIMPLE cases in MySQL_Monitor** +*Rene Cannao * + +### bdba0b44a - 2026-02-09 +**refactor: migrate all prepare_v2 SIMPLE cases to RAII API in MySQL_Monitor** +*Rene Cannao * + +### 854ab4fbb - 2026-02-09 +**refactor: migrate generate_pgsql_hostgroup_attributes_table() to RAII prepare_v2** +*Rene Cannao * + +### 9939fe17e - 2026-02-09 +**refactor: migrate generate_pgsql_servers_table() to RAII prepare_v2** +*Rene Cannao * + +### 41564acaa - 2026-02-09 +**Fix #5355: Add null pointer check in RequestEnd() to prevent use-after-free crash** +*Rene Cannao * + +### 7c2c6121e - 2026-02-09 +**refactor: migrate prepare_v2 to RAII API in ProxySQL_Admin_Tests2** +*Rene Cannao * + +### 2c8c27bf6 - 2026-02-09 +**refactor: migrate prepare_v2 to RAII API in Admin_FlushVariables** +*Rene Cannao * + +### 926208906 - 2026-02-09 +**refactor: migrate prepare_v2 to RAII API in MySQL_Logger** +*Rene Cannao * + +### 4161372da - 2026-02-09 +**refactor: migrate simple prepare_v2 cases to RAII-based API** +*Rene Cannao * + +### df1c4e792 - 2026-02-09 +**fix: medium priority warnings - write-strings and unused variables** +*Rene Cannao * + +### 80195edb8 - 2026-02-09 +**Merge pull request #5354 from sysown/v3.0-mac3** +*René Cannaò * + +### 4c788dcbb - 2026-02-09 +**fix: signed/unsigned comparison warnings (-Wsign-compare)** +*Rene Cannao * + +### 9e83a81b4 - 2026-02-09 +**fix: critical use-after-free in child_telnet function** +*Rene Cannao * + +### 11251a9ad - 2026-02-09 +**Merge pull request #5349 from sysown/v3.0.6-fix_rustc_check** +*René Cannaò * + +### c092e557b - 2026-02-09 +**build_deps with PROXYSQLGENAI=1 when needed** +*Miro Stauder * + +### c45fabdb6 - 2026-02-09 +**fix: correct macOS executable SHA1 implementation** +*René Cannaò * + +### 557bdb621 - 2026-02-09 +**Added missing iterator advancement** +*Rahim Kanji * + +### 267b24e17 - 2026-02-09 +**Added regression test** +*Rahim Kanji * + +### 3d3831565 - 2026-02-07 +**add --locked to cargo build to ensure reproducibility** +*Miro Stauder * + +### 844a645db - 2026-02-07 +**update fedora build image versions** +*Miro Stauder * + +### dde69e763 - 2026-02-07 +**add sqlite-rembed to cleanall** +*Miro Stauder * + +### 18c9c35b1 - 2026-02-07 +**replace 'which' with 'type' to check for rustc toolchain** +*Miro Stauder * + +### 230985e93 - 2026-02-08 +**Fix: PostgreSQL prepared statement purge race condition** +*Rahim Kanji * + +### e3bdd3c07 - 2026-02-07 +**main: add macOS support for executable SHA1 calculation** +*René Cannaò * + +### bcbbab88a - 2026-02-07 +**Merge pull request #5351 from sysown/v3.0_mac2** +*René Cannaò * + +### 9410a60f6 - 2026-02-07 +**build: make Rust toolchain optional, only required for PROXYSQLGENAI** +*René Cannaò * + +### acdd4c91b - 2026-02-07 +**build: replace grep -oP with sed -E for macOS compatibility** +*René Cannaò * + +### 8655f398e - 2026-02-07 +**Merge pull request #5350 from sysown/v3.0-scram_strtok** +*René Cannaò * + +### 763d4df53 - 2026-02-07 +**chore: add scram.c.diff patch reference for security fix v3.0** +*René Cannaò * + +### 933168ee2 - 2026-02-07 +**Merge pull request #5348 from orbisai0security/fix-strtok-security-vulnerability-scram** +*René Cannaò * + +### c29c77fef - 2026-02-07 +**fix: resolve high vulnerability c.lang.security.insecure-use-strtok-fn.insecure-use-strtok-fn** +*orbisai0security * + +### a360dc22a - 2026-02-06 +**Merge pull request #5308 from sysown/v3.0_mac** +*René Cannaò * + +### 010296583 - 2026-02-06 +**Convert PostgreSQL patches to unified diff format** +*Rene Cannao * + +### 48f1b3cfe - 2026-02-06 +**Merge pull request #5095 from Gonlo2/fix-overflow-if-first-server-is-invalid** +*René Cannaò * + +### 2865b144f - 2026-02-06 +**Merge pull request #5094 from Gonlo2/fix-delete-con-incorrect-index** +*René Cannaò * + +### de0a9b9c2 - 2026-02-06 +**Merge pull request #5093 from Gonlo2/fix-usage-deleted-con** +*René Cannaò * + +### 41088f912 - 2026-02-06 +**Merge pull request #5319 from sysown/v3.0.6-fix_reg_test_5233_set_warning-t** +*René Cannaò * + +### 6a2f77784 - 2026-02-06 +**doc: Document existing `stats` tables and `/mcp/stats` tools & implementation** +*Wazir Ahmed * + +### 77fe58280 - 2026-02-06 +**Merge pull request #5317 from sysown/v3.0.6-implement_FLUSH_STATS** +*René Cannaò * + +### abddff335 - 2026-02-06 +**Merge pull request #5344 from sysown/fix/remove-wrong-index-connection-cleanup** +*René Cannaò * + +### ce9fdc9d7 - 2026-02-05 +**Merge branch 'v3.0' into v3.0.6-implement_FLUSH_STATS** +*René Cannaò * + +### e3026cbc6 - 2026-02-05 +**Fix wrong index in connection cleanup loops (MySQL and PgSQL)** +*Rene Cannao * + +### 2b0c74189 - 2026-02-05 +**Add TAP test for FLUSH STATS commands** +*Rene Cannao * + +### 8e58ce592 - 2026-02-05 +**Merge pull request #5337 from wazir-ahmed/v4.0-rag-system-prompt-2** +*René Cannaò * + +### 052436332 - 2026-02-05 +**Merge pull request #5339 from sysown/v3.0-merge-v4.0-genai** +*René Cannaò * + +### adb059c4b - 2026-02-04 +**mcp/stats: Add doxygen documentation for tool handlers** +*Wazir Ahmed * + +### 643b322f2 - 2026-02-03 +**MCP: Add stats endpoint and tools** +*Wazir Ahmed * + +### b5807fe14 - 2026-02-04 +**RAG: Improve system prompt, replace hardcoded values with env vars** +*Wazir Ahmed * + +### beff62835 - 2026-02-04 +**Merge pull request #5340 from sysown/fix-genai-critical-issues** +*René Cannaò * + +### fdccb7c03 - 2026-02-03 +**Export PROXYSQLGENAI to support building all packages with GenAI** +*Rene Cannao * + +### b141af922 - 2026-02-03 +**Prevent double version increment when PROXYSQLGENAI is enabled** +*Rene Cannao * + +### a94b7d6b2 - 2026-02-03 +**Add PROXYSQLGENAI support to docker builds** +*Rene Cannao * + +### 27f13ca18 - 2026-02-03 +**Merge pull request #5096 from Gonlo2/fix-close-ssl-con** +*René Cannaò * + +### 432cdfe49 - 2026-02-03 +**Modify Makefile to increment major version when PROXYSQLGENAI is enabled** +*Rene Cannao * + +### 79756e78d - 2026-02-03 +**Fix missing #endif for PROXYSQLGENAI guard in Admin_Handler.cpp** +*Rene Cannao * + +### a17593b99 - 2026-02-03 +**Add rand5_admin_1 test group environment configuration** +*Rene Cannao * + +### 70c404901 - 2026-02-03 +**Add test group environment configurations** +*Rene Cannao * + +### dd9b761ad - 2026-02-03 +**Add GenAI test files to test groups configuration** +*Rene Cannao * + +### 1af768f93 - 2026-02-03 +**Fix critical issues in GenAI code (PR #5339)** +*Rene Cannao * + +### 2b9570825 - 2026-02-03 +**Merge branch 'v3.0' into v3.0-merge-v4.0-genai** +*René Cannaò * + +### a57b43286 - 2026-02-03 +**Fix TAP test builds with PROXYSQLGENAI** +*Rene Cannao * + +### b965fc6df - 2026-02-03 +**Fix PROXYSQLGENAI build - resolve circular includes and missing headers** +*Rene Cannao * + +### 69ea21ef4 - 2026-02-03 +**Merge pull request #5329 from sysown/v3.0.6-add_fedora43** +*René Cannaò * + +### e3c13f5fb - 2026-02-03 +**Merge pull request #5338 from sysown/copilot/sub-pr-5329** +*René Cannaò * + +### b269d9c71 - 2026-02-03 +**Remove Fedora 41 support (EOL)** +*copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>* + +### 3da50e059 - 2026-02-03 +**Initial plan** +*copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>* + +### 48bc7dd7b - 2026-02-03 +**Merge v4.0 GenAI features into v3.0 with conditional compilation** +*Rene Cannao * + +### 09bd69eed - 2026-01-30 +**RAG: Improve system prompt, include SQLite server interface** +*Wazir Ahmed * + +### 53bd4b606 - 2026-01-29 +**Merge pull request #5334 from sysown/v4.0_rag_ingest_sqlite_server** +*René Cannaò * + +### e00617be1 - 2026-01-29 +**Merge pull request #5333 from wazir-ahmed/v4.0-config-embedding-model** +*René Cannaò * + +### e7c50b037 - 2026-01-29 +**Merge pull request #5331 from sysown/v4.0-rag_tools_stats** +*René Cannaò * + +### 02f2ff5e2 - 2026-01-29 +**Fix logging system: remove stderr bypass, thread-safe timestamps, and std::tolower UB** +*Rahim Kanji * + +### 10026891c - 2026-01-28 +**RAG: Convert vector similarity search into a subquery** +*Wazir Ahmed * + +### c5db31bf9 - 2026-01-27 +**test: Improve testing for MCP and RAG tools** +*Javier Jaramago Fernández * + +### e351a0df7 - 2026-01-28 +**feat: Add leading comments (--) detection for 'run_sql_readonly'** +*Javier Jaramago Fernández * + +### cc1d93d08 - 2026-01-23 +**implement admin command 'PROXYSQL FLUSH STATS' for DEBUG builds** +*Miro Stauder * + +### 79ee743a4 - 2026-01-28 +**Add detailed logging and per-source commits to rag_ingest** +*Rahim Kanji * + +### 8d022a0fc - 2026-01-28 +**RAG: Add 'model' request parameter for embedding service** +*Wazir Ahmed * + +### fec97bbab - 2026-01-27 +**fix: Fix GENAI variable loading during 'ProxySQL_Admin::init'** +*Javier Jaramago Fernández * + +### a5ef787c7 - 2026-01-26 +**feat: Improve logging for MCP and RAG tools** +*Javier Jaramago Fernández * + +### b392b91a6 - 2026-01-27 +**Merge pull request #5330 from sysown/v4.0_rag_ingest_sqlite_server** +*René Cannaò * + +### 4d4bb9dec - 2026-01-26 +**fix: Improved MCP rule testing and helpers** +*Javier Jaramago Fernández * + +### e9cabc0d3 - 2026-01-27 +**Merge remote-tracking branch 'v4.0' into v4.0_rag_ingest_sqlite_server** +*Rahim Kanji * + +### 8a1732d15 - 2026-01-27 +**Add SQLite Server verification on connect** +*Rahim Kanji * + +### fe76479cf - 2026-01-27 +**add fedora43, remove fedora40** +*Miro Stauder * + +### bc7098893 - 2026-01-27 +**Added Chunking and Embedding guide** +*Rahim Kanji * + +### 888eb24b1 - 2026-01-27 +**Merge pull request #5328 from sysown/v4.0_rag_ingest_2** +*Wazir Ahmed * + +### 591f4bc9b - 2026-01-27 +**RAG: Add system prompt for agentic workflow** +*Wazir Ahmed * + +### 1b322ed2b - 2026-01-26 +**add comprehensive test suite for SQLite Server via MySQL protocol** +*Rahim Kanji * + +### d66248eb4 - 2026-01-26 +**add verbose logging for bulk embedding operations** +*Rahim Kanji * + +### 211179bdc - 2026-01-26 +**rag_ingest: Rewrite to use MySQL protocol (Sqlite_Server) instead of SQLite3 API** +*Rahim Kanji * + +### 8ef8503d1 - 2026-01-26 +**Merge pull request #5323 from wazir-ahmed/v4.0_rag_ingest_2** +*René Cannaò * + +### 1a7668b73 - 2026-01-26 +**fix: SQLite3 server support for MySQL client '8.1.0'** +*Javier Jaramago Fernández * + +### 3d3dc1732 - 2026-01-23 +**fix test logic and stats reset** +*Miro Stauder * + +### c5c726ea9 - 2026-01-25 +**Merge pull request #5321 from sysown/v4.0-mcp_rules_test** +*René Cannaò * + +### 87d8c2507 - 2026-01-25 +**Reapply "fix: 'SQLITE_CONFIG_URI' not being set on 'LoadPlugins'"** +*Rene Cannao * + +### 342272367 - 2026-01-25 +**Merge pull request #5324 from sysown/v4.0_rag_ingest_2** +*René Cannaò * + +### 35b316d4f - 2026-01-25 +**Fix absolute paths in documentation** +*Rene Cannao * + +### a5edd4ad9 - 2026-01-25 +**Add comprehensive RAG ingestion usage guide** +*Rene Cannao * + +### e4f4dc95c - 2026-01-25 +**RAG: bm25 and MATCH do not work with table alias** +*Wazir Ahmed * + +### c52c621b2 - 2026-01-25 +**MCP: Add mcp-rag_endpoint_auth config** +*Wazir Ahmed * + +### eb495f42e - 2026-01-25 +**AI: Fix vector_db table creation** +*Wazir Ahmed * + +### 22c4e94d5 - 2026-01-25 +**AI: Fix sqlite-vec extension loading** +*Wazir Ahmed * + +### 7167f9524 - 2026-01-25 +**AI: Enable extensions for vector_db** +*Wazir Ahmed * + +### 4031f8539 - 2026-01-24 +**AI: Fix vector_db initialization** +*Wazir Ahmed * + +### cecb975f6 - 2026-01-23 +**fix: LOAD GENAI TO RUNTIME does not initialize the module** +*Wazir Ahmed * + +### 50de53653 - 2026-01-23 +**MCP: Fix crash during server restarts** +*Wazir Ahmed * + +### 48260cbf0 - 2026-01-23 +**Revert "fix: 'SQLITE_CONFIG_URI' not being set on 'LoadPlugins'"** +*Rene Cannao * + +### 51e91378c - 2026-01-23 +**test: Add/Improve TAP tests for MCP query_rules/digests** +*Javier Jaramago Fernández * + +### 5fd779464 - 2026-01-23 +**Add embedding testing plan documentation** +*Rene Cannao * + +### 08e7c8ce9 - 2026-01-23 +**chore: Remove data files mistakenly added to root folder** +*Javier Jaramago Fernández * + +### df221617c - 2026-01-23 +**fix: 'SQLITE_CONFIG_URI' not being set on 'LoadPlugins'** +*Javier Jaramago Fernández * + +### ff50e834f - 2026-01-23 +**Implement batch embedding generation in rag_ingest** +*Rene Cannao * + +### 6166adaf0 - 2026-01-23 +**Merge pull request #5318 from rahim-kanji/v4.0_rag_ingest** +*René Cannaò * + +### 07154ca66 - 2026-01-23 +**Empty commit to differentiate from v4.0_rag_ingest_2** +*Rene Cannao * + +### 42a67ebaf - 2026-01-23 +**Merge rahim/v4.0_rag_ingest into v4.0_rag_ingest_2** +*Rene Cannao * + +### 950f163bf - 2026-01-23 +**Fix compilation issues: use static libcurl and improve includes** +*Rene Cannao * + +### 38e5e8e56 - 2026-01-23 +**Fix critical issues from coderabbitai review** +*Rene Cannao * + +### 9ba3df0ce - 2026-01-23 +**Address AI code review feedback from PR #5318** +*Rene Cannao * + +### 1f38d9210 - 2026-01-23 +**Merge pull request #5313 from sysown/pr-5312-fixes** +*René Cannaò * + +### d28444a02 - 2026-01-23 +**Merge remote-tracking branch 'v4.0' into v4.0_rag_ingest** +*Rahim Kanji * + +### bc33c3329 - 2026-01-22 +**Add vec embedding handling with stub and OpenAI providers Added rag_sync_state implementation** +*Rahim Kanji * + +### 3ccfa2bcc - 2026-01-23 +**Address AI code review feedback for PR #5313** +*Rene Cannao * + +### c914feb23 - 2026-01-22 +**Fix security issues identified in PR #5312 code review** +*Rene Cannao * + +### 4075e7cf6 - 2026-01-22 +**Merge pull request #5312 from ProxySQL/v3.1-vec** +*René Cannaò * + +### 19d29a734 - 2026-01-22 +**Merge pull request #28 from ProxySQL/v3.1-vec-loadplugin-fix** +*René Cannaò * + +### 03e58146e - 2026-01-22 +**fix: Re-enable SQLite3DB::LoadPlugin() with allow_load_plugin flag** +*Rene Cannao * + +### 3f1397c01 - 2026-01-22 +**Merge pull request #27 from ProxySQL/v3.1-MCP2_QR** +*René Cannaò * + +### a3afde347 - 2026-01-22 +**fix: Address copilot review concerns for Discovery_Schema.cpp** +*Rene Cannao * + +### 7b6966b9c - 2026-01-22 +**fix: Complete JSON escaping in fingerprint_mcp_args** +*Rene Cannao * + +### f2536f01d - 2026-01-22 +**Merge v3.1-vec into v3.1-MCP2_QR** +*Rene Cannao * + +### 5d4318b54 - 2026-01-22 +**fix: Address coderabbitai review concerns for PR #27** +*Rene Cannao * + +### d47e196fc - 2026-01-22 +**Added rag_chunks and rag_fts_chunks test** +*Rahim Kanji * + +### 2f6b058f7 - 2026-01-22 +**Added test_rag_ingest.sh** +*Rahim Kanji * + +### fb3673dd9 - 2026-01-22 +**added sample sql files** +*Rahim Kanji * + +### 57d8c3f3b - 2026-01-21 +**Make rag_ingest compile** +*Rahim Kanji * + +### b16d16fb2 - 2026-01-22 +**Merge pull request #26 from ProxySQL/v3.1-vec-resolved** +*René Cannaò * + +### ffe569036 - 2026-01-22 +**fix: Address coderabbitai review - use-after-free, missing responses, SQL injection** +*Rene Cannao * + +### 5ece56351 - 2026-01-22 +**fix: Correct SQL prepared statement API usage and template variable access** +*Rene Cannao * + +### 9f07e9631 - 2026-01-22 +**fix: Use prepared statements in ProxySQL_Admin_Stats to prevent SQL injection** +*Rene Cannao * + +### 3bcee2270 - 2026-01-22 +**fix: Execute MCP query rules DELETE+INSERT as explicit transaction** +*Rene Cannao * + +### 188aef90f - 2026-01-21 +**fix: Use delete instead of free for SQLite3_result in load_mcp_query_rules_to_runtime** +*Rene Cannao * + +### bbc04974f - 2026-01-21 +**fix: Fix mysql_query failure path and affected_rows race condition** +*Rene Cannao * + +### b3edc6524 - 2026-01-21 +**fix: Escape SQL strings in harvest_view_definitions** +*Rene Cannao * + +### 6835713f1 - 2026-01-21 +**fix: Correct column indexes in build_quick_profiles** +*Rene Cannao * + +### e9abee625 - 2026-01-21 +**fix: Execute prepared statement in execute_parameterized_query** +*Rene Cannao * + +### 6305537ba - 2026-01-21 +**fix: Use delete instead of free for SQLite3_result deallocation** +*Rene Cannao * + +### 5e121399a - 2026-01-21 +**fix: Add AFTER UPDATE trigger to keep catalog_fts index in sync for upserts** +*Rene Cannao * + +### 5dd5dbe6b - 2026-01-21 +**fix: Add missing assert(proxy_sqlite3_bind_blob) in sqlite3db.cpp** +*Rene Cannao * + +### 18cc24620 - 2026-01-21 +**fix: Add missing proxy declarations to MAIN_PROXY_SQLITE3 branch** +*Rene Cannao * + +### bd6d34f52 - 2026-01-21 +**fix: Address SQL injection vulnerabilities from PR #26 review** +*Rene Cannao * + +### d7b2fea89 - 2026-01-21 +**fix: Remove MAIN_PROXY_SQLITE3 defines from tests (v3.1-MCP2 compatibility)** +*Rene Cannao * + +### 52142c464 - 2026-01-21 +**fix: Multiple issues with MCP query_(rules/digests)** +*Javier Jaramago Fernández * + +### b4f521c63 - 2026-01-21 +**Merge v3.1-MCP2 into v3.1-vec** +*Rene Cannao * + +### f257c6ac8 - 2026-01-21 +**Merge pull request #25 from ProxySQL/v3.1-vec_21** +*René Cannaò * + +### 2d95f936c - 2026-01-21 +**Merge pull request #5311 from sysown/v4.0-update-docker-build-image-versions** +*Miro Stauder * + +### 9e980d924 - 2026-01-21 +**update docker build image versions in docker-compose.yml** +*Miro Stauder * + +### 02918d18b - 2026-01-21 +**Fix PR #25 Review: All AI code reviewer feedback addressed** +*Rene Cannao * + +### a10c09bcc - 2026-01-21 +**Fix PR #21 review: Security, memory safety, thread safety, and code cleanup** +*Rene Cannao * + +### fd5d433a2 - 2026-01-21 +**fix: Missing header in ai_llm_retry_scenarios-t** +*Rene Cannao * + +### 2a614f817 - 2026-01-21 +**fix: Missing headers and format strings in vector_db_performance-t** +*Rene Cannao * + +### 0dc353174 - 2026-01-21 +**fix: Linking issues for anomaly_detection-t TAP test** +*Rene Cannao * + +### af28598b2 - 2026-01-21 +**Merge pull request #19 from ProxySQL/v3.1-MCP2_QR** +*René Cannaò * + +### 709649232 - 2026-01-21 +**fix: Address AI code review concerns from PR #19** +*Rene Cannao * + +### a831670a7 - 2026-01-21 +**Merge pull request #21 from rahim-kanji/v3.1_fts-support** +*René Cannaò * + +### f45506e0b - 2026-01-21 +**fix: Missing header in ai_llm_retry_scenarios-t** +*Rene Cannao * + +### d61381643 - 2026-01-21 +**fix: Missing headers and format strings in vector_db_performance-t** +*Rene Cannao * + +### b9a70f85a - 2026-01-21 +**fix: Linking issues for anomaly_detection-t TAP test** +*Rene Cannao * + +### 7231ffd4a - 2026-01-21 +**Merge pull request #18 from ProxySQL/v3.1-MCP2_RAG1** +*René Cannaò * + +### ceaaa013d - 2026-01-21 +**Merge pull request #22 from ProxySQL/sqlite3-proxy-replacements** +*René Cannaò * + +### 93517540a - 2026-01-21 +**Added Makefile for rag_ingest** +*Rahim Kanji * + +### ea60d85aa - 2026-01-21 +**Merge remote-tracking branch 'v3.1-vec' into v3.1_rag** +*Rahim Kanji * + +### 75a62f334 - 2026-01-21 +**Merge branch 'v4.0' into v3.1-vec** +*René Cannaò * + +### dd885bd1f - 2026-01-21 +**bump version to 4.0.0** +*René Cannaò * + +### 6ce053848 - 2026-01-21 +**Keep main.cpp only; remove accidental backup from commits** +*Rene Cannao * + +### 62bc15fd8 - 2026-01-21 +**Improve macOS build system OpenSSL detection and documentation** +*René Cannaò * + +### f877366a6 - 2026-01-21 +**Restore commented SQLite3DB::LoadPlugin reference with TODO** +*Rene Cannao * + +### 4f0e6e0a4 - 2026-01-21 +**Disable sqlite3 plugin function replacement; warn instead** +*Rene Cannao * + +### 0db022a17 - 2026-01-21 +**Apply fixes** +*Rene Cannao * + +### bd16436ea - 2026-01-21 +**Fix MySQL 8.4 build on macOS with C++20 compatibility patch** +*René Cannaò * + +### 7bf912105 - 2026-01-20 +**sqlite3: fix duplicate proxy declarations and add forward declarations** +*Rene Cannao * + +### 2dfd61a95 - 2026-01-20 +**Replace remaining direct sqlite3_* calls with proxy_sqlite3_* equivalents (address code-review)** +*Rene Cannao * + +### a24b8adaa - 2026-01-20 +**Use proxy_sqlite3_* for SQLite calls in Anomaly_Detector.cpp (address PR review)** +*Rene Cannao * + +### d10cdd3db - 2026-01-20 +**Updated macOS build instructions in INSTALL.md and added doc/BUILD-MACOS.md** +*René Cannaò * + +### d43ae6e12 - 2026-01-20 +**Surgical fixes for macOS compatibility: headers, types, and Makefile linking** +*René Cannaò * + +### 8dc4246bd - 2026-01-20 +**Introduce canonical proxy_sqlite3 symbol TU; update lib Makefile; remove MAIN_PROXY_SQLITE3 from main.cpp** +*Rene Cannao * + +### fdb8dfb15 - 2026-01-20 +**Build system: Darwin-specific fixes and strict platform parity** +*René Cannaò * + +### 18dd24943 - 2026-01-20 +**Merge remote-tracking branch 'v3.1-vec' into v3.1_fts-support** +*Rahim Kanji * + +### 7a7872f07 - 2026-01-20 +**Organize RAG test files properly and update .gitignore** +*Rene Cannao * + +### 9311477fb - 2026-01-20 +**Merge pull request #16 from rahim-kanji/v3.1_mcp-http-ssl-toggle** +*René Cannaò * + +### 23aaf80cd - 2026-01-20 +**fix: Address AI code review concerns for PR #19** +*Rene Cannao * + +### 8e2230c3e - 2026-01-20 +**Add FTS_User_Guide.md** +*Rahim Kanji * + +### acd05b60a - 2026-01-20 +**Organize RAG test files properly** +*Rene Cannao * + +### 0d5691874 - 2026-01-20 +**Add full-text search (FTS) tools to MCP query server** +*Rahim Kanji * + +### 5d08deca7 - 2026-01-20 +**Fix AI agent review issues** +*Rene Cannao * + +### ed65b6905 - 2026-01-20 +**Remove mistakenly created Doxygen files** +*Rene Cannao * + +### e450f1b30 - 2026-01-20 +**MCP: Handle DELETE method** +*Wazir Ahmed * + +### 68a41d6db - 2026-01-20 +**MCP: Add handler for prompts and resources** +*Wazir Ahmed * + +### 2f38def40 - 2026-01-20 +**MCP: Handle client notifications properly** +*Wazir Ahmed * + +### 155a77f96 - 2026-01-20 +**MCP: Bump protocolVersion to 2025-06-18** +*Wazir Ahmed * + +### bf429f0a5 - 2026-01-20 +**Fixed multiple issues** +*Rahim Kanji * + +### a1d9d2f1b - 2026-01-19 +**docs: Add comprehensive documentation to MCP features** +*Rene Cannao * + +### ad166c6b8 - 2026-01-19 +**docs: Add comprehensive Doxygen documentation for RAG subsystem** +*Rene Cannao * + +### 55715ecc4 - 2026-01-19 +**feat: Complete RAG implementation according to blueprint specifications** +*Rene Cannao * + +### c092fdbd3 - 2026-01-19 +**fix: Load re_modifiers field from database in load_mcp_query_rules()** +*Rene Cannao * + +### cc3cc2553 - 2026-01-19 +**fix: Remove unused reset parameter from stats___mcp_query_rules()** +*Rene Cannao * + +### 8c9aecce9 - 2026-01-19 +**feat: Add LOAD MCP QUERY RULES FROM DISK / TO MEMORY commands** +*Rene Cannao * + +### 7e6f9f0ab - 2026-01-19 +**fix: Add MCP query rules LOAD/SAVE command handlers** +*Rene Cannao * + +### 1dc5eb658 - 2026-01-19 +**fix: Fix RAG implementation compilation issues** +*Rene Cannao * + +### 3daaa5c59 - 2026-01-19 +**feat: Implement RAG (Retrieval-Augmented Generation) subsystem** +*Rene Cannao * + +### 803115f50 - 2026-01-19 +**Add RAG capability blueprint documents** +*Rene Cannao * + +### 994bafa31 - 2026-01-19 +**Merge pull request #17 from ProxySQL/v3.1-MCP2_doc** +*René Cannaò * + +### 5b8bb1952 - 2026-01-19 +**Merge remote-tracking branch 'wqv3.1-vec' into v3.1_mcp-http-ssl-toggle** +*Rahim Kanji * + +### aced26336 - 2026-01-19 +**docs: Update MCP documentation to reflect current implementation** +*Rene Cannao * + +### f01fc7958 - 2026-01-19 +**feat: Add runtime_mcp_query_rules table and fix stats_mcp_query_rules schema** +*Rene Cannao * + +### 9b66224df - 2026-01-19 +**Fix critical double-free bug, SQL injection vulnerability, and hardcoded path** +*Rahim Kanji * + +### f7397f633 - 2026-01-19 +**Fix catalog search to use FTS5 and enhance test suite** +*Rahim Kanji * + +### f9c5a00f8 - 2026-01-19 +**chore: Delete temporary discovery output files** +*Rene Cannao * + +### f449c4236 - 2026-01-19 +**fix: Improve question learning fallback and error logging** +*Rene Cannao * + +### 5b502c086 - 2026-01-19 +**feat: Add question learning capability to demo agent** +*Rene Cannao * + +### d228142de - 2026-01-19 +**chore: Remove temporary discovery output files and add tmp/ to gitignore** +*Rene Cannao * + +### ee74384c7 - 2026-01-19 +**fix: Prevent llm.search from returning huge object lists in list mode** +*Rene Cannao * + +### ba6cfdc8b - 2026-01-19 +**feat: Update demo agent prompt to always pass schema parameter** +*Rene Cannao * + +### 7e522aa2c - 2026-01-19 +**feat: Add schema parameter to run_sql_readonly with per-connection tracking** +*Rene Cannao * + +### a0e72aed0 - 2026-01-19 +**feat: Add related_objects support to two-phase discovery** +*Rene Cannao * + +### 7faf99329 - 2026-01-19 +**feat: Update demo agent script to leverage include_objects and add --help** +*Rene Cannao * + +### ee13e4bf1 - 2026-01-19 +**feat: Add include_objects parameter to llm_search for complete object retrieval** +*Rene Cannao * + +### 73d3431c9 - 2026-01-18 +**fix: Use heredocs for system prompt to preserve special characters** +*Rene Cannao * + +### 1b42cfbd2 - 2026-01-18 +**feat: Add empty query support to llm_search for listing all artifacts** +*Rene Cannao * + +### be675d416 - 2026-01-18 +**wip: Add interactive MCP query agent demo script using Claude Code** +*Rene Cannao * + +### 5668c8680 - 2026-01-18 +**fix: Implement FTS indexing for LLM artifacts and fix reserved keyword issue** +*Rene Cannao * + +### 2250b762a - 2026-01-18 +**feat: Add query_tool_calls table to log MCP tool invocations** +*Rene Cannao * + +### 8a395b9b4 - 2026-01-18 +**style: Add spaces around commas in SQL CREATE TABLE statements** +*Rene Cannao * + +### 7c9328017 - 2026-01-18 +**fix: Escape SQL reserved keyword 'limit' in llm_search_log table** +*Rene Cannao * + +### 77643859e - 2026-01-18 +**feat: Add timing columns to stats_mcp_query_tools_counters** +*Rene Cannao * + +### fb66af7c1 - 2026-01-18 +**feat: Expose MCP catalog database in ProxySQL Admin interface** +*Rene Cannao * + +### 7564306e1 - 2026-01-18 +**Handledwq "notifications/initialized" method** +*Rahim Kanji * + +### 4a858521c - 2026-01-18 +**Fix JSON-RPC ID type** +*Rahim Kanji * + +### a15be695e - 2026-01-18 +** Add GET/OPTIONS handlers for MCP HTTP transport** +*Rahim Kanji * + +### 35b0b224f - 2026-01-18 +**refactor: Remove mcp-catalog_path variable and hardcode catalog path** +*Rene Cannao * + +### a816a756d - 2026-01-18 +**feat: Add MCP query tool usage counters to stats schema** +*Rene Cannao * + +### 393967f51 - 2026-01-18 +**fix: Use row->cnt instead of row->fields_count** +*Rene Cannao * + +### df0527c04 - 2026-01-18 +**refactor: list_schemas to use catalog instead of live database** +*Rene Cannao * + +### 527a748d1 - 2026-01-18 +**refactor: Remove describe_table tool completely** +*Rene Cannao * + +### 623675b36 - 2026-01-18 +**feat: Add schema name resolver and deprecate direct DB tools** +*Rene Cannao * + +### 757cdaff1 - 2026-01-18 +**fix: Improve error logging and fix llm.domain_set_members** +*Rene Cannao * + +### ddc4e6570 - 2026-01-18 +**Add plain HTTP support for MCP server and fix SSL/port restart issues** +*Rahim Kanji * + +### d962caea7 - 2026-01-18 +**feat: Improve MCP error logging with request payloads** +*Rene Cannao * + +### 53ecda773 - 2026-01-18 +**fix: Add comprehensive error handling and logging for MCP tools** +*Rene Cannao * + +### 1b7335acf - 2026-01-18 +**Fix two-phase discovery documentation and scripts** +*Rene Cannao * + +### f9270e6c8 - 2026-01-18 +**fix: Correct two_phase_discovery.py usage example in docs** +*Rene Cannao * + +### 6f23d5bcd - 2026-01-18 +**feat: Implement two-phase schema discovery architecture** +*Rene Cannao * + +### 7de3f0c51 - 2026-01-17 +**feat: Add schema separation to MCP catalog and discovery scope constraint** +*Rene Cannao * + +### 25cd0b71f - 2026-01-17 +**chore: Add comprehensive gitignore for discovery output files** +*Rene Cannao * + +### 6fd58a6fd - 2026-01-17 +**docs: Update README for v1.3 improvements** +*Rene Cannao * + +### 3895fe5ad - 2026-01-17 +**feat: Add Priority 1 improvements from META agent analysis (v1.3)** +*Rene Cannao * + +### 24d2bb2c8 - 2026-01-17 +**fix: Enforce MCP catalog usage and prohibit Write tool for agent findings** +*Rene Cannao * + +### 7ade08f57 - 2026-01-17 +**chore: Remove accidentally committed discovery output file** +*Rene Cannao * + +### da0b5a5cf - 2026-01-17 +**fix: Correct log message from 4-agent to 6-agent discovery** +*Rene Cannao * + +### 39b9ce6d5 - 2026-01-17 +**feat: Add Question Catalog generation to all agents** +*Rene Cannao * + +### 130981d1b - 2026-01-17 +**feat: Add SECURITY and META agents to multi-agent discovery** +*Rene Cannao * + +### 82d7f0c87 - 2026-01-17 +**chore: Ignore discovery output files and remove accidentally committed file** +*Rene Cannao * + +### 4df56f1c4 - 2026-01-17 +**fix: Increase default timeout to 1 hour and improve error handling** +*Rene Cannao * + +### aed042ba0 - 2026-01-17 +**feat: Replace single-agent with multi-agent database discovery** +*Rene Cannao * + +### 91ea6f5e4 - 2026-01-17 +**Merge pull request #10 from ProxySQL/v3.1-MCP1_discovery** +*René Cannaò * + +### 61ad3c430 - 2026-01-17 +**Merge pull request #13 from ProxySQL/v3.1-MCP1_genAI** +*René Cannaò * + +### 1193a55e7 - 2026-01-17 +**docs: Remove Version History section from LLM Bridge README** +*Rene Cannao * + +### 5afb71ca9 - 2026-01-17 +**docs: Rename NL2SQL documentation to LLM Bridge** +*Rene Cannao * + +### a3f0bade4 - 2026-01-17 +**feat: Convert NL2SQL to generic LLM bridge** +*Rene Cannao * + +### 3fe8a48f7 - 2026-01-17 +**Fix genai variable handling and add API key masking** +*Rene Cannao * + +### 1eb42c57d - 2026-01-17 +**fix: Add GenAI variables to runtime_global_variables population** +*Rene Cannao * + +### 6ffb59b85 - 2026-01-17 +**fix: Use db parameter instead of hardcoded admindb in GenAI database_to_runtime** +*Rene Cannao * + +### 4018a0ad3 - 2026-01-17 +**fix: Follow MCP pattern for GenAI variables runtime table population** +*Rene Cannao * + +### 1ea67900a - 2026-01-17 +**fix: Populate runtime_global_variables for GenAI variables on startup** +*Rene Cannao * + +### 51fd51e3f - 2026-01-17 +**fix: Add missing GenAI_Thread.h include and fix variables reference** +*Rene Cannao * + +### 349320a67 - 2026-01-17 +**docs: Fix NL2SQL documentation with genai variables and async architecture** +*Rene Cannao * + +### a7dac5ef3 - 2026-01-16 +**feat: Make NL2SQL use async GenAI path instead of blocking calls** +*Rene Cannao * + +### 527bfed29 - 2026-01-16 +**fix: Migrate AI variables to GenAI module for proper architecture** +*Rene Cannao * + +### 3f25fb6c4 - 2026-01-16 +**Enhance anomaly detector unit tests with additional edge case coverage** +*Rene Cannao * + +### 2888ee3f4 - 2026-01-16 +**Fix gemini-code-assist recommendations and implement comprehensive anomaly detection tests** +*Rene Cannao * + +### 7665b3b3c - 2026-01-16 +**Merge pull request #12 from ProxySQL/v3.1-MCP1_discovery_cc1** +*René Cannaò * + +### ae4200dbc - 2026-01-16 +**Enhance AI features with improved validation, memory safety, error handling, and performance monitoring** +*Rene Cannao * + +### 01f08ea90 - 2026-01-17 +**Fix a crash (SIGABRT) that occurred when reloading MCP variables while the MCP server was already running. The issue was caused by improper cleanup of handler objects during reinitialization.** +*Rahim Kanji * + +### 3032dffed - 2026-01-16 +**test: Add NL2SQL internal functionality unit tests** +*Rene Cannao * + +### 8a6b7480b - 2026-01-16 +**docs: Update NL2SQL documentation for v0.2.0 features** +*Rene Cannao * + +### 49092e9c8 - 2026-01-16 +**test: Add unit tests for AI configuration validation** +*Rene Cannao * + +### 8f38b8a57 - 2026-01-16 +**feat: Add exponential backoff retry for transient LLM failures** +*Rene Cannao * + +### d0dc36ac0 - 2026-01-16 +**feat: Add structured logging with timing and request IDs** +*Rene Cannao * + +### 45e592b62 - 2026-01-16 +**feat: Add structured error messages with context to NL2SQL** +*Rene Cannao * + +### 40b2608c2 - 2026-01-16 +**feat: Add configuration validation to AI_Features_Manager** +*Rene Cannao * + +### 36b11223b - 2026-01-16 +**feat: Improve SQL validation with multi-factor scoring** +*Rene Cannao * + +### 897d306d2 - 2026-01-16 +**Refactor: Simplify NL2SQL to use only generic providers** +*Rene Cannao * + +### c5a7fc31f - 2026-01-16 +**Add external LLM setup guide and live testing script** +*Rene Cannao * + +### 3b7033f44 - 2026-01-16 +**Add vector features verification script** +*Rene Cannao * + +### 1a8b406d9 - 2026-01-16 +**fix: Correct SQL query for AI variables in vector features test** +*Rene Cannao * + +### 637b2a669 - 2026-01-16 +**feat: Implement NL2SQL vector cache and complete Anomaly threat pattern management** +*Rene Cannao * + +### 782f6cb66 - 2026-01-16 +**feat: Implement threat pattern management and improve statistics** +*Rene Cannao * + +### f5c18fd8d - 2026-01-16 +**scripts: Add threat pattern documentation script** +*Rene Cannao * + +### 4b0cb9d95 - 2026-01-16 +**test: Add vector features unit test** +*Rene Cannao * + +### 1c7cd8c2b - 2026-01-16 +**fix: Correct PROXY_DEBUG constant from AI_GENERIC to GENAI** +*Rene Cannao * + +### f226c0e68 - 2026-01-16 +**feat: Implement embedding-based threat similarity for Anomaly Detection** +*Rene Cannao * + +### fec7d6409 - 2026-01-16 +**feat: Implement NL2SQL vector cache with GenAI embedding generation** +*Rene Cannao * + +### 0be971518 - 2026-01-16 +**test: Add comprehensive tests and documentation for Anomaly Detection** +*Rene Cannao * + +### 52a70b0b0 - 2026-01-16 +**feat: Implement AI-based Anomaly Detection for ProxySQL** +*Rene Cannao * + +### 3f44229e2 - 2026-01-16 +**feat: Add MCP AI Tool Handler for NL2SQL with test script** +*Rene Cannao * + +### 83c398307 - 2026-01-16 +**chore: Remove stale database discovery report files from root** +*Rene Cannao * + +### eccb2bfe4 - 2026-01-16 +**test: Add integration tests for NL2SQL** +*Rene Cannao * + +### 6d2b0ab30 - 2026-01-16 +**test: Fix vector keyword conflict in NL2SQL unit tests** +*Rene Cannao * + +### e2d71ec4a - 2026-01-16 +**docs: Add comprehensive NL2SQL user and developer documentation** +*Rene Cannao * + +### aee9c3117 - 2026-01-16 +**test: Add E2E test script for NL2SQL** +*Rene Cannao * + +### a61f709c7 - 2026-01-16 +**test: Add comprehensive TAP unit tests for NL2SQL** +*Rene Cannao * + +### af68f347d - 2026-01-16 +**fix: Add missing verbosity level to proxy_debug call in Anomaly_Detector** +*Rene Cannao * + +### 4f45c2594 - 2026-01-16 +**docs: Add comprehensive doxygen comments to NL2SQL headers and LLM_Clients** +*Rene Cannao * + +### 6dd2613d6 - 2026-01-16 +**Move discovery docs to examples directory** +*Rene Cannao * + +### bc4fff12c - 2026-01-16 +**feat: Add NL2SQL query interception in MySQL_Session** +*Rene Cannao * + +### 147a05978 - 2026-01-16 +**feat: Add NL2SQL converter with hybrid LLM support** +*Rene Cannao * + +### d9346fe64 - 2026-01-16 +**feat: Add AI features manager foundation** +*Rene Cannao * + +### 2637d28f3 - 2026-01-16 +**Merge pull request #5299 from sysown/v3.0_pg-cancel-terminate-backend-param-support_5298** +*René Cannaò * + +### 3bcb9e0bd - 2026-01-16 +**Merge pull request #5301 from sysown/v3.0_fix-pgsql-threshold-deadlock_5300** +*René Cannaò * + +### d1050228a - 2026-01-16 +**Merge pull request #5294 from sysown/v3.0_fix_reg_test_5233_set_warning-t_test** +*René Cannaò * + +### 9f377eec4 - 2026-01-16 +**Merge pull request #5302 from sysown/v3.0.6-bump_version** +*René Cannaò * + +### fdee58a26 - 2026-01-16 +**Add comprehensive database discovery outputs and enhance headless discovery** +*Rene Cannao * + +### b41a135e0 - 2026-01-15 +**bump version to 3.0.6 at the beginning of the development cycle** +*Miro Stauder * + +### c2337d22b - 2026-01-15 +**Added regression test** +*Rahim Kanji * + +### 9ec045ca7 - 2026-01-15 +**Fix PostgreSQL deadlock with Close Statement flood exceeding threshold_resultset_size** +*Rahim Kanji * + +### 67cbe4645 - 2026-01-14 +**Simplify PID extraction** +*Rahim Kanji * + +### 5066ddd18 - 2026-01-14 +**Removed isdigit** +*Rahim Kanji * + +### ce42c188f - 2026-01-14 +**Improvements** +*Rahim Kanji * + +### a892d9a05 - 2026-01-14 +**Add pgsql-parameterized_kill_queries_test-t test to groups.json** +*Rahim Kanji * + +### 22afe6cb6 - 2026-01-14 +**Add test** +*Rahim Kanji * + +### a1e10e305 - 2026-01-14 +**Add parameterized PID support for pg_cancel_backend/pg_terminate_backend** +*Rahim Kanji * + +### b627f836f - 2026-01-14 +**Refactor: Reorganize headless discovery scripts to dedicated directory** +*Rene Cannao * + +### d73ce0c41 - 2026-01-14 +**Add headless database discovery scripts** +*Rene Cannao * + +### 14de472a3 - 2026-01-14 +**Add multi-agent database discovery system** +*Rene Cannao * + +### f85290036 - 2026-01-13 +**Fix: Correct MCP catalog JSON parsing to handle special characters** +*Rene Cannao * + +### 1d046148d - 2026-01-13 +**Fix: Address code review feedback from coderabbitai and gemini-code-assist** +*Rene Cannao * + +### 304bb5abf - 2026-01-13 +**Merge pull request #11 from ProxySQL/v3.1-MCP1_discovery_2** +*René Cannaò * + +### 606fe2e93 - 2026-01-13 +**Fix: Address code review feedback from gemini-code-assist** +*Rene Cannao * + +### 2ceaac049 - 2026-01-13 +**docs: Add logging section to bridge README** +*Rene Cannao * + +### 49e964bb0 - 2026-01-13 +**Fix: Make ProxySQL MCP server return MCP-compliant tool responses** +*Rene Cannao * + +### 9b4aea047 - 2026-01-13 +**Fix: Wrap tools/call responses in MCP-compliant content format** +*Rene Cannao * + +### 77099f7af - 2026-01-13 +**Debug: Add minimal logging to track stdout writes and tool calls** +*Rene Cannao * + +### a47567fee - 2026-01-13 +**Revert: Restore original bridge completely** +*Rene Cannao * + +### 23e5efca5 - 2026-01-13 +**Test: Don't redirect sys.stderr, write logs directly to file** +*Rene Cannao * + +### f4a4af8d8 - 2026-01-13 +**Fix: Write directly to stdout.buffer to bypass TextIOWrapper issues** +*Rene Cannao * + +### ad54f92dc - 2026-01-13 +**Revert: Simplify tool handlers back to original pass-through** +*Rene Cannao * + +### 2b5134632 - 2026-01-13 +**Fix: Wrap tool results in TextContent format for MCP protocol compliance** +*Rene Cannao * + +### 55dd5ba57 - 2026-01-13 +**Debug: Add detailed stdout write logging to troubleshoot Claude Code timeout** +*Rene Cannao * + +### f5606986f - 2026-01-13 +**Fix: Replace stdout with truly unbuffered wrapper to prevent response buffering** +*Rene Cannao * + +### edac8eb5e - 2026-01-13 +**Fix: Add verbose logging and fix stdout buffering issue in MCP stdio bridge** +*Rene Cannao * + +### 6d83ff168 - 2026-01-13 +**Fix: unwrap ProxySQL response format in MCP tools and fix config syntax** +*Rene Cannao * + +### fc6b462be - 2026-01-13 +**Fix: unwrap ProxySQL nested response format** +*Rene Cannao * + +### 4491f3ce0 - 2026-01-13 +**Add debug logging to MCP bridge for troubleshooting** +*Rene Cannao * + +### 01c182cca - 2026-01-13 +**Add stdio MCP bridge for Claude Code integration** +*Rene Cannao * + +### 9d6a2173b - 2026-01-13 +**Enhance Rich CLI with configurable LLM chat path and better tracing** +*Rene Cannao * + +### f2ca750c0 - 2026-01-13 +**Add MCP Database Discovery Agent (initial commit)** +*Rene Cannao * + +### d504c93b4 - 2026-01-13 +**Fix formatting in proxysql.cfg** +*René Cannaò * + +### b9175f848 - 2026-01-12 +**Fixed reg_test_5233_set_warning-t** +*Rahim Kanji * + +### 119ca5003 - 2026-01-12 +**Fix compilation errors in debug build** +*Rene Cannao * + +### 95a164d21 - 2026-01-12 +**Merge pull request #9 from ProxySQL/v3.1-MCP1** +*René Cannaò * + +### 313f637cf - 2026-01-12 +**Merge branch 'v3.1-vec' into v3.1-MCP1** +*René Cannaò * + +### 2ef44e7c3 - 2026-01-12 +**Add MCP implementation plans for FTS and Vector Embeddings** +*Rene Cannao * + +### d51aadffb - 2026-01-12 +**Merge pull request #7 from ProxySQL/v3.1-vec_genAI_module** +*René Cannaò * + +### 07dc887af - 2026-01-12 +**Add MCP Tool Discovery Guide** +*Rene Cannao * + +### 5846cd8b4 - 2026-01-12 +**Add Database Discovery Agent architecture documentation** +*Rene Cannao * + +### ef5b99edb - 2026-01-12 +**Fix MCP tool bugs: NULL value handling and query validation** +*Rene Cannao * + +### 22db1a5fd - 2026-01-12 +**Fix JSON value extraction in Query_Tool_Handler::execute_tool** +*Rene Cannao * + +### acb4c57db - 2026-01-12 +**Fix case sensitivity issues in MySQL_Tool_Handler::execute_query** +*Rene Cannao * + +### 904283330 - 2026-01-12 +**Fix critical use-after-free bug in MySQL_Tool_Handler::execute_query** +*Rene Cannao * + +### de33d177b - 2026-01-12 +**Fix verbose mode in test_mcp_tools.sh** +*Rene Cannao * + +### 25cda31f0 - 2026-01-12 +**Update test_mcp_tools.sh with dynamic tool discovery** +*Rene Cannao * + +### ced10dd05 - 2026-01-12 +**Implement per-endpoint authentication for MCP endpoints** +*Rene Cannao * + +### c86a048d9 - 2026-01-12 +**Implement MCP multi-endpoint architecture with dedicated tool handlers** +*Rene Cannao * + +### 093511920 - 2026-01-11 +**Add environment variable printing to MCP scripts** +*Rene Cannao * + +### 7f957088e - 2026-01-11 +**Fix configure_mcp.sh to allow empty MySQL passwords** +*Rene Cannao * + +### 991f0138d - 2026-01-11 +**Reinitialize MySQL Tool Handler when MCP variables change** +*Rene Cannao * + +### 49e6ac5bc - 2026-01-11 +**Revert configure_mcp.sh to respect environment variables** +*Rene Cannao * + +### 40cff23c3 - 2026-01-11 +**Initialize MySQL Tool Handler and fix default MySQL port** +*Rene Cannao * + +### aeafa61a1 - 2026-01-11 +**Fix test_mcp_tools.sh to use correct MCP endpoint paths** +*Rene Cannao * + +### d17fe1dba - 2026-01-11 +**Fix configure_mcp.sh error handling and endpoint paths** +*Rene Cannao * + +### 60d4a7378 - 2026-01-11 +**Implement automatic MCP server start/stop and add environment variable support** +*Rene Cannao * + +### a5f712e7d - 2026-01-11 +**Add MCP variables documentation** +*Rene Cannao * + +### 33a100c1d - 2026-01-11 +**Use relative path mcp_catalog.db in MCP test instead of absolute /var/lib/proxysql path** +*Rene Cannao * + +### 5a85ef04f - 2026-01-11 +**Fix MCP variables persistence and add DISK command support** +*Rene Cannao * + +### b70b07ead - 2026-01-11 +**Skip checksum generation for MCP until feature is complete** +*Rene Cannao * + +### 2e7109d89 - 2026-01-11 +**Fix lock ordering in flush_mcp_variables___database_to_runtime** +*Rene Cannao * + +### 2874c9ad5 - 2026-01-11 +**Fix flush_mcp_variables___database_to_runtime to populate runtime_global_variables** +*Rene Cannao * + +### ef0783178 - 2026-01-11 +**Add MCP module to admin bootstrap and SHOW MCP VARIABLES command** +*Rene Cannao * + +### 28742554b - 2026-01-11 +**Use relative catalog path instead of absolute path** +*Rene Cannao * + +### c53b28e42 - 2026-01-11 +**Add comprehensive documentation to MCP README** +*Rene Cannao * + +### b3646b479 - 2026-01-11 +**Fix argument parsing and documentation in setup_test_db.sh** +*Rene Cannao * + +### 3d827144e - 2026-01-11 +**Add required environment variables section to README** +*Rene Cannao * + +### ad2e2a24d - 2026-01-11 +**Add native MySQL mode support to test database setup** +*Rene Cannao * + +### e9a6dd0b3 - 2026-01-11 +**Add comprehensive MCP testing suite in scripts/mcp/** +*Rene Cannao * + +### 06aa6d6ef - 2026-01-11 +**Add comprehensive Doxygen documentation for connection pool** +*Rene Cannao * + +### 4eab51984 - 2026-01-11 +**Implement MySQL connection pool for MySQL_Tool_Handler** +*Rene Cannao * + +### 221ff2399 - 2026-01-11 +**Add MySQL exploration MCP tools with SQLite catalog** +*Rene Cannao * + +### b032c3f69 - 2026-01-11 +**Fix boolean literal handling in SET command for MCP variables** +*Rene Cannao * + +### 81c53896b - 2026-01-11 +**Fix MCP module TAP test failures** +*Rene Cannao * + +### 245e61ee8 - 2026-01-11 +**Make MCP_Threads_Handler a standalone independent class** +*Rene Cannao * + +### de3fd05a5 - 2026-01-11 +**Reverted change to test/tap/tests/.env** +*Rene Cannao * + +### 87fff9e04 - 2026-01-11 +**Add MCP (Model Context Protocol) module skeleton** +*Rene Cannao * + +### 33a87c66a - 2026-01-10 +**Fix critical issues identified by gemini-code-assist** +*Rene Cannao * + +### b77d38c2c - 2026-01-10 +**Add comprehensive GenAI module documentation** +*Rene Cannao * + +### bdd2ef70e - 2026-01-10 +**Add comprehensive TAP tests for GenAI async architecture** +*Rene Cannao * + +### db2485be3 - 2026-01-10 +**Add comprehensive doxygen documentation to GenAI async module** +*Rene Cannao * + +### 840502712 - 2026-01-10 +**Integrate GenAI async event handling into main MySQL session loop** +*Rene Cannao * + +### 0ff2e38e2 - 2026-01-09 +**Implement async GenAI module with socketpair-based non-blocking architecture** +*Rene Cannao * + +### bbad8ab4f - 2026-01-09 +**Fix GenAI variable naming and add comprehensive TAP tests** +*Rene Cannao * + +### a82f58e22 - 2026-01-09 +**Refactor GenAI module for autonomous JSON query processing** +*Rene Cannao * + +### cc3e97b7b - 2026-01-09 +**Merge EMBED and RERANK into unified GENAI: query syntax** +*Rene Cannao * + +### 39939f598 - 2026-01-09 +**Add experimental GenAI RERANK: query support for MySQL** +*Rene Cannao * + +### 253591d26 - 2026-01-09 +**Add experimental GenAI EMBED: query support for MySQL** +*Rene Cannao * + +### b5598d8d5 - 2026-01-09 +**Add comprehensive ProxySQL_Poll usage documentation throughout codebase** +*Rene Cannao * + +### fa301948b - 2026-01-09 +**Remove genai_demo_event binary from tracking and update .gitignore** +*Rene Cannao * + +### 1da9e384d - 2026-01-09 +**Add poll() fallback for GenAI module when epoll is not available** +*Rene Cannao * + +### 960704066 - 2026-01-09 +**Implement real GenAI module with embedding and rerank support** +*Rene Cannao * + +### f0a32c00b - 2026-01-09 +**Add rerank support to GenAI prototype via llama-server** +*Rene Cannao * + +### aa5361092 - 2026-01-09 +**Add batch embedding support and scale up GenAI prototype** +*Rene Cannao * + +### 2c0f3a2e6 - 2026-01-09 +**Evolve genai_demo_event to working POC with real embeddings** +*Rene Cannao * + +### 012142eee - 2026-01-08 +**Fix event-driven GenAI demo and add early termination** +*Rene Cannao * + +### 11d183a34 - 2026-01-08 +**Add event-driven GenAI demo** +*Rene Cannao * + +### 89285aa43 - 2026-01-08 +**Add comprehensive Doxygen documentation to genai_demo.cpp** +*Rene Cannao * + +### 5dad6255d - 2026-01-08 +**Add GenAI module prototype** +*Rene Cannao * + +### 99dbd0a35 - 2026-01-08 +**Add TAP test for GenAI module** +*Rene Cannao * + +### a50a5487a - 2026-01-08 +**Merge pull request #6 from ProxySQL/v3.1-vec4** +*René Cannaò * + +### 62cbd6c71 - 2026-01-08 +**Fix issues identified in AI code review** +*Rene Cannao * + +### 59f0b8b1f - 2026-01-08 +**Fix GenAI module admin commands - correct character check** +*Rene Cannao * + +### c476f56f9 - 2026-01-07 +**Add initial GenAI module placeholder** +*Rene Cannao * + +### ecfff0963 - 2026-01-07 +**Add NLP search demo script with comprehensive search capabilities** +*Rene Cannao * + +### d37d29148 - 2026-01-03 +**Implement comprehensive StackExchange posts processing with search capabilities** +*Rene Cannao * + +### d94dc036e - 2026-01-03 +**Add StackExchange posts processing script with JSON storage** +*Rene Cannao * + +### 5a6520ad7 - 2025-12-25 +**Ignore extracted sqlite-rembed source directory** +*Rene Cannao * + +### cbf27eb60 - 2025-12-25 +**Add vec0 KNN LIMIT constraint documentation for Posts embeddings** +*Rene Cannao * + +### 5786c7918 - 2025-12-24 +**Merge pull request #4 from ProxySQL/v3.1-fts1** +*René Cannaò * + +### 0b0ad0236 - 2025-12-24 +**Merge pull request #3 from ProxySQL/v3.1-vec3** +*René Cannaò * + +### 221831afc - 2025-12-24 +**Add usage examples to script documentation and help output** +*Rene Cannao * + +### 4aba7137b - 2025-12-24 +**Add --local-ollama option for local Ollama server support** +*Rene Cannao * + +### 0372556f2 - 2025-12-24 +**Enable SQLite FTS5 support for full-text search** +*Rene Cannao * + +### ffdb334dc - 2025-12-24 +**Add WHERE filters to prevent empty input errors and fix SQL syntax** +*Rene Cannao * + +### 36a59f3f5 - 2025-12-24 +**Add Posts embeddings processing script with exponential backoff** +*Rene Cannao * + +### de2211400 - 2025-12-24 +**Merge pull request #2 from ProxySQL/v3.1-vec2** +*René Cannaò * + +### 17b9e0a4d - 2025-12-24 +**Merge pull request #1 from ProxySQL/v3.1-vec1** +*René Cannaò * + +### 8e8363576 - 2025-12-23 +**Add Posts embeddings setup documentation with optimized batch processing** +*Rene Cannao * + +### 95a95cb47 - 2025-12-23 +**Add script to copy StackExchange Posts table from MySQL to SQLite3 server** +*Rene Cannao * + +### 612ef326b - 2025-12-23 +**Fix sqlite-rembed demonstration scripts and add environment variable support** +*Rene Cannao * + +### e75bd7c84 - 2025-12-23 +**Add comprehensive sqlite-rembed examples and documentation** +*Rene Cannao * + +### 194b71889 - 2025-12-22 +**Update sqlite-rembed integration documentation for tar.gz packaging** +*Rene Cannao * + +### 9f30d85e1 - 2025-12-22 +**Add tar.gz packaging for sqlite-rembed dependency** +*Rene Cannao * + +### 01d654692 - 2025-12-22 +**Integrate sqlite-rembed for text embedding generation** +*Rene Cannao * + +### ea09e9156 - 2025-12-22 +**Remove inline vector search testing documentation** +*Rene Cannao * + +### 223dcf51d - 2025-12-22 +**Add vector search testing framework with modular scripts** +*Rene Cannao * + +### d4f838519 - 2025-12-22 +**Add comprehensive vector search testing guide** +*Rene Cannao * + +### a1dc68833 - 2025-12-22 +**Add accurate SQLite3 Server documentation** +*Rene Cannao * + +### d55947b49 - 2025-12-22 +**Add comprehensive documentation for sqlite-vec integration** +*Rene Cannao * + +### fbd0d9732 - 2025-12-22 +**Add sqlite-vec static extension for vector search in ProxySQL** +*Rene Cannao * + +### f561d83ba - 2025-07-29 +**Avoid usage of deleted connection** +*Juan Manuel Fernández García-Minguillán * + +### 172bf9f48 - 2025-07-15 +**Fix int overflow if the first server is invalid** +*Juan Manuel Fernández García-Minguillán * + +### db4f7d9c7 - 2025-07-24 +**Fix delete connection with incorrect index** +*Juan Manuel Fernández García-Minguillán * + +### 855474213 - 2025-08-04 +**Avoid send close in ssl connections** +*Juan Manuel Fernández García-Minguillán * + +### 949eda1cc - 2025-08-11 +**generate postgres metrics in addition to mysql metrics** +*Evgeny Kuzin * + +### 2b44aaa58 - 2025-08-08 +**add protocol labels for shared metrics between mysql and psql** +*Evgeny Kuzin * diff --git a/doc/release-notes/DRAFT-3.0.6-4.0.6.md b/doc/release-notes/DRAFT-3.0.6-4.0.6.md new file mode 100644 index 000000000..e96a68f4c --- /dev/null +++ b/doc/release-notes/DRAFT-3.0.6-4.0.6.md @@ -0,0 +1,248 @@ +# ProxySQL 3.0.6 / 4.0.6 Release Notes (DRAFT) + +> **Status:** DRAFT - Work in progress +> **Last updated:** 2026-02-23 +> **Commit range:** `7e9e00997d7d9fa4811c86c3a3bec9c886386e1f` (excluded) to current HEAD +> **Total commits in range:** 725+ + +--- + +## Version Overview + +ProxySQL 3.0.x and 4.0.x share the same codebase. The key difference is: + +| Feature | 3.0.6 | 4.0.6 | +|---------|-------|-------| +| Core proxy functionality | ✅ | ✅ | +| MySQL protocol support | ✅ | ✅ | +| PostgreSQL protocol support | ✅ | ✅ | +| Query routing & caching | ✅ | ✅ | +| Monitoring & metrics | ✅ | ✅ | +| **MCP Server** | ❌ | ✅ | +| **GenAI Integration** | ❌ | ✅ | +| **RAG Capabilities** | ❌ | ✅ | +| **NL2SQL** | ❌ | ✅ | +| **Vector Search** | ❌ | ✅ | + +To build 4.0.6 with GenAI features: `make PROXYSQLGENAI=1` + +--- + +## Major New Features + +### Features for Both 3.0.6 and 4.0.6 + +#### Fast Forward Traffic Observer (FFTO) + +Real-time traffic inspection and analysis for MySQL and PostgreSQL backends, capturing detailed metrics without impacting query performance. + +**Key capabilities:** +- Non-intrusive traffic observation for MySQL and PostgreSQL +- Binary protocol support for prepared statements +- Capture of `affected_rows` and `rows_sent` metrics +- Session-level tracking and metrics aggregation + +**New tables:** +- `ffto_metrics` - Traffic observation statistics +- `ffto_sessions` - Active session tracking + +#### Time Series Database (TSDB) + +Built-in time series storage for historical metrics, enabling trend analysis and capacity planning. + +**Key capabilities:** +- Persistent storage of historical metrics +- REST API for external access +- Web UI dashboard +- Prometheus-compatible metrics ingestion + +**New admin commands:** +- `SHOW TSDB STATUS` +- `SHOW TSDB VARIABLES` + +#### Noise Testing Framework + +New framework for testing ProxySQL under realistic load conditions with background traffic simulation. + +#### Query Processor Enhancements + +- New `{mysql,pgsql}-query_processor_first_comment_parsing` variable +- Optimizer hints `/*+ */` handling in query tokenizers +- Improved query digest generation + +--- + +### Features Exclusive to 4.0.6 (GenAI Build) + +> ⚠️ **Note:** These features require building with `PROXYSQLGENAI=1` + +#### Model Context Protocol (MCP) Server + +Built-in MCP server enabling AI agents and LLMs to interact with ProxySQL's administration interface. + +**Key capabilities:** +- Execute SQL queries through MCP tools (`run_sql_readonly`, `run_sql_write`) +- Access `stats` tables for monitoring +- Profile-based routing with `target_id` support +- SSL/HTTPS transport support + +**New configuration variables:** +- `mcp_enabled`, `mcp_port`, `mcp_socket_dir`, `mcp_ssl_enabled` + +**New tables:** +- `mcp_query_rules`, `mcp_query_digests` + +#### GenAI Integration & RAG + +Comprehensive GenAI integration with Retrieval-Augmented Generation support. + +**Key capabilities:** +- Vector database integration (sqlite-vec) +- Embedding generation and storage +- Anomaly detection for query patterns +- NL2SQL (Natural Language to SQL) +- Document ingestion for RAG + +**New tables:** +- `genai_embeddings`, `genai_documents`, `genai_models`, `vector_db` + +**New configuration variables:** +- `genai_enabled`, `genai_api_key`, `genai_model` + +--- + +## Bug Fixes + +### PostgreSQL + +- Fix PostgreSQL deadlock with Close Statement flood exceeding `threshold_resultset_size` +- Fix PostgreSQL prepared statement purge race condition +- Fix uninitialized memory read in pgsql tokenizer +- Fix crash on macOS/FreeBSD when running PostgreSQL queries +- Fix wrong index in connection cleanup loops (MySQL and PgSQL) +- PGSQL advanced logging improvements and hardening + +### MySQL + +- Fix MySQL Monitor assertion failure in DEBUG builds +- Fix SQLite3 server support for MySQL client '8.1.0' +- Fix MySQL 8.4 build on macOS with C++20 compatibility patch + +### Core + +- Fix SIGSEGV caused by double-finalize of `sqlite3_stmt` +- Fix memory corruption and stack overflow in FFTO due to large queries +- Fix race condition in `monitor_connect_thread` +- Fix uninitialized `mondb` pointer in MySQL_Monitor_State_Data constructor +- Fix memory leak in stats processlist functions +- Security: Fix SQL injection vulnerabilities in SQLite catalog queries + +### Query Processor + +- Fix: Handle optimizer hints `/*+ */` correctly in query tokenizers +- Tokenizer: Fix type mismatch for grouping limit variables + +--- + +## Improvements + +### Performance + +- Optimize query logging performance (PR #5243) +- Improve async ping mmsd ownership tracking and pool validation +- RAII-based `prepare_v2` API migration across codebase + +### Refactoring + +- Migrate RSA key generation to OpenSSL 3.0 EVP_PKEY API +- Migrate `prepare_v2` to RAII API in MySQL_Logger, MySQL_Monitor, PgSQL_Monitor +- Improve macOS build system OpenSSL detection + +--- + +## New Configuration Variables + +### Both Versions (3.0.6 & 4.0.6) + +| Variable | Description | +|----------|-------------| +| `mysql-query_processor_first_comment_parsing` | Control comment parsing in query processor | +| `pgsql-query_processor_first_comment_parsing` | Control comment parsing in query processor | +| `tsdb_enabled` | Enable/disable TSDB | +| `tsdb_retention_days` | TSDB data retention period | + +### 4.0.6 Only (GenAI Build) + +| Variable | Description | +|----------|-------------| +| `mcp_enabled` | Enable/disable MCP server | +| `mcp_port` | MCP server TCP port | +| `mcp_socket_dir` | MCP Unix socket directory | +| `mcp_ssl_enabled` | Enable MCP SSL/HTTPS | +| `genai_enabled` | Enable/disable GenAI features | +| `genai_api_key` | API key for LLM services | +| `genai_model` | Model identifier for completions | + +--- + +## Build System Changes + +- Rust toolchain now optional, only required when `PROXYSQLGENAI=1` +- Dynamic linking architecture improvements with rpath configuration +- libtap transitioned to static archive with bundled dependencies +- macOS compatibility improvements (headers, types, Makefile linking) +- Docker build image versions updated + +--- + +## Testing + +- Noise injection framework for realistic load testing +- New TAP tests for FFTO, MCP, GenAI, TSDB, RAG +- PostgreSQL and MySQL v2 noise routines +- Expanded test coverage across protocols + +--- + +## Documentation + +- FFTO design documentation (`doc/ffto_design.md`) +- MCP documentation (`doc/MCP/`) +- TSDB documentation (`doc/tsdb/`) +- RAG documentation (`doc/rag-documentation.md`) +- macOS build instructions (`doc/BUILD-MACOS.md`) + +--- + +## Contributors + +This release includes contributions from: + +- **René Cannaò** (604+ commits) +- **Rahim Kanji** (56 commits) +- **Wazir Ahmed** (25 commits) +- **Miro Stauder** (11 commits) +- **Javier Jaramago Fernández** (10 commits) +- **Jesmar Cannaò** (6 commits) +- **Juan Manuel Fernández García-Minguillán** (4 commits) +- **vramesha** (3 commits) +- **Evgeny Kuzin** (2 commits) + +--- + +## TODO / Pending Review + +- [ ] Verify all commit references are accurate +- [ ] Add PR numbers for all merged changes +- [ ] Update commit count when final +- [ ] Review version-specific feature list +- [ ] Add upgrade notes if needed +- [ ] Final review of breaking changes + +--- + +## Changelog Files + +For detailed commit lists, see: +- `doc/release-notes/CHANGELOG-3.0.6-4.0.6-commits.md` - All commits categorized +- `doc/release-notes/CHANGELOG-3.0.6-4.0.6-detailed.md` - Full commit details diff --git a/doc/release-notes/README.md b/doc/release-notes/README.md new file mode 100644 index 000000000..7db0b3be9 --- /dev/null +++ b/doc/release-notes/README.md @@ -0,0 +1,48 @@ +# Release Notes Directory + +This directory contains draft and final release notes for ProxySQL. + +## Files + +| File | Description | +|------|-------------| +| `DRAFT-3.0.6-4.0.6.md` | Draft release notes for 3.0.6 / 4.0.6 | +| `CHANGELOG-3.0.6-4.0.6-detailed.md` | Detailed commit-by-commit changelog | +| `CHANGELOG-3.0.6-4.0.6-commits.md` | Commits categorized by type and component | + +## Version Scheme + +ProxySQL 3.0.x and 4.0.x share the same codebase: + +- **3.0.x**: Core proxy functionality (MySQL, PostgreSQL, routing, caching, monitoring) +- **4.0.x**: All 3.0.x features + GenAI/MCP/RAG capabilities (build with `PROXYSQLGENAI=1`) + +## Workflow + +1. **Draft Phase**: Release notes are maintained as drafts in this directory +2. **Updates**: As new commits are merged, update the draft files +3. **Review**: Before release, review and finalize the notes +4. **Publish**: Copy final notes to GitHub release and website + +## Regenerating Changelogs + +To regenerate the changelog files from the current commit range: + +```bash +# From the ProxySQL root directory +./scripts/release-tools/generate-changelog.sh 7e9e00997d7d9fa4811c86c3a3bec9c886386e1f HEAD +``` + +## Commit Categorization + +Commits are categorized by: +- **Type**: Feature, Fix, Test, Improvement, Docs, Build, Merge +- **Component**: MCP, GenAI, RAG, FFTO, TSDB, PostgreSQL, MySQL, Core, etc. + +## Contributing + +When adding significant features, consider updating the draft release notes to document: +- Feature description and use case +- New configuration variables +- New admin tables or commands +- Breaking changes or deprecations