CHANGES
=======

1.0.2
-----

* Now 'make all' will only build the package (and not also run the tests). This is will allow one to build the package without installing dev requirements (i.e. pytest)
* Moved to pbr
* Added *requirements.txt file for describing the dependencies: 1. requirements.txt specifies the required packages for installation. 2. dev-requirements.txt specifies the additional packages for testing
* Do not print empty lines while running command as subprocess
* Skipper is now licensed under the Apache 2.0 license
* Added --upgrade to install target recipe
* Relaxed the requests requirement
* Now skipper creates a user (same user from the host) right after launching the build container, and executes the given command with this user
* Fixed README

1.0.1
-----

* Necessary changes before uploading to PyPi
* Added some logging
* Enhanced bash completion: 1. Support docker images completion. 2. Support makefiles completions. 3. Support makefile targets completion
* Surround strings with '' instead of "" (for consistency purposes)
* Use pseudo-tty when running running commands inside a container. This is needed if we want to take advantage of advanced terminal features, like colored output
* Increased converage threshold to 95%
* Improved images command tests
* If no tag was supplied for build container - build it from scratch
* Added UT for failed rmi operations
* Added UT for rmi command
* Added rmi operation to README.md
* Added rmi operation to skipper 'skipper rmi' will delete image from local docker 'skipper rmi -r' will delete image from remote registry
* Extended global parameters validation. Note the registry is mandatory for all commands while build-container-image and build-container-tag are mandatory only for run and make commands
* Now 'images' command works even if no image is found locally
* Fixed get_images_from_dockerfiles(): The Dockerfile name was incorrect
* Install bash completion script only when running the installation script as root. This is also a workaround for a bug that prevents tox from install the above script while creating the virtual environment
* Added support in bash completion
* Updated README
* Changed dockerfile name notation from {image}.Dockerfile to Dockerfile.{image}
* Replaced use of "" with '' (just for consistency)
* Removed dependency in docker-py
* Added context validation
* Removed --nested/--no-nested options: 1. No need to run docker related commands inside build container. 2. 'make' and 'run' commands should always run inside build container
* Added 'images' command for list local & remote images of the repository
* Moved cli::_generate_fqdn_image() --> utils::generate_fqdn_image(). Also, Improved _generate_fqdn_image() to support empty registry / tag
* Fixed logging: 1. Use separate logger for skipper (instead of the root logger). 2. Separate logging messages from commands outputs. 3. Replaces '--quiet' with '--verbose' parameter for controling the verbosity of skipper. 4. Use print() instead of print, for future support in python 3
* Increased coverage threshold
* Added tests for running the cli with defaults loaded from config file
* Added config module for config file related functions. Also, moved main::_load_defaults() --> config::load_defaults()
* Refactored CLI tests
* Added default makefile for make command
* Populate the return code of the commands upstream
* Don't suppress stderr messages
* Added validation of global options for nested mode
* Now the config file (skipper.yaml) is compatible with the CLI sub-commands and parameters hierarchy
* Fixed commands help messages
* Improved CLI tests
* Updated README
* Renamed global options '--image' and '--tag' to '--build-container-image' and ''--build-container-tag' (respectively). Now each sub-command creates the build container full name in order to assure that it is done after the processing of the sub-command parameters (especially the '--help' parameter)
* Fixed help message of make sub-command
* Suppress stderr output
* Added push command
* Don't print empty lines from terminated subprocess
* Fixed entry_point (returned main function)
* API Change: Now all commands (build, run & make) can be executed inside or outside a container. It is determined by the --nested/--no-nested global parameter (default=nested). In nested mode, the container defined by the global parameters - registry, image and tag - will be used
* Added runner module for running commands inside and outside a container
* Take defaults from skipper.yaml config file
* Changed the way the makefile was passed to the make sub-command. Previously, it was passed as an argument, and now it is passed as an option. The new behavior is more compatible with the make utility
* Now clean target also deletes build directory
* Replaced argparse with click for constructing the CLI interface. Click allows us to create a CLI command by wrapping the function that implements the command logic with decorators. This way the code is more testable and self documented. Also removed depscheck command, because it is not belong here
* Load defaults from skipper.yaml (per-project config file)
* Derive the name of the dockerfile from the supplied image name - {image_name}.Dockerfile. Also, set the default tag to 'latest'
* Now the help message of the each subcommand will include the options defaults (if there are any)
* Added support in setting environment variables for run/make subcommands
* Fixed README
* Updated README
* Now unittests are more readable and maintainable
* Don't assume USER environment variable exists
* By default tag docker image with full hash
* Updated list of lines to exclude from coverage
* First commit
