CHANGES
=======

* fix interface name
* rename giterop to unfurl
* improve k8s tests
* fix len(ChainMap())
* include template outputs in job summary
* add hack for hostedOn dependencies
* strip extraneous newline
* add a 'git' cli command that runs the given git command  on each git repository in the project
* use shared yaml object to share configuration
* tosca fixes
* fix bug with vars with ExternalValues and track variable references in jinja2 templates
* skip verbosity test if verbosity is manually overridden
* support marking attributes as sensitive; taint ansible templates when accessing sensitive data; add sensitive\_str redacting strings
* pass baseDir to ansible templates and in local imports
* update ansible version for security fix
* add Results.getCopy() and use it; more basedir fixes
* keep track source file location of included files and use that for file path resolution
* kubernetes usability improvements
* implement template job option
* better diagnostics: implement plan command, fix --dryrun, clean up error handling and reporting
* python2.7 workaround
* fix typo in lookup name
* implement newinstance and clone commands
* installatin fix
* initial support for kubernetes
* create resource hierarchy based hostedOn relationship and order task plan hierarchy; various tweaks with job reporting
* various fixes for expression functions
* add a GITEROP\_LOGGING enviroment variable that controls the logging level that is set when the package is first loaded (useful when running unittests)
* introduce a custom version of tosca using tosca-parser's extension mechanism
* less verbose schema validation error messages and re-enable some tests
* enable jinja2 native types; always evaluate vars; add trace option
* implement a usable ansible configurator
* more readable serialization of multiline strings
* fix revertObsolete
* python 2 compat fix
* better cli output of errors
* include path in yaml parsing error messages
* bundle ansible\_mitogen
* better support for functions in tosca templates
* clean representation of topology inputs and outputs
* let project local config inherit from user home config
* make sure workdir paths are consistent
* load old versions of templates if missing
* expose repository specs early for include handler
* after a job run commit changes to the instance repo
* add support for tracking included files and revisions across git repos; allow direct references to git content
* improve tracking configuration dependencies
* add command for creating project scaffolding and git repos
* rename parameters to inputs for consistency; other fixes for saving configurations
* support evaluation of template inputs and outputs; clean up root topology instance; misc tosca integration improvements
* change canRun() apis so reasons can be reported when the task can't run; have shellconfigurator validate executable in canRun()
* README cleanup
* get plan to parity pre-tosca
* flesh out project and repo support; WIP git support
* implement +%include directive; add scaffolding for managing projects and repos
* implement support for TOSCA
* add command for applying adhoc changes
* fixes for pbr
* checkpoint before major refactoring
* add files for setup.py
* use pbr with setup.py
* fix installation of vendored packages
* integrate forked tosca-parser
* add a shell configurator
* docs infrastructure
* implement secrets
* implement local config file and support for local variables
* change resolve and project signatures to preserve external values
* implement importing foreign manifests; better schema validation error reporting
* remove implementation of old model
* change interface interface
* add template eval func
* get ExternalValues working
* fix foreach and perserve Results when evaluating lists
* update eval engine to use Results internally and return ResultLists
* add ChangeAware abc
* various fixes to evaluation engine
* lazily evaluate resource attributes; simplify and fix serializing them; refactor runtime a bit
* fix bug with 0 index in ref expressions
* test for Mapping and MutableSequence instead of dict and list
* (WIP) record current thinking on ExternalValues
* more cleanup of eval
* add support for top-level resource and config templates
* fix dependency checking and introduce resource interfaces
* WIP: architecture for external resources
* add Expr, simplify eval logic
* WIP: track external config resources
* rename \_\_gitup
* fix test for py2.7
* add basic templating with ansible plugins
* implement more sophisticated merge includes; generate merge includes when adding resources based on templates
* allow addResources() to also update existing resources; serialize dependencies better
* implement foreach and clean up object resolution semantics
* implement dependencies
* implement hasParameterChanged()
* make configurations referencable query objects plus various cleanups
* improve query syntax
* track state and config changes, enable richer configurator results, clean up model
* require resource names to be globally unique; add error handling when creating resources
* don't set default local status and omit from serialization if not set
* new api for adding resources based on templates; start groundwork for declared dependencies
* add cli options for logging
* serialize: added and removed resources, readyStatus, excluded configurations
* add support for requires, provides and tracking changes to atttributes; migrate more unit tests
* start migrating syntax tests
* use package version
* restructure yaml syntax and save change history
* support relative paths in merge directives
* migrate refs to new runtime
* refactor for remote task execution
* unit tests and better error handling for cli
* higher fidelity serialization of manifests
* add utilities for evaluating functions in manifest markup
* preserve includes and calculate diffs when serializing
* more unit tests and fixes
* basic schema validation and cli enchancements
* basic tests for new manifest pass
* WIP new Manifest for new runtime
* remove ConfiguratorSpec
* add unit tests for runtime
* add abstract manifest
* WIP: cleanup operational status
* WIP: no more XXX0s
* WIP #2
* WIP
* s/job/task
* snapshot working dir changes again
* snapshot working dir changes
* changes to support installation on termux
* fix '?' in expressions
* new expression syntax
* rename Valuefrom to Ref and redo expression syntax
* beginnings of an ansible configurator
* get python3 working
* implement default configuration change detection
* resolve references and better change records
* control order in yaml output
* basic change history working
* get unittests passing again
* checkpoint progress
* unit tests for minimal task execution
* flesh out new model and semantics
* new model and syntax
* get basic syntax working
* setup.py works and there are few non-trivial unit tests
