All Versions
Latest Version
Avg Release Cycle
67 days
Latest Release

Changelog History
Page 5

  • v1.0.8 Changes

    February 06, 2017
    • ๐Ÿ›  Fix regression in 1.0.7: Allow tasks to return results of types other than \Robo\Result. #585
    • ๐Ÿ‘ Allow Copydir exclude method to specify subfolders by Alex Skrypnyk #590
    • โž• Add composer init task, and general rounding out of composer tasks. #586
    • โœจ Enhance SemVer task so that it can be used with files or strings. #589
  • v1.0.7 Changes

    • โž• Add a state system for collections to allow tasks to pass state to later tasks.
    • Ensure that task results are returned when in stopOnFail() mode.
    • ๐Ÿ‘‰ Make rawArg() and detectInteractive chainable. By Matthew Grasmick #553 #558
    • [CopyDir] Use Symfony Filesystem. By malikkotob #555
    • [Composer] Implement CommandInterface. By Ivan Borzenkov #561
  • v1.0.6 Changes

    • โž• Add configuration features to inject values into commandline option and task setter methods. Experimental; incompatible changes may be introduced prior to the stable release of configuration in version 1.1.0.
  • v1.0.5 Changes

    • Incorporate word-wrapping from output-formatters 3.1.5
    • Incorporate custom event handlers from annotated-command 2.2.0
  • v1.0.4 Changes

    • โšก๏ธ Updated to latest changes in master branch. Phar and tag issues.
  • v1.0.0 Changes

    October 10, 2016
    • โช [Collection] Add tasks to a collection, and implement them as a group with rollback
      • Tasks may be added to a collection via $collection->add($task);
      • $collection->run(); runs all tasks in the collection
      • $collection->addCode(function () { ... } ); to add arbitrary code to a collection
      • $collection->progressMessage(...); will log a message
      • $collection->rollback($task); and $collection->rollbackCode($callable); add a rollback function to clean up after a failed task
      • $collection->completion($task); and $collection->completionCode($callable); add a function that is called once the collection completes or rolls back.
      • $collection->before(); and $collection->after(); can be used to add a task or function that runs before or after (respectively) the specified named task. To use this feature, tasks must be given names via an optional $taskName parameter when they are added.
      • Collections may be added to collections, if desired.
    • [CollectionBuilder] Create tasks and add them to a collection in a single operation.
      • $this->collectionBuilder()->taskExec('pwd')->taskExec('ls')->run()
    • โž• Add output formatters
      • If a Robo command returns a string, or a Result object with a $message, then it will be printed
      • Commands may be annotated to describe output formats that may be used
      • Structured arrays returned from function results may be converted into different formats, such as a table, yml, json, etc.
      • Tasks must use TaskIO for output methods. It is no longer possible to use IO from a task. For direct access use Robo::output() (not recommended).
    • ๐Ÿ‘‰ Use league/container to do Dependency Injection
      • Breaking Tasks' loadTasks traits must use $this->task(TaskClass::class); instead of new TaskClass();
      • Breaking Tasks that use other tasks must use $this->collectionBuilder()->taskName(); instead of new TaskClass(); when creating task objects to call. Implement Robo\Contract\BuilderAwareInterface and use Robo\Contract\BuilderAwareTrait to add the collectionBuilder() method to your task class.
    • ๐Ÿ’ฅ Breaking The arg(), args() and option() methods in CommandArguments now escape the values passed in to them. There is now a rawArg() method if you need to add just one argument that has already been escaped.
    • ๐Ÿ’ฅ Breaking taskWrite is now called taskWriteToFile
    • [Extract] task added
    • [Pack] task added
    • [TmpDir], [WorkDir] and [TmpFile] tasks added
    • ๐Ÿ‘Œ Support Robo scripts that allows scripts starting with #!/usr/bin/env robo to define multiple robo commands. Use #!/usr/bin/env robo run to define a single robo command implemented by the run() method.
    • Provide ProgresIndicatorAwareInterface and ProgressIndicatorAwareTrait that make it easy to add progress indicators to tasks
    • โž• Add --simulate mode that causes tasks to print what they would have done, but make no changes
    • โž• Add robo generate:task code-generator to make new stack-based task wrappers around existing classes
    • โž• Add robo sniff by @dustinleblanc. Runs the PHP code sniffer followed by the code beautifier, if needed.
    • Implement ArrayInterface for Result class, so result data may be accessed like an array
    • Defer execution of operations in taskWriteToFile until the run() method
    • โž• Add Write::textIfMatch() for taskWriteToFile
    • ResourceExistenceChecker used for error checking in DeleteDir, CopyDir, CleanDir and Concat tasks by @burzum
    • Provide ResultData base class for Result; ResultData may be used in instances where a specific $task instance is not available (e.g. in a Robo command)
    • ArgvInput now available via $this->getInput() in RoboFile by Thomas Spigel
    • โž• Add optional message to git tag task by Tim Tegeler
    • ๐Ÿ“‡ Rename 'FileSystem' to 'Filesystem' wherever it occurs.
    • Current directory is changed with chdir only if specified via the --load-from option (RC2)
  • v0.6.0 Changes

    • โž• Added --load-from option to make Robo start RoboFiles from other directories. Use it like robo --load-from /path/to/where/RobFile/located.
    • Robo will not ask to create RoboFile if it does not exist, init command should be used.
    • [ImageMinify] task added by @gabor-udvari
    • ๐Ÿ’ป [OpenBrowser] task added by @oscarotero
    • [FlattenDir] task added by @gabor-udvari
    • ๐Ÿ‘€ Robo Runner can easily extended for custom runner by passing RoboClass and RoboFile parameters to constructor. By @rdeutz See #232
  • v0.5.4 Changes

    • ๐Ÿ›  [WriteToFile] Fixed by @gabor-udvari: always writing to file regardless whether any changes were made or not. This can bring the taskrunner into an inifinite loop if a replaced file is being watched.
    • [Scss] task added, requires leafo/scssphp library to compile by @gabor-udvari
    • [PhpSpec] TAP formatter added by @orls
    • [Less] Added ability to set import dir for less compilers by @MAXakaWIZARD
    • ๐Ÿ›  [Less] fixed passing closure as compiler by @pr0nbaer
    • [Sass] task added by 2015-08-31
  • v0.5.3 Changes

    • [Rsync] Ability to use remote shell with identity file by @Mihailoff
    • [Less] Task added by @burzum
    • [PHPUnit] allow to test specific files with files parameter by @burzum.
    • [GitStack] tag added by @SebSept
    • [Concat] Fixing concat, it breaks some files if there is no new line. @burzum 2015-03-03-13
    • [Minify] BC fix to support Jsqueeze 1.x and 2.x @burzum 2015-03-12
    • [PHPUnit] Replace log-xml with log-junit @vkunz 2015-03-06
    • [Minify] Making it possible to pass options to the JS minification @burzum 2015-03-05
    • [CopyDir] Create destination recursively @boedah 2015-02-28
  • v0.5.2 Changes

    • [Phar] do not compress phar if more than 1000 files included (causes internal PHP error) 2015-02-24
    • _copyDir and _mirrorDir shortcuts fixed by @boedah 2015-02-24
    • [File\Write] methods replace() and regexReplace() added by @asterixcapri 2015-02-24
    • [Codecept] Allow to set custom name of coverage file raw name by @raistlin 2015-02-24
    • [Ssh] Added property remoteDir by @boedah 2015-02-24
    • [PhpServer] fixed passing arguments to server 2015-02-24