* V1.9.4
  * fixed minor bug when searching repo by UID when repo doesn't exist
  * added CK internal var "debug". If set to "yes", print error when CK entries are broken or ignore them (now default)
    See https://github.com/ctuning/ck-tensorflow/commit/c4ddfcde1baacf6bebb23f345735b38006be08d1#commitcomment-25230616

* V1.9.3 
  * fixed issue #80 (adding zip repo if starts with ~)
  * fixed issue #81 (when renaming entry with data_name==data_alias, change it to the new alias)
  * added flag --name (duplicate of --show_name) to "ck ls"
  * fixed issue #82 (detecting name of repo from the zip filename)
  * fixed repo renaming (now updates .ckr.json and recache repo properly)

* V1.9.2
  * added "ck cd {CK entry}" to open a new shell in a given CK entry
  * added ck.compare_dicts examples
  * fixed some self tests
  * added safe recording of JSON (even if some keys are not serializable)
  * printing user-friendly name (from info.json "data_name") when removing entries.
    Useful when deleting env entries (ck rm env:*)
  * added more user-friendly configuration of internal CK variables via
    $ ck set kernel
    $ ck set kernel var.install_to_env=yes
  * added safe deletion of CK entries with Git files on Windows
  * automated adding CK .zip repos without questions

* V1.9.1
  * added ck.debug_out(i) to print dict to console
  * fixed strange warnings for Python 3.5+ on Windows and Linux (when installed via pip)
  * fixed repo renewing on latest Windows (when access error to Git files)
  * added ck show repo to show git status of all repos
  * started highly experimental support for stable repos or different branches/checkouts
    (particularly useful for Artifact Evaluation to check out only stable repos)

* V1.8.7 
  * fixed major bug with default license/author (to avoid crashing when adding new module)
  * fixed minor bug in API when starting CK web service and viewing entry (wcid option)
  * allow ~ in an archive name when archiving CK entries using 'ck zip ...'

* V1.8.6
  * added direct update of kernel vars via CMD similar to Git. For example:

    $ ck setup kernel --var.default_license="See CK LICENSE.txt for licensing details"
    $ ck setup kernel --var.default_copyright="See CK COPYRIGHT.txt for copyright details"
    $ ck setup kernel --var.default_developer="cTuning foundation"
    $ ck setup kernel --var.default_developer_email="admin@cTuning.org"
    $ ck setup kernel --var.default_developer_webpage="http://cTuning.org"

  * added -f flag to force removal of entries (i.e. ck rm x:y -f) to be compatible
    with bash rm -f ...

  * added JSON sorting when viewing entries from CMD (via ck load x:y)

* V1.8.5 
  * do not crash if renewing repo while staying inside it
  * fixed bug in "system_with_timeout" (was always returning error) - required by ck-clsmith
  * added "skip_sort" to "select" and "select_uoa" functions
  * added cfg['internal_keys'] to be able to check them in input
  * fixed minor bug when @file.json from CMD not found

* V1.8.4
  * fixed 'ck status' and version comparison
  * minor fix when listing all modules in mediawiki format

* V1.8.3dev
  * fixed minor issue in ck.list_all_files() with 'limit' parameter

* V1.8.2
  * fixed bug in 'remove_action' in CK kernel
  * fixed issue in "run_and_get_stdout" on Windows
  * printing module UOA in square brackets when error (useful for debugging)
  * added 'shell' parameter to kernel 'run_and_get_stdout' function
    (needed for ck-crowdnode)
  * added 'eout' function to kernel to print to stderr
    (useful for ck-crowdnode-server)

* V1.8.1
  * added continuous integration via Travis (Linux) and AppVeyor (Windows)
  * added CoverAlls to measure test coverage
  * added possibility to skip listing of all modules from private repositories
  * fixed error in 'ck edit'
  * unitests added (we now support Python 2.7 and 3.3+)
  * added 'dump_json' instead of 'dumps_json'

* V1.7.4
  * extended run_and_get_stdout kernel function 
  * fixed problem in run_and_get_stdout (ValueError: I/O operation on closed file)
  * fixed problem with --help or --get_api from kernel

* V1.7.3
  * fixed rare bug when 'return' is non-integer in remote CK access (such as during crowd-tuning and crowd-testing)
  * fixed copying to clipboard on Windows
  * fixed __init__.py when using CK from scripts/ipython/jupyter (calling init())
  * added ck.jerr(r) - print error with raise KeyboardInterrupt for Jupyter Notebooks
  * fixed major problem with using CK without CK_ROOT env, i.e. from python scripts or Jupyter Notebooks
  * fixed minor problem with CK_ROOT env (when is not set but can be detected automatically)
  * added run_and_get_stdout function and fixed various problems with crowdtuning on MacOS 

