Skip to main content
This page is generated by pawsql-doc build-changelog from pawsql-server release tag ranges, and updated per release after human review. Content outside the marked region is freely editable; do not hand-edit entries inside it — change the source commits and re-run the generator. Source commit ids in parentheses trace each entry back to the code; internal-only changes (refactors, dependency bumps) are not listed.
SQL Review & OptimizationSlow Queries & InspectionWorkspaces & Data SourcesIntegrations & APIAccess & SecurityBug Fixes
2026-09-23

SQL Review & Optimization

  • Improved report templates by removing unnecessary placeholder headings (1259cd3a)
  • Added tracking tables for ticket SQL execution sessions (4fed9d5f)

Slow Queries & Inspection

  • AI optimisation no longer invents execution-plan information when none is available (37d83230)
  • Added AI optimisation for inspected slow queries (39644ae0)
  • Split AI optimisation into diagnosis and optimisation phases with custom system prompts (8905f205)
  • Inspection AI optimisation now takes its SQL from the slow-query entity (b54a0521)

Workspaces & Data Sources

  • Fall back to PawsqlConfig when UserConfig is null (39c77416)
  • Removed redundant columns from the DDL change table (73d17723)

Integrations & API

  • Replaced Springfox with Springdoc OpenAPI 3 and configured API groups (02d62e19)
  • createWorkspace and createAnalysis accept an anonymous key (042f9506)
  • The anonymous analysis endpoint is rate-limited by IP + sessionId (0a479a28)
  • Restored synchronous createAnalysis and added /createAnalysisAsync with API docs (352ef293)
  • Migrated public and integration API DTO annotations to OpenAPI 3 (59aba1f8)
  • Migrated cloud module annotations to OpenAPI 3 (67c47d07)
  • Moved the anonymous user-key configuration into profile-specific yml (685e3c39)
  • Migrated public and integration API controller annotations to OpenAPI 3 (73332d46)
  • Added an anonymous user key for login-free clients such as MCP and DBeaver (776a1a53)
  • Migrated base module DTO annotations to OpenAPI 3 (95b88e71)
  • Migrated ticket module annotations to OpenAPI 3 (a2b7ff74)
  • Anonymous users skip the cloud quota check (bc6c15e1)
  • Migrated the remaining DTO/Entity annotations in the integration module to OpenAPI 3 (becf1a6f)
  • Migrated base module entity annotations to OpenAPI 3 (d93d42f2)
  • Added async createAnalysis, a system/info endpoint and lookup by name (ed7cca3d)
  • Migrated base/app controller annotations to OpenAPI 3 (f251fa44)

Access & Security

  • Fixed checkLicense referencing the wrong variable in its error message (44eb823d)
  • Platform user management gained enable/disable endpoints (7c4bdcb6)
SQL Review & OptimizationSlow Queries & InspectionWorkspaces & Data SourcesIntegrations & APIAccess & SecurityBug Fixes
2026-08-31

SQL Review & Optimization

  • Review uses the formatted SQL statement to report correct line numbers (718ef500)
  • Completed state validation and result handling for skipped ticket steps (e64aa5be)

Slow Queries & Inspection

  • Dameng slow-query parameter validation falls back when some parameters cannot be read (476df780)

Workspaces & Data Sources

  • Moved DDL under docs/ and added developer and AI guides (16a24c00)
  • Added an environment-variable template and changed configuration management (42e9b968)
  • Established unified database script management: baseline + migrations + archive (5bce9770)
  • Removed the non-null validation on the database field when creating a workspace (603a71af)
  • Unified workspace creation and removed hardcoded database-type constants (613e7f4f)
  • Moved DDL under cloud/src/main/resources/ and removed the old script directory (a7f36d89)
  • DDL migration directories gained sequence prefixes; shared became 01-common (ba8dd1a4)
  • Added 03-wip for in-flight work; baseline files carry a date (bcaa4eda)

Integrations & API

  • Summary and SQL-detail endpoints return rule severity information (ac2d8cdc)

Access & Security

  • MySQL connections use SSL/TLS to support require_secure_transport=ON (0e48f8e1)
  • Simplified password filtering in the workspace-creation DTO (ec5790b5)
SQL Review & OptimizationWorkspaces & Data SourcesBug Fixes
2026-07-07

