CHANGES
=======


v2.0.0.0rc3
-----------

* Bump versions
* Add missing property for RKD-COOP to work

v2.0.0.0rc2
-----------

* Bump RKD and COOP
* Update docs
* Bump version of docker-compose
* Update coop repository url
* Update docs
* Adjust to variable name change
* #20: Fix tests paradox
* #20: Bump RKD
* #20: Move cooperative to separate repository
* Add test to cover :project:create task
* Bump RKD version
* CI: Use --pre to build on latest RKD and on latest docker-compose in "Test on Python 3.8, LATEST docker-compose and LATEST RKD" stage, mark stage as failure tolerant
* #20: Use recently added "--copy-not-matching-files" in jinja2 in RKD
* #20: Bump RKD
* #20: Fix dot files support in installation task
* #20: Support for Wizard.load\_previously\_stored\_values()
* #20: Resolve issue - recursive directories not resolved
* #20: Working tasks installing with Wizard support
* #20: First steps to have Snippets Cooperative support in Harbor 2.0
* #19: Clean up by the way
* #19: Implement a task :harbor:create:structure
* #14, #9: Make tests not depend on github.com
* #14, #9: Coverage
* #14, #9: Additional coverage
* #14, #9: Add Ansible to requirements.txt
* #14: Increase tests coverage
* #9: Increase tests coverage
* Bump RKD version
* Next chapter in documentation - basic commands
* Improve formatting
* Update docs
* #9, #14: Fix a test - in result of making test data always cloned from template the test stopped working, as the working directory for each test is now under git ignore :-)
* #9, #14: Fix non-existing path issue
* #9, #14: Cover decryption case in :deployment:apply
* #9, #14: Correct test names
* #9, #14: Add missing files synchronization
* #9, #14: Add first functional tests
* #9, #14: Improve test data provision - the structure is now always copied from template, which is more safe
* #9, #14: Cleaning up
* #9, #14: Support for encrypted deployment.yml file
* #9, #14: Implemented :env:encrypt
* #9, #14: Introduce a user-friendly behavior (especially for multiple users working on same project) - when password file does not exist then ask for password in commandline
* #9, #14: Add support for Ansible Vault
* #9: Clean up, support for more switches
* #9: Do not depend on RKD Python all the time, as it is used only on CI
* #9: Correct tests
* #9: Publish to PyPI
* #9: Correct tests
* #9: WIP Ansible integration
* Bump RKD to 1.1
* Resolve issue with expressions tests on Python 3.6 - the "True" was not allowed to be evaluated via eval
* CI: Pull before starting
* CI: Debug
* CI: At first test on Python 3.8 to give faster results on current Python stable version
* Resolve two tests, #8: Add sort order of loading hooks (alphabetically by file name) - so the 001, 002 would make sense to prepend to filenames
* #8: Implement hooks feature
* Starting rewritting docs
* #7: Added permissions support, minor improvements, tests coverage
* Travis: Debug
* Better cache handling in tests
* Correct and stabilize tests
* Showing priority in :service:list
* :service:report is now showing a service report even if there are no any containers active
* Add service run priority
* Cover :start with tests
* Add additional coverage and schedule new tests to be written later
* Partially cover with tests :remove, :upgrade
* Cover :config tasks with tests
* Add tests coverage
* Resolve sorting issue in get\_created\_containers()
* Do not use \`docker-compose ps\` - use \`docker ps --format=...\` for better parsing - consider also only created services, but not running
* Do not use \`docker-compose ps\` - use \`docker ps --format=...\` for better parsing
* Travis: Debug
* Travis: Debug
* Travis: Debug
* Travis: Debug
* Travis: Debug
* Travis: Debug
* Remove CI debug - resolved: There were permissions problem in the "data/maintenance-mode" directory - docker daemon was created as root this directory, then as "travis" user the tests attempted to add a file there
* Cover the \`DISABLE\_SSL\` switch
* Travis: Try to repair the build
* Travis: Bump docker version
* Tests: Add possibility to mock compose services, cover partially ForceReloadSSLTask
* Travis: Debug tests
* Travis: Debug tests
* Travis: Debug tests
* Tests: Fix stderr/stdout not showing issue, improve clean up
* Use subTest() in tests for easier debugging
* Improve formatting in tests
* Fix tests after recent changes in test dataset
* Fix to tests after adding clean up method
* Fix tests preparation - handle basic case
* Cover org.riotkit.redirectFromWWW feature with test
* Maintenance mode partial coverage
* Change environment name to "env\_simple", add a solid clean up at the beginning of every single test, add markers in nginx.tmpl for better debugging
* Travis debug
* Migrate to docker-compose 3.4, fix escaping issue, cover :harbor:service:wait-for task with tests
* Build on latest RKD and docker-compose
* Cover :service:logs
* Cover :service:report
* Add support for disabling "interactive mode" and "tty mode" in :service:exec
* Travis: Try to keep compatibility with older docker-compose version and PyYaml ~3.15
* Travis: Try to keep compatibility with older docker-compose version and PyYaml ~3.15
* Travis: Try docker-compose==1.25 as minimum
* Travis: Try docker-compose==1.24 as minimum
* Travis: Correct test failing on CI due to starting from blank paper
* Travis: Test on Python 3.8 and different versions of docker-compose
* Travis: Install before running
* Coverage of service stopping
* Debug test on Travis
* Correct naming
* Increase coverage of \`\`:harbor:service:rm\`
* Speed up tests a little bit by using Alpine image
* Resolve test after change in dataprovider
* Clean up
* Resolve: Simply and refactor detecting of group id, resolve "AttributeError: 'NoneType' object has no attribute 'group'"
* Resolve: TypeError: cannot use a string pattern on a bytes-like object
* Cover functionally ":harbor:service:up" task
* Travis retry
* Test on recent docker-compose
* Increasing tests coverage for ComposeDriver #2
* Increasing tests coverage for ComposeDriver
* Increasing tests coverage for simple services and DTO
* Fix missing dependency
* Fix missing dependency
* Enable travis integration on feature branch while developing Harbor 2.0
* Cover ServiceSelector with tests
* Add first tests
* Clean up
* Naming refactoring
* WIP: Clean up, diagnostic tasks, prod/dev formatting
* Adjustments to the logging level
* Update README
* Update README
* #13: Inspect and report tasks
* #7: Permissions support - initially
* #3: Support for IS\_DEBUG\_ENVIRONMENT
* #13: :service:logs and :service:exec tasks
* Added standard makefile.yaml with Harbor imports
* #12: Service up is now allowing to remove previous images after images are changed
* #12: harbor :upgrade finally working, waiting for text to appear in container logs, enum for update strategies
* #12: harbor :start and harbor :upgrade
* Updated docs
* Updated docs
* Updated docs
* #4: Working deployment strategies
* Improvements to the listing
* WIP, refactor attempt to extract all docker-compose calls into driver.py for future docker swarm support without need to rewrite whole project
* #4: WIP very Initial support for rolling updates
* [https://github.com/nginx-proxy/nginx-proxy/issues/927#issuecomment-539904330] Swarm mode fix
* #7: Support for GIT repositories management
* Add maintenance mode implementation, clean up
* Custom binary "harbor"
* Working configs management
* Configs management
* Gateway component
* WIP - env, services
* Clean up, add \`--project-directory\` usage
* First attemps with RKD

v2.0.0.0rc1
-----------

* Update features.rst
* Update general\_concept.rst
* Update general\_concept.rst
* Clean up of unused things
* Fixed problem with make help generation
* CI
* Build not only master
* Added travis configuration file
* Added support for development-only containers (eg. databases in containers when on production those databases are on host), refactored Makefile, now \`make start\` is starting in detached mode by default
* Update first-steps.rst
* Update first-steps.rst
* Update first-steps.rst
* Update first-steps.rst
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Create LICENSE
* Create LICENSE
* Added link to the general guide
* Update .env-default
* Added \`make edit\_env\_prod\`
* Fixed basic auth support, clean up
* Fix: Recent docker-compose does not clean up the default network, so the clean up is enforced before start. Else the start will not work, as the network name will be 'ambiguous'
* Added possibility to redirect from www. to non-www domains using label "org.riotkit.redirectFromWWW"
* Added example security configuration for nginx
* Now the docker-compose files are only searched by ".yml" extension
* Removed helper script as it is no longer needed
* Added support for disabling scripts in hooks
* Added docs for a better start for beginners
* Clean up, MySQL template now is using named volumes
* - Resolved problem with vhost.d - the contents were modified from inside of the container - Switched many things as mounted volumes instead of bind mounting
* Added support for appending code to the top of nginx.conf
* Fixed not always up-to-date SSL certificates
* Now the compose yaml files are updated also, because there is a split between apps and infrastructure
* Fixed updater after repo name change
* Deployment fixes
* Docs: Fixed not rendering example
* Added missing pages to index
* Updated main page of docs
* Changed project name
* Added list of new features to the documentation main screen
* - Added guides - Added maintenance mode - Added a separation between applications and infrastructure as the naming convention
* Fixed permissions handling in reset-nginx-conf-permissions which is a post-down hook
* Fixed hooks handling when directory is empty
* Fixed a deployment error in case the project directory does not exist (the chown is optional there, so it should not fail the whole process)
* Reworked permissions in Makefile, added user and group smart autodetection
* Added support for watchtower
* Extended wordpress guide by marking optional parts
* Added documentation
* Added script to reset permissions of files that are kept in git on production - to not break the update possibility with git pull, added missing python requirements.txt file
* Support for: - templating - IS\_DEBUG\_ENVIRONMENT - Bahub's recovery plans example
* Added templates directory
* Fixed a typo
* Updated docs, easier quick start with example
* Improved docs, changed from git clone to the updater script in quick start
* Explained more the DOMAIN\_SUFFIX idea
* Added more docs
* Updated docs about the limited downtime deployments
* More documentation
* Fixes to docs, SMTP is more documented and has easier configuration
* Fixed hooks handling - now does not return error about non-existing directory
* Added backups configuration
* Added dashboards for monitoring and services preview
* Deployer is now disabled by default
* Added a possibility to disable health checks
* Added a possibility to easily disable service discovery
* The environment should now get up earlier after \`make start\`
* Added partial documentation
* Added .env-prod support
* Fix: Prevent from modyfing remote of main repository (the docker environment repository) in case of any failure while working with application git repositories

v1.0
----

* Fixed make start integration with systemd
* Fixed hooks support in case the directory does not exists
* Traefik migration, part 2 ;)
* Added hooks support
* Fixed: Gateway had no access to some of services, so there was a 502 thrown
* Migration from Traefik to NGINX
* Fixed problems with acme permissions
* Updated documentation with the getting started, updating sections
* First documentation
* Fixed git dirty check and current pwd that was not correctly detected
* Fixed auth path
* Added mkdir call when needed
* First, working updater
* Clean up - SMTP was moved to separate file
* Added to git
* Added to git
