Skip to content

Release-0.7.4

Compare
Choose a tag to compare
@codemercenary codemercenary released this 30 Sep 22:44

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 the CoreRunnable base type and #748 makes CoreRunnable::m_lock mutable.
  • #745 fixes xcode compatibility, and #746 fixes a URL used by Travis.
  • #743 allows AutoConstruct and AutoRequired to be copied.
  • #749 adds a one-way observable transition flag concept and deploys it experimentally in CoreContext.