SQL Review & Optimization

  • Fixed a null-pointer problem in the validation logic (04bca2a0)
  • Hardcoded error messages became i18n constant keys (26eef2ee)
  • Added the three tracking tables needed for ticket SQL execution (2cc90137)
  • Execution sessions can skip the current SQL and roll back on timeout (325f8a22)
  • M2-level ticket SQL execution sessions support execute, commit and rollback (41ef8705)
  • Added detection and handling of lost execution-session connections (56b52e0a)
  • Ticket execution sessions support timeout rollback and validity checks (5897ac42)
  • Implemented ticket SQL execution session preview (M1) (59943641)
  • Fixed indexes not being saved before their count was used (7609a9e7)
  • Added an endpoint listing execution-session history by ticket ID (86d5001e)
  • Added termination of an execution session (92c6264c)
  • Variables and unsupported SQL types are handled before performance validation (95f9fa17)
  • Extracted error-message constants and blocked execution in offline workspaces (b90c768d)
  • Added saving of index recommendations for the no-index stage (bfec7ca0)
  • Synced the review logic (ca206cdd)
  • Execution sessions support running all SQL in one batch and parameterised execution (cdffaf20)
  • Completed session handling for non-transactional execution (ee1674bd)
  • Extracted and unified parse-exception persistence (feb5b082)

Workspaces & Data Sources

  • Added a multi-dialect execution framework (6100a1ec)
SQL Review & OptimizationWorkspaces & Data SourcesBug Fixes
2026-06-25

SQL Review & Optimization

  • Reworked data-source resolution in the index clean-up service (1b40af07)
  • Added the derived-table-to-lateral-join rule and updated rule configuration (b7cb6e33)
  • Review results now count error- and warning-level rules (be673d04)
  • Adjusted the parameters of the audit score calculation (d5b62a7c)
  • Added storage and display of analysis-level structured parse exceptions (e34f1203)
  • Adjusted when parse exceptions are persisted for analysis (f3eb7e2a)

Workspaces & Data Sources

  • More database types use the script parser (7de06848)
  • indexAdvisor now uses the existing SQL parser (837d76e9)
  • MySQL and PostgreSQL use the script parser (fdb21ce3)
SQL Review & OptimizationSlow Queries & InspectionWorkspaces & Data SourcesIntegrations & APIAccess & SecurityBug Fixes
2026-05-21

SQL Review & Optimization

  • Added an error code for empty SQL and improved task-failure handling (00555ff7)
  • Added an audit rule script (07f4f005)
  • Index clean-up gained an error history and manual resolution (17b649c2)
  • Removed the parse-result cache, fixing a concurrent-modification exception (1ecf5d50, a065cf35)
  • Fixed the SQL parser initialising without the useExclusiveParser parameter (22c7e6df)
  • Removed the auto-increment on the index clean-up issue table (3c54b5ea)
  • Implemented the index clean-up centre (4d8503dd)
  • Removed redundant rule initialisation from the audit module (50680bfd)
  • Fixed handling of the index clean-up result (5c76828a)
  • Fixed a parse-exception type mismatch (63bf373e)
  • SQL statement length limit raised from 100KB to 10MB (63f1c05a)
  • Corrected typos in rule codes (68958ecf)
  • Corrected a rule_code typo in a production script (7a0cb415)
  • Added storage and display of SQL parse exceptions (7ac36262)
  • Improved error parsing for index clean-up (a217d29a)
  • Corrected a wrong table reference in a SQL file (a48745f2)
  • A system property controls the ANTLR parser thread cache (c838152a)
  • Removed a redundant SQL parser from the audit module (d6cb5600)
  • Ticket details show the audit task’s error information (e0d43f96)
  • Added an exclusive-parser option to avoid multi-threading problems (e55ab28f)
  • Corrected column comments on the audit tables (ff367629)

Slow Queries & Inspection

  • Slow-query table columns changed to BIGINT to prevent overflow (1e73a083)
  • Reworked the lock-wait migration script, separating configuration from data initialisation (33a4dc9a)
  • Suspended creation of the lock-wait collection job (46124a3f)
  • The shard list can be filtered by instance ID, and streaming queries became paged (46678da8)
  • Added the lock-wait analysis schema and a migration script for historical tasks (69bffb60)
  • Added lock-wait analysis and its state management (75571801)
  • Added MySQL lock-wait detection with configuration steps (87731113)
  • The proxy slow-query list supports paging and search (88a80813)
  • Improved the AI model service with retries and error handling (912d2d52)
  • Added MySQL lock-wait analysis (afee60c7)
  • Manual collection can cooperatively cancel the scheduled job (b53d0ade)
  • Improved performance and exception handling for TDSQL proxy slow queries (bd05ba76)
  • Slow-query templates gained a tuning-time field and average query-time filtering (fdf34e31)

