- Fix array variables scope
ed7f240
- Compare
v1.2.5..v1.2.6
- Move root variables from
run()
toinitialize()
f76c53b
- Compare
v1.2.4..v1.2.5
- Add
command.variables
as a convenience utility for defining global command variables6538886
- Update JSON schema to include
command.variables
28953fb
- Refactor
command.variables
to a newVariable
object3e5a060
- Add black and white to color library
0573e0f
- Compare
v1.2.3..v1.2.4
- Fix docker image for multi-arch
5660a3e
- Fix INI library when loading multiple files
6bfb1bc
- Add sub dependencies to avoid Ruby 3.3.5 warnings
30b7318
- Fix
conflicts
in fixed flags152069a
- Compare
v1.2.2..v1.2.3
- Add support for needy flags:
flag.needs
fadda94
- Add needy flag example
43e3b38
- Update JSON schemas
868650c
- Update flag usage to show its conflicts and needs
db23575
- Refactor Command#introspection
a66db36
- Add support for environment variable validations
bccd3b0
- Update validations example to show environment variable validation
ee6a4c9
- Update script generation to allow bash variables in some YAML strings
6660d16
- Allow ad-hoc revealing of private commands, flags, and environment variables
d2876d7
- Add private-reveal example
8c94042
- Update completions library to consider private visibility setting
e16dde1
- Update mandoc/markdown library to consider private visibility setting
c49d94d
- Compare
v1.2.1..v1.2.2
- Add validation to disallow required args before optional
f2d6276
- Fix shellcheck violations and reduce use of
eval
41da133
- Fix default command not being triggered when only flags are provided
c659830
- Fix prompt in bashly shell
de231e8
- Compare
v1.2.0..v1.2.1
- Fix usage string when there is a forced default command
d50607b
- Add 'Global options' caption when appropriate
105a0f8
- Update descriptions in schemas/strings.json
6592666
- Remove redundant code in usage function
f87986a
- Update default command usage to show optional brackets
854036d
- Add
show_examples_on_error
setting5e58388
- Add examples/command-examples-on-error
b30d2aa
- Compare
v1.1.10..v1.2.0
- Sanitize percent signs in help messages
1f7e27c
- Drop support for Ruby 3.0
865d6ac
- Fix input normalization to ignore anything after the double dash (--) operator
621a151
- Add
[--]
to usage text whencatch_all
is used1422bcf
- Add
conjoined_flag_args
to allow disabling the--flag=arg
normalizationd17756d
- Compare
v1.1.9..v1.1.10
- Fix repeatable args when the input has quotes
0d35217
- Fix repeatable flag args when the input has quotes
ab34fc0
- Improve handling of unique repeatable args and flag args
c200223
- Update
Approvals.bash
to v0.5.18e12d55
- Compare
v1.1.8..v1.1.9
- Update
approvals.bash
to v0.5.0530cb05
- Add support for using heredoc
adf4837
- Compare
v1.1.7..v1.1.8
- Refactor validations to run after assigning default values
e45580c
- Upgrade
approvals.bash
to 0.4.2863bf9a
- Compare
v1.1.6..v1.1.7
- Docker: Fix missing pandoc
b8f6d2c
- Avoid rendering
inspect_args()
when generating for production envdbb8816
- Update
approvals.bash
library to 0.4.19eee25c
- Update Dockerfile
4534497
- Build multi-arch docker image using GitHub Actions
5d16926
- Compare
v1.1.5..v1.1.6
- Allow
flag.default
andarg.default
to be an array ifrepeatable
is true00c81ec
- Improve JSON schema tests
6bd7a1b
- Add YAML schema as a source to the bashly JSON schema
261d104
- Add
allowed
option toenvironment_variable
4d313a8
- Update
inspect_args
to also print managedenvironment_variables
4fe17b7
- Refactor
inspect_args
handling of environment variables7c6e712
- Compare
v1.1.4..v1.1.5
- Fix example in
bashly doc flag.arg
039ab1c
- Add support for
unique
in repeatable flag argsb062c93
- Disallow multiple repeatable args, and a repeatable arg that is not the last one
25431c9
- Add support for
unique
in repeatable args4486788
- Compare
v1.1.3..v1.1.4
- Fix
bashly completeions --install
9e5d45a
- Compare
v1.1.2..v1.1.3
- Fix shfmt excess newlines violation when using
--env production
0938fca
- Fix some incompatibilities with strict mode
b24cddf
- Compare
v1.1.1..v1.1.2
- Upgrade
approvals.bash
library to version 0.4.0a68ad34
- Update INI library to allow using environment variables in the INI values
2e3aec7
- Add support for custom "See Also" in mandoc renderer (
x_mandoc_see_also
)4fddc7b
- Fix missing tmpdir library in
bashly add --source
3f7b4c3
- Validate libraries.yml
a44cbde
- Compare
v1.1.0..v1.1.1
- Add
bashly render
command4acc67b
- Add ability to render markdown documentation
7db6129
- Refactor module loading with autoload
62184f0
- Add
bashly add render_markdown
libraryd0fada7
- Add ability to render man pages and
bashly add render_mandoc
libraryfe9607b
- Refactor render command with RenderSource model
8629d26
- Allow arbitrary (
x-anything
) values in bashly.yml9062783
- Refactor mandoc template to use x_mandoc_footer and x_mandoc_authors
b44b91f
- Add render-mandoc man page generation example
98420de
- Add
--show
tobashly render
2fcd790
- Compare
v1.0.8..v1.1.0
- Add ini library for handling INI files with sections
e0b1e43
- Config Library: Add ability to set default value in
config_get
d879ae1
- Config Library: Refactor to allow sections and use the low level INI library
f2ce7f5
- Gemspec: Add Psych dependency
3db496b
- Compare
v1.0.7..v1.0.8
- Add support for auto-organizing command files in subfolders
c777968
- Pre-process config files using ERB
5e9cda4
- Compare
v1.0.6..v1.0.7
- Add completions for bashly itself
2f17228
- Add
bashly completions --install
command3f4b1a3
- Upgrade completely version to 0.6.0
b9217aa
- Add
bashly completions --uininstall
command706b121
- Upgrade completely version to 0.6.1
0c293ac
- Remove colors from
bashly shell
prompt30d1e87
- Compare
v1.0.5..v1.0.6
- Add bashly interactive shell
66f0115
- Compare
v1.0.4..v1.0.5
- Allow using
bashly-settings.yml
instead ofsettings.yml
f4d1f66
- Fix completions library to not show private commands
3002a61
- Fix completions library to not show private flags
4206b04
- Compare
v1.0.3..v1.0.4
- Move 'initialize.sh' to 'bashly add hooks'
8070b3d
- Drop support for ruby 2.7
60f72e4
- Add validation alert when 'allowed' is provided without either a 'default' or 'required'
6e84cba
- Update validation errors to highlight words that are YAML options
176fb1e
- Fix arg.allowed and flag.allowed to allow setting without 'required' or 'default'
1601075
- Fix 'default' and 'required' for flags with a short name only
f57f611
- Compare
v1.0.2..v1.0.3
- Do not add dependencies-filter view marker when there are no dependencies
b960ded
- Fix initialize.bash not being injected
35d99ed
- Add before/after hooks
7665904
- Add 'bashly add hooks' command
c0ce610
- Add hooks example
7690098
- Compare
v1.0.1..v1.0.2
- Allow dot in command.name
a4ea0fa
- Change settings.strict to allow any string
7072bf8
- Update dependencies option to support 'any' (e.g. wget or curl)
c3edf8c
- Add a 'deps' associative array to the generated bash script
02701df
- Compare
v1.0.0..v1.0.1
- Show --help and --version last in Options list
b825ad8
- Fix environment variables caption to not show if all are private
9b55da5
- Remove env var validation rule for private + default
2c5b4f7
- Add support for private flags
de6e5a2
- Allow configuring the path to bashly.yml
facd6ce
- Allow customizing the path to settings.yml
b65870d
- Remove environment variables from all --help messages
44df91c
- Refactor libraries
3139d59
- Refactor 'bashly add libraries' command
5cf63e3
- Add support for adding libraries from a custom directory
ea124cf
- Add support for git-sourced libraries
bcd35dc
- Add auto upgrade support to custom library sources
470c9c6
- Remove deprecated command.short
b82b70a
- Add command.name validation
0c74891
- Compare
v0.9.5..v1.0.0
- Upgrade dependencies
0319ade
- Compare
v0.9.4..v0.9.5
- Fix validate --verbose command
4b07c85
- Add support for color usage elements
f4c8086
- Compare
v0.9.3..v0.9.4
- Add support for double dash as an argument parsing terminator
370982e
- Add bashly doc command to show reference in the terminal
d5026e0
- Compare
v0.9.2..v0.9.3
- Fix repeatable arg validation
ed93445
- Fix all shfmt offenses
c997fa8
- Compare
v0.9.1..v0.9.2
- Add support for default command that is used instead of showing usage
bb20e6c
- Remove call to root_command when there are sub-commands
60db5bf
- Add the ability to choose .bash as the partials extension
ad8605d
- Compare
v0.9.0..v0.9.1
- Refactor with rentactop ruleset
50ed3d0
- Fix multiple global flags
d9e339d
- Fix bash completions for commands with global flags
6c52c52
- Allow command.dependencies to be a hash for custom 'how to install' messages
558f3f7
- Normalize examples to include src/*.sh artifacts
9ad208d
- Update approvals.bash (bashly add test) to v0.3.2
070a2b3
- Add help command library (bashly add help)
d739db7
- Improve generated script format
8f7b529
- Change dependency command checker for testability
9683e16
- Update approvals.bash (bashly add test) to v0.3.3
4f1053d
- Add ability to define a private environment variable
5a7634f
- Compare
v0.8.10..v0.9.0
- Allow command.examples to be a string
bac91f2
- Compare
v0.8.9..v0.8.10
- Add --verbose to bashly validate, to show the compiled config
fe04c9e
- Add command function directive
4010361
- Compare
v0.8.8..v0.8.9
- Refactor settings (internal)
e19b9c7
- Allow disabling compact flag expansion (-abc to -a -b -c)
0554c22
- Compare
v0.8.7..v0.8.8
- Update validator to alert when a default command has no args
cfbb038
- Make default environment variables values available in initialize()
d37a214
- Redirect error messages to stderr
54008d2
- Add support for global command flags
512338a
- Update all examples and show global flags use in examples/docker-like
70f975d
- Compare
v0.8.6..v0.8.7
- Fix 'bashly add test'
41d65f8
- Compare
v0.8.5..v0.8.6
- Update Filewatcher to ~> 2.0
51fa854
- Compare
v0.8.4..v0.8.5
- Update completely to version 0.5.0
f764a53
- Compare
v0.8.3..v0.8.4
- Switch from ERB to GTX templates
330945b
- Upgrade to completely 0.4.3
3964452
- Show error instead of usage on invalid command call
fa623e6
- Compare
v0.8.2..v0.8.3
- Add command.deep_help option
aeef258
- Change the group option so that it no longer lingers
5690c4a
- Rename command.deep_help to command.expose
1efb2a6
- Add help command example
6011426
- Fix parents revalidation issue
2efb8cd
- Refactor command.expose to show subcommands without --help when set to 'always'
2227fdc
- Add --watch to the generate command
ee2cf92
- Compare
v0.8.1..v0.8.2
- Improve non-unique command validation by testing name and aliases together
4f00423
- Improve bash completion generation
be9b05c
- Fix completions for deep command aliases
d7ea262
- Compare
v0.8.0..v0.8.1
- Breaking change: Rename Command.short to Command.alias and add support for multiple values
b7b8dc1
- Add deprecation warning for command.short
8d5b656
- Validate uniqueness of command args, flags and subcommands
c4e2553
- Compare
v0.7.10..v0.8.0
- Disallow catch_all together with repeatable arg
6a8c8c8
- Refactor parse_requirements views
b9c38d4
- Add support for generating tab-indented scripts using BASHLY_TAB_INDENT
9ff5551
- Add settings.yml as an alternative to environment variables
dd95436
- Support env value in settings.yml as an alternative to BASHLY_ENV
15f92e3
- Compare
v0.7.9..v0.7.10
- Add support for repeatable args
74f0ce3
- Abort generation if the config file contains unknown keys
58f8777
- Allow generating script without file marker comments
cf8257d
- Add BASHLY_ENV and bashly generate --env
93c9446
- Add a help footer when running bashly without arguments
1b851ba
- Compare
v0.7.8..v0.7.9
- Remove --version from subcommands
6886475
- Compare
v0.7.7..v0.7.8
- Add bashly version to generated script header comment
806d3e1
- Fix whitelist filter on repeatable flags
3af73d9
- Add BASHLY_LIB_DIR configuration variable
4eea1f2
- Add more friendly errors on invalid configuration
5c0e230
- Adjust YAML loading to allow aliases in Ruby 3.1
a67b52f
- Compare
v0.7.6..v0.7.7
- Add support for repeatable flags
fa692a9
- Make args array available in user filters
1e09ed5
- Add support for exclusive flags (conflicts)
ef95fbe
- Add approvals.bash testing library
f898659
- Compare
v0.7.5..v0.7.6
- Fix validation when using split config
2d9373e
- Compare
v0.7.4..v0.7.5
- Add custom command filters
436f175
- Compare
v0.7.3..v0.7.4
- Allow specifying filenames for command partials
a5065c3
- Add validations for flag and arg names
c768d0b
- Compare
v0.7.2..v0.7.3
- Add support for stdin
d95a864
- Refactor catch_all (internal)
9bda55c
- Refactor command scopes
2291269
- Fix autocomplete in ZSH
3e55adc
- Compare
v0.7.1..v0.7.2
- Refactor library handling (internal)
adefbb1
- Make generated scripts compatible with bash strict mode
1b406e1
- Add support for private commands
e3c3217
- Add ability to import external snippets in bashly.yml
a58df1a
- Add basic validation for key config properties
ce85408
- Validate the entire config prior to generating
828358f
- Add bashly validate CLI command
03e08db
- Compare
v0.7.0..v0.7.1
- Allow required args to appear after flags
fba6109
- Refactor library functions (internal)
a78b4c9
- Auto upgrade libraries
17fd839
- Add support for hidden comments
efe00a3
- Compare
v0.6.9..v0.7.0
- Add optional arg/flag validation functions
bafa806
- Automatically add allowed arguments to completions
567d194
- Add more custom validations
fc63e42
- Add support for NO_COLORS
1ae60a2
- Compare
v0.6.8..v0.6.9
- Add --quiet to bashly generate
0aa53db
- Fix --wrap func generation excess newlines
0a262c6
- Add support for a custom script header
8899d7c
- Improve friendly error on bash 3
7c20a40
- Compare
v0.6.7..v0.6.8
- Fix config library context contamination
58c6525
- Compare
v0.6.6..v0.6.7
- Add support for -abc, -a=arg and --flag=arg
6a57c72
- Sort lib files to ensure consistent inclusion
1e64bfe
- Compare
v0.6.5..v0.6.6
- Upgrade completely gem to allow completions for local scripts
d8fd173
- Compare
v0.6.4..v0.6.5
- Exit with zero on --help
7ba21b6
- Add support for required catch_all arguments
6f34e27
- Compare
v0.6.3..v0.6.4
- Exit gracefully if bash version is < 4
8b442a8
- Compare
v0.6.2..v0.6.3
- Add default option for environment variables
a320ae8
- Compare
v0.6.1..v0.6.2
- Refactor completions to allow adding custom functions (like git branches)
86cc50a
- Compare
v0.6.0..v0.6.1
- Add bash completion generation
6708dd2
- Compare
v0.5.1..v0.6.0
- Add support for a custom help footer
7512be5
- Compare
v0.5.0..v0.5.1
- Add support for extensible commands
8edef13
- Compare
v0.4.5..v0.5.0
- Avoid wrapping uninterrupted strings
cd18368
- Compare
v0.4.4..v0.4.5
- Fix catch all help when no args are used
715a7f4
- Compare
v0.4.3..v0.4.4
- Add ability to catch arbitrary args and flags
9e7800b
- Compare
v0.4.2..v0.4.3
- Remove unused code for --version and --help in root command
a7012e2
- Add support for allowed values for flags
39a978e
- Add support for whitelist in args
0b915a4
- Compare
v0.4.1..v0.4.2
- Add generate --wrap FUNCTION_NAME option to generate sourcing-friendly output
e784362
- Compare
v0.4.1rc1..v0.4.1
- Change flag arguments (--flag ARG) to allow argument that starts with a dash
f4e680d
- Compare
v0.4.0..v0.4.1rc1
- Allow using short name only for flags and change '%{long}' in flag translation to '%{name}'
0523fa8
- Compare
v0.3.9..v0.4.0
v0.3.9 (2020-04-01)
Implemented enhancements:
- Consider adding stdlib for trimming a string to $COLUMNS wide #52
Merged pull requests:
- Fix config regex to work on mac #53 (DannyBen)
- Config stdlib: allow comments #51 (DannyBen)
- Add config_has_key to the config stdlib #50 (DannyBen)
v0.3.8 (2020-03-02)
Merged pull requests:
v0.3.7 (2020-02-17)
Merged pull requests:
v0.3.6 (2020-02-06)
Merged pull requests:
- Fix --version to exit with 0 #47 (DannyBen)
- Switch to github actions #46 (DannyBen)
- Resolve ruby warnings #45 (DannyBen)
v0.3.5 (2019-12-23)
Merged pull requests:
v0.3.4 (2019-12-19)
Merged pull requests:
v0.3.3 (2019-12-13)
Merged pull requests:
v0.3.2 (2019-12-10)
Merged pull requests:
v0.3.1 (2019-11-29)
Implemented enhancements:
- Add support for defining dependencies #36
Merged pull requests:
v0.3.0 (2019-11-28)
Implemented enhancements:
- Add support for required environment variables #35
Merged pull requests:
- Add support for specifying dependencies #38 (DannyBen)
- Add support for required environment variables #37 (DannyBen)
- Sanitize usage strings for quotes #34 (DannyBen)
v0.2.4 (2019-11-26)
Implemented enhancements:
Merged pull requests:
- Add YAML standard library #33 (DannyBen)
- Add examples for starts-with command pattern #32 (DannyBen)
v0.2.3 (2019-11-24)
Implemented enhancements:
Merged pull requests:
- Support endlessly nested commands #31 (DannyBen)
- Improve fixed flags usage texts #28 (DannyBen)
- Remove root command name from user filenames #27 (DannyBen)
- Multiline help message support #25 (DannyBen)
v0.2.2 (2019-11-22)
Implemented enhancements:
- Add ability to retrieve all config values from the config file #21
- Add some script for the user to specify initialization actions #17
Closed issues:
- Convert travis shellcheck to a Runfile command that checks all examples #20
Merged pull requests:
- Add config_keys function to config standard lib #23 (DannyBen)
- Improve shellcheck tests #22 (DannyBen)
v0.2.1 (2019-11-21)
Fixed bugs:
- Subcommand with short code and no args does not work #16
Merged pull requests:
v0.2.0 (2019-11-21)
Implemented enhancements:
- Add ability to generate extra includes #11
- Add ability to define examples and environment variable usage sections #10
- Run shellcheck on generated scripts #7
- Add ability to include custom shell scripts #6
- Make all hard coded strings configurable #5
Merged pull requests:
- Add config and colors libraries #15 (DannyBen)
- Add support for extra custom scripts #14 (DannyBen)
- Add support for examples and env vars usage text #13 (DannyBen)
- Custom strings + improvements round #12 (DannyBen)
v0.1.1 (2019-11-20)
Closed issues:
Merged pull requests: