CHANGELOG.md in carrot_rpc-0.6.0 vs CHANGELOG.md in carrot_rpc-0.7.0

- old
+ new

@@ -1,45 +1,57 @@ <!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* - [Changelog](#changelog) - - [v0.5.1](#v051) + - [v0.7.0](#v070) - [Bug Fixes](#bug-fixes) - - [v0.5.0](#v050) - - [Enhancements](#enhancements) - [Incompatible Changes](#incompatible-changes) - - [v0.4.1](#v041) + - [v0.6.0](#v060) + - [Enhancements](#enhancements) + - [v0.5.1](#v051) - [Bug Fixes](#bug-fixes-1) - - [v0.4.0](#v040) + - [v0.5.0](#v050) - [Enhancements](#enhancements-1) - - [Bug Fixes](#bug-fixes-2) - [Incompatible Changes](#incompatible-changes-1) - - [v0.3.0](#v030) + - [v0.4.1](#v041) + - [Bug Fixes](#bug-fixes-2) + - [v0.4.0](#v040) - [Enhancements](#enhancements-2) - [Bug Fixes](#bug-fixes-3) - - [v0.2.3](#v023) + - [Incompatible Changes](#incompatible-changes-2) + - [v0.3.0](#v030) - [Enhancements](#enhancements-3) - [Bug Fixes](#bug-fixes-4) + - [v0.2.3](#v023) + - [Enhancements](#enhancements-4) + - [Bug Fixes](#bug-fixes-5) - [Upgrading](#upgrading) - [v0.2.1](#v021) - - [Bug Fixes](#bug-fixes-5) - - [v0.2.0](#v020) - - [Enhancements](#enhancements-4) - [Bug Fixes](#bug-fixes-6) - - [Incompatible Changes](#incompatible-changes-2) - - [v0.1.2](#v012) + - [v0.2.0](#v020) - [Enhancements](#enhancements-5) - [Bug Fixes](#bug-fixes-7) - - [v0.1.1](#v011) + - [Incompatible Changes](#incompatible-changes-3) + - [v0.1.2](#v012) - [Enhancements](#enhancements-6) - [Bug Fixes](#bug-fixes-8) - - [Incompatible Changes](#incompatible-changes-3) + - [v0.1.1](#v011) + - [Enhancements](#enhancements-7) + - [Bug Fixes](#bug-fixes-9) + - [Incompatible Changes](#incompatible-changes-4) <!-- END doctoc generated TOC please keep comment here to allow auto update --> # Changelog All significant changes in the project are documented here. + +## v0.7.0 +### Bug Fixes +* [#38](https://github.com/C-S-D/carrot_rpc/pull/38) - The `until quit` busy-wait loop consumes ~1 core for each instance of `carrot_rpc` as the default `sleep 0` does the minimal amount of sleep before waking up to check the boolean `quit`. I've replaced it with an `IO.pipe` and `IO.select` that does not consume any resources while it waits. **NOTE: A Queue could not be used here because the MRI VM blocks use of Mutexes inside signal handlers to prevent deadlocks because the Mutex code is not-reentrant (i.e signal-interrupt-safe). If a Queue is used the thread silently fails with an exception and the signal is ignored.** - [@KronicDeth](https://github.com/KronicDeth) + +### Incompatible Changes +* [#38](https://github.com/C-S-D/carrot_rpc/pull/38) - Removal of the busy-wait removes the `-s` (`--runloop_sleep`) option as it is no longer needed. - [@KronicDeth](https://github.com/KronicDeth) ## v0.6.0 ### Enhancements * [#34](https://github.com/C-S-D/carrot_rpc/pull/34) - `--server_test_mode` options for `carrot_rpc` sets `CarrotRpc.configuration.server_test_mode` to `true`. When `server_test_mode` is true, `_test` is appended to the queue name used by `CarrotRpc::RpcServer` and `CarrotRpc::RpcClient`, so that tests don't use the same queue as production or development. - [@shamil614](https://github.com/C-S-D/carrot_rpc/pull/34) * [#36](https://github.com/C-S-D/carrot_rpc/pull/36) - Request in thread-local variable, so it can be used for client request - [@KronicDeth](https://github.com/KronicDeth)