Skip to content

Release-0.7.2

Compare
Choose a tag to compare
@codemercenary codemercenary released this 31 Jul 23:38
· 1170 commits to master since this release

This release is mainly focused on performance and compatibility, with the largest improvements coming from #652 which changes to how objects are stored and searched in CoreContext and AutoPacket.

Major changes:

  • #652 is a substantial performance improvement to the behavior of AnySharedPointer and all but completely breaks Autowiring of its nonperformant reliance on typeid.
  • #694 implements an unlink-on-teardown feature in CoreContext to help prevent memory leaks due to Autowired cycles

Minor changes:

  • #653 improves the performance of lambdas pended with an empty timeout
  • #655, #660, #662, and #663 allow Autowiring to be used on Windows XP again
  • #657 and #702 fix some warnings due to internal uses of deprecated types, and squelches those warnings where appropriate
  • #659 prevents accidental copies of AutoPacketFactory
  • #668 and #669 improves the flexibility of ContextMap enumeration
  • #673 and #677 provide a cross-platform way to declare aligned types and allocate aligned memory
  • #665 allows std::shared_ptr<AutoPacket> to be used as an input argument to AutoFilter
  • #676 benchmarks the ObjectPool, #678 doubles ObjectPool performance, and #684 lays the groundwork for future improvements
  • #666 adds a heterogenous block concept which is expected to be used in AutoPacket in a future release.
  • #690 avoids the needless use of the inefficient std::stack and #699 improves the performance of CoreContext::SetCurrent
  • #693 provides an enumerable collection from autowiring::parallel to support range-based for loops, and #696 allows this type to be used with lambdas that have no return type
  • #700 corrects some problems preventing Autowiring tests from being used with valgraind
  • #701, #702, and #695 fix miscellaneous warnings