Skip to content

Releases: spring-projects/spring-shell

v4.0.1

31 Jan 17:02

Choose a tag to compare

🚀 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

30 Dec 15:02

Choose a tag to compare

⭐ 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 InteractiveShellRunner implementations
  • 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 core module #200
  • Remove JLine dependency from core module
  • 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

19 Dec 21:54

Choose a tag to compare

v4.0.0-RC1 Pre-release
Pre-release

⭐ 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 InteractiveShellRunner implementations
  • 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

09 Dec 12:53

Choose a tag to compare

v4.0.0-M2 Pre-release
Pre-release

⭐ 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 core module #200
  • Remove JLine dependency from core module
  • 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

24 Oct 13:54

Choose a tag to compare

v4.0.0-M1 Pre-release
Pre-release

⭐ 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

04 Aug 11:46
66bb4e1

Choose a tag to compare

🐞 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

  • Refine reference documentation: e3cb937
  • Fix typo in index page: ff84b99

🛠️ Tasks

  • Update Gradle to version 8.14.3
  • Replace Pivotal CLA with DCO

Full Changelog: v3.4.0...v3.4.1

v3.3.4

17 Dec 11:38

Choose a tag to compare

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

10 Dec 13:57

Choose a tag to compare

Generic Notes

Dependency Updates

  • Spring Boot 3.4.0
  • Commons IO 2.18.0
  • Starters and samples for FFM was not enabled even though it was in 3.4.0-M2.

3.4.0-M2

23 Sep 09:10

Choose a tag to compare

3.4.0-M2 Pre-release
Pre-release

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

23 Sep 09:10

Choose a tag to compare

Generic Notes

Fixes

This release contains some notable changes:

  • Builds on spring-boot 3.3.4

Issues

#1136 Upgrade spring-boot 3.3.4