This repository has been archived by the owner on Oct 20, 2023. It is now read-only.
Releases: Barsonax/Singularity
Releases · Barsonax/Singularity
0.17.2
0.15.0
- 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.
v0.14.0
v0.13
v0.12
v0.10.0
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
v0.9.0
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.
v0.8.0
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 forT
. 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