Release-0.7.4
This is a compatibility and extension release that also removes some concepts that were not being used by any downstream clients. Most important in this release are #734, which fixes a multi-in bug, and #757, which makes signals safer to use.
- #734 adds a unit test to prove a multiple decoration input bug in Autowiring, and also corrects the problem.
- #739 brings in a high performance spin lock for low-contention use cases, and #735 makes use of this lock in
autowiring::signal
. - #756 adds a very strong sequencing guarantee to
autowiring::signal
and corrects some bad inconsistencies in its behavior. - #756 allows piecewise construction of
autowiring::tuple
, which has the effect of eliminating one move where move is supported by a tuple member and one copy where it is not. - #755 eliminates the disused AutoConfig concept. Rest in peace.
- #733 gives a name to one of the
ObjectPool
default ctor arguments so users don't have to construct one every time. - #735 makes
CoreContext
concrete.CoreContext
was abstract in v0.7.3, and this meant funny things could happen in teardown. - #741 fixes a static assertion in factory new.
- #744 enhances
AutowiringEnclosure
by actually showing the runnables that are hanging unit tests rather than just failing. - #742 pulls the
ThreadSleep
method down to theCoreRunnable
base type and #748 makesCoreRunnable::m_lock
mutable. - #745 fixes xcode compatibility, and #746 fixes a URL used by Travis.
- #743 allows
AutoConstruct
andAutoRequired
to be copied. - #749 adds a one-way observable transition flag concept and deploys it experimentally in
CoreContext
.