Workspaces & Data Sources

  • Added a database cloning tool and completed the tool chain (028a6e09)
  • The recommended rule-template ID split into an inspection template and a review template (28641176)
  • Deployment package parsing detects text-file encoding automatically (345a9235)
  • Query loads use a dedicated thread pool, improving creation (350e80c5)
  • Added timeouts and retries for MySQL queries (488686fd)
  • Added a script that exports the MySQL database structure (516f8337)
  • Upload SQL and XML files as a ZIP archive (ba022907)
  • Create query loads from archive files (e04e6c85)

Integrations & API

  • Configuration supports multiple monitor paths, and GitHub webhook handling improved (0724d015)
  • Added a ticket-audit failure exception that binds the task and the ticket (72c915bf)
  • Webhook comments can write back status, and empty-SQL tickets are cleaned up (79c7afbf)
  • API audit tasks gained an index-recommendation switch (add5fb60)
  • Added monitor directory filtering (fbf0ffa0)

Access & Security

  • Added endpoints managing platform roles and the permission dictionary (0a3e0997)
  • Platform role management can update system-role permissions (81a57a40)
  • Updating role permissions now syncs the organisation scope of associated users (928a1d18)
  • Implemented create, update and delete for platform custom roles (d43fb211)
  • Added saving of a user’s system-role assignment (d55b0350)
  • Implemented updating the platform permission dictionary (f4dca8e4)

Bug Fixes

  • Fixed a null-pointer exception and improved error handling (ecb8d04f)
SQL Review & OptimizationWorkspaces & Data SourcesIntegrations & APIAccess & SecurityBug Fixes
2026-04-13

SQL Review & Optimization

  • Audit and integration task timeout changed from 30 to 1440 minutes (28404b11)
  • Analysis result queries return a validation flag (9142db5d)
  • Rule template queries return the number of enabled rules (b118f343)
  • Fixed the validation-field mapping for different rule types (d0c3fcd9)
  • Corrected the column reference for workload raw text (d7bab435)
  • Updated production rule data and removed the invalid rule TableR066 (fa77bae9)

Workspaces & Data Sources

  • Fixed an empty string being treated as a valid value on update (f857e00c)

Integrations & API

  • Added requirements and design documentation for the GitLab integration (2ebb7053)
  • Corrected the error code for GitHub token validation (392eab55)
  • Added GitLab platform integration (5047dfc9)
  • Added end-to-end test support for the GitLab webhook (ab257a73)
  • Improved GitLab webhook reports and fixed secret storage (dff2c18d)

Access & Security

  • Added the GitLab webhook path to the security allowlist (aaa5478e)
SQL Review & OptimizationIntegrations & APIBug Fixes
2026-04-07

SQL Review & Optimization

  • Corrected the object-type parameter when fetching the rule list (1c7c64e9)
  • Unified analysis-task timeouts and removed the no-timeout branch (af9ac8e9)
  • Removed a redundant timeout in rate-limit mode (e1425f7a)

Integrations & API

  • Fixed repository identifier generation to prefer depotId (6c8ed2d1)
  • Completed result data for Coding webhook audit tasks (ba856a26)
SQL Review & OptimizationSlow Queries & InspectionWorkspaces & Data SourcesIntegrations & APIAccess & SecurityBug Fixes
2026-04-02

SQL Review & Optimization

  • Ticket details link to the audit task ID (7100d9ab)

Slow Queries & Inspection

  • Improved slow-query template export: Excel formatting and performance (9b7ac56e)

Workspaces & Data Sources

  • Workspace queries return the recommended rule-template ID (1cb2e041)

Integrations & API

  • Monitor configuration reads now include the workspace definition ID (41e1dab9)

Access & Security

  • Added analyses/getStatementList to the unauthenticated paths in WebSecurityConfiguration (02d005ef)
  • Updated the permission check for editing default rules (2754cfb9)
  • Fixed the permission check when updating default rules (52af8e74)
  • Added the workloads/get endpoint to the unauthenticated allowlist (89fd2d9f)

Bug Fixes

  • Handle an empty generated SQL result to avoid a null-pointer exception (83484c06)
SQL Review & OptimizationSlow Queries & InspectionWorkspaces & Data SourcesIntegrations & APIAccess & SecurityBug Fixes
2026-03-31

