Releases: spring-projects/spring-shell
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
3.3.3
3.2.8
3.4.0-M1
Generic Notes
Fixes
This release contains some notable changes:
- Builds on spring-boot 3.4.0-M2
- Builds on jline 3.26.3
- Better unicode support
- StatusBar is easier to use
- Better handling of invalid options
Issues
#1126 Upgrade spring-boot 3.4.0-M2
#1120 Inconsistent behaviour on passing invalid argument
#1115 StringInput better unicode handling
#1112 Overhaul StatusBar for better text use
#1110 Screen writer support for AttributedString
#1108 Getting Started missing interactive flag
#1105 Upgrade jline 3.26.3
#1104 Upgrade spring-boot 3.4.0-M1