Update dependency org.springframework.shell:spring-shell-starter to v3 #22
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.1.RELEASE
->3.4.0
Release Notes
spring-projects/spring-shell (org.springframework.shell:spring-shell-starter)
v3.4.0
Compare Source
Generic Notes
Dependency Updates
v3.3.3
: 3.3.3Generic Notes
Fixes
This release contains some notable changes:
Issues
#1136 Upgrade spring-boot 3.3.4
v3.3.2
: 3.3.2Generic Notes
Fixes
This release contains some notable changes:
Issues
#1125 Upgrade spring-boot 3.3.3
#1123 backport(1120): Inconsistent behaviour on passing invalid argument
#1119 backport(1108): Getting Started missing interactive flag
#1117 backport(1115): StringInput better unicode handling
#1107 backport(1105): Upgrade jline 3.26.3
#1103 Upgrade spring-boot 3.3.2
v3.3.1
: 3.3.1Generic Notes
Fixes
This release contains some notable changes:
Issues
#1091 Upgrade jline 3.26.2
#1090 Upgrade spring-boot 3.3.1
v3.3.0
: 3.3.0Generic Notes
Changes
This release is basically same as
3.3.0-RC1
with some documentation changes. It's worth to read v3.3 notes for breaking changes.Issues
#1082 Document update to 3.3.x
v3.2.8
: 3.2.8Generic Notes
Fixes
This release contains some notable changes:
Issues
#1135 Upgrade spring-boot 3.2.10
v3.2.7
: 3.2.7Generic Notes
Fixes
This release contains some notable changes:
Issues
#1124 Upgrade spring-boot 3.2.9
#1122 backport(1120): Inconsistent behaviour on passing invalid argument
#1116 backport(1115): StringInput better unicode handling
#1106 backport(1105): Upgrade jline 3.26.3
#1102 Upgrade spring-boot 3.2.8
v3.2.6
: 3.2.6Generic Notes
Fixes
This release contains some notable changes:
Issues
#1092 backport(1091): Upgrade jline 3.26.2
#1089 Upgrade spring-boot 3.2.7
v3.2.5
: 3.2.5Generic Notes
Fixes
This release contains some notable changes:
Issues
#1078 backport(1077): Cannot pass negative number as option value
#1076 backport(1074): Upgrade jline 3.26.1
#1073 backport(1053): CommandAvailability is not documented
#1069 Upgrade spring-boot 3.2.6
#1066 backport(1063): StyleSettings interface "highlight" method failing to apply style.
v3.2.4
: 3.2.4Generic Notes
Fixes
This release contains some notable changes:
Issues
#1058 backport(1046): Upgrade jline 3.26.0
#1049 Upgrade spring-boot 3.2.5
#1043 backport(1010): Grid fixed item size goes to bottom right
#1040 backport(1039): TerminalUI may get race condition for display update
v3.2.3
: 3.2.3Generic Notes
Fixes
This release contains some notable changes:
Issues
#1035 backport(1033): Sign artifacts
#1032 backport(1012): Non interactive test example fails because of duplicated help argument
#1029 backport(1028): Upgrade gradle 8.6
#1026 backport(1024): Remove explicit copyright from docs index page
#1022 Upgrade spring-boot 3.2.4
PRs
#1013 Upgrade com.gradle.enterprise plugin to 3.16.2
v3.2.2
: 3.2.2Generic Notes
Fixes
This release contains some notable changes:
Issues
#1007 Upgrade spring-boot 3.2.3
#1004 Implement scenario lifecycle
#1002 EventLoop can attempt send without throwing
#997 ViewComponent should have more user friendly api
#996 Script runner @ symbol breaks as option value
#995 Initial ProgressView implementation
#993 DefaultWriter text draw outside screen causing NPE
#982 Update jline 3.25.1
#779 CommandContext in shell method
v3.2.1
: 3.2.1Generic Notes
Fixes
This release contains some notable changes:
Issues
#978 Update spring-boot 3.2.2
#970 Cursor not restored in tmux
#968 Split jline dependencies
#966 Update jline 3.25.0
#945 Command alias not work on type level when sub command is empty
PRs
#975 Clarifying the confusing note
v3.2.0
: 3.2.0Issues
#961 ExitCodeAutoConfiguration doesn't map CommandParserExceptionsException
#960 File option type doesn't work in native
#952 Upgrade spring-boot 3.2.1
#948 spring-configuration-metadata missing
#946 ComponentFlow single and multi selectItems should behave same
#826 Hotkey system for view framework
v3.1.12
: 3.1.12Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#1079 backport(1077): Cannot pass negative number as option value
#1075 backport(1074): Upgrade jline 3.26.1
#1068 Upgrade spring-boot 3.1.12
v3.1.11
: 3.1.11Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#1059 backport(1046): Upgrade jline 3.26.0
#1048 Upgrade spring-boot 3.1.11
v3.1.10
: 3.1.10Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#1034 backport(1033): Sign artifacts
#1031 backport(1013): Upgrade com.gradle.enterprise plugin to 3.16.2
#1030 backport(1028): Upgrade gradle 8.6
#1025 backport(1024): Remove explicit copyright from docs index page
#1021 Upgrade spring-boot 3.1.10
v3.1.9
: 3.1.9Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#1006 Upgrade spring-boot 3.1.9
#1003 backport(996): Script runner @ symbol breaks as option value
#1001 Upgrade gradle 8.4
#990 backport(779): CommandContext in shell method
#983 backport(982): Update jline 3.25.1
v3.1.8
: 3.1.8Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#977 Update spring-boot 3.1.8
#973 backport(945): Command alias not work on type level when sub command is empty
#972 backport(970): Cursor not restored in tmux
#971 Migrate 3.1.x to antora
#969 backport(968): Split jline dependencies
#967 backport(966): Update jline 3.25.0
v3.1.7
: 3.1.7Compare Source
Issues
#964 backport(960): File option type doesn't work in native
#962 backport(961): ExitCodeAutoConfiguration doesn't map CommandParserExceptionsException
#957 backport(946): ComponentFlow single and multi selectItems should behave same
#951 Upgrade spring-boot 3.1.7
#950 backport(948): spring-configuration-metadata missing
v3.1.6
: 3.1.6Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#939 backport(930): Arity not working
#933 Upgrade spring-boot 3.1.6
#929 backport(927): Support zsh completion
v3.1.5
: 3.1.5Compare Source
Generic Notes
Fixes
This release contains some notable changes:
3.24.1
fixes issues in stdin/stderr redirectionIssues
#920 backport(902): Tab completion may fail with lazy initialization
#913 backport(891): StandardOut goes to StandardError in non-interactive mode
#910 backport(901): Upgrade jline 3.24.1
#894 Upgrade spring-boot 3.1.5
#888 backport(886): Upgrade stringtemplate4 4.3.3
v3.1.4
: 3.1.4Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#880 backport(852): invalid groupId in docs
#870 Upgrade spring-boot 3.1.4
#866 backport(863): Context don't close
#859 Upgrade spring-boot 3.1.3
v3.1.3
: 3.1.3Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#836 backport(512): CompletionProposal with complete
#819 Upgrade spring-boot 3.1.2
#816 backport(815): Polish error messages
#799 backport(755): Support single command app
v3.1.2
: 3.1.2Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#798 backport(796): Aliases not working as expected with Annotations
#797 backport(795): Positional arguments don't override default value
#793 backport(778): Command not found message should be configurable
#786 Upgrade spring-boot 3.1.1
#783 backport(777): Option values are not populated when Kebab Case Option is used
v3.1.1
: 3.1.1Compare Source
Generic Notes
Fixes
This release contains some notable changes:
ShellAvailability
targets now registered automatically with aotIssues
#767 LongName not working with different naming option format or name does not match with input parameter
#763 Unexpected comma inserted at the end of the parsed message
#762 Native mode broken on linux
#757 Multiple short options not working anymore
#756 Test help command with e2e tests
#747 ShellAvailability target not registered with AOT processing
v3.1.0
: 3.1.0Compare Source
Generic Notes
Fixes
This Milestone contains some notable changes:
Issues
#744 Option as boolean doesn't default to false
#743 Upgrade spring-boot 3.1.0
#740 ConfirmationInput does not show the option selected when typing
v3.0.10
: 3.0.10Compare Source
Generic Notes
Fixes
This release contains some notable changes:
3.0.x
line goes EOL together with spring-boot3.0.x
Issues
#932 Upgrade spring-boot 3.0.13
v3.0.9
: 3.0.9Compare Source
Generic Notes
Fixes
This release contains some notable changes:
3.24.1
fixes issues in stdin/stderr redirectionIssues
#918 backport(902): Tab completion may fail with lazy initialization
#914 backport(891): StandardOut goes to StandardError in non-interactive mode
#911 backport(901): Upgrade jline 3.24.1
#893 Upgrade spring-boot 3.0.12
#889 backport(886): Upgrade stringtemplate4 4.3.3
v3.0.8
: 3.0.8Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#879 backport(852): invalid groupId in docs
#869 Upgrade spring-boot 3.0.11
#858 Upgrade spring-boot 3.0.10
v3.0.7
: 3.0.7Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#835 backport(512): CompletionProposal with complete
#818 Upgrade spring-boot 3.0.9
v3.0.6
: 3.0.6Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#785 Upgrade spring-boot 3.0.8
#782 backport(777): Option values are not populated when Kebab Case Option is used
v3.0.5
: 3.0.5Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#768 backport(762): Native mode broken on linux
#759 backport(756): Test help command with e2e tests
#758 backport(747): ShellAvailability target not registered with AOT processing
v3.0.4
: 3.0.4Compare Source
Generic Notes
Fixes
This Milestone contains some notable changes:
Issues
#746 backport(740): ConfirmationInput does not show the option selected when typing
#742 Upgrade spring-boot 3.0.7
v3.0.3
: 3.0.3Compare Source
Generic Notes
Fixes
This Milestone contains some notable changes:
Issues
#727 backport(725): Upgrade jline 3.23.0
#724 backport(722): Migrate docs to spring-asciidoctor-backends
#718 Upgrade spring-boot 3.0.6
v3.0.2
: 3.0.2Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#704 backport(702): ShellContext not passed to CommandCatalog
#699 backport(694): Converter not called as expected / difference in call by name vs position
#695 Upgrade spring-boot 3.0.5
#691 backport(690): ConfirmationInput template message broken
#688 backport(686): Rename setMaskCharater to setMaskCharacter
#684 Upgrade spring-boot 3.0.4
v3.0.1
: 3.0.1Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#678 backport(675): Wrong arity for default boolean type
#670 backport(667): Converters are not called
#661 Upgrade spring-boot 3.0.3
#659 backport(656): Test terminal should support setting initial dimension
#655 backport(654): Better e2e tests coverage
#652 backport(651): Cannot pass negative number as option
#650 backport(648): CommandRegistration should return same options
#645 backport(644): OptionArity NONE value
#643 backport(642): Reorganise e2e samples
v3.0.0
: 3.0.0Compare Source
Generic Notes
Fixes
This release uses Spring Boot 3.0.2 and contains some notable changes:
Issues
#630 Collection option type only takes first item
#628 Document String array option type
#624 Error handling may break quit command
#622 Positional args mapped differently vs given option
#621 Support modify option names
#619 Upgrade spring-boot 3.0.2
#616 Positional arguments should have conversion
#614 CommandParser should enforce arity settings
PRs
#612 Allow Shell input to be overridden
v2.1.15
: 2.1.15Compare Source
Generic Notes
Fixes
This release contains some notable changes:
2.7.x
line goes EOL together with spring-boot2.7.x
Issues
#931 Upgrade spring-boot 2.7.18
v2.1.14
: 2.1.14Compare Source
Generic Notes
Fixes
This release contains some notable changes:
3.24.1
fixes issues in stdin/stderr redirectionIssues
#919 backport(902): Tab completion may fail with lazy initialization
#915 backport(891): StandardOut goes to StandardError in non-interactive mode
#912 backport(901): Upgrade jline 3.24.1
#892 Upgrade spring-boot 2.7.17
#887 backport(886): Upgrade stringtemplate4 4.3.3
v2.1.13
: 2.1.13Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#868 Upgrade spring-boot 2.7.16
#857 Upgrade spring-boot 2.7.15
v2.1.12
: 2.1.12Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#834 backport(512): CompletionProposal with complete
#817 Upgrade spring-boot 2.7.14
v2.1.11
: 2.1.11Compare Source
Generic Notes
Fixes
This release contains some notable changes:
Issues
#784 Upgrade spring-boot 2.7.13
v2.1.10
: 2.1.10Compare Source
Generic Notes
Fixes
This Milestone contains some notable changes:
Issues
#745 backport(740): ConfirmationInput does not show the option selected when typing
#741 Upgrade spring-boot 2.7.12
v2.1.9
: 2.1.9Compare Source
Generic Notes
Fixes
This Milestone contains some notable changes:
Issues
#726 backport(725): Upgrade jline 3.23.0
#723 backport(722): Migrate docs to spring-asciidoctor-backends
#719 Upgrade spring-boot 2.7.11
v2.1.8
: 2.1.8Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#703 backport(702): ShellContext not passed to CommandCatalog
#696 Upgrade spring-boot 2.7.10
#694 Converter not called as expected / difference in call by name vs position
#692 backport(690): ConfirmationInput template message broken
#689 backport(686): Rename setMaskCharater to setMaskCharacter
v2.1.7
: 2.1.7Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#677 backport(675): Wrong arity for default boolean type
#669 backport(667): Converters are not called
#660 Upgrade spring-boot 2.7.9
#653 backport(651): Cannot pass negative number as option
#649 backport(648): CommandRegistration should return same options
v2.1.6
: 2.1.6Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#631 backport(630): Collection option type only takes first item
#629 backport(628): Document String array option type
#623 backport(622): Positional args mapped differently vs given option
#620 Upgrade spring-boot 2.7.8
#618 Sample broken
#617 backport(616): Positional arguments should have conversion
#615 backport(614): CommandParser should enforce arity settings
v2.1.5
: 2.1.5Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#604 backport(602) CommandParser unrecognised option support
#603 backport(601) Option position may break required error
#598 backport(593) BaseSingleItemSelector.preHandler returns null instead of this
#595 Upgrade spring-boot 2.7.7
#594 backport(526) Prevent ExtendedDefaultParser warning
v2.1.4
: 2.1.4Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#577 backport(575) ShellOption not registered without hyphens
#573 backport(572) Method execution should not error without value
#571 Upgrade spring-boot 2.7.6
#570 backport(567) Handle whitespace in option value
v2.1.3
: 2.1.3Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#549 backport(548) Parser should process types
#547 Upgrade spring-boot 2.7.5
v2.1.2
: 2.1.2Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#538 Upgrade spring-boot 2.7.4
#513 backport(510) next does not work as expected in ComponentFlow
v2.1.1
: 2.1.1Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#505 backport(504) Split builtin command docs
#500 Upgrade spring-boot 2.7.3
#498 backport(495) Incorrect completion for options
#496 backport(493) Spring shell is defaulting to the base Jakarta validator
v2.1.0
: 2.1.0Compare Source
Generic Notes
Fixes
This GA contains some notable changes:
Issues
#480 Add commands as list in help templating
#477 Upgrade to Spring Boot 2.7.2
#476 Component styling bad for black on white
#461 ShellOption booleans are now mandatory in 2.1.0-RC1
#458 Help should group commands with aliases
#454 Create GA release workflow
#446 Missing option error without ShellOption
#426 Add aliases info to help
PRs
#468 Add the possibility of default selection to MultiItemSelector
#455 Fix typos in using-shell-options-optional.adoc
Additional Notes
Recap
Earlier this year we started an effort align the project with latest
Spring Boot
andSpring Framework
versions as it was difficult to use existingSpring Shell
release of a spring family.Originally the main issue we wanted to address was a removal of a bean cycles which
Spring Boot
is now enforcing by default. While this feature can be turned off it is not something Spring Shell should require. This required a lot of changes and we chose to handle it with rework of a shell internals. One big challenge was how the oldSpring Shell
worked by essentially keeping command info methods backed by@ShellMethod
annotations and then calling those methods via reflection using not so well defined ways.Now that it was clear that we needed to do a bigger overhaul it made sense to do further development now rather than waiting for
Spring Boot 3
andSpring Framework 6
whichSpring Shell
eventually would have needed to support.Here is a recap of the changes that were done:
Command Registration
CommandRegistration
is a new programmatic way to define commands. The existing annotation model of commands translates to these registration behind a scene. This new registration model now allows to us control commands dynamically which wasn't the case in the old shell implementation.Existing Annotations
What comes for
@ShellMethod
and@ShellOption
We've tried to keep those compatible and future development will most likely introduce new annotations more aligned withCommandRegistration
.Theming
Modern terminal implementations are not bound to just show a simple text, but allow for different types of font styles and can be used with colors. In the old
Spring Shell
these were mostly hard coded while it was possible to use ANSI sequences viaJLine
to write anything into a console. It made sense to introduce a theming system where text written can be styled and figures chosen per style. Figures are just unicode characters supported by modern terminals which is the basis for creating pretty shell UI's.UI Components
You've mostly likely used various CLI tools which go beyond just asking some text from a user and then doing something based on that. For example GitHub CLI is a good example as some of its commands enter interactive mode and ask users for input using various tricks like selector lists and other sort of shell style forms.
What we wanted to accomplish in
Spring Shell
was to create these components which can be use independently or combine those into a flow.Graal
A big topic in a future Spring Framework release is native compilation with GraalVM. This obviously makes a big impact on the CLI side as that little jvm bootstrap timeout goes away when your existing code is translated into native binary.
With
2.1.x
it was shown using our experimental Spring Native project that it is possible to create a Spring Shell application which works the same way in Linux, MacOS and Windows.Official support for GraalVM in Spring Shell comes with
3.x
.Templating
Writing a command into a terminal is easy as you essentially just write something. However what we've done in some of the built-in commands like
help
is not always something a user wants to have or they may have other reasons to modify how it looks. Some default outputs fromSpring Shell
are now based on templates based on ST4 from theANTRL
project.This allows a user to replace templates used in
Spring Shell
and modify default behaviour. These templates also integrate into the theme framework so that it's possible to define templates per active theme.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.