Skip to content

Latest commit

 

History

History
884 lines (578 loc) · 46.7 KB

CHANGELOG.md

File metadata and controls

884 lines (578 loc) · 46.7 KB

Changelog

v1.2.6 - 2024-11-08

v1.2.5 - 2024-11-01

v1.2.4 - 2024-10-31

  • Add command.variables as a convenience utility for defining global command variables 6538886
  • Update JSON schema to include command.variables 28953fb
  • Refactor command.variables to a new Variable object 3e5a060
  • Add black and white to color library 0573e0f
  • Compare v1.2.3..v1.2.4

v1.2.3 - 2024-10-16

  • 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 flags 152069a
  • Compare v1.2.2..v1.2.3

v1.2.2 - 2024-08-17

  • 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

v1.2.1 - 2024-07-25

  • 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

v1.2.0 - 2024-07-05

  • 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 setting 5e58388
  • Add examples/command-examples-on-error b30d2aa
  • Compare v1.1.10..v1.2.0

v1.1.10 - 2024-04-01

  • 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 when catch_all is used 1422bcf
  • Add conjoined_flag_args to allow disabling the --flag=arg normalization d17756d
  • Compare v1.1.9..v1.1.10

v1.1.9 - 2024-03-20

  • 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.1 8e12d55
  • Compare v1.1.8..v1.1.9

v1.1.8 - 2024-03-02

v1.1.7 - 2024-02-17

v1.1.6 - 2024-02-08

  • Docker: Fix missing pandoc b8f6d2c
  • Avoid rendering inspect_args() when generating for production env dbb8816
  • Update approvals.bash library to 0.4.1 9eee25c
  • Update Dockerfile 4534497
  • Build multi-arch docker image using GitHub Actions 5d16926
  • Compare v1.1.5..v1.1.6

v1.1.5 - 2023-12-22

  • Allow flag.default and arg.default to be an array if repeatable is true 00c81ec
  • Improve JSON schema tests 6bd7a1b
  • Add YAML schema as a source to the bashly JSON schema 261d104
  • Add allowed option to environment_variable 4d313a8
  • Update inspect_args to also print managed environment_variables 4fe17b7
  • Refactor inspect_args handling of environment variables 7c6e712
  • Compare v1.1.4..v1.1.5

v1.1.4 - 2023-12-09

  • Fix example in bashly doc flag.arg 039ab1c
  • Add support for unique in repeatable flag args b062c93
  • Disallow multiple repeatable args, and a repeatable arg that is not the last one 25431c9
  • Add support for unique in repeatable args 4486788
  • Compare v1.1.3..v1.1.4

v1.1.3 - 2023-11-25

v1.1.2 - 2023-11-15

  • Fix shfmt excess newlines violation when using --env production 0938fca
  • Fix some incompatibilities with strict mode b24cddf
  • Compare v1.1.1..v1.1.2

v1.1.1 - 2023-10-18

  • Upgrade approvals.bash library to version 0.4.0 a68ad34
  • 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

v1.1.0 - 2023-08-28

  • Add bashly render command 4acc67b
  • Add ability to render markdown documentation 7db6129
  • Refactor module loading with autoload 62184f0
  • Add bashly add render_markdown library d0fada7
  • Add ability to render man pages and bashly add render_mandoc library fe9607b
  • Refactor render command with RenderSource model 8629d26
  • Allow arbitrary (x-anything) values in bashly.yml 9062783
  • Refactor mandoc template to use x_mandoc_footer and x_mandoc_authors b44b91f
  • Add render-mandoc man page generation example 98420de
  • Add --show to bashly render 2fcd790
  • Compare v1.0.8..v1.1.0

v1.0.8 - 2023-08-11

  • 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

v1.0.7 - 2023-07-07

v1.0.6 - 2023-06-27

  • Add completions for bashly itself 2f17228
  • Add bashly completions --install command 3f4b1a3
  • Upgrade completely version to 0.6.0 b9217aa
  • Add bashly completions --uininstall command 706b121
  • Upgrade completely version to 0.6.1 0c293ac
  • Remove colors from bashly shell prompt 30d1e87
  • Compare v1.0.5..v1.0.6

v1.0.5 - 2023-06-02

v1.0.4 - 2023-05-02

  • Allow using bashly-settings.yml instead of settings.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

v1.0.3 - 2023-04-08

  • 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