* V1.7.2
  * added the --wfe_host and --wfe_host flags to "ck start web".
  * improved API when starting CK server and a browser at the same time ...
  * added info about Docker support in CK
  * simplified adding remote repo using --hostname --port --hostext
  * added possibility to describe repository for Artifact Evaluation
    using flag --describe (see http://cTuning.org/ae), i.e.
    ck add repo:my-artifact-pack --describe
  * return 16 when adding new entry (including repository) and it already exists
  * added often used 'load_yaml_file' and 'save_yaml_to_file' functions to kernel
  * changed yaml.dump to yaml.safe_dump
  * added --install option to "ck pull all (--kernel)" to install CK kernel as python module

* V1.7.1
  * fixing detection of CK installation even when ck is soft linked
  * changing remote-ck repo URL pointing to cknowledge.org 
    (after moving personal CK server to Azure cloud)
  * adding support for basic http authentication for remote repositories
  * adding automatic recaching of repositories if has remote access ...
  * adding support to automatically open web service and browser via
    "ck browser" (or "ck browser --template=<template>" with a given web template)
    similar to ipython notebook
  * adding possibility to open a given entry in a browser via
    "ck browser test:unicode" or browse entries via
    "ck browser dataset:" ...
  * fixing CK server vulnerability (action with ; can run various CMD commands)
  * fixing above vulnerability both in php and python ...

* V1.6.15
  * adding mode to skip tmp files/directories when downloading entry
  * fixing bug in entry downloader
  * adding __version__ to CK kernel
  * providing URLs where to download Git and Python for installation
  * automatically extracting repo name from URL string when pulling repos from GitHub via --url
  * added action 'show' to 'repo' module to be able to open browser 
    with an URL of a shared repository. For example, 'ck show repo:ck-autotuning'
  * Adding support function to get value from list without error if out of bounds (useful for sorting)
  * Before updating kernel from GitHub, check that it's a Git installation (noticed by Abdul Memon)

* V1.6.14
  * forgot to add cfg module to setup.py (preferred to generate new version)

* V1.6.13
  * adding 'ck cmd test' to let users understand CK command line -
    it will just print input as JSON ...
  * adding input print when creating dummy module to help
    users understand command line
  * checking if CK directory exists when updating kernel
  * can now generate new UID when renaming entires (--new_uid)
    to avoid collecting experiments from multiple users 
    with the same UID ...
  * can now add UID to alias when renaming entries (--add_uid_to_alias)
    to distinguish some shared entries with common alias ...
  * if adding json via CMD (@@key) and string is empty,
    convert it to {} (empty dict) rather than failing.
    Also add missing {}.
  * removing extra \n when entering JSON from CMD ...
  * slightly improving Readme (adding our latest position paper 
    about CK from DATE'16)
  * fixing issue with 'read-only' files on Windows 
    when removing a given repo completely
  * fixing issue when installing repository manually downloaded
    from GitHub (removing root directory), see issue #46
  * checking if git command line client is installed 
    when pulling shared repo 
  * improving listing of all modules and actions
  * now you can add tags from CMD when adding/updating entries (ck add dataset:xyz --tags=abc)
  * improving ck.list_all_files (avoid recursive symbolic directories, add path if needed)
  * added --quiet mode when creating new modules (to simplify procedure)
  * fixing small buy when detecting latest CK version (works even if non-integer value)
  * added support to pack files with multiple pattern (useful to transfer new solutions
    via Internet when crowdsourcing experiments)
  * adding unzip_file function (to pack and exchange solutions when crowdsourcing experiments)
  * fixing a minor bug when updating entries (do not set data_name to default if already exists)
  * adding function to create entry if doesn't exist when loading it
  * improving CK kernel version check
  * can now check minimal CK kernel version for any module (key "min_kernel_dep" in module cfg)
  * fixing bug when loading new module (replacing old cfg)
  * adding ck.type_long (set to long in Python 2.x and to int in Python 3.x) for compatibility
  * adding ck.safe_float and ck.safe_int (for safe sorting - used when sorting crowdtuning results)
  * fixing detection of a right Python version
  * adding 'renew repo' function to completely remove polluted and shared repository,
    and pull new one (Issue #12) 
  * adding support to forbid deleting in specific repos
    (useful only to aggregate information such as during crowdtuning)

* V1.6.12
  * adding CK_PYTHON env variable in ck script 
    to let user select required python version (python or python3)
  * automatically detecting python3 or python on Linux
  * fixing license of a php OpenME code - now the same as CK
    (tiny part to connect PHP-based web requests to CK)
  * adding 'find' function to 'repo' module and changing
    default behavior. Now "ck find repo:<name>" returns
    path to repository rather than to meta. To return
    path to meta, use "ck find repo:<name> --meta".
    Closes ticket #45
  * automatically detecting server host and port, if used!
    Closes ticket #38
  * adding zip action to CK kernel, to simplify archiving of entries, 
    i.e. "$ ck zip (repo wildcards:)module wild cards:<data wild cards>"
  * when copying entry, changing date and CK version (fixing #39)

* V1.6.11
  * improved installation documentation

* V1.6.10
  * fixing automatic detection of an installation directory
    when using pip install --user
  * adding ChangeLog file for backward compatibility with Debian
  * adding TODO.txt with a link to CK GitHub tickets

* V1.6.9
  * fixing/improving command line help

* V1.6.8
  * moving ck and ck.bat to 'scripts' in setup.py
  * moving condarecipe to external sources 
    (to prepare conda packages externally)
  * using $PYTHON on Linux

* V1.6.7
  * fixing 755 for bin/ck (for PIP installation)

* V1.6.6
  * Fixing PIP problem (when adding new modules to CK)
  * Removing Debian description (will be separate to make non-native package)

* V1.6.5
  * fixing port selection from CMD for CK web service
    (ck start web --port={PORT})
  * fixing bug in Python 3 for 'ck status'
  * improving help
  * fixing bug with pip installation on Anaconda for Windows
  * fixing bug with pip installation on Linux
  * adding CK_PYTHON to change interpreter on Linux (for example python3)

* V1.6.4
  * Support ISO and human readable time during search
  * Removed ckcd and added commands "ck cd" and "ck cdc" 
  * fixing print of correct host and port when changed via 'ck setup kernel --wfe'
  * adding support for 'pyperclip' to copy to clipboard
  * warn if more than one entry found when using 'cd' and 'cdc' commands 
  * improving execution procedure with timeout 
  * fixing problem with latest version check in 'status' 
    (also checking it via GitHub)

* V1.6.3
  * fixing Debian source package name to python-ck

* V1.6.2 
  * fixing length in Debian changelog

* V1.6.1
  * fixing bug when calling kernel actions while current path is in some CK entry

* V1.6.0
  * changing version standard

* V1.5.0917
  * proper support for DEBIAN packages

* V1.5.0916
  * major move of 'repo' directory to 'ck' to support standard Python packaging
  * major improvement of setup.py to support standard Python packaging
  * fixing web interface paths to support standard Python packaging
  * supporting Conda packaging (Anaconda Scientific Python)
  * adding alias 'ls' for 'list' command (suggested by Anton)

* V1.4.0909
  * fixing a few typos
  * adding system function with timeout possibility
     (useful for research in computer engineering where
      generated code may be buggy and result in infinite loops,
      i.e. during autotuning or compiler testing and bug detection)
  * ck where repo:<name> will print URL for remote repositories
     (suggested by Anton)
  * making text to select UIDs less ambiguous (asked by Anton)
  * fixing bug in flatten_dict while working with CLSmith
  * changing COPYRIGHT to COPYRIGHT.txt and LICENSE to LICENSE.txt

* v1.3.0824
  * fixing bug with repository recaching (when pulling dependent repositories)

* v1.3.0821
  * added listing of all modules and their actions in user-friendly format
  * added support to zip CK repositories in format suitable for BitTorrent
    (to optimize exchange of large artifacts)
  * improved functionality to update repo descriptions 
    and manage dependencies on other shared repositories
  * fixed a few tiny bugs
  * added support to create an entry from a given directory (importing directories)
  * added "input_json" function to kernel to input JSON from console ...
  * added option "@@@" to CMD to add JSON from console to input
  * exchanged "@@@" and "@@" in CMD for simplicity
  * improved 'edit' function with the possibility to edit not only 
      meta of an entry, but also description (via flag --edit_desc) -
      for example, useful to edit compiler flag description via
      $ ck pull repo:ck-autotuning
      $ ck edit compiler:gcc-49x
  * adding --min flag to ''load'' function to output 
    only desc and dict to console 
  * adding --without_files to avoid copying files 
    when copying/moving CK entries (useful
    to create templates for example for benchmarks
    or data sets)

# V1.2.0605, 2015-06-05 -- stable release
  (several extra features to improve autotuning)

  * save/load extra JSON files to/from entries
  * adding desc.json into .cm (collective meta) to describe API in flat format
  * adding dependencies to repos (automatically pull all related repos -
      useful to distribute repos with all packed artifacts to reproduce experiments from papers)
  * a few cosmetic fixes

# V1.2.0513, 2015-05-13 -- stable release 
  (no major problems found during past 2 months)

  * A few extensions and small bug fixes

# V1.1.0202, 2015-02-02 -- stable pre-release for collaborators

  * A few bug fixes

# V1.1.0201, 2015-02-01 -- stable pre-release for collaborators

  * Adding many user-friendly functions
  * Adding basic CK web browser. See demo: http://cknowledge.org/repo
  * Small bug fixes

# v1.0.1214.beta, 2014-12-14 -- stable pre-release for collaborators

# v0.1.140810, 2014-11-05 -- starting point