SQL Review & Optimization

  • Removed the @Builder annotation from RuleTemplateRequestDto and updated callers (0c652763)
  • Fixed the rule-tree path being built from the wrong node (1372bb34)
  • The front end can pass custom rules into SQL analysis (13f16d7d)
  • Fixed default rule-template loading and ticket-template selection (17ad1d37)
  • Audit details return the rule-template name (1dc233b1)
  • Added the object naming convention rule NCR011 (2706b8af)
  • Switched to LinkedHashMap to preserve query order (3ad1330d)
  • Added fallback index clean-up with persistence (7916b4f1)
  • Syntax-level rules without their own class are filtered out; tasks use queryadvisor for rule review and rewrite optimisation; SQLAuditor references removed (9dc677d5)
  • Fixed missing rule names when analysing with custom rules (a906ffcc)
  • Analysis records carry rule-template information, and workload handling improved (acbd6c11)
  • Replaced analysis-rule constants with the audit-rule constants (c15137d0)
  • Paged queries are capped at 10000 rows (c75d2447)

Slow Queries & Inspection

  • Slow-query templates can be filtered by database instance (57ff85e2)

Workspaces & Data Sources

  • openGauss and DWS now use the script parser (1329db77)
  • Build file-information metadata for script-based databases (9ad57b0d)
  • Query-load files gained a header comment and resolve orgId from the workspace first (b34b6fec)

Integrations & API

  • Platform list queries adjust to the deployment mode (319a409a)
  • Corrected an inaccurate description in integration error logs (3e0f8a86)
  • Reworked the integration SQL review API around workspace + template (621c2826)
  • Platform integration supports mixed-file review and passes update timestamps more reliably (757fad1c)
  • Fixed organisation-ID retrieval in SCM monitor configuration (8f447b24)
  • SQL review tasks now record the operator’s email (bf39eb58)

Access & Security

  • Removed the permission check from the audit-details endpoint (9ed61bba)
  • Merged the auth module into base and reworked permission code (bdf9d885)
SQL Review & OptimizationSlow Queries & InspectionWorkspaces & Data SourcesIntegrations & APIAccess & SecurityBug Fixes
2026-03-19

SQL Review & Optimization

  • Fixed the performance-gain calculation in validation mode (000aca41)
  • Fixed a division by zero in the performance-gain calculation (0e77e069)
  • Reworked concurrency to a pure CPU bound and removed DB-pool environment variables (100f80d5)
  • Introduced a dual-constraint model and bulk-write optimisation for concurrency (139529e0)
  • Improved ticket SQL execution stability and multi-database support (1bd56c24)
  • Fixed a null-pointer exception caused by an empty SQL list (25c6a367)
  • Added a deployment verification guide and runtime monitoring for concurrency tuning (2aab33f3)
  • Added organisation-subtree filtering for tickets and reworked permission checks (2ed2c4ea)
  • Rules for new database objects are built after the bulk insert completes (41b947c7)
  • Clearer logging when the concurrency limit is insufficient (42ab6381)
  • Added an audit-task source DTO and a JSON type handler (51e22d63)
  • Tickets derive the risk level from rule severities (616b0caa)
  • Improved SQL review report generation and line-number computation (6bcd9f82)
  • Lowered the CPU multiplier to leave more system headroom (a2ea8631)
  • Tickets fetch template configuration directly by template version ID (c5b35cd8)
  • Fixed a SQL logic error on the workload raw-text field (e7697261)
  • Tickets can be filtered by organisation path prefix to include sub-organisations (edd97432)
  • Added rule management with bulk import and export (f28ed784)
  • Implemented dynamic concurrency-permit redistribution and system resource monitoring (f6312bfc)
  • Fixed how orgId is set when creating a ticket (f63cecb8)
  • Fixed the current-handler field returning several values in ticket queries (fa8e0d90)

Slow Queries & Inspection

  • Lowered the slow-query export row limit and optimised the ranking query (119e1beb)
  • Added indexes on several tables to speed up queries (19c86153)
  • The slow-query template list can be filtered by handling stage (2463fb58)
  • Slow-query collection supports a configurable SQL and fingerprint blocklist (2b8a1167)
  • Fixed the SQL for filtering slow-query templates by organisation (2d816e61)
  • The global slow-query list validates the time range (503fe81b)
  • The slow-query list can be filtered by time range (51645e72)
  • Handle an empty dbinstanceId in the global slow-query list (7fbf9fba)
  • Added bulk updates of the slow-query template handling stage (98613e83)
  • Merge existing slow-query configuration instead of overwriting fields (a4431444)
  • DDL parsing for slow queries depends on a table-count threshold (b32ce424)
  • Slow-query templates gained a handling-stage field and export (bd21fc57)
  • Added a global slow-query entry point (e26dd9ba)
  • Improved slow-query template performance and removed dead code (e5b75182)
  • Slow-query collection can exclude users and tool queries by configuration (fd462804)
  • Added indexes on the slow-query tables (ff969091)