v1.0.2 - 2023-03-23

  • 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

v1.0.1 - 2023-03-03

  • 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

v1.0.0 - 2023-02-16

  • 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

v0.9.5 - 2023-01-31

v0.9.4 - 2022-12-31

v0.9.3 - 2022-12-24

  • 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

v0.9.2 - 2022-12-16

v0.9.1 - 2022-12-09

  • 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

v0.9.0 - 2022-12-02

  • 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

v0.8.10 - 2022-11-01

v0.8.9 - 2022-10-14

v0.8.8 - 2022-10-08

v0.8.7 - 2022-09-30

  • 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

v0.8.6 - 2022-09-23

v0.8.5 - 2022-09-09

v0.8.4 - 2022-09-04

v0.8.3 - 2022-08-16

v0.8.2 - 2022-06-01

  • 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

v0.8.1 - 2022-05-22

  • 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

v0.8.0 - 2022-05-12

  • 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

v0.7.10 - 2022-04-29

  • 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

v0.7.9 - 2022-04-02

  • 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

v0.7.8 - 2022-03-11

v0.7.7 - 2022-02-20

  • 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

v0.7.6 - 2022-02-18

  • 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

v0.7.5 - 2022-02-14

v0.7.4 - 2022-02-13

v0.7.3 - 2022-02-03

v0.7.2 - 2022-01-28

v0.7.1 - 2021-11-17

  • 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

v0.7.0 - 2021-10-29

v0.6.9 - 2021-10-26

v0.6.8 - 2021-10-12

v0.6.7 - 2021-09-27

v0.6.6 - 2021-09-07

v0.6.5 - 2021-09-03

v0.6.4 - 2021-08-27

v0.6.3 - 2021-08-25

v0.6.2 - 2021-07-27

v0.6.1 - 2021-07-21

  • Refactor completions to allow adding custom functions (like git branches) 86cc50a
  • Compare v0.6.0..v0.6.1

v0.6.0 - 2021-07-21

v0.5.1 - 2021-07-02

v0.5.0 - 2021-06-30

v0.4.5 - 2021-06-24

v0.4.4 - 2021-06-01

v0.4.3 - 2021-05-08

v0.4.2 - 2021-03-04

  • 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

v0.4.1 - 2021-02-20

v0.4.1rc1 - 2021-02-18

v0.4.0 - 2020-10-21

  • 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)

Full Changelog

Implemented enhancements:

  • Consider adding stdlib for trimming a string to $COLUMNS wide #52

Merged pull requests:

v0.3.8 (2020-03-02)

Full Changelog

Merged pull requests:

  • Hide [options] unless flags are defined #49 (DannyBen)

v0.3.7 (2020-02-17)

Full Changelog

Merged pull requests:

  • Add support for default values for flags and args #48 (DannyBen)

v0.3.6 (2020-02-06)

Full Changelog

Merged pull requests:

v0.3.5 (2019-12-23)

Full Changelog

Merged pull requests:

  • Relinquish -v and -h if the user wants them #44 (DannyBen)

v0.3.4 (2019-12-19)

Full Changelog

Merged pull requests:

  • Add support for command group captions #43 (DannyBen)

v0.3.3 (2019-12-13)

Full Changelog

Merged pull requests:

v0.3.2 (2019-12-10)

Full Changelog

Merged pull requests:

v0.3.1 (2019-11-29)

Full Changelog

Implemented enhancements:

  • Add support for defining dependencies #36

Merged pull requests:

v0.3.0 (2019-11-28)

Full Changelog

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)

Full Changelog

Implemented enhancements:

  • Automatic support for short commands #30
  • Support sub-sub-commands #29

Merged pull requests:

v0.2.3 (2019-11-24)

Full Changelog

Implemented enhancements:

  • Change default help message #26
  • Multiline help messages are not showing properly #24

Merged pull requests:

v0.2.2 (2019-11-22)

Full Changelog

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:

v0.2.1 (2019-11-21)

Full Changelog

Fixed bugs:

  • Subcommand with short code and no args does not work #16

Merged pull requests:

v0.2.0 (2019-11-21)

Full Changelog

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:

v0.1.1 (2019-11-20)

Full Changelog

Closed issues:

  • Add documentation for the configuration syntax #4
  • Add code climate #3
  • Add full integration tests #2

Merged pull requests: