Releases: apache/shardingsphere
Releases · apache/shardingsphere
4.0.0
4.0.0
API Changes
- Change package and maven groupId form
io.shardingsphere
toorg.apache.shardingsphere
. - Adjust Sharding-JDBC configuration API.
- Adjust persist structure for registry center.
New Features
- SQL92 Syntax available.
- Sharding-Proxy for PostgreSQL protocol available.
- SQL 100% compatible if route to single data node.
- Less-than(<), greater-than(>) and Less-than-equal(<=), greater-than-equal(>=) for sharding key operator available.
- DISTINCT SQL syntax available.
- Broadcast table available.
- LEAF key generator available.
- XA Transaction available, Atomikos, Narayana and Bitronix integrated.
- BASE Transaction available, Seata integrated.
- Data encrypt available.
- Skywalking plugin available.
- Sharding-UI available, an orchestration management platform.
Enhancement
- MariaDB supported.
- Improve the compatibility of SQL parsing.
SELECT FOR UPDATE
route to master data source only.- Hint in Sharding-Proxy available.
- Make configuration of orchestration consistent between Sharding-JDBC and Sharding-Proxy.
- Renew modified data sources only, not renew all the data sources.
- Vibrate configurable for Snowflake key generator.
Bug Fixes
- Improve the compatibility of JDBC Driver URL.
- Delete statement with alias available.
- Check and disable updating sharding column.
- Fix wrong type of TINYINT and SMALLINT as INTEGER.
Change Logs
4.0.0-RC3
4.0.0-RC3
New Features
- Sharding-UI, an orchestration management platform for ShardingSphere comes online.
- Not only SQLs from MySQL, PostgreSQL, SQLServer, Oracle, but any SQL92 Syntax can be parsed correctly and used in ShardingSphere.
Enhancement
- Support using less-than character(<) and greater-than character(>) for sharding data.
- When master and slave dataSources exist, support executing
SELECT FOR UPDATE
on master dataSource. - Support hint in Sharding-Proxy.
- Finish parsing DAL syntax for MySQL.
- Make configuration of orchestration compatible between Sharding-JDBC and Sharding-Proxy.
Bug Fixes
- Through Bug fix, the feature of encryption becomes much stable and applicable.
- Support delete statement with alias.
- Check and disable updating sharding column.
- Fix wrong type of TINYINT and SMALLINT as INTEGER.
Refactor
- Rename optimized module to preprocessor module.
- Decouple rewrite core module for sharding/encrypt features.
Change Logs
4.0.0-RC2
4.0.0.RC2
API Changes
- Optimize and delete API and configuration item of sharding logic index.
- Update the API of encryption to support the encrypted and plain data coexistence.
New Features
- Integration of Seata for distributed transaction.
- User can do data encryption by using ShardingProxy.
- User can use Leaf-segment generator to get distributed ID.
- Support Skywalking plugin for application performance management.
Enhancement
- Renew modified dataSources, not all the datasources to improve performance for configuration orchestration.
- Improve the compatibility of SQL parsing.
Refactor
- Remove DatabaseType enum, use dynamic SPI to load data source type.
- The parse engine upgrade from the 2nd generation to 3rd.
- The Refactoring of SQL rewriting module.
Change Logs
4.0.0-RC1
Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First apache release.
API Changes
- Adjust persist structure for orchestration's registry center.
- Adjust Sharding-JDBC configuration API.
- Change package and maven groupId form
io.shardingsphere
toorg.apache.shardingsphere
. - Adjust spring-boot-starter.
New Features
- XA Transaction available.
- Data encrypt available.
- Use PostgreSQL protocol access Sharding-Proxy available.
- DISTINCT SQL syntax available.
- Broadcast table.
- All SQL 100% compatible if route to single data node (MySQL Only).
Change Logs
3.0.0 (Not Apache Release)
Milestones
- Sharding-Proxy launch. Support the use of Sharding-Sphere in the form of database to support for MySQL CLI and GUI client
New Features
Core
- ISSUE #290 Support batch INSERT
- ISSUE #501 Support OR
- ISSUE #980 Support DCL
- ISSUE #1111 Support MySQL DAL
Sharding-Proxy
- ISSUE #902 Support XA transaction
- ISSUE #916 Support authorization
- ISSUE #936 Support registry center
- ISSUE #1046 Support multiple logic databases
Enhancements
Core
- ISSUE #373 Support
order by ?
- ISSUE #610 Route unicast for DQL without table
- ISSUE #701 Caching parsed results to improve performance
- ISSUE #773 Support sharding and autoincrement key of INSERT without column names
- ISSUE #935 Use
YAML
instead ofJSON
to store configurations in registry center - ISSUE #1004 Properties can configure for Sharding and Master-slave independent
- ISSUE #1205 Execute engine enhancement
Sharding-JDBC
- ISSUE #652 Support
Spring Boot Starter
2.X - ISSUE #702 Support
$->{..}
for inline expression - ISSUE #719 Support inject key generator objects by spring namespace
- ISSUE #720 Support inject sharding algorithm objects by spring namespace
Sharding-Opentracing
- ISSUE #1172 Opentracing enhancement
API changes
- ISSUE #1153 Adjust the maven artifactId for Orchestration module
- ISSUE #1203 Adjust Spring namespace xsd for Sharding and Master-slave
- ISSUE #1289 Adjust Hint API
- ISSUE #1302 Refine package structure
- ISSUE #1305 Deprecated and remove sharding-jdbc-transaction-parent module
- ISSUE #1382 Remove type configuration in Orchestration module
Bug Fixes
Core
- ISSUE #569 Failed to parse SQL for Oracle when ROWNUM is not at end
- ISSUE #628 Support data type jsonb for PostgreSQL
- ISSUE #646 When aliases in
SELECT ITEMS
correspond to the real column names ofGROUP BY
orORDER BY
, there is no need to generate derived columns - ISSUE #806
NOT IN
parse exception - ISSUE #827 Endless loop for bad SQL like
SELECT * FROM table WHERE id IN ()
- ISSUE #919 Inline expression with groovy may cause memory leak
- ISSUE #993 Fail to parsing PostgreSQL due to the quotation
- ISSUE #1015 Support SQL like
SELECT id, COUNT(*) FROM table GROUP BY 1,2
- ISSUE #1120 Derived columns of
GROUP BY / ORDER BY
appear in query result - ISSUE #1186 Dead lock may occur on MEMORY_STRICTLY mode when get connection on concurrency environment
- ISSUE #1265 RoundRobinMasterSlaveLoadBalanceAlgorithm throw an ArrayIndexOutOfBoundsException when AtomicInteger overflow
Sharding-JDBC
- ISSUE #372 Reuse PreparedStatement cause cache of route result do not clean
- ISSUE #629 Support transaction isolation on JDBC
- ISSUE #735 Unexpected slave datasource routing result when using
Round-robin
load-balance algorithm in Mybatis - ISSUE #1011 Can't resolve placeholder in
Spring Boot YAML
configuration
3.0.0.M4 (Not Apache Release)
New Features
Sharding-Proxy
- ISSUE #1046 Support multiple database schema
Enhancements
core
- ISSUE #1205 Execute engine enhancement
Sharding-Opentracing
- ISSUE #1172 Opentracing enhancement
API changes
- ISSUE #1289 Adjust Hint API
- ISSUE #1302 Refine package structure
- ISSUE #1305 Deprecated and remove sharding-jdbc-transaction-parent module
Bug Fixes
Core
- ISSUE #1265 RoundRobinMasterSlaveLoadBalanceAlgorithm throw an ArrayIndexOutOfBoundsException when AtomicInteger overflow
3.0.0.M3 (Not Apache Release)
New Features
Sharding-Proxy
- ISSUE #902 Support XA transaction
Enhancements
Core
- ISSUE #373 Support
order by ?
Sharding-JDBC
- ISSUE #1153 Reconstruct orchestration module to make it independent
API changes
- ISSUE #1153 Adjust the maven artifactId for Orchestration module
- ISSUE #1203 Change Spring namespace xsd for Sharding + Master-slave configuration
Bug Fixes
Core
- ISSUE #1186 Dead lock may occur on MEMORY_STRICTLY mode when get connection on concurrency environment
- ISSUE #1120 Derived columns of
GROUP BY / ORDER BY
appear in query result
Sharding-JDBC
- ISSUE #1116 Throw NullPointerException when Using transaction
3.0.0.M2 (Not Apache Release)
New Features
Core
- ISSUE #980 Support DCL
Sharding-Proxy
- ISSUE #916 Support authorization
- ISSUE #936 Support registry center
Enhancements
Core
- ISSUE #935 Use
YAML
instead ofJSON
to store configurations in registry center - ISSUE #1004 Properties can configure for Sharding and Master-slave independent
Bug Fixes
Core
- ISSUE #919 Inline expression with groovy may cause memory leak
- ISSUE #1015 Support SQL like
SELECT id, COUNT(*) FROM table GROUP BY 1,2
Sharding-JDBC
- ISSUE #372 Reuse PreparedStatement cause cache of route result do not clean
- ISSUE #993 Fail to parsing PostgreSQL due to the quotation
- ISSUE #1011 Can't resolve placeholder in
Spring Boot YAML
configuration
3.0.0.M1 (Not Apache Release)
Milestones
- Sharding-Proxy launch. Support the use of Sharding-Sphere in the form of database to support for MySQL CLI and GUI client
New Features
Core
- ISSUE #290 Support batch INSERT
- ISSUE #501 Support OR
- ISSUE #1111 Support MySQL DAL
Enhancements
Core
- ISSUE #610 Route unicast for DQL without table
- ISSUE #701 Caching parsed results to improve performance
- ISSUE #773 Support sharding and autoincrement key of INSERT without column names
Sharding-JDBC
- ISSUE #652 Support
Spring Boot Starter
2.X - ISSUE #702 Support
$->{..}
for inline expression - ISSUE #719 Support inject key generator objects by spring namespace
- ISSUE #720 Support inject sharding algorithm objects by spring namespace
Bug Fixes
Core
- ISSUE #628 Support data type jsonb for PostgreSQL
- ISSUE #646 When aliases in
SELECT ITEMS
correspond to the real column names ofGROUP BY
orORDER BY
, there is no need to generate derived columns - ISSUE #806
NOT IN
parse exception - ISSUE #827 Endless loop for bad SQL like
SELECT * FROM table WHERE id IN ()
- ISSUE #993 Fail to parsing PostgreSQL due to the quotation
Sharding-JDBC
- ISSUE #629 Support transaction isolation on JDBC
- ISSUE #735 Unexpected slave datasource routing result when using
Round-robin
load-balance algorithm in Mybatis
2.0.3 (Not Apache Release)
New Features
Core
- ISSUE #600 Support TCL
Bug Fixes
Core
- ISSUE #540 Support SQL that alias is the keyword
- ISSUE #577 Support new line for
YAML
configuration
Sharding-JDBC
- ISSUE #522 Slave database does not need to execute the DDL for read-write splitting