Workspaces & Data Sources

  • Raised the database connection-pool ceiling (1e24d135)
  • Removed the workspace update from result parsing in favour of an analysis counter (4440f942)
  • Database connection-pool ceiling raised from 50 to 300 (5a26afe6)
  • Implemented SQL file position tracking and mixed-file mode (5be1f5a7)
  • Fixed orgId possibly being null when creating a workspace (662e4f94)
  • Merged workspace status updates to reduce database round trips (6832bebe)
  • The global view list can be filtered by organisation (688cce76)
  • Added an endpoint to update workspace fields plus an organisation-name field (7d7e75e5)
  • Fixed parameter passing when querying the workspace list by organisation (935905c4)
  • Script-based database support extended to Oracle (c070e790)
  • Several query results now show environment and business line (efe8b250)
  • Bulk insert, update and delete run in chunks to avoid connection leaks (fd1b1ad2)
  • Removed the maxWorkloadMembers setting and its validation (fe9a9aa8)

Integrations & API

  • Added the missing review node to historical approval templates (077bfb47)
  • Fixed event routing, DTO mapping and configuration updates in the Coding webhook (4422ce84)
  • Added Coding webhook integration (6cef5222)
  • Integration platform permissions and schema support multiple organisations (759aa73b)
  • Improved Coding integration and ticket information display (83b35d52)
  • SQL review results now carry structured summary data (8ad73d7e)
  • Reworked the integration module for organisation isolation and custom approval templates (8d5d5305)
  • Added the Coding open-platform API root endpoint (9b30f722)
  • Removed the automatic updateTime write during platform validation (c07937fc)
  • Added an API to resolve Coding repository paths (d35fcbbf)

Access & Security

  • Fixed XML escaping when checking for an empty organisation path (0283fb98)
  • Added permission points and completed bulk import and the organisation tree (1a214f6c)
  • Fixed the default visibility of organisation-tree management permissions (1efee0f8)
  • Temporarily disabled the permission check for viewing analysis results (20015bd7)
  • Fixed duplicate data when initialising role permissions (238c7568)
  • Role checks migrated to permission checks (245c7a24)
  • Fixed permission validation when creating workspaces and instances (2f659bb1)
  • Instance creation checks permissions up front to avoid duplicate checks (2ff760fa)
  • Fixed a wrong variable name in the licence check (33951ec8)
  • Added an endpoint returning a user’s role scope (3eb9957e)
  • Simplified permission checks and added filtering by environment and business line (41ae7b64)
  • Removed the redundant is_assignable column and index from permission_resource (41b7d4da)
  • Removed a redundant permission check in the workspace controller (50945545)
  • Removed a redundant prefix from custom role code generation (55176456)
  • Role management supports data scopes; added organisation-tree member management endpoints (574fa54f)
  • Corrected permission-code naming and the scope_org_id default (59496ad6)
  • Fixed the permission check in the organisation-tree query (6e7d570c)
  • Corrected permission-resource descriptions and categories (6ed91b97)
  • Implemented the organisation tree’s base features and permission-scope metadata (9e5d17c9)
  • Fixed the permission check when creating a workspace with local files (a23270f7)
  • Corrected the visibility flags of integration-platform and monitor-item permissions (a28c2ad3)
  • Replaced IOException with SqlAuditException in a security check (a4c0ce7c)
  • Removed the (Gate) marker from permission descriptions and adjusted default state (a84ce2d3)
  • Added the organisation code field and tightened permission checks (b4190c5e)
  • Corrected default permission-resource state and updated role permission assignments (bdfb4121)
  • Resolve organisation visibility from permission codes (c1fcd856)
  • Added the organisation code field and completed the related logic (d0d3e18b)
  • Fixed role binding being attempted after organisation binding failed during bulk user import (d724e8e4)
  • Implemented resource visibility control for the organisation tree (da514ccb)
  • Fixed organisation-scope computation in permission queries (da5e3fba)
  • Added an endpoint resolving the top-level organisation ID for filtering (e0555fe3)
  • Added the organisation code field and filtering by environment and business line (e26dd9ba)
  • Fixed the permission check when querying resources by organisation ID (e3468ca3)
  • Removed the global rule-management permission and cleaned up permission data (e59d9009)
  • The organisation-tree member endpoint flags creators and administrators (e704e3e3)
  • Analysis, audit and inspection modules respect organisation-tree visibility (f19f973a)
  • Removed team-role logic from user creation (f612918c)
  • Skip the visibility check when dbinstanceId is 0 (f77f71e4)

Bug Fixes

  • Update statements check for a row count > 0 instead of == 1 (773bcb58)
  • Fixed database result-set reading and optimised the organisation-name join (a0b4ad00)