## 4.1.0

### New Features

1. Add a start.bat to launch for shardingsphere-ui distribution module in Windows
1. The work flow and roadmap of ShardingSphere-Scaling

### Enhancements

1. shardingsphere-ui-frontend config file problem
1. The enhancement for the first version shardingsphere-scaling-UI
1. Fix link of build status
1. Fix ui login Chinese text
1. Add sharding scaling API document

### Bug Fixes

1. Fix request error page interactive presentation problem
1. Fix ui module for new center api 
1. Fix spelling error
1. UI details modification
1. Fixes ui errors when loading datasources config

## 4.0.0

### New Features

1. shardingsphere-ui-frontend multilingual support
1. Optimize the running time of UI unit test
1. Support data migration function

### Enhancements

1. Warning when maven install for npm version
1. Upgrade the node version of pom.xml file

### Bug Fixes

1. User UI interaction without login for a long time
1. Modify login chinese content

## 4.0.0-RC3

### New Features

1. Merge OpenShardingUI features
1. shardingsphere-ui-backend support spring-boot-maven-plugin plugin

### Enhancements

1. Solving npm run build error reporting problem
1. Improving shardingsphere-ui-frontend details modification
1. shardingsphere-ui-frontend optimization
1. Check shardingsphere-UI License
1. Remove unnecessary check state & refactor code

### Bug Fixes

1. Plugin version not defined
1. Build error: spring-boot-maven-plugin version not defined