CHANGELOG.md
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## v0.19.0 - (2016-09-28)
* Bug
* [Core] Simplification of images download process;
* [Core] Fixing regex bug in expand envs (not expand numbers: `$1` or `${2}`);
* [Core] Adding image envs in expand envs variable process;
* [Core] Adding support to escape variables in command options (shell and system);
* [Cli] Fixing error thrown when `azk scale` command was run, regardless of it being successful or not;
* [Cli] Fixing escape character in `azk vm ssh`;
* [Sync] Fixing bug for when the path to be synced contained whitespace (#672);
* [Sync] Removing `system.name` from the destination sync path, which avoids multiple syncs for extended systems;
* [Systems] Fixing load envs from file with `=` in value;
* Enhancements
* [Suggestions] Refactoring court to support more suggestions for one evidence;
* [Suggestions] Adding support to WordPress;
* [Core] Adding support to Docker Registry API v2;
* [Core] Support images of other repositories beyond Docker Hub;
* [Sync] Adding support to special characters in sync paths;
* [Sync] Updating `chokidar` lib (file watching), for better performance and bug fixes;
* [Sync] Refactoring the sync system to sync the file tree from the modified file, not the whole tree;
* [Sync] Improving support to `.gitignore` file, ensuring all the paths listed in it are properly resolved;
* [Sync] Improving fault tolerance for the sync process;
* [Sync] Removing a synced folder shouldn't break the agent nor the sync process;
* [Package] Adding support to `Ubuntu 16.04`;
* [Balancer] Support for tweaking Load Balancer settings via environment (`AZK_BALANCER_{WORKERS,WORKER_MAX_SOCKETS,TCP_TIMEOUT,DEAD_BACKEND_TTL}`);
## v0.18.0 - (2016-04-07)
* Enhancements
* [Code] Adding github issue and PR templates;
* [Docs] The instructions for use `azk` and `Wordpress` have been improved;
* [Manifest] Adding `resolve` options to `path`, with default `true` value;
* [Docs] Updating whole docs structure: Azkfile, Gitbook version and plugins;
* [Cli] `azk version` changes to display the first 7 digits of the commit hash and the date of the corresponding commit version;
* [Cli] Adding options `--full` and `--logo` the command `azk version`, to show more information (old `azk doctor`);
* [Cli] Adding more options to `azk info`, now have a `--filter` and `--json`;
* Deprecations
* [Cli] Deprecating `azk doctor` command, now use `azk version --full`;
* [Manifest] Deprecating template expander tokens `${}` and `<%%>`;
* Bug
* [Sync] Fixing ownership of the symlink itself, not of the target file;
* [Cli] Enabling back deprecation warnings;
## v0.17.0 - (2016-02-19)
* Enhancements
* [Cli] Updating `i18n-cli`: now, it supports color syntax highlight;
* [Cli] Replacing `colors` for `chalk` and adding `--no-color` option that outputs in only one color;
* [Cli] Improving `ui.isInteractive()`: now, not only the existence of a `tty` is checked but also the parameter `--quiet`;
* [Cli] Adding support to a more verbose mode in `azk start`;
* [Cli] More options added to the `azk config` command. Now it uses a `key-value` system. The `azk config list` subcommand shows a list of the options users can choose from;
* [Generators] Adding suggestion to CakePHP framework;
* [Suggestions] Adding `php artisan migrate` to Laravel PHP framework;
* [Suggestions] Changing `postgres` version to 9.4 and env vars prefix to `POSTGRES`;
* [Docs] Adding instructions about "Expandable Properties";
* [Package] Installation script (`install.sh`) now supports other shells besides `bash` #583;
* [Package] Installation script now supports Arch Linux #596;
* [Package] Installation script now supports updating `azk` #604;
* [Package] Moving CI test scripts into azk's source code;
* [Crash-report] A `crash-report` system has been added. It reports `azk` internal errors that may arise during its use to the Azuki team. It first informs the user before sending the report (not sending is `opt-out`). It also gives the option to inform an e-mail address for notifications about solutions;
* [Tracking] The anonymous user activity tracking system is now `opt-out`. Users must accept the terms of use before starting to use `azk`.
* [Dependency] Updating `archiver`, `crash-report-sender`, `docker-registry-downloader`, `file-async` and `inquirer`;
* [Dependency] Updating `insight-keen-io` and fixing tracker connection to it;
* [Dependency] Updating `lodash` and fixing use of `template` in `src/utils/index`;
* [Manifest] Adding type to `ManifestError`, possible values: `syntax`, `logic` and `validate`;
* [Dependency] Updating `bluebird` and fixing the use of `promisify` (now, by default, it does not support mutiple returns anymore) made through `nbind`, `ninvoke` and `nfcall`;
* [Agent] Expanding error message in agent starting process;
* [Dependency] Updating `azk-dev` and exchanging `babel-runtime` with `babel-polyfill`;
* [Spec] Updating `azk-dev`: the `--slow` is no longer supported and has been replaced by the reverse option `--skip-slow`;
* [Code] Refactoring many parts of the code to best suit the modules of the `babel> 6` system;
* [Code] Replacing `chai` by `azk-dev/lib/chai`;
* [Code] Adding `azk [node|npm|gulp|clingwrap|ncu]` commands in development mode (`AZK_ENV=development`);
* [Code] Adding global dependencies: `npm-check-updates` and `clingwrap`, for manage npm packages;
* [File sharing] Avoiding to fix the synced files permissions for all systems every time a system was started #616;
* [Docker] Upgrading azk's VM ISO to use Docker 1.9.1;
* [Docs] All examples of the property `command` were updated as `array` instead of `string`;
* [Docs] Upgrading azk's TOS;
* Bug
* [Pull] When pulling in verbose mode do not print several `undefined` anymore. Instead print Docker downloading bar provided by Docker API;
* [Core] Converting string commands to array when a Docker image has a defined `ENTRYPOINT`;
* [Cli] Fixing return code in `azk start [url]`;
* [Cli] Fixing return code in `azk agent stop`;
* [Tracking] Fix a bug that could send duplicate data (stopping sending others) to the tracker system;
* [Specs] Fix a bug in `after` hooks, this bug has caused the end of the test process returns to `0` even when the failed tests;
## v0.16.3 - (2015-12-08)
* Enhancements
* [Installation] Installation script (`install.sh`) now installs Docker automatically;
* [Core] The `provision` property now is run as a single command, using `&&` as separator in the commands concatenation instead of `;` previously used.
* Bug
* [Core] Changing the way the system command is interpreted to avoid compatibility problems with older `Azkfile` that use String for the command property vs new way using Array;
* [Core] Fixing a bug that was showing an unexpected error message when the provision step of a system resulted in a non-zero code;
## v0.16.2 - (2015-11-17)
* Enhancements
* [Core] Upgrading node to v0.10.40;
* [Suggesting] Changing suggestions to suggest a command based in Array in replace of String;
* Bug
* [Core] Fixing a bug that could generate an invalid command when `azk start` runs, making systems fail by not properly overriding the image Docker command by the custom command defined in the `Azkfile`;
* [Generators] Fixing replace evidences in `Court`;
* [Code] Fixing Docker-in-Docker entries in `Azkfile`;
## v0.16.1 - (2015-11-08)
* Enhancements
* [Agent] Avoiding showing messages in a loop during agent start;
* [Package] Adding support to Ubuntu 15.10;
* [Package] Simplify root `Azkfile`, replacing functions for `extends` property;
* [Package] Adding a `make` script to force `make -e` in `package` system;
* [Package] Making `git` a suggested dependency;
* [Core] Removing `Azkfile.js` from default exclude list of `sync` mount property;
* Bug
* [Package] Fixing npm version check. Even manually installing a different npm version, `make` overrides it and install the correct version;
## v0.16.0 - (2015-10-28)
* Bug
* [Suggestions] Fixed high CPU usage by sync for the Laravel suggestion.
* Enhancements
* [VM] Adding configuration key `AZK_DOCKER_MONITOR` to enable or disable docker monitor. By default is `true` for Linux and `false` if is not Linux;
* [Cli] Send env TERM if is interactive terminal;
* [Cli] Added the command `azk open [system]` which opens a system URL in browser #528;
* [Cli] Adding `deploy` command to cli;
* [Kernel] Changing system to get `command` from image, but respect this priority for `azk shell`: shell option (`--shell`) > Azkfile.js > docker image #534;
* [Docker] Improving Docker version verification, making it more robust;
## v0.15.0 - (2015-09-15)
* Bug
* [Manifest] Fixing wait not support `false` value;
* [Suggestions] Fixing `command` of php_composer suggestion;
* [Docker] Fixing support to comments and blank lines in `.dockerignore` file during Dockerfile build;
* Enhancements
* [Cli] Start github URLs directly on `azk start` #476;
* [Package] `git` is an `azk` installation dependency #476;
* [Suggestions] Upgrading elixir_phoenix suggestion to work with Phoenix v1.0.0;
* [Docker] Checking Docker version (azk supports Docker v1.8+);
* [Docker] Upgrading to Docker 1.8.1 and locking to use Docker Remote API 1.20;
* [Docker] Refactoring `Docker.run` to use new Docker Remote API;
* [kernel] Separating development environment to be enabled with a single env var
* [VM] Changing the default VM memory amount to be 1/6 of the available in the host
* [Manifest] Adding `env` as a manifest system template;
* [Manifest] Improving how azk handles multiple `http.domains` set by env vars;
* Deprecations
* [Manifest] `docker_extra.start` and `docker_extra.create` is no longer supported, now you must use the container creation options directly, check in: https://docs.docker.com/reference/api/docker_remote_api_v1.20/#create-a-container;
## v0.14.6 - (2015-08-20)
* Bug
* [Docker] Do not try to stop or kill a not running container;
* [VM] Fixing start in Virtual Box 5.0;
* [Suggesting] Fixing relative paths;
* Enhancements
* [Docker] Adding docker version lock;
* [VM] Fixing removal of VM without net interface;
* Enhancements
* [Scale] Adding flag `--no-remove` to start command;
## v0.14.5 - (2015-08-01)
* Bug
* [Agent] Fixing bug on Docker check that caused high CPU usage;
* Enhancements
* [Code] Improving packaging tests;
## v0.14.4 - (2015-06-26)
* Bug
* [Suggesting] Fixed PostgreSQL suggestion mounts path;
* [Suggesting] Fixed the order in which the suggestion creates systems in `Azkfile.js`: applications comes first and database after;
* [Suggesting] Fixed `Court` logic: now it doesn't investigate subfolders if evidences are found in the root folder;
* [Agent] Replacing periodic agent check from VM to Docker;
* Enhancements
* [Suggesting] Adding support to use `app.dir` in templates;
* [Suggesting] Refactored suggestions for cleaner code;
## v0.14.3 - (2015-06-19)
* Bug
* [Sync] Fixing sync excluded folders based on mount value instead of relative dir of sync;
* [Tracking] Updating `insight-keen-io`, which was changed to use `child_process.spaw` instead of `child_process.fork`, ensuring sending the tracker data in background.
## v0.14.2 - (2015-06-18)
* Bug
* [Agent] Fixing agent error handlers
* [Kernel] Adds current `azk` bin folder to the PATH
* Enhancements
* [Kernel] Removing unused dependencies
## v0.14.1 - (2015-06-17)
* Bug
* [Agent] Fixing agent start progress in daemon mode
## v0.14.0 - (2015-06-16)
* Bug
* [Cli] Fixing `start` (or `restart`) just opens the default system;
* Enhancements
* [Code] Replaced Promises: Q with bluebird #386;
* [Code] Replaced `q-io/fs` with `utils/file_async` a bluebird promisified `fs-extra` #386;
* [Code] No more direct call to Q or any other Promise lib, only by `utils/promises` #386;
* [Code] Removed `progress()` Promises helper. Included postal: subscribe and publish functions #385;
* [Code] Removing `async`, `defer`, `publish`, `subscribe` and `asyncUnsubscribe` from `azk` module;
* [Code] Using file-async npm lib
* [Code] Removing fs-extra dependency
* [Cli] Replacing `cli` to [`cli-router`](https://github.com/azukiapp/cli-router), #382 #418 #259;
* [Cli] Adding scripts to bash completion, #171;
* [Agent] The start process of the "agent" was redesigned to become safer and less complex. The code responsible for starting it in the background has been moved to the ./bin/bash;
* [Suggesting] Now node.js suggestions have a env `PORT` for to get a `HTTP_PORT`, this change makes this suggestion more "compatible" with most of the apps that await env `PORT`.
* [Suggesting] Refactor Rule and Suggestion base class;
* [Suggesting] Removing (trim) multiple new_line before generate a new Manifestfile;
* [Suggesting] Adding `elixir` suggestions;
* [Suggesting] Adding `elixir_phoenix` suggestions;
## v0.13.1 - (2015-30-05)
* Bug
* [Imagens] Fixing registry download error #407
* [File sharing] Fixing bug when trying to capture the version of rsync.
* [File sharing] Adding support to exclude files from sync through the files `.syncignore` and `.gitignore`
* [Docker] Fixing bug that could prevent the instruction `ADD . /folder/` to work properly when used in a Dockerfile;
* Enhancements
* [Docker] Now support `Dockerfile` is complete, and similar to the docker, including support `.dockerignore`;
* [Suggesting] Changing the suggestions of Python/Django, Ruby and Rails to give preference to sync instead of path;
## v0.13.0 - (2015-27-05)
* Bug
* [cli] Fixing `--mount` option of `azk shell` command to comply with Docker's pattern (`local_folder:remote_folder`);
* [Docker] Fixing parse invalid instructions in build a Dockerfile, #391;
* [Tracking] Fixing timeout message when tracking an event;
* Enhancements
* [Test] Adding flag `--no-required-agent` to disable required `Agent` before tests;
* [File sharing] Adding support to file sync instead of VirtualBox shared folders, #379;
* [Kernel] Adding initial code of the module utils.postal and specs, #385;
## v0.12.1 - (2015-25-04)
* Bug
* [Agent] Fixing issue between `azk` and `insight-keen-io` that prevented `azk agent` to stop;
* [Agent] Replacing `is-online` lib with `connectivity`, #368
* [Agent] Better `azk agent start` messages on no internet is available, #371;
* Enhancements
* [Code] Improvements in packages scripting: now with more options and better error handling;
## v0.12.0 - (2015-16-04)
* Bug
* [Dockerfile] Fixing `azk build` does not support `COPY` in Dockerfile, issue #341;
* [Docker] Fixing flag `--pull` to force pull of docker image not working`;
* Enhancements
* [Code] Replacing [`traceur`](https://github.com/google/traceur-compiler) with [`babel`](https://babeljs.io/) for transpiling JS files from ES6 to ES5 (Node.js limitation).
* [Code] Replacing the task system grunt at gulp;
* [Kernel] Moving `i18n` module to a npm package;
* [Docker] Check and show error message in the pull of docker images, #299;
* [Tracking] Ask user if he accept to be anonymously tracked; Send anonymously info to keen-io; New command `azk config track-status` to see and `azk config track-toggle` to change tracking status;
* [Installation] Installation script (`install.sh`) now disables dnsmasq;
* [Systems] Distinguish azk error from sub-system log error;
## v0.11.0 - (2015-25-03)
* Bug
* [Manifest] Fixing running azk command in subfolder using dockfile, issue #250;
* [Agent] Fixing agent does not start when not connected to internet. #312;
* [Cli] Checking namservers every time you start a container;
* [Dockerfile] Fixing does not show the error when the Dockerfile doesn't build, issue #303;
* [Agent] Adding support to swap in order to endure heavy load memory cases;
* [Agent] Changing dhcp-client configs (adding timeout) in order to avoid network-dependent services tree to fail;
* [Agent] Making VirtualBox data disk detach/remove process more reliable;
* [Agent] Now `azk agent stop` waits for agent real stop;
* [Balancer] Fixing conflict at the port to be expected by the wait, issue #309;
* [Agent] Fixing bug that could cause DNS and HTTP Balancer ports configuration to be ignored;
* Enhancements
* [code] Adding support to "integration testing"
* [Cli] New output when pulling images: show total layers count to download. Shows only a single progress bar with total download status. Integrate docker-registry-downloader with azk. #234 #119 #317
* [Package] Adding update npm after installing node;
* [Package] Fixing of usage npm-sheringwrap in package
* [Cli] New output when pulling images: showing total counter and size of layers to be downloaded.. Shows only a single progress bar with total download status. Integrate docker-registry-downloader with azk. #234 #119;
* [Package] Fixing usage of npm-sheringwrap in package;
* [Agent] Using VM static ip (set via guestproperty) instead of VirtualBox DHCP servers;
* [Agent] Adding verification of ip conflicts with existing networks interfaces;
* [Agent] Suggesting an alternative ip in case of conflict;
* [Agent] Adding tests to verify DNS port exchange between Agent instances and rewrite `/etc/resolver/dev.azk.io` file;
* [Cli] Adding `manifest_id` on return of the command `azk info`, issue #323
## v0.10.2 - (2015-24-02)
* Bug
* [Package] Force permissions to azk/bin in package
## v0.10.1 - (2015-23-02)
* Bug
* [Cli] Fixing timeout errors to show default values on retry and timeout
* [Systems] Fixing parse a public port in Azkfile.js
* [Agent] Fixing umask in shared folder, replacing automount with script
## v0.10.0 - (2015-23-02)
* Bug
* [Cli] Showing `azk`'s timeout errors #217 #268
* [Generators] Notifying when runtime system version was unidentified.
* [Generators] Including not found node.js suggestions #276.
* [Agent] We changed `azk` to use `debian2docker` instead of `boot2docker`. With `debian2docker` we have the entire Virtual Box Guest Additions installed and this should fix time sync problems.
* Enhancements
* [Agent] Adding `--force` option to `azk vm remove`. It's useful when `azk vm remove` doesn't work properly due to some unknown problem.
* [Cli] Added message logs to `azk shell` command. Now, when `azk` is downloading the requested image it doesn't seem to be frozen anymore. To prevent those logs use the `--silent` option. It's useful when using the `-c` option and the output is used as input to another command using the pipe `|` operator.
* [System] Adding support to customize DNS servers to will be used in system. #273
* [Manifest] Adding `extends` support.
* [Cli] Updated messages in locales/en-US for easier understanding
* [File sharing] "VirtualBox Shared Folder" is the default and the only option for file sharing on OS X. The `unfs3` option was removed due its unstable behaviour.
* [Agent] After failing in the initialization of VM is a screenshot for debugging will be saved and the path displayed to the user.
## v0.9.2 - (2015-29-01)
* Bug
* [Generators] Fixing php suggestions.
## v0.9.1 - (2015-27-01)
* Bug
* [Agent] Fixing http balancer error.
## v0.9.0 - (2015-27-01)
* Bug
* [Kernel] Replacing `azk.dev` for `dev.azk.io` to improve compatibility with browsers
* Enhancements
* [Manifest] Add **Dockerfile** support
* [Agent] We now have self routines performed AZK update for changes in the installation and configuration of it.
* [Cli] Add `--rebuild` and `--pull` options for the `azk start` or `azk restart` commands. It forces rebuild or image pulling and reprovision before start an instance (default: false).
* [Cli] Added support to hide the help command options
* [Cli] Adding option `--quiet` to support `non-interactive` mode in commands.
* [Cli] Correcting help on quiet and verbose #226
* [Cli] Showing azk in lowercase at azk version command #222
* [Cli] Sorting commands on azk --help #223
* [Generators] Updating suggestions, #224 #218
## v0.8.3
* Enhancements
* Adding support `--text` option to show more "clean" `azk status`
* Bug
* Fixing downloading requireds keys to connect docker.
* Fixing option --open in command `start/restart` not null.
## v0.8.0
* Enhancements
* [Docker] Upgrading azk.iso and azk to support Docker 1.3
* [CI] configuring Wercker service to run all tests whenever there is a commit on master branch.
* [Cli] Adding `--open` option in `start/restart`.
* [Cli] Now the status of ui supports error object.
* [Manifest] Adding `azk.version` to use in template.
* Bug
* When an error occurs in `azk start/restart` all instances are stopped.
## v0.7.1 - (2014-01-12)
* Enhancements
* [Generators] Improving Python generators to detect and support Django and SimpleHttpServers systems. Now Django will choose correct python version Docker image.
* [Generators] Create PHP generators to detect and support systems with composer and laravel. Used official azuki images of docker with [`php-apache:5.5/5.6`](https://registry.hub.docker.com/u/azukiapp/php-apache/), both with apache and composer.
* [Cli] Better message when `azk` find systems with `azk init`
* Bug
* [Generators] Fixing slow generators;
* [Generators] Fixing port name sugestion;
* [Generators] Fixing mounts subfolders in a multi-system;
## v0.7.0 - (2014-18-11)
* Enhancements
* [Generators] Adding new generators to `azk init`: Node.js 0.10, Python 3.4, jRuby 1.7, Rails 4.1, Ruby 1.9, Ruby 2.0, Ruby 2.1, Mysql 5.6 and Postgres 9.3;
* Bug
* [Manifest] Fixing bug that prevented the start for systems with `scalable: {default: 0}`;
* [Cli] Correcting the restart command to use the current number of instances;
* [Cli] Fixing doctor command, get agent configs if is running;
* [Agent] Fixing if current directory is removed before stop agent;
* [Manifest] Fixing `wait` option, was `retry` and `timeout` inverted;
* [Agent] Fixing search paths for 'unfs3' in Mac OS X;
## v0.6.1 - (2014-04-11)
* Enhancements
* [Cli] Now stacktrace show the `/AZK_[version]/` for transpiled files paths in errors;
* Bug
* [Docker] Fixing a bug if docker return a invalid json in image download;
* Deprecations
* [Manifest] `mount_folders` and `persistent_folders` is no longer supported. ;
## v0.6.0 - (2014-30-10)
* Enhancements
* [Manifest] Replacing `mount_folders` and `persistent_folders` with `mounts`;
* [Manifest] Replacing `http.hostname` with `http.domains` to support multiples alias;
* [Manifest] Show depracations warnings;
* [Manifest] Now support `scalable.limit` to set max instances of the systems;
* [Cli] Refactoring `bin/azk` to simplify `azk` execution;
* [Agent] Moving `bin/azk` checks to agent start process;
* [Agent] Warn when using an old `azk` version;
* [Agent] Improve agent checks before starting;
* [Code] Adding Makefile with `bootstrap` and `package_*` targets;
* [Code] Upgrading `traceur` and removing transpiled files from `lib/azk`;
* [Install] Replacing install by source with `brew` formula in Mac OS X;
* [Install] Replacing install by source with packages in Ubuntu and Fedora;
* [Docker] Upgrading to v1.2.0;
## v0.5.1 - (2014-11-10)
* Bug
* [Cmds] Fixing stop all systems, if a dependencie system is down;
* Enhancements
* [Manifest] Adding support `retry` and `timeout` in wait option;
* [Agent] Adding support to configure `memory` and `cpus` with envs `AZK_VM_MEMORY` and `AZK_VM_CPUS`;
## v0.5.0 - (2014-03-09)
* Bug
* [Cmds] Fixing the passing of parameters to the docker in `adocker`.
* [Cmds] Now when the docker or agent is finalized the `shell` is no longer blocked.
* [Vm] In place of the forced shutdown `poweroff` now seek to use the safe shutdown with `acpipoweroff`.
* [Cmds] Fixing bug that prevented `azk` be used offline.
* Enhancements
* [Manifest] Adding support `docker_extra`
* [Manifest] Adding support to 'disable' value in ports.
* [Kernel] Now `azk` supports Linux \o/
* [Kernel] You can now use the AZK to test and develop the AZK for Linux (see Azkfile.js).
* [Cmds] Now supports the `ssh escape sequence` in `shell` command.
* Deprecations
* [Agent] Daemon option now is default.
* [Cmds] The command `reload` is deprecated and will be removed in the future. Use `restart` in place.
## v0.4.2 (2014-20-08)
* Bug
* [Cmds] Fixing a `cd` bug in `docker` command.
* Enhancements
* [Cli] Adding support accumulate boolean options.
* [Cmds] Adding support verbose mode for provision action.
* [Cmds] Refactoring `start`, `stop`, `scale` and `reload` to show more powerfull mensagens..
* [Cmds] Adding alias `adocker` to `azk docker`.
* [Systems] Adding a variables `AZK_*` to expose azk environment informations.
* [Manifest] Adding support `wait` directive in system declaration.
## v0.4.1 (2014-04-08)
* Bug
* [Systems] Fixed a bug that could cause the command "start" failed and a wrong error message would be displayed.
## v0.4.0 (2014-04-08)
* Enhancements
* [Docker] Add command `azk docker`
* [Docker] Support container annotations.
* [Vm] Adding ssh keys generator, and uploads the key to start vm.
* [Generators] Now Generators and rules is a extension of the UI.
* [Cmds] Removing `-s` and `--system` from `start,stop,scale,shell` commands, now use `[command] [system_name,...]`.
* [Cmds] Removing `-i` and `--instances` in scale command, now use `scale [system_name,...] [number_of_instances]`.
* [Cmds] Print startup error in `start` and `scale` commands.
* [Cmds] Implementing the command `logs`, including support `--follow` and `--lines` options.
* [Cmds] Implementing the command `doctor`, including support `--logo` option.
* Enhancements Manifest
* Validate: system name format (/^[a-zA-Z0-9-]+$/).
* Validate: image is required.
* Validate: declared dependencies are required.
* Validate: circular dependencies are checked.
* Support `shell` option to specify the shell to be used from `azk shell` (default: /bin/sh)
* Support `#{}` in replace `<%=%>`.
* Adding scalable option.
* Adding http option.
* Deprecations
* [Manifest] Removing "balancer" option (use http).
## v0.3.3 (2014-07-24)
* Bug
* [Commands] Fixing a bug in `azk status` with run a invalid instances state.
## v0.3.2 (2014-07-23)
* Bug
* [Generators] Fixing command to use bundler in ruby generator rule.
## v0.3.1 (2014-07-11)
* Enhancements
* [Manifest] Support `env` to use environment variables in DSL.
* [Generators] Adding base initializar for ruby projects.
* Bug
* [Cli] Fix generate manifest in blank project dir.
* [Vm] Adding bindfs to fix a bug of the changing owner or group in sync files.
## v0.3.0 (2014-06-16)
* Enhancements
* [Dns] Add dns server
* [Cli] Add info command we show the result of analysis of Azkfile.js
* [Doc] Adding changelog :)
* [Docker] Adding support docker 1.0
* [Cli] Add support "--check-install" in agent
* Bug
* [Kernel] Now using azukiapp/azktcl in place of azukiapp/busybox
* [Install] Now use git fetch and git merge to update code
* Deprecations
* [Config] Removing configuration of the /etc/hosts
* [Docker] Replacing debian2docker for boot2docker
## v0.2.0 (2014-06-10)
* Enhancements
* [Kernel] Now using the logic of Docker images instead of the logic box
* [Kernel] Introducing SoS
* [Manifest] Remaking the manifest to use dsl js instead of json
* [Code] Now using js ES6 (via traceour)
* Deprecations
* [Kernel] Box and services is no longer supported