> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pawsql.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> PawSQL 是一个产品：Cloud 是公网部署形态，Engine / Optimizer / Auditor / Advisor / Patroller 是同一产品的组件与交付形态，不是彼此独立的产品。 / PawSQL is a single product: Cloud is the public deployment form, while Engine / Optimizer / Auditor / Advisor / Patroller are components and delivery forms of the same product, not separate products.
> 术语以站内术语表为准：SQL 审核对应英文 SQL Review，查询重写对应 Query Rewrite，索引推荐对应 Index Recommendation；英文内容统一用 Review，不用 Audit。 / Use the site glossary for terminology: 审核 is SQL Review, 重写 is Query Rewrite, 索引推荐 is Index Recommendation; English content uses Review, never Audit.
> 引用能力范围或版本支持时以对应页面为准；标注 unknown、或 status 非 published 的内容表示尚未经产品核实，不应作为事实引用。 / Cite capability scope and version support from the corresponding page; content marked unknown, or with a status other than published, is not yet product-verified and must not be cited as fact.

# PawSQL Server

> Release history of pawsql-server, covering SQL review and optimization, slow queries and inspection, workspaces, integrations and access control.

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.

<Update label="1.2.11" description="2026-09-23" tags={["SQL Review & Optimization", "Slow Queries & Inspection", "Workspaces & Data Sources", "Integrations & API", "Access & Security", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.10" description="2026-08-31" tags={["SQL Review & Optimization", "Slow Queries & Inspection", "Workspaces & Data Sources", "Integrations & API", "Access & Security", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.9" description="2026-07-07" tags={["SQL Review & Optimization", "Workspaces & Data Sources", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.8" description="2026-06-25" tags={["SQL Review & Optimization", "Workspaces & Data Sources", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.7" description="2026-05-21" tags={["SQL Review & Optimization", "Slow Queries & Inspection", "Workspaces & Data Sources", "Integrations & API", "Access & Security", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.6" description="2026-04-13" tags={["SQL Review & Optimization", "Workspaces & Data Sources", "Integrations & API", "Access & Security", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.5" description="2026-04-07" tags={["SQL Review & Optimization", "Integrations & API", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.4" description="2026-04-02" tags={["SQL Review & Optimization", "Slow Queries & Inspection", "Workspaces & Data Sources", "Integrations & API", "Access & Security", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.3" description="2026-03-31" tags={["SQL Review & Optimization", "Slow Queries & Inspection", "Workspaces & Data Sources", "Integrations & API", "Access & Security", "Bug Fixes"]}>
  ### 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)
</Update>

<Update label="1.2.2" description="2026-03-19" tags={["SQL Review & Optimization", "Slow Queries & Inspection", "Workspaces & Data Sources", "Integrations & API", "Access & Security", "Bug Fixes"]}>
  ### 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)
</Update>
