CHANGES
=======

1.6.6
-----

* Fix sigchld for window

1.6.5
-----

* Use sigchld instead of polling children
* Update sphinx

1.6.4
-----

* reduce cpu usage

1.6.3
-----

* Fix forking too fast code
* doc: Add note about futurist
* Switch doc to rtd theme
* doc enhancement
* doc: hooks and window note

1.6.2
-----

* always run signal handling in main thread

1.6.1
-----

* window: Don't fail is the app use oslo.config
* tests: fix py35
* tests: add a basic workflow for window
* tests/doc/window: oslo.config limitation
* tests: Don't use stdout
* window: clarify SIGTERM/SIGALRM/SIGBREAK state
* tests: window failfast
* tests: Don't use signal 0
* window: Fix signals for children
* tests: skip sighup tests
* tests: fixing logging on window
* fixing import order
* Make option mutable
* Add tea-ci.org supports
* doc: Add some non-posix note
* Close useless child pipe()
* simplify the dead worker detection/restarting

1.6.0
-----

* doc: Add some non-posix note
* add some py3 note
* Bump the major version for the non-posix support
* workaround killpg on non-posix platform
* Simplify the running_services structure
* Fix signal handling for windows
* Make setproctitle optional for windows
* Ignore setsid AttributeError on windows
* Remove usage of os.waitpid
* Use multiprocessing.Process instead of fork

1.5.0
-----

* Rework the oslo_config_glue
* Implement sigalarm for servicemanager
* Allow to register multiple hooks
* Add on_new_worker hooks
* Improve tests output and run doc8
* Tests: fix tests cleanup
* Remove unused file
* Improve docs
* Split code base
* Allow to register terminate/reload hooks
* Share signals implementation
* Allows to reconfigure a service
* Revert "limit select.select() EINTR exception"
* Don't wait for reload if terminate/reload already run
* limit select.select() EINTR exception
* Handle SIGALRM like other signals

1.4.6
-----

* set proc title for master process
* doc: add some clarification

1.4.5
-----

* Rework signal handlers
* Fixup code blocks

1.4.4
-----

* fix sporadic test failure
* Set default python interpreter version to 3.5
* Move travis to py35

1.4.3
-----

* Empty the signal pipe

1.4.2
-----

* Uses signal.set_wakeup_fd() to ensure signal runs
* Fix Graceful shutdown timeout with parent died

1.4.1
-----

* Rename oslo-config entry point

1.4.0
-----

* Add ServiceManager termination hook
* Add new oslo.service/cotyledon diff

1.3.0
-----

* Fix oslo_config list_opts
* Don't ship test binary
* Add oslo config glue
* Add graceful shutdown timeout
* Ensure initialization is always called

1.2.8
-----

* Move release testing to py35
* fix time.sleep on darwin
* Reduce sleep time while waiting for ever

1.2.7
-----

* Follow termination of our children only
* Call atexit hook on parent only and with sys.exit
* doc: Add examples
* readme: typo
* readme: typo
* readme: Add more detail
* Add Cotyledon story
* Enhance description
* Revert "Add py35 tests"

1.2.6
-----

* Remove useless classifier
* Add py35 tests
* Fix owner
* Update README links

1.2.5
-----

* Only catch errno.ECHILD
* switch unexpected pid from warn to error

1.2.4
-----

* release:Run py34 tests first
* Allow non hashable args/kwargs
* Run tests before release

1.2.3
-----

* re-re-handles signal during service init
* Don't use oslosphinx

1.2.2
-----

* Wait all children, not only the first one
* improve logging

1.2.1
-----

* pep8 fix
* re-handles signal during service init

1.2.0
-----

* Don't call terminate twice on double child sigterm
* handles signal during service init
* docs: fix example

1.1.0
-----

* release: Allow to pass version
* Allow to pass args and kwargs for services

1.0.3
-----

* Fix worker_id in tests

1.0.2
-----

* Start worker_id at 0

1.0.1
-----

* Add systemd notify support
* Run atexit hooks
* Some code deduplication
* Remove hardcoded version

1.0.0
-----

* Fix release script
* Fix tox and pep8
* Fix release script
* Build universal wheel
* Fix release script
* create travis conf
* Remove constraints stuffs
* Set version
* Better exception naming
* remove useless code
* Don't raise exception in default Service impl
* doc: use pyclass in terminate()
* doc: fix typo in reload()
* doc: fix typo in terminate()
* doc: fix missing backquots in ServiceManager
* doc: fix type for worker_id parameter
* More tests
* Add some tests
* Initial Ccotyledon Commit
