Releases: spring-projects/spring-shell
v4.0.1
🚀 Enhancements
- Improve default parser to accept boolean options without values #1304
- Add alias for description attribute in Command annotation #1300
- Improve argument parsing syntax for commands without options #1287
- Provide completion from enumeration values if an option is of enum type #1282
- How to run a shell in an integration test in spring shell 4.x? #1274
🐞 Bug Fixes
- Revert script command to accept the script file as an option rather than an argument #1301
- Quoting of option values is broken #1291
- Quit builtin command is not autocompleted #1290
- Remove Spring Boot specific documentation from Spring Shell documentation #1289
- Restore version command result as in v3 #1286
- Exception handling in interactive mode does not report cause #1285
- Mixup of Option short and long name #1284
- Missing Spring Boot configuration for debug mode #1280
- Alias commands are not coloured correctly after update to version 4.0.0 #1277
- java.lang.ClassNotFoundException: org.jline.reader.History in SB 4 and Shell 4.0 #1276
- String option is empty string by default and not null #1273
- Built in help for single commands is not working anymore #1271
- Output is not printed to the shell when executing commands from a script #1270
- Command output not available in non-interactive mode in 4.0 #1268
- Options with primitive types fail in 4.0 without explicit value #1262
- Commands fail in 4.0 if no short name or long name are specified #1261
- NullPointerException is thrown when a script file contains empty lines at the end of file #1257
- Completion does not work correctly in some cases, and display text is not used in candidates #1255
📔 Documentation
- Add breaking change to 4.0 migration guide: Non-interactive mode is not the default anymore #1264
- Add breaking change to 4.0 migration guide: GraalVM not supported for annotated commands #1260
🆙 Dependency updates
- Reactor 3.8.2
- Spring Framework 7.0.3
- Spring Boot 4.0.2
❤️ Contributors
Many thanks to all contributors who worked on this release! @czpilar @piotrooo @ThomasVitale
Full Changelog: v4.0.0...v4.0.1
v4.0.0
⭐ New features
- Upgrade baseline to Spring Framework 7 and Spring Boot 4
- Update test infrastructure to JUnit 6
- Add support for jSpecify annotations #1184
- Redesign command programming model #1206 #1158
- Redesign test utilities and APIs
- Add number input type #849
- Add mandatory flag to string input #844
- Introduce new command builder DSL #1211
- Add support to print annotated method result to the standard output
- Add debug mode
🚀 Enhancements
- Improve command error message by including offending group name #291
- Improve error reporting in
InteractiveShellRunnerimplementations - Simplify availability provider configuration by using a new attribute in the Command annotation instead of a separate annotation
🆙 Dependency updates
- Reactor 3.8.1
- Spring Framework 7.0.2
- Spring Boot 4.0.1
- jLine: 3.30.6
- st4: 4.3.4
📘 Documentation updates
- Update documentation with new annotations #1172
- Update getting started guide with new annotations #1171
- Add sample Shell application for Spring Petclinic
- Update Antora resources
- Refine reference documentation: e3cb937
- Attach Javadocs to Antora
🛠️ Tasks
- Remove Spring Boot dependencies from
coremodule #200 - Remove JLine dependency from
coremodule - Remove compile time dependency to slf4j #1214
- Remove dependency to commons-io #1215
- Move core APIs under a dedicated named package
- Move core commands from spring-shell-standard to the core module #1212
- Add spring code formatting plugin to the build #1185
- Update build tool to Maven
- Update release process to use Spring IO GitHub Actions
- Move built-in commands to the main command package
- Remove unused APIs
- Remove unused Spring Boot properties
❤️ Contributors
Many thanks to all contributors who worked on this release! @piotrooo @czpilar @PabloMartinez01 @jphughes88 @nhomble @Nico-DF
Full Changelog: v3.4.1...v4.0.0
v4.0.0-RC1
⭐ New features
- Add support to print annotated method result to the standard output
- Add debug mode
- Add support for command completion
- Add support for custom completion providers
- Add support for hidden commands
- Add support for command option validation with the Bean Validation API
- Add new exit status for unavailable commands
- Add support for command aliases
- Add support for exception mapping
🚀 Enhancements
- Improve test utilities
- Improve error reporting in
InteractiveShellRunnerimplementations - Simplify availability provider configuration by using a new attribute in the Command annotation instead of a separate annotation
🆙 Dependency updates
- Reactor 3.8.1
- Spring Framework 7.0.2
- Spring Boot 4.0.1
🛠️ Tasks
- Move built-in commands to the main command package
- Remove unused APIs
- Remove unused Spring Boot properties
Contributors
Many thanks to all contributors who worked on this release!
Full Changelog: v4.0.0-M2...v4.0.0-RC1
v4.0.0-M2
⭐ New features
- Add support for jSpecify annotations #1184
- Redesign command programming model #1206 #1158
- Add number input type #849
- Add mandatory flag to string input #844
- Introduce new command builder DSL #1211
🚀 Enhancements
- Improve command error message by including offending group name #291
🆙 Dependency updates
- Spring Framework 7.0.1
- Spring Boot 4.0.0
📘 Documentation updates
- Update documentation with new annotations #1172
- Update getting started guide with new annotations #1171
- Add sample Shell application for Spring Petclinic
🛠️ Tasks
- Remove Spring Boot dependencies from
coremodule #200 - Remove JLine dependency from
coremodule - Remove compile time dependency to slf4j #1214
- Remove dependency to commons-io #1215
- Move core APIs under a dedicated named package
- Move core commands from spring-shell-standard to the core module #1212
- Add spring code formatting plugin to the build #1185
Contributors
Many thanks to all contributors who worked on this release! @piotrooo @PabloMartinez01 @jphughes88 @nhomble @Nico-DF
Full Changelog: v4.0.0-M1...v4.0.0-M2
v4.0.0-M1
⭐ New features
- Update baseline to Spring Framework 7 and Spring Boot 4
- Update test infrastructure to JUnit 6
🆙 Dependency updates
- Commons IO: 2.20.0
- jLine: 3.30.6
- st4: 4.3.4
📘 Documentation updates
- Update Antora resources
- Refine reference documentation: e3cb937
- Attach Javadocs to Antora
🛠️ Tasks
- Update build tool to Maven
- Update release process to use Spring IO GitHub Actions
v3.4.1
🐞 Bug fixes
- Parameter Constraint messages are not properly formatted #1100
- Quotes Should Not Be Recognized In Comments #277
🆙 Dependency updates
- Spring Boot: 3.5.4
- Commons IO: 2.20.0
- jLine: 3.30.4
- st4: 4.3.4
📘 Documentation updates
🛠️ Tasks
- Update Gradle to version 8.14.3
- Replace Pivotal CLA with DCO
Full Changelog: v3.4.0...v3.4.1
v3.3.4
Generic Notes
Dependency Updates
- Spring Boot 3.3.6
- Commons IO 2.18.0
Full Changelog: v3.3.3...v3.3.4
v3.4.0
3.4.0-M2
Generic Notes
Fixes
This release contains some notable changes:
- Builds on spring-boot 3.4.0-M3
- Support for JLine ffm provider
- New spring-shell-starter-ffm starter (JDK22)
- New spring-shell-sample-ffm sample (JDK22)
Issues
#1141 Upgrade gradle 8.10.1
#1137 Upgrade spring-boot 3.4.0-M3
#1132 Bundle Javadoc with Antora
#1131 Support JDK FFM