github.com/kcmerrill/alfred@v0.0.0-20180727171036-06445dcb5e3d/MIGRATION.md (about) 1 # Alfred v0.1 -> Alfred v0.2 2 3 There have been some changes to the latest version of alfred that I think were necessary to the code base, along with a better ability to test out components. On top of that, there were changes made to how alfred files are structured that lead to readability from within the alfred tasks. 4 5 Here are a few of those changes. 6 7 ## Components 8 9 1. `Skip` the skip component was deprecated. The reasoning behind this was to avoid silent failures which was a common occurance. More times than not, tasks should never have stopped executing and skipped. Of course, if you feel this to be incorrect, please let me know! 10 11 1. `For` was changed, instead of using the command, it now accepts an `args` key 12 13 ## Taskgroups 14 15 This is a new concept, that is really similiar to the old way of doing task groups, however this way allows for cleaner readability and the ability to mix and match. 16 17 Previously, any task groups, such as `setup`, `ok`, `fail`, `tasks` you could setup your task as follows: `tasks: taskone tasktwo taskthree taskfour`. This still exists! However, if you wanted to pass in arguments, lets use `taskthree` as an example, it would have to look like this: `tasks: taskone() tasktwo() taskthree(arg1) taskfour()`. Notice how, even though one task needed arguments, it required all tasks to have `()`. 18 19 The latest version of alfred still allows non arguments to be space separated, so the very first example will still work as you expect. However, if you need to use arguments, you now need to put your task groups on newlines. 20 21 So these are now valid: 22 ```yaml 23 taskname: 24 tasks: | 25 taskone 26 tasktwo 27 taskthree(arg1) 28 taskfour 29 ``` 30 31 ```yaml 32 taskname: 33 tasks: taskthree(arg1) #notice, only have 1 task w/arg? no problem! 34 ```