All Versions
25
Latest Version
Avg Release Cycle
239 days
Latest Release
4 days ago

Changelog History
Page 1

  • v4.0.3 Changes

    June 11, 2026

    🛠 🐞 Bug Fixes

    • Tab completion broken on JDK 25 after upgading jline to 3.30.9 #1343
    • 📦 ShellInputProvider not usable outside its package #1342
    • Incorrect candidate search scope #1351
    • 👍 DevTools AutoReload Support #1224
    • Autocompletion does not work correctly for arguments #1346
    • Custom "Converters" not working with @Command-Annotations #1352
    • Missing runtime hints for stg resources in JLineRuntimeHints when using native compilation #1358
    • Missing space between non required options in help synopsis #1357
    • Missing argument information in the output of the help command #1344

    🛠️ Tasks

    • 🛠 Fix build errors and warnings #1183

    ⚡️ 🆙 Dependency updates

    • Reactor 3.8.6
    • Spring Framework 7.0.8
    • Spring Boot: 4.0.7
    • JLine: 3.30.13

    ❤️ Contributors

    🚀 Thank you to all the contributors who worked on this release:

    @czpilar, @mhayen , @DF-Nico


    Full Changelog : v4.0.2...v4.0.3

  • v4.0.2 Changes

    April 24, 2026

    ⭐ 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 @ActiveProfiles in 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
    • 0️⃣ 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:

    @czpilar, @RustyRodriguez, @therepanic

  • v4.0.1 Changes

    January 31, 2026

    🚀 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
    • 0️⃣ 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 Changes

    December 30, 2025

    ⭐ 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 Changes

    December 19, 2025

    ⭐ 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 Changes

    December 09, 2025

    ⭐ 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 Changes

    October 24, 2025

    ⭐ 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.3 Changes

    June 11, 2026

    ⚡️ 🆙 Dependency updates

    • Spring Boot: 3.5.15

    📚 📔 Documentation

    • 📚 Reference documentation URL mismatch for 3.4 #1336

    Full Changelog : v3.4.2...v3.4.3

  • v3.4.2 Changes

    March 23, 2026

    🛠 🐞 Bug fixes

    • 🛠 Fix incorrect method name in ShellTestClient

    ⚡️ 🆙 Dependency updates

    • Spring Boot: 3.5.12
    • jLine: 3.30.6

    📚 📘 Documentation updates

    • 🛠 Fix hidden command documentation #1178
    • 📄 Incorrect reference to spring-shell-starter-ffm in docs #1176

    🛠️ Tasks

    • ⚡️ Update Gradle to version 8.14.4

    Full Changelog : v3.4.1...v3.4.2

  • v3.4.1 Changes

    August 04, 2025

    🛠 🐞 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