github.com/clusterize-io/tusk@v0.6.3-0.20211001020217-cfe8a8cd0d4a/CHANGELOG.md (about)

     1  # Changelog
     2  This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
     3  
     4  ## Unreleased 
     5  
     6  ## 0.6.2 (2021-04-26)
     7  ### Added
     8  - Added fish completions.
     9  
    10  ### Fixed
    11  - Fixed an issue where certain behavior might unintentionally run during
    12    tab completions.
    13  - Fixed an issue where XDG_DATA_HOME was respected incorrectly when installing
    14    bash completions.
    15  
    16  
    17  ## 0.6.1 (2020-08-17)
    18  ### Added
    19  - Commands to install and uninstall completion will now appear in the help
    20    documentation.
    21  
    22  
    23  ## 0.6.0 (2020-05-16)
    24  ### Added
    25  - The interpreter used for running commands can now be configured using the
    26    top-level `interpreter` clause in the YAML configuration.
    27  
    28  ### Changed
    29  - The interpreter now allows for specifying an arbitrary command and series of
    30    arguments, so interpreters like `node` or `ruby` that happen to use a flag
    31    other than `-c` may be specified.
    32  - The interpreter settings now also apply to commands run as part of `when` and
    33    `option` clauses.
    34  
    35  ### Removed
    36  - **BREAKING**: To avoid inadvertantly picking up unrelated shell settings, the
    37    environment variable `SHELL` is no longer considered an override for the
    38    command interpreter.
    39  
    40  
    41  ## 0.5.2 (2020-01-26)
    42  ### Added
    43  - The `include` clause is now available to include task definitions from other
    44    files.
    45  
    46  
    47  ## 0.5.1 (2020-01-13)
    48  ### Fixed
    49  - Completions now correctly escape ":" characters in command and flag names.
    50  
    51  
    52  ## 0.5.0 (2019-12-05)
    53  ### Added
    54  - The `command` clause now accepts a `print` option to override the command
    55    text that is printed to screen.
    56  - The `command` clause now acccepts a `dir` option to change the working
    57    directory for that command.
    58  
    59  ### Changed
    60  - The `command` clause now has a longer form, where string literals now map to
    61    the `exec` field. This longer form allows additional options such as `print`
    62    to be specified in a command when necessary while maintaining backward
    63    compatibility.
    64  
    65  ### Fixed
    66  - **BREAKING**: Unspecified fields in the YAML or duplicate map keys should
    67    more consistently raise errors when parsing. Some `tusk.yml` files with
    68    issues that were treated as valid in previous versions may no longer be
    69    considered valid.
    70  
    71  ### Removed
    72  - **BREAKING**: Setting environment variables with `environment` has been
    73    removed in favor of `set-environment`.
    74  
    75  
    76  ## 0.4.7 (2019-08-06)
    77  ### Fixed
    78  - Fix issue where args could be passed to tasks out of order.
    79  
    80  
    81  ## 0.4.6 (2019-06-30)
    82  ### Added
    83  - Support Alpine Linux with binary releases.
    84  
    85  
    86  ## 0.4.5 (2019-05-05)
    87  ### Added
    88  - Support `not-exists` check inside `when` clauses.
    89  
    90  
    91  ## 0.4.4 (2019-04-24)
    92  ### Added
    93  - Bash and zsh completion can be installed and uninstalled by command-line.
    94  
    95  
    96  ## 0.4.3 (2019-03-31)
    97  ### Added
    98  - Help text for commands now includes arguments section.
    99  - Include subtask hierarchy on command run.
   100  
   101  ### Changed
   102  - UI theme is now slightly more colorful.
   103  - Hidden task names do not appear in console output.
   104  
   105  
   106  ## 0.4.2 (2019-01-23)
   107  ### Added
   108  - Add short form for `when` clauses to express equal-true relationships.
   109  
   110  
   111  ## 0.4.1 (2018-07-03)
   112  ### Added
   113  - Add `finally` clause to run cleanup logic after tasks have completed. This
   114    clause takes the same arguments as `run`.
   115  
   116  ### Changed
   117  - Update UI theme to include more relevant information in normal and verbose
   118    modes.
   119  
   120  
   121  ## 0.4.0 (2018-05-21)
   122  ### Added
   123  - Short-flag combination is now supported.
   124  
   125  ### Changed
   126  - A `when` item now evaluates to true if ANY tests pass rather than if ALL tests
   127    pass. All `when` items in a clause must still pass.
   128  - `environment` clauses in `when` items now support mapping a single key to
   129    multiple values.
   130  
   131  ### Removed
   132  - **BREAKING**: Remove deprecated `not_equal` syntax in favor of `not-equal`.
   133  
   134  
   135  ## 0.3.5 (2018-04-11)
   136  ### Added
   137  - Positional arguments for tasks are now supported. All positional arguments
   138    specified in the config file are required.
   139  
   140  ### Changed
   141  - Tagline is now "the modern task runner".
   142  - Help documentation for flags with placeholder options now display them using
   143    angular brackets.
   144  - Minor changes to certain error messages.
   145  
   146  
   147  ## 0.3.4 (2018-03-14)
   148  ### Added
   149  - Top-level keys `name` and `usage` can be changed in the config file to update
   150    help documentation. This supports aliasing different config files to be used
   151    as custom CLI tools.
   152  - Support `tusk.yaml` as alternate config file name.
   153  
   154  ## 0.3.3 (2018-02-21)
   155  ### Added
   156  - Support environment variable conditional in `when` clauses.
   157  
   158  ### Changed
   159  - Warnings now appear more consistently for deprecated functionality.
   160  - Help documentation for flags is now more consistently structured.
   161  - Several configuration keys have been renamed. While the original names are
   162    still supported, they have been deprecated and will be removed in a future
   163    release. See the deprecated section for details.
   164  
   165  ### Deprecated
   166  - The key name `not_equal` should be replaced with `not-equal`. This change is
   167    to reinforce the convention for naming multi-word keys such as flag names
   168    using kebab case.
   169  - The key name `environment` in `run` clauses should be replaced with
   170    `set-environment`. This is to make the behavior distinction from other
   171    `environment` clauses clear.
   172  
   173  
   174  ## 0.3.2 (2018-01-23)
   175  ### Added
   176  - Support lists of `when` items.
   177  
   178  ### Deprecated
   179  - Individual `when` items should no longer contain multiple validations for AND
   180    logic. Multiple validations for OR logic will be added in a future release.
   181  
   182  
   183  ## 0.3.1 (2018-01-05)
   184  ### Fixed
   185  - Invoking the same sub-task multiple times with different options now assigns
   186    the options to each sub-task correctly.
   187  - Short flags with arguments now offer Bash/Zsh completions correctly.
   188  
   189  
   190  ## 0.3.0 (2018-01-04)
   191  ### Changed
   192  - **BREAKING**: Interpolation is now done per task. This has the following
   193    effects:
   194    - Sub-task options are no longer exposed to the command line.
   195    - Sub-task options are now exposed in run clauses and can be passed by a
   196      parent task to a sub-task.
   197    - Shared options are only exposed when used directly by the invoked task and
   198      not when invoked by sub-tasks.
   199    - Tasks and sub-tasks can define options with the same name.
   200  - Sub-tasks can now be defined in any order.
   201  
   202  ### Fixed
   203  - Sub-tasks no longer execute multiple times per reference in situations where
   204    the same sub-task is referenced in multiple places.
   205  
   206  ### Removed
   207  - **BREAKING**: Environment variables can no longer be set inside of an
   208    `option` clause. Using `environment` inside a `run` clause is the replacement
   209    behavior.
   210  
   211  
   212  ## 0.2.3 (2017-12-19)
   213  ### Fixed
   214  - Fix issue with Zsh tab completions.
   215  
   216  ## 0.2.2 (2017-12-14)
   217  ### Added
   218  - Add `values` field for options. Any option directly passed by command line
   219    flag or environment variable must be one of the listed values, if specified.
   220  - Add completion for option values.
   221  
   222  ### Fixed
   223  - Fix issue where global flags with hyphens are sometimes skipped during 
   224    interpolation.
   225  - Fix various issues with Zsh tab completions.
   226  
   227  ## 0.2.1 (2017-11-12)
   228  ### Added
   229  - Environment variables can now be set and unset inside of a `run` clause. This
   230    replaces the `export` functionality that was previously under `option`.
   231  - Tasks can now be defined as private.
   232  
   233  ### Changed
   234  - Change to more minimalistic UI output theme.
   235  - Log-level messages (Debug, Info, Warning, and Error) are now printed in title
   236    case instead of all caps.
   237  
   238  ### Deprecated
   239  - Environment variables should no longer be set inside of an `option` clause.
   240    Using `environment` inside a `run` clause is the replacement behavior.
   241  
   242  
   243  ## 0.2.0 (2017-11-08)
   244  ### Added
   245  - Windows is now supported.
   246  - New -s/--silent global option available for no stderr/stdout.
   247  
   248  ### Changed
   249  - **BREAKING**: Shell commands are now executed by the `SHELL` environment
   250    variable by default. If `SHELL` is not set, `sh` is used.
   251  - Commands and flags are now listed in alphabetical order.
   252  
   253  ### Fixed
   254  - Avoid infinite loop when searching for tusk.yml in non-unix file systems.
   255  - Remove redundant error message for non-exit exec errors.
   256  - Improve error messaging for non-generic yaml parsing errors.
   257  - Fix indentation for the task list in `--help` output.
   258  
   259  
   260  ## 0.1.5 (2017-10-26)
   261  ### Changed
   262  - Include expected value for skipped run clauses during verbose logging.
   263  
   264  ### Fixed
   265  - Bash and Zsh completions offer file completion for subcommand flags that take
   266    a value rather than re-offering flag names.
   267  - The default value for numeric types is now `0`, and the default for booleans
   268    is now `false`. Previously, it was an empty string for both.
   269  
   270  
   271  ## 0.1.4 (2017-10-19)
   272  ### Changed
   273  - Bash and Zsh completions now complete global flags and task flags.
   274  - Zsh completion now includes usage information.
   275  
   276  ### Fixed
   277  - Application no longer errors when referencing the same shared option in both
   278    a task and its sub-task. Redefinitions are still disallowed.
   279  
   280  
   281  ## 0.1.3 (2017-10-16)
   282  ### Added
   283  - Completions for Bash and Zsh are now bundled with releases and automatically
   284    installed with Homebrew.
   285  - Homepage is now listed for Homebrew formula.
   286  
   287  ### Changed
   288  - Help documentation is no longer displayed during incorrect usage.
   289  
   290  ### Fixed
   291  - Passing the help flag now prevents code execution and prints help.
   292  - Homebrew test command is now functional.
   293  
   294  
   295  ## 0.1.2 (2017-09-26)
   296  ### Added
   297  - Options may now be required.
   298  - Options can be exported to environment variables.
   299  
   300  ### Changed
   301  - Improve error handling in custom yaml unmarshaling.
   302  - Exit for unexpected errors occuring during when clause validation.
   303  - Use exit code 1 for all unexpected errors.
   304  - Unexpected arguments now cause an error.
   305  - Remove piping of command stdout/stderr to improve support for interactive
   306    tasks.
   307  
   308  ### Fixed
   309  - Short names cannot exceed one character in length.
   310  
   311  
   312  ## 0.1.1 (2017-09-16)
   313  ### Changed
   314  - The recommended way to install the latest stable version is now Homebrew or
   315    downloading directly from the GitHub releases page.
   316  
   317  ### Fixed
   318  - Fix interpolation for tasks with only private options.
   319  
   320  ## 0.1.0 (2017-09-14)
   321  ### Initial Release