kangaru v4.2.0 Release Notes

Release Date: 2019-08-04 // over 4 years ago
  • 🚀 Finally after much efforts and time, I'm happy to announce that the version 4.2.0 of kangaru, the C++11 and C++14 dependency injection container has been released!

    📚 For those who are new here, kangaru is an inversion of control container for C++11, C++14 and later. We support features like operation between containers, injection via function parameter, automatic call of member function on instance creation, autowiring and more. Please visit our README and our documentation for more informations.

    🔨 It's a library that helps automating the wiring of classes in order to make dependency injection easier and less prone to source breaking changes when refactoring.

    In this version, we added several new features to this library. Here are the highlights:

    • 🛠 The order of destruction has been fixed to act more like a stack. #69
    • 👍 The container now supports getting a list of all implementers of a polymorphic service. #81
    • Basic runtime benchmark has been added. #73
    • 👍 Better service validation when using container.emplace<T>(...) #56
    • 👻 Kangaru is now compatible with exception disabled compilation. #70
    • Circular dependencies are now detected and reported when using autowiring #77
    • The service map is now defined in friend functions by built-in service, accelerating compilation.
    • Less memory usage by kgr::type_id<T>()
    • Lots of cleanups

    👍 Thanks to all of you who reported issues and discussed with us. This has contributed to make this library better and to cover more use cases.

    Feedback and contributions are welcome. Thanks for considering kangaru! 🦘