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 & 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 & 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 & 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)