Barsonax Singularity Versions Save

A extremely fast ioc container for high performance applications

0.17.2

4 years ago
  • Scoped will now only call a dispose or finalizer delegate once, even if Dispose is called multiple times by other code or recursion. Fixes #130.

0.15.0

4 years ago
  • ASP.NET core 3.0 support
  • Added constructor selectors. A strict constructor selector (selects the only public constructor or throws a exception) and a best fit constructor (select the constructor with as many parameters as possible that still can be resolved) selector was added.
  • PREVIEW AND UNDOCUMENTED! Made ServiceBindingGenerators and friends public as a first step to make Singularity more extendable. ServiceBindingGenerators are used to provide many of Singularity's advanced features such as open generics.

0.14.0

4 years ago

0.13

4 years ago

0.12

5 years ago

0.10.0

5 years ago

0.10.0 (24 April 2019)

Moved build to azure devops and using NUKE now instead of powershell scripts to run the build. There was some time left for other improvements though:

Features:

  • You can now register multiple interfaces for the same implementation

Improvements

  • Much better scope performance
  • Fixed bug in the custom dictionary that the container/scope uses

0.9.0

5 years ago

0.9.0 (13 April 2019)

Features:

  • Singularity exceptions are now serializable
  • Added PerScope lifetime
  • Added BeginScope
  • FastExpression compiler is now included in the source so it no longer needed to install it as dependency
  • Added support for requesting Expression<Func<T>>. This will give you the expression that is used to create the factory.
  • Added support for requesting Func<T>. This will give you the factory to create the instance.
  • Added support for requesting Lazy<T>.
  • Added support for IReadOnlyList<T>. Same as requesting IEnumerable but gives you more info about count and allows you to index.
  • Launched the documentation website: http://www.the-photographing-programmer.com/Singularity/. Not completely finished yet.

Improvements

  • Improved performance of the delegate lookup resulting in a even faster container.

0.8.0

5 years ago

0.8.0 (06 April 2019)

Features:

  • Added support for open generics. Just register a dependency as config.Register(typeof(IOpenGeneric<>), typeof(OpenGeneric<>)) and Singularity will try map the generic parameters when requesting a instance.
  • Added support for IEnumerable. Just request a IEnumerable<T> and you will get all the registered instances for T. This is lazy so these instances are not created until you start enumerating the enumerable.
  • Added support for scopes

Improvements

  • Improved performance:
    • Dependency lookup now uses a extremely fast lock free custom dictionary
    • More efficient expression trees are now being generated resulting in faster delegates
    • Now uses FastExpression compiler to generate even more optimized delegates
    • Container startup is alot faster now by avoiding some unnecessary compilations of a expression tree

0.7.2

5 years ago

0.7.1

5 years ago