Release 5.5.3
CVE
- Fix CVE-2025-55163, CVE-2025-58056, CVE-2025-58057 #36758
- Fix CVE-2025-48924 #36085
- Fix CVE-2024-7254 #36153
- Fix CVE-2015-5237, CVE-2024-7254, CVE-2022-3171, CVE-2021-22569, CVE-2021-22570 #37888
- Fix CVE-2024-12798, CVE-2024-12801, CVE-2025-11226 #37936
- Fix CVE-2023-39017 #38039
- Fix CVE-2024-22399, CVE-2021-32824, CVE-2025-5222, CVE-2016-1000027 #38040
- Fix CVE-2023-2976, CVE-2024-29131, CVE-2025-27821 #38042
Metadata Storage Changes
- Remove
default_strategiesprefix on sharding rule metadata persist - #34664
API Changes
- Remove SQL formatting feature - #35390
- Remove logging rule feature - #35458
- Remove configuration property key
system-log-level- #35493 - Change ShardingSphere SQL log topic from
ShardingSphere-SQLtoorg.apache.shardingsphere.sql- #37022 - Add temporary config key
instance-connection-enabled- #37694 - Add property config key
proxy-frontend-connection-idle-timeout- #38045
New Features
- Add ShardingSphere BOM - #36866
- Decouple feature modules as pluggable - #36086
- Decouple database types as pluggable - #35346
- Decouple registry center types as pluggable - #36087
- Proxy: Support Firebird Proxy - #35937
- JDBC: Support ZooKeeper and ETCD URL format - #37037
- Proxy: Auto close idle frontend connection for Proxy - #38045
Enhancements
- Build: Support compiling and using ShardingSphere under OpenJDK 24 and 25 - #36688
- Metadata: Support IPv6 for JDBC connection URL - #35289
- Metadata: Support to load partition tables for PostgreSQL - #34346
- Metadata: Support for connecting to Presto's Memory Connector - #34432
- Kernel: Add LocalDate data type support - #37053
- SQL Parser: Support to parse stored procedure syntax for MySQL - #36690
- SQL Parser: Support to parse more SQL statements for MySQL - #36689
- SQL Parser: Support to parse more SQL statements for SQLServer - #36695
- SQL Parser: Support to parse more SQL statements for Oracle - #36696
- SQL Parser: Support to parse more SQL statements for Hive - #36694 #37074
- SQL Parser: Support to parse CREATE MATERIALIZED VIEW for Doris - #31499
- SQL Parser: Support to parse CREATE FUNCTION with $$ symbol for PostgreSQL and openGauss - #35947
- SQL Parser: Support Oracle SQL parser correctly extract REGEXP_SUBSTR parameters - #37924
- SQL Parser: Fix escape '' in SQL causing DialectSQLParsingException - #37943
- SQL Parser: Fix error parsing \l command SQL statement when front-end protocol is og - #37953
- SQL Parser: Fix SQLParsingException when using reserved word
orderin ORDER BY clause - #37958 - SQL Parser: Fix parsing error for SQLServer session
SET QUOTED_IDENTIFIERandSET TEXTSIZEstatements - #38005 - SQL Parser: Support '2'::int statement in PostgreSQL and openGauss - #37962
- SQL Parser: Support range type constructor functions in PostgreSQL without quotes - #37994
- SQL Parser: Support parsing MySQL stored procedure syntax- #38017
- SQL Binder: Support to bind more SQL statements - #36697
- SQL Binder: Add ALTER TABLE metadata check - #35877
- SQL Binder: Support Grant statement SQL bind - #36207
- SQL Router: Add SELECT with UNION ALL routing to multi data sources check - #35037
- SQL Router: Improve support for executing tableless SQL with single data source - #35659
- SQL Router: Add
max-union-size-per-datasourceproperty to batch UNION ALL rewrite per data source and keep parallel execution - #37405 - DistSQL: Add job sharding nodes info to the query results of
SHOW MIGRATION LIST- #35053 - DistSQL: Add DistSQL for query storage units which used in single rule - #35131
- Proxy: Implement write bool binary data type for PostgreSQL protocol - #35831
- Proxy: Add authority check on SQL
SHOW CREATE DATABASEfor MySQL - #36862 - Proxy: MySQLTextResultSetRowPacket and MySQLDateBinaryProtocolValue to support LocalDateTime and LocalTime when value contains scale - #37881
- Sharding: Using cache to avoid memory overflow from inline expression parsing - #22196
- Sharding: Add digital suffix check with binding table names - #35293
- Encrypt: Use EncryptDerivedColumnSuffix to enhance encrypt table subquery rewrite logic - #34829
- Encrypt: Add quotes to encrypt rewrite derived columns - #34950
- Encrypt: Support NOT LIKE operator in encryption feature - #35984
- Readwrite-splitting: Update transactional read query strategy default type as PRIMARY - #36477
- Pipeline: Improve pipeline job progress incremental latestActiveTimeMillis persistence - #34655
- Pipeline: Improve heterogeneous databases migration - #35424
- Pipeline: Improve DATA_MATCH data consistency check to use range streaming query - #35740
- Pipeline: Add streaming-range-type property and LARGE impl in DATA_MATCH consistency check on MySQL sharding table for better performance - #35786
- Pipeline: Improve migration consistency check to reflect storage unit maxPoolSize dynamically - #36507
- Pipeline: Improve "show migration check status" inventory_finished_percentage column inaccurate result - #36509
- Pipeline: Compatible with COMPLEX_INLINE allow-range-query-with-inline-sharding - #36524
- Pipeline: Support pipeline job realtime reflection on proxy global properties after restarting - #36749
- Pipeline: InventoryDumper reuse table inventory calculator for better function and performance - #36830
- Pipeline: Improve "alter transmission rule": verify STREAM_CHANNEL TYPE NAME - #36864
- Pipeline: Support multi-columns unique key first integer column splitting - #36935
- Pipeline: Support unique key first integer column exact splitting - #37517
- Pipeline: Support unique key first integer column possible null value - #37522
- Pipeline: Support unique key first integer column exact or estimated splitting based on data sparseness - #37542
- Pipeline: Support unique key first big integer column splitting - #37574
- Pipeline: Support unique key first string column exact splitting - #37543
- Pipeline: Support unique key first binary (e.g. MySQL VARBINARY) column exact splitting - #38041
- Pipeline: Support multi-columns unique key non-first column nullable - #37647
- Encrypt: Support handling show create view result decoration in encrypt - #37299
- JDBC: Enhance ResultSetUtils to support flexible string date/time conversions - 37424
Bug Fixes
- Kernel: Fix not return generate key when set null in INSERT statement - 35783
- Kernel: Add AllowNotUseDatabaseSQLStatementAttribute to support some mysql dal statement execute without use database - #37033
- Metadata: Fix the exception to rename schema name when executing ALTER SCHEMA - #34465
- SQL Parser: Support multiple column names with pivot and unpivot clause for Oracle - #35586
- SQL Parser: Fix set OnDuplicateKeyColumnsSegment on INSERT for PostgreSQL - #34425
- SQL Parser: Fix SQL parser error when SQL contains implicit concat expression for MySQL - #34660
- SQL Parser: Fix SQL parser error when SQL contains subquery with alias for Oracle - #35239
- SQL Parser: Fix multiple SQLs split error when comma contained - #31609
- SQL Parser: Fix wrong parameter count parse when function contains placeholder #38019
- SQL Binder: Fix unable to find the outer table in the NotExpressionBinder - 36135
- SQL Binder: Fix unable to find the outer table in the ExistsSubqueryExpressionBinder - #36068
- SQL Binder: Fix column bind exception caused by oracle XMLELEMENT function first parameter without quote - #36963
- SQL Binder: Fix correlated subquery in HAVING cannot reference outer query column - #37872
- Transaction: Fix conflicting dependencies of BASE transaction integration module - #35142
- Transaction: Alleviate connection leaks caused by SEATA client throwing exceptions - #34463
- Transaction: Fix XA data source enlist failure caused connection leaks - 37593
- SQL Federation: Fix Operation not allowed after ResultSet closed exception when use SQL federation - #35206
- DistSQL: Fix duplicate result when show rules used storage unit with readwrite-splitting rule - #35129
- DistSQL: Fix missing comma in
ALTER SQL_FEDERATION RULE- #35523 - DistSQL: Fix load single table with specific schema - #37535
- JDBC: Fix some wrong JDBC database metadata retrieve logics - #34959
- JDBC: Fix getting database name from SQL statement context - #34960
- JDBC: Support set data source properties type with java.time.Duration - #35241
- JDBC: Resolve statement manager leaks when creating multiple statements - #35665
- JDBC: Fix the issue where cached connections in DriverDatabaseConnectionManager were not released in time - 35834
- JDBC: Clear batch generated keys result set when call clearBatch method - 37204
- JDBC: Fix Oracle TIMESTAMP WITH TIME ZONE ORDER BY exception - #37181
- JDBC: Fix generated keys retrieval for PostgreSQL SINGLE tables - #38024
- Proxy: Fix
SHOW PROCESSLISTnot wait for all nodes - #35348 - Proxy: Fix NoSuchElementException exception when execute MySQL SHOW VARIABLES without current database - #35550
- Proxy: Fix column length for PostgreSQL string binary protocol value - 35840
- Proxy: Fix the connection leak caused by rollback failure in Proxy - 35867
- Proxy: Fix the behavior difference of select built-in function names with spaces -#36537
- Proxy: Fix MySQL text protocol datetime fractional seconds output - #37410
- Proxy: Fix IndexOutOfBoundsException for MySQL no-FROM multi-projection SELECT routed to admin path - #37391
- Proxy: Fix MySQL binary protocol datetime/time fractional seconds precision - #37294
- Proxy: Fix PostgreSQL boolean text output to return
t/fas per protocol - #37184 - Proxy: Fix PostgreSQL text protocol bytea output to use hex encoding and avoid truncation - #37772
- Proxy: Fix MySQL prepared statement sharding failure with
interpolateParams=falsewhenMYSQL_TYPE_STRINGis used for character sharding columns - #37993 - Proxy: Handle
byte[]pagination parameters in MySQL prepared statements (LIMIT ?,LIMIT ?, ?) - #38057 - Proxy: Fix command type error when use openGauss driver to execute statements in transaction - 37749
- Mode: Fix issue of drop schema can not work on standalone mode - #34470
- Sharding: Fix mod sharding algorithm judgement -#36386
- Sharding: Fix check inline sharding algorithms in table rules - #36999
- Sharding: Fix wrong sharding condition merge when sharding column in case-sensitive - #37389
- Sharding: Fix wrong merge sharding condition logic caused by different type sharding value - #37528
- Sharding: Prevent SELECT DISTINCT rewrite from losing global de-duplication across shards - #37857
- Encrypt: Resolve rewrite issue in nested concat function - #35815
- Pipeline: Recover value of migration incremental importer batch size - #34670
- Pipeline: Fix InventoryDumper first time dump SQL without ORDER BY on multiple columns unique key table - #34736
- Pipeline: Fix MySQL JDBC query properties extension when SSL is required on server - #36581
- Pipeline: Fix migration might skip some records on big table after job restarting - #36878
- Pipeline: Fix unsigned number column value type inconsistent in inventory and incremental - #37280
- Pipeline: Fix PostgreSQL migration create table SQL generation failure caused by locale-formatted sequence values - #28360
- Pipeline: MySQLBinlogClient compatible with async exception - #37631
- Pipeline: Fix SHOW MIGRATION RULE always display default values when ALTER MIGRATION RULE without STREAM_CHANNEL - #37737
- DistSQL: Eliminate the concurrency safety risks of DistSQL executors. - #38097