DryIoc.dll 3.0.2
DryIoc v3.0.0 Release Notes
From user perspective
OpenScope behavior changes
Now OpenScope
is returning IResolverContext
instead of full IContainer
.
The consequence is that you won't be able to Register on returned object. But this is OK because even before, any registration done on scope was actually done on container. This was confusing, cause someone may think that registration in scope is separate.
Old code:
var container = new Container();
container.Register<A>();
using (var scope = container.OpenScope())
{
scope.Register<B>();
scope.Resolve<A>();
}
New code:
var container = new Container();
container.Register<A>();
container.Register<B>();
using (var scope = container.OpenScope())
{
scope.Resolve<A>();
}
Note: It is still valid to call UseInstance
and InjectPropertiesAndFields
on the scope,
cause IResolverContext
defines both methods.
No more ImplicitOpenedRootScope
This rule was added to conform to Microsoft.Extensions.DependencyInjection specification to enable the resolution of scoped service both from scoped and the root container. The latter means that the resolved service will be a singleton despite the fact it is registered as scoped.
The rule instructed the DryIoc to open scope on container creation and most importantly, to dispose this scope together with container.
As of DryIoc v2.12 the new hybrid Reuse.ScopedOrSingleton
was added, so you may not need to open the scope
to resolve such a service. This reuse means the Rules.WithImplicitOpenedRootScope
is no longer neccessary.
Old code:
var container = new Container(rules => rules.WithImplicitOpenedRootScope());
container.Register<A>(Reuse.Scoped);
container.Resolve<A>(); // Works, even without an open scope due the rule
New code:
var container = new Container();
container.Register<A>(Reuse.ScopedOrSingleton);
container.Resolve<A>(); // Works, and much more clean given the service reuse
Reuse.InResolutionScope changes
Resolution scope is no longer automatically created on Resolve
Previosly for any registered service the call to Resolve
may create the scope associated
with resolved service, as long the service had a dependency registered with Reuse.InResolutionScope
.
Now it is no longer happen. The scope will be created only if resolved service is registered
with setup: Setup.With(openResolutionScope: true)
option.
Old code:
var container = new Container();
container.Register<A>();
container.Register<DepOfA>(Reuse.InResolutionScopeOf<A>());
container.Resolve<A>(); // opens scope and DepOfA is successfully injected
New code:
var container = new Container();
container.Register<A>(setup: Setup.With(openResolutionScope: true));
container.Register<DepOfA>(Reuse.ScopedTo<A>()); // the new syntax, old is still valid
container.Resolve<A>(); // opens scope and DepOfA is successfully injected
InResolutionScope reuse now is just a Scoped reuse
Resolution scope reuse is the lifetime behavior accosiated with the node in service object graph.
Previously resolution scope reuse was separate from scope reuse. It means that scope created
via OpenScope
did not have any link to scope created for resolved or injected service.
Now it is different and resolution scope is the part of nested open scopes. Therefore resolution scope reuse is just a scoped reuse with the special name, consisting of target resolved/injected service type and/or service key.
That also means Reuse.InResolutionScope
which does not specify the type of bound service is
just a Reuse.Scoped
.
Old code:
var container = new Container();
container.Register<A>(Reuse.InResolutionScopeOf(serviceKey: "X"));
container.Resolve<A>(); // Error! No service with service key "X" is found
New code:
var container = new Container();
container.Register<A>(Reuse.ScopedTo(serviceKey: "X"));
// resolution scope is just an open scope with the special name
using (var scope = container.OpenScope(ResolutionScopeName.Of(serviceKey: "X")))
{
container.Resolve<A>(); // Works
}
RegisterDelegate parameter changes
IResolver
parameter in RegisterDelegate((IResolver resolver) => ...)
was extended by IResolverContext
.
I said 'extended' because IResolverContext
implements the IResolver
. Because of this, there is a high chance
that your code will compile as before.
Using IResolverContext
in delegate will allow you to OpenScope
, UseInstance
, etc. without bringing the
correct container instance inside delegate.
Old code:
var container = new Container();
container.RegisterDelegate(r =>
{
using (var scope => r.Resolver<IContainer>().OpenScope()) { ... }
});
New code:
var container = new Container();
container.RegisterDelegate(r =>
{
using (var scope => r.OpenScope()) { ... }
});
CreateFacade changes and no more FallbackContainers
FallbackContainers
were not working fully and have a different un-expected issues.
This feature was an orthogonal to the rest of DryIoc architecture, so I am happily removed it.
CreateFacade
was implemented on top of FallbackContainer
and allow to 'override' facaded container registrations.
This behavior for instance may be suitable in Tests to override prod service with test mock.
Now CreateFacade
is just a sugar no top of Rules.WithFactorySelector(Rules.SelectKeyedOverDefaultFactory(FacadeKey))
.
Old code:
var container = new Container();
container.Register<A>();
container.Register<IDepOfA, DepOfA>();
var facade = container.CreateFacade();
facade.Register<IDepOfA, TestDeoOfA>();
facade.Resolve<A>(); // will have TestDeoOfA
New code:
var container = new Container();
container.Register<A>();
container.Register<IDepOfA, DepOfA>();
var facade = container.CreateFacade();
facade.Register<IDepOfA, TestDeoOfA>(ContainerTools.FacadeKey);
// or with custom key
var facade = container.CreateFacade("test");
facade.Register<IDepOfA, TestDeoOfA>("test");
facade.Resolve<A>(); // will have TestDeoOfA
WeaklyReferenced changes
IDisposable
services registered with setup: Setup.With(weaklyReferenced: true)
are no longer disposed.
The disposal was not guarantied even before, because the weakly referenced service may be garbage collected at any time.
Full change list
- Using C# 6 through codebase.
IReuse
contents is replaced withIReuseV3
contents,IReuseV3
is removed.- Removed unused
compositeParentKey
andcompositeRequiredType
parameters fromIResolver.ResolveMany
both in DryIoc and DIZero - Removed
scope
parameter fromResolve
andResolveMany
- Removed
state
andscope
parameter from FactoryDelegate due #288 both in DryIoc and DryIocZero - Removed
Rules.FallbackContainers
Container.CreateFacade
implementation is changed from the use of fallback containers torules.WithFactorySelector(Rules.SelectKeyedOverDefaultFactory(FacadeKey))
- Removed
IScopeAccess
interface, replaced withIResolverContext.OpenedScope
and extension methods. - Removed
ContainerWeakRef
implementation ofIResolverContext
. NowIResolverContext
is implemented byContainer
itself. - Added
IReuse.Name
to support reuse name - Renamed
IContainer.ContainerWeakRef
intoIContainer.ResolverContext
- Removed
ContainerTools.GetCurrentScope
extension. It is replaced byIResolverContext.CurrentScope
- Removed obsolete
IContainer.EmptyRequest
andRequest.CreateEmpty
- Removed obsolete
IContainer.ResolutionStateCache
andIContainer.GetOrAddStateItem
- Removed obsolete
Request.ToRequestInfo
- Removed feature
outemost
parameter ofReuse.InResolutionScopeOf
- Removed not necessary
trackTransientDisposable
parameter fromIReuse.Apply
method - Removed
ResolutionScopeReuse
, replaced byCurrentScopeReuse
- Changed
Reuse.InResolutionScope
to be justReuse.Scoped
underneath - Changed obsolete
RegisterInstance
implementation to just callUseInstance
- Removed
InstanceFactory
which was used by obsoleteRegisterInstance
- Changed
IResolverContext
to implement theIResolver
instead of holding it as property to simplifies the path toIResolver
from the object graph. - Removed unused
Request.IsWrappedInFuncWithArgs
method - Changed
IContainer
to implementIResolverContext
as it is already does this - Removed
IContainer.ResolverContext
property - Removed no longer used
Request.WithFuncArgs
- Changed parameter
bool ifUnresolvedReturnDefault
toIfUnresolved ifUnresolved
inIResolver.Resolve
methods to allow to add moreIfUnresolved
options - renamed:
IfAlreadyRegistered
parameter toifAlreadyRegistered
inUseInstance
methods - Moving
OpenScope
,UseInstance
,InjectPropertiesAndFields
fromIContainer
toIResolverContext
OpenScope
no longer accepts theAction<Rules>
, but you can always usecontainer.With(Action<Rules>)
before opening scopeInjectPropertiesAndFields
may define the names of members to inject instead of full blownPropertiesAndFieldsSelector
, but there is still possibility to define the selector on container level- Added
object[] args
parameter intoResolve
andResolveMany
- Removed special SingletonScope, using one implementation for both scope and singletons
- Removed
IScope.GetScopedItemIdOrSelf
as it was required only bySingletonScope
- Added
IScope.TryGet
- Moved
IContainer.ScopeContext
intoIResolverContext.ScopeContext
- Removed
IScopeContext.ScopeContextName
, you may provide your name instead - Removed
Container.NonAmbientRootScopeName
- Disposable services registered with
WeaklyReferenced
setup are no longer disposed. Because the disposal in this case is optional anyway and the instance may be collected in any given time. - Removed
ImplicitOpenedRootScope
- Obsoleting
WithDefaultReuseInsteadOfTransient
replaced byWithDefaultReuse
- Changed RegisterDelegate to accept Func{IResolverContext, object} instead of Func{IResolver, object}
- Obsoleting
WithAutoFallbackResolution
replaced byWithAutoFallbackDynamicRegistration
- Moved
IContainer.With..
methods toContainerTools
extension methods - Obsoleting AutoFallback and ConcreteType resolution rules
- Changed
PropertiesAndFields.All
to includewithBase
parameter - Obsoleting the
Reuse.InResolutionScope
No packages depend on DryIoc.dll.
.NET Framework 3.5
- No dependencies.
.NET Framework 4.0
- No dependencies.
.NET Framework 4.5
- No dependencies.
.NETPortable 0.0
- No dependencies.
.NETPortable 0.0
- No dependencies.
Xamarin.Mac 2.0
- No dependencies.
.NET Standard 1.0
- NETStandard.Library (>= 1.6.1)
.NET Standard 1.3
- NETStandard.Library (>= 1.6.1)
.NET Standard 2.0
- No dependencies.
Version | Downloads | Last updated |
---|---|---|
6.0.0-preview-09 | 19 | 11/25/2024 |
6.0.0-preview-08 | 36 | 10/31/2024 |
6.0.0-preview-07 | 25 | 03/20/2024 |
6.0.0-preview-06 | 25 | 01/31/2024 |
5.4.3 | 32 | 11/14/2023 |
5.4.2 | 23 | 10/25/2023 |
5.4.1 | 32 | 06/23/2023 |
5.4.0 | 41 | 05/08/2023 |
5.4.0-preview-01 | 30 | 07/01/2023 |
5.3.4 | 37 | 04/19/2023 |
5.3.3 | 31 | 06/29/2023 |
5.3.2 | 28 | 06/27/2023 |
5.3.1 | 35 | 05/11/2023 |
5.3.0 | 34 | 06/30/2023 |
5.2.2 | 33 | 12/30/2022 |
5.2.1 | 44 | 08/17/2022 |
5.2.0 | 37 | 12/18/2022 |
5.1.0 | 40 | 05/18/2023 |
5.0.2 | 37 | 06/30/2023 |
5.0.1 | 31 | 06/27/2023 |
5.0.0 | 33 | 04/18/2022 |
5.0.0-preview-01 | 38 | 06/01/2023 |
4.8.8 | 45 | 03/21/2023 |
4.8.7 | 47 | 02/16/2023 |
4.8.6 | 32 | 02/16/2023 |
4.8.5 | 37 | 02/16/2023 |
4.8.4 | 38 | 02/16/2023 |
4.8.3 | 38 | 09/27/2022 |
4.8.2 | 44 | 05/08/2023 |
4.8.1 | 35 | 10/06/2022 |
4.8.0 | 29 | 05/28/2022 |
4.7.8 | 37 | 09/18/2022 |
4.7.7 | 48 | 05/24/2021 |
4.7.6 | 42 | 03/21/2023 |
4.7.5 | 36 | 05/07/2023 |
4.7.4 | 28 | 02/16/2023 |
4.7.3 | 45 | 09/03/2022 |
4.7.2 | 32 | 01/26/2021 |
4.7.1 | 38 | 05/12/2023 |
4.7.0 | 39 | 07/04/2022 |
4.7.0-preview-01 | 52 | 06/15/2023 |
4.6.0 | 34 | 09/06/2022 |
4.5.2 | 35 | 06/29/2023 |
4.5.1 | 42 | 10/15/2022 |
4.5.0 | 34 | 06/27/2023 |
4.4.1 | 35 | 06/30/2023 |
4.4.0 | 37 | 07/04/2023 |
4.3.4 | 34 | 05/03/2022 |
4.3.3 | 30 | 06/29/2023 |
4.3.2 | 28 | 06/27/2023 |
4.3.1 | 44 | 12/31/2022 |
4.3.0 | 32 | 07/16/2022 |
4.2.5 | 38 | 12/02/2022 |
4.2.4 | 38 | 10/30/2022 |
4.2.3 | 37 | 12/22/2022 |
4.2.2 | 35 | 12/21/2022 |
4.2.1 | 32 | 05/28/2022 |
4.2.0 | 37 | 09/14/2022 |
4.1.4 | 44 | 08/15/2022 |
4.1.3 | 35 | 06/29/2023 |
4.1.2 | 33 | 12/24/2022 |
4.1.1 | 33 | 09/18/2022 |
4.1.1-preview-01 | 56 | 12/25/2022 |
4.1.0 | 41 | 07/06/2022 |
4.1.0-preview-04 | 34 | 08/30/2022 |
4.1.0-preview-03 | 55 | 06/29/2023 |
4.1.0-preview-02 | 54 | 04/29/2023 |
4.1.0-preview-01 | 53 | 05/14/2023 |
4.0.7 | 47 | 07/15/2022 |
4.0.6 | 41 | 05/09/2023 |
4.0.5 | 38 | 10/16/2020 |
4.0.5-preview-01 | 36 | 07/24/2022 |
4.0.4 | 38 | 12/30/2022 |
4.0.3 | 41 | 05/07/2023 |
4.0.2 | 40 | 08/06/2022 |
4.0.1 | 36 | 02/03/2023 |
4.0.0 | 38 | 06/28/2023 |
4.0.0-preview-02 | 38 | 07/01/2023 |
4.0.0-preview-01 | 39 | 08/02/2022 |
3.1.0-preview-07 | 31 | 06/29/2023 |
3.1.0-preview-06 | 35 | 03/07/2023 |
3.1.0-preview-05 | 42 | 05/21/2023 |
3.1.0-preview-04 | 43 | 10/19/2022 |
3.1.0-preview-03 | 56 | 06/30/2023 |
3.1.0-preview-02 | 52 | 07/01/2023 |
3.1.0-preview-01 | 36 | 07/04/2022 |
3.0.2 | 54 | 10/16/2020 |
3.0.1 | 39 | 04/03/2023 |
3.0.0 | 37 | 05/14/2023 |
3.0.0-preview-12 | 34 | 07/01/2023 |
3.0.0-preview-11 | 31 | 07/02/2023 |
3.0.0-preview-10 | 49 | 09/13/2022 |
3.0.0-preview-09 | 41 | 10/18/2022 |
3.0.0-preview-08 | 36 | 07/02/2023 |
3.0.0-preview-07 | 31 | 06/30/2023 |
3.0.0-preview-06 | 34 | 05/19/2023 |
3.0.0-preview-05 | 43 | 06/30/2023 |
3.0.0-preview-04 | 33 | 05/19/2023 |
3.0.0-preview-03 | 37 | 06/29/2023 |
3.0.0-preview-02 | 40 | 05/09/2023 |
3.0.0-preview-01 | 56 | 05/21/2023 |
2.12.10 | 36 | 07/06/2023 |
2.12.8 | 29 | 07/26/2022 |
2.12.7 | 28 | 05/07/2023 |
2.12.6 | 32 | 10/02/2022 |
2.12.5 | 26 | 05/13/2023 |
2.12.4 | 37 | 12/15/2022 |
2.12.3 | 30 | 05/02/2023 |
2.12.2 | 27 | 12/16/2022 |
2.12.1 | 33 | 05/01/2023 |
2.12.0 | 42 | 12/26/2022 |
2.12.0-preview-01 | 25 | 06/27/2023 |
2.11.6 | 35 | 07/02/2022 |
2.11.5 | 34 | 11/08/2022 |
2.11.4 | 27 | 07/02/2023 |
2.11.3 | 33 | 05/10/2023 |
2.11.2 | 27 | 08/25/2022 |
2.11.1 | 29 | 06/27/2023 |
2.11.0 | 30 | 05/08/2023 |
2.11.0-preview-02 | 31 | 09/12/2022 |
2.11.0-preview-01 | 31 | 06/29/2023 |
2.10.7 | 37 | 07/02/2022 |
2.10.6 | 26 | 06/29/2023 |
2.10.4 | 30 | 06/29/2023 |
2.10.3 | 38 | 03/31/2023 |
2.10.2 | 31 | 05/08/2023 |
2.10.1 | 34 | 06/30/2023 |
2.10.0 | 32 | 07/02/2023 |
2.9.7 | 48 | 11/01/2022 |
2.9.6 | 37 | 11/28/2022 |
2.9.5 | 34 | 05/28/2022 |
2.9.4 | 38 | 07/20/2022 |
2.9.3 | 35 | 06/28/2023 |
2.9.2 | 36 | 08/22/2022 |
2.9.1 | 39 | 04/18/2023 |
2.9.0 | 31 | 07/17/2022 |
2.8.5 | 43 | 07/02/2023 |
2.8.4 | 35 | 05/28/2022 |
2.8.3 | 32 | 07/01/2023 |
2.8.2 | 36 | 03/28/2023 |
2.8.1 | 27 | 06/29/2023 |
2.8.0 | 31 | 05/08/2023 |
2.8.0-preview-01 | 57 | 07/01/2022 |
2.7.1 | 42 | 05/15/2023 |
2.7.0 | 34 | 03/31/2023 |
2.6.4 | 38 | 06/27/2023 |
2.6.3 | 33 | 12/05/2022 |
2.6.3-netcore-rc2 | 55 | 12/29/2022 |
2.6.2 | 35 | 07/02/2023 |
2.6.2-netcore-rc2 | 40 | 05/03/2022 |
2.6.1-netcore-rc2 | 31 | 05/22/2023 |
2.6.0 | 39 | 12/04/2022 |
2.5.1 | 32 | 06/28/2023 |
2.5.0 | 29 | 05/11/2023 |
2.4.3 | 54 | 09/10/2022 |
2.4.2 | 40 | 09/05/2022 |
2.4.1 | 34 | 04/23/2023 |
2.4.0 | 36 | 09/27/2022 |
2.3.0 | 37 | 02/15/2023 |
2.2.2 | 40 | 08/28/2022 |
2.2.1 | 35 | 07/24/2022 |
2.2.0 | 36 | 06/30/2023 |
2.1.3 | 35 | 06/29/2023 |
2.1.2 | 32 | 05/28/2022 |
2.1.1 | 38 | 07/19/2022 |
2.1.0 | 36 | 02/16/2023 |
2.0.2 | 41 | 06/30/2023 |
2.0.1 | 31 | 04/02/2023 |
2.0.0 | 38 | 05/10/2023 |
2.0.0-rc4build353 | 38 | 05/05/2023 |
2.0.0-rc4build352 | 33 | 04/08/2023 |
2.0.0-rc4build351 | 29 | 06/30/2023 |
2.0.0-rc4build350 | 35 | 05/21/2023 |
2.0.0-rc4build349 | 32 | 07/06/2023 |
2.0.0-rc4build348 | 42 | 07/20/2022 |
2.0.0-rc4build347 | 34 | 11/20/2022 |
2.0.0-rc4build346 | 32 | 09/29/2022 |
2.0.0-rc4build345 | 29 | 07/05/2023 |
2.0.0-rc4build344 | 32 | 05/28/2022 |
2.0.0-rc4build343 | 33 | 06/25/2023 |
2.0.0-rc4build342 | 33 | 07/03/2023 |
2.0.0-rc4build341 | 33 | 07/20/2022 |
2.0.0-rc4build340 | 37 | 05/12/2023 |
2.0.0-rc4build339 | 42 | 05/21/2023 |
2.0.0-rc4build338 | 30 | 09/09/2022 |
2.0.0-rc4build337 | 39 | 07/21/2022 |
2.0.0-rc4build336 | 38 | 07/02/2023 |
2.0.0-rc3build340 | 57 | 09/11/2022 |
2.0.0-rc3build339 | 34 | 07/01/2022 |
2.0.0-rc3build338 | 27 | 06/30/2023 |
2.0.0-rc3build337 | 32 | 07/02/2023 |
2.0.0-rc3build336 | 34 | 06/30/2023 |
2.0.0-rc3build335 | 52 | 06/29/2023 |
2.0.0-rc3build334 | 32 | 07/02/2023 |
2.0.0-rc3build333 | 47 | 07/01/2023 |
2.0.0-rc3build332 | 47 | 03/18/2023 |
2.0.0-rc3build331 | 36 | 05/28/2022 |
2.0.0-rc3build330 | 34 | 11/12/2022 |
2.0.0-rc3build329 | 39 | 05/27/2022 |
2.0.0-rc3build328 | 39 | 06/29/2023 |
2.0.0-rc3build327 | 64 | 09/06/2022 |
2.0.0-rc3build326 | 28 | 06/30/2023 |
2.0.0-rc3build325 | 31 | 06/29/2023 |
2.0.0-rc3build324 | 35 | 10/02/2022 |
2.0.0-rc3build323 | 31 | 07/01/2022 |
2.0.0-rc3build322 | 33 | 04/26/2023 |
2.0.0-rc3build321 | 31 | 09/13/2022 |
2.0.0-rc3build320 | 37 | 05/03/2023 |
2.0.0-rc3build319 | 26 | 06/28/2023 |
2.0.0-rc3build318 | 35 | 03/20/2023 |
2.0.0-rc3build317 | 37 | 06/29/2023 |
2.0.0-rc3build316 | 51 | 06/24/2023 |
2.0.0-rc3build315 | 54 | 06/30/2023 |
2.0.0-rc3build314 | 50 | 10/24/2022 |
2.0.0-rc3build313 | 38 | 06/29/2023 |
2.0.0-rc3build312 | 33 | 07/04/2023 |
2.0.0-rc3build311 | 34 | 08/09/2022 |
2.0.0-rc3build310 | 47 | 06/30/2023 |
2.0.0-rc3build309 | 45 | 10/05/2022 |
2.0.0-rc3build308 | 35 | 06/27/2023 |
2.0.0-rc3build307 | 39 | 06/29/2023 |
2.0.0-rc3build306 | 50 | 12/03/2022 |
2.0.0-rc3build304 | 46 | 05/06/2023 |
2.0.0-rc3build303 | 33 | 07/02/2023 |
2.0.0-rc3build302 | 35 | 02/03/2023 |
2.0.0-rc3build301 | 42 | 06/29/2023 |
2.0.0-rc3build300 | 54 | 04/26/2023 |
2.0.0-rc3build299 | 38 | 03/08/2023 |
2.0.0-rc3build298 | 36 | 06/27/2023 |
2.0.0-rc3build297 | 32 | 06/30/2023 |
2.0.0-rc2build297 | 35 | 03/26/2023 |
2.0.0-rc2build295 | 33 | 08/17/2022 |
2.0.0-rc2build294 | 38 | 09/05/2022 |
2.0.0-rc2build293 | 33 | 07/01/2023 |
2.0.0-rc2build292 | 30 | 07/04/2023 |
2.0.0-rc2build291 | 45 | 08/24/2023 |
2.0.0-rc2build289 | 57 | 05/22/2023 |
2.0.0-rc1build371 | 33 | 06/29/2023 |
2.0.0-rc1build366 | 34 | 07/01/2023 |
2.0.0-rc1build288 | 39 | 05/28/2022 |
2.0.0-rc1build287 | 36 | 07/04/2023 |
2.0.0-rc1build286 | 40 | 05/06/2023 |
2.0.0-rc1build285 | 36 | 09/17/2022 |
2.0.0-rc1build284 | 32 | 06/29/2023 |
2.0.0-rc1build283 | 47 | 06/30/2023 |
2.0.0-rc1build282 | 41 | 07/17/2022 |
2.0.0-rc1build281 | 38 | 06/29/2023 |
2.0.0-rc1build280 | 29 | 07/02/2023 |
2.0.0-rc1build279 | 36 | 07/03/2023 |
2.0.0-rc1build278 | 39 | 10/28/2022 |
2.0.0-rc1build277 | 39 | 07/22/2022 |
2.0.0-rc1build276 | 45 | 06/27/2023 |
2.0.0-rc1build275 | 38 | 09/05/2022 |
2.0.0-rc1build274 | 40 | 09/08/2022 |
2.0.0-rc1build273 | 35 | 05/28/2022 |
2.0.0-rc1build272 | 39 | 05/21/2023 |
2.0.0-rc1build271 | 39 | 07/03/2023 |
2.0.0-rc1build270 | 34 | 06/27/2023 |
2.0.0-rc1build269 | 32 | 07/19/2022 |
2.0.0-rc1build268 | 40 | 08/27/2022 |
2.0.0-rc1build267 | 46 | 05/14/2023 |
2.0.0-rc1build266 | 37 | 07/04/2023 |
2.0.0-rc1build265 | 33 | 07/01/2023 |
2.0.0-rc1build264 | 29 | 07/02/2023 |
2.0.0-rc1build263 | 34 | 11/21/2022 |
2.0.0-rc1build262 | 31 | 11/12/2022 |
2.0.0-rc1build261 | 32 | 06/30/2023 |
2.0.0-rc1build260 | 47 | 07/23/2022 |
2.0.0-rc1build259 | 37 | 05/21/2023 |
2.0.0-rc1build258 | 36 | 10/16/2022 |
2.0.0-rc1build255 | 40 | 05/20/2023 |
2.0.0-preview256 | 32 | 07/02/2023 |
2.0.0-preview255 | 41 | 05/03/2022 |
2.0.0-preview254 | 42 | 07/26/2022 |
2.0.0-preview253 | 36 | 07/01/2023 |
2.0.0-preview252 | 36 | 07/02/2023 |
2.0.0-preview251 | 37 | 05/15/2023 |
2.0.0-preview250 | 33 | 06/28/2023 |
2.0.0-preview249 | 36 | 06/24/2023 |
2.0.0-preview248 | 33 | 09/09/2022 |
2.0.0-preview247 | 43 | 05/11/2023 |
2.0.0-preview246 | 48 | 05/14/2023 |
2.0.0-preview245 | 44 | 05/17/2023 |
2.0.0-preview244 | 31 | 07/20/2022 |
2.0.0-preview243 | 47 | 06/29/2023 |
2.0.0-preview242 | 40 | 07/17/2022 |
2.0.0-preview241 | 51 | 07/16/2022 |
2.0.0-preview240 | 27 | 06/29/2023 |
2.0.0-preview239 | 38 | 12/31/2022 |
2.0.0-preview238 | 30 | 06/29/2023 |
2.0.0-preview237 | 29 | 07/02/2023 |
2.0.0-preview236 | 41 | 07/07/2022 |
2.0.0-preview235 | 40 | 10/21/2022 |
2.0.0-preview234 | 34 | 06/27/2023 |
2.0.0-preview233 | 43 | 05/10/2023 |
2.0.0-preview232 | 50 | 09/18/2022 |
2.0.0-preview231 | 36 | 05/19/2023 |
2.0.0-preview230 | 28 | 06/29/2023 |
2.0.0-preview229 | 35 | 05/12/2023 |
2.0.0-preview228 | 41 | 07/02/2023 |
2.0.0-preview227 | 53 | 11/22/2022 |
2.0.0-preview226 | 41 | 09/02/2022 |
2.0.0-preview225 | 40 | 05/24/2023 |
2.0.0-preview224 | 45 | 05/28/2022 |
2.0.0-preview223 | 42 | 05/28/2022 |
2.0.0-preview222 | 56 | 07/02/2023 |
2.0.0-preview221 | 66 | 03/18/2023 |
2.0.0-preview220 | 40 | 08/21/2022 |
2.0.0-preview219 | 40 | 07/06/2022 |
2.0.0-preview218 | 39 | 03/17/2023 |
2.0.0-preview217 | 39 | 07/01/2023 |
2.0.0-preview216 | 42 | 03/03/2023 |
2.0.0-preview215 | 34 | 07/01/2023 |
2.0.0-preview214 | 50 | 05/07/2023 |
2.0.0-preview213 | 38 | 06/26/2023 |
2.0.0-preview212 | 37 | 11/04/2022 |
2.0.0-preview211 | 31 | 07/02/2023 |
2.0.0-preview210 | 53 | 05/24/2023 |
2.0.0-preview209 | 33 | 06/30/2023 |
2.0.0-preview208 | 33 | 06/28/2023 |
2.0.0-preview207 | 56 | 05/12/2023 |
2.0.0-preview206 | 37 | 07/02/2023 |
2.0.0-preview205 | 52 | 10/05/2022 |
2.0.0-preview204 | 30 | 07/01/2023 |
2.0.0-preview203 | 41 | 06/28/2023 |
2.0.0-preview202 | 33 | 06/27/2023 |
2.0.0-preview201 | 45 | 05/11/2023 |
2.0.0-preview200 | 59 | 06/24/2023 |
2.0.0-preview199 | 34 | 07/16/2022 |
2.0.0-preview198 | 40 | 07/01/2023 |
2.0.0-preview197 | 30 | 07/02/2023 |
2.0.0-preview196 | 37 | 07/02/2023 |
2.0.0-preview195 | 30 | 08/23/2022 |
2.0.0-preview194 | 38 | 06/30/2023 |
2.0.0-preview193 | 44 | 06/28/2023 |
2.0.0-preview192 | 41 | 09/23/2022 |
2.0.0-preview191 | 35 | 06/30/2023 |
2.0.0-preview190 | 46 | 07/02/2023 |
2.0.0-preview189 | 37 | 05/19/2023 |
2.0.0-preview188 | 38 | 06/30/2023 |
2.0.0-preview187 | 45 | 05/16/2023 |
2.0.0-preview186 | 37 | 06/28/2023 |
2.0.0-preview185 | 39 | 07/04/2023 |
2.0.0-preview184 | 52 | 05/27/2022 |
2.0.0-preview183 | 63 | 06/30/2023 |
2.0.0-preview182 | 55 | 12/04/2022 |
2.0.0-preview181 | 41 | 09/16/2022 |
2.0.0-preview180 | 37 | 09/16/2022 |
2.0.0-preview179 | 32 | 03/17/2023 |
2.0.0-preview178 | 43 | 06/30/2023 |
2.0.0-preview177 | 32 | 06/30/2023 |
2.0.0-preview176 | 51 | 07/16/2022 |
2.0.0-preview175 | 45 | 07/02/2023 |
2.0.0-preview174 | 35 | 07/02/2023 |
2.0.0-preview173 | 43 | 08/13/2022 |
2.0.0-preview172 | 31 | 07/02/2023 |
2.0.0-preview171 | 28 | 07/02/2023 |
2.0.0-preview170 | 41 | 12/07/2022 |
2.0.0-preview169 | 40 | 06/29/2023 |
2.0.0-preview168 | 37 | 06/27/2023 |
2.0.0-preview167 | 43 | 05/03/2022 |
2.0.0-preview166 | 44 | 06/28/2023 |
2.0.0-preview165 | 43 | 06/29/2023 |
2.0.0-preview164 | 38 | 03/20/2023 |
2.0.0-preview163 | 35 | 05/28/2022 |
2.0.0-preview162 | 44 | 03/27/2023 |
2.0.0-preview161 | 34 | 03/01/2023 |
2.0.0-preview160 | 47 | 06/30/2023 |
2.0.0-preview159 | 36 | 07/02/2023 |
2.0.0-preview158 | 31 | 07/26/2022 |
2.0.0-preview157 | 37 | 06/30/2023 |
2.0.0-preview156 | 49 | 11/28/2022 |
2.0.0-preview155 | 30 | 07/06/2023 |
2.0.0-preview154 | 55 | 07/02/2023 |
2.0.0-preview153 | 37 | 07/02/2023 |
2.0.0-preview152 | 45 | 05/09/2023 |
2.0.0-preview151 | 54 | 06/30/2023 |
2.0.0-preview150 | 61 | 09/23/2022 |
2.0.0-preview148 | 48 | 05/28/2022 |
2.0.0-preview147 | 42 | 07/02/2023 |
2.0.0-preview146 | 58 | 07/04/2023 |
2.0.0-preview145 | 44 | 07/02/2023 |
2.0.0-preview144 | 40 | 07/16/2022 |
2.0.0-preview143 | 41 | 06/27/2023 |
2.0.0-preview142 | 38 | 06/28/2023 |
2.0.0-preview141 | 40 | 10/27/2022 |
2.0.0-preview140 | 39 | 05/09/2023 |
2.0.0-preview139 | 36 | 06/28/2023 |
2.0.0-preview138 | 35 | 05/04/2023 |
2.0.0-preview137 | 40 | 06/30/2023 |
2.0.0-preview136 | 52 | 08/24/2023 |
2.0.0-preview135 | 35 | 04/26/2023 |
2.0.0-preview133 | 36 | 06/27/2023 |
2.0.0-preview132 | 44 | 04/26/2023 |
2.0.0-preview131 | 39 | 03/27/2023 |
2.0.0-preview130 | 47 | 11/05/2022 |
2.0.0-preview129 | 36 | 06/29/2023 |
2.0.0-preview128 | 62 | 06/30/2023 |
2.0.0-preview127 | 31 | 05/17/2022 |
2.0.0-preview126 | 58 | 03/30/2023 |
2.0.0-preview125 | 38 | 06/24/2023 |
2.0.0-preview124 | 51 | 07/03/2023 |
2.0.0-preview123 | 42 | 05/27/2022 |
2.0.0-preview119 | 41 | 04/01/2023 |
2.0.0-preview118 | 47 | 05/04/2023 |
2.0.0-preview116 | 40 | 05/07/2023 |
2.0.0-preview115 | 53 | 06/29/2023 |
2.0.0-preview114 | 49 | 05/24/2023 |
2.0.0-preview113 | 50 | 07/12/2022 |
2.0.0-preview112 | 36 | 07/03/2023 |
2.0.0-preview110 | 41 | 04/02/2023 |
2.0.0-preview109 | 60 | 05/12/2023 |
2.0.0-preview108 | 42 | 05/23/2023 |
2.0.0-preview107 | 48 | 07/02/2023 |
2.0.0-preview105 | 33 | 07/02/2023 |
2.0.0-preview104 | 58 | 06/27/2023 |
2.0.0-preview103 | 44 | 05/20/2023 |
2.0.0-preview102 | 42 | 05/04/2022 |
2.0.0-preview101 | 35 | 11/04/2022 |
2.0.0-beta258 | 34 | 05/16/2023 |
2.0.0-beta254 | 41 | 06/29/2023 |
1.4.1 | 35 | 06/27/2023 |
1.4.0 | 39 | 05/08/2023 |
1.3.1 | 34 | 06/27/2023 |
1.3.0 | 34 | 09/10/2022 |
1.2.2 | 33 | 07/13/2022 |
1.2.1 | 28 | 06/28/2023 |
1.2.0 | 48 | 09/03/2022 |
1.1.1 | 42 | 08/28/2022 |
1.1.0 | 35 | 08/16/2022 |
1.0.11 | 36 | 07/02/2023 |