⭐ New Features
- Add support to group commands at class level as in v3 #1266
- Add support to test commands which ask for input with Spring Shell 4 #1292
- Add support to specify argument arity for multi-valued input #1263
- Sort command names in help output #1279
🐞 Bug Fixes
- Exit code is always 0 for non-interactive runner #1339
- Missing help for built-in commands #1335
- Boolean flags not working without value in sub-commands #1331
- Declaring an ApplicationRunner causes Spring Shell application to close immediately #1330
- Spring profiles not honoured when registering commands #1328
- Command registration differs with
@ActiveProfilesin tests vs jar spring.profiles.active= (4.0.1) #1327 - Command not registered if
@Profile(..) is used and activated #1325 - Fix possible NPE in InteractiveShellRunner #1320
- Script execution stops on line with comment (in 4.x) #1316
- Empty line in script prints all available commands (in 4.0.1) #1315
- Default option int value is ignored (in 4.0.1) #1314
- NonInteractiveShellRunner v3 -> v4 Migration Issue #1312
- Boolean option without value does not properly work with argument #1309
- Annotated commands are not registered in GraalVM native binary #1229
- Table Rendering Issue with CJK Characters #1223
📔 Documentation
- End-to-end testing documentation can be improved #1338
- Exception handling changes in 4.0 are not documented in migration guide #1265
🆙 Dependency updates
- Reactor 3.8.5
- Spring Framework 7.0.7
- Spring Boot: 4.0.6
- jLine: 3.30.9
❤️ Contributors
Thank you to all the contributors who worked on this release: