chore(deps): Bump the nuget-agent group with 11 updates #3197
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updated Autofac from 4.5.0 to 8.3.0.
Release notes
Sourced from Autofac's releases.
8.3.0
What's Changed
IIndex<K,V>.TryGetValue()
since it may return null on failure.Full Changelog: autofac/Autofac@v8.2.1...v8.3.0
8.2.1
Fix #1450:
AutoActivate()
no longer hides the default service registration. (Thanks, @nblumhardt!)8.2.0
What's Changed
AssemblyLoadContext
disposal (#1438 - thanks @hemirunner426!)RegisterServiceMiddleware
to assist with interceptors/decorators (#1439 - thanks @idiotsky!)Full Changelog: autofac/Autofac@v8.1.1...v8.2.0
8.1.1
What's Changed
ResolveRequest.operator==()
(#1430, thanks @SergeiPavlov!)WithProperty
registration methods consistently allow null values (#1428)Full Changelog: autofac/Autofac@v8.1.0...v8.1.1
8.1.0
What's Changed
required
member caching (#1415 - thanks @SergeiPavlov!)required
infrastructure attributes by (#1421 - thanks @DoctorVanGogh!)Full Changelog: autofac/Autofac@v8.0.0...v8.1.0
8.0.0
Breaking Changes
netcoreapp3.1
support/testing (#1401).ResolveRequest
into areadonly struct
(#1397 - thanks @SergeiPavlov!).Additional Changes
net8.0
target (#1401).Full Changelog: autofac/Autofac@v7.1.0...v8.0.0
7.1.0
What's Changed
RegsiterTypes
filtering. This was an accidental behavior regression where theRegisterTypes
method wouldn't filter out non-registerable types.RegisterType<T>
andRegisterType(Type t)
will now throw when non-registerable types are provided, for examplecontainerBuilder.RegisterType<IInterface>()
(you can't register interfaces - you can register thingsAs<IInterface>
). This used to throw at container build time; now it throws atRegisterType
time and it has a more precise error message so you can handle these issues more proactively.Full Changelog: autofac/Autofac@v7.0.1...v7.1.0
7.0.1
What's Changed
LifetimeScope.CreateSharedInstance
(thanks @botinko)Autofac.Features.OpenGenerics.OpenGenericServiceBinder.TryBindOpenGenericTypedService
(thanks @SergeiPavlov)Full Changelog: autofac/Autofac@v7.0.0...v7.0.1
7.0.0
Version 7.0.0 is a major increment due to some changes in the target frameworks and some behavioral changes. We summarize these in the documentation, but included here as well:
New Features
required
will now be injected by default. As part of this, the default property injector usingPropertiesAutowired()
will not inject properties markedrequired
. The documentation has more explanation with examples.AssemblyLoadContext
by lifetime scope. A new method,BeginLoadContextLifetimeScope
, has been added that allows you to create a lifetime scope tied to a specificAssemblyLoadContext
. When the scope is disposed, Autofac will perform a best-effort release of all references to types from that context so the assemblies can be unloaded. The documentation explains this in greater detail.Issues and PRs
Full Changelog: autofac/Autofac@v6.5.0...v7.0.0
Breaking Changes
net50
no longer targeted. Autofac will still work with .NET 5 via thenetstandard2.1
target, but we recommend you upgrade to a later, supported version of .NET.required
will now be injected by default. As noted above,required
properties will be injected. This is a behavioral change from Autofac 6.0.required
properties. UsingPropertiesAutowired()
will ignorerequired
properties because it's assumed they must be set during construction rather than post-object-creation.RegisterGeneratedFactory
is obsolete. This feature has been replaced by theFunc<X, Y, B>
built-in relationship and delegate factories.ILifetimeScope
has a newBeginLoadContextLifetimeScope
method. If you have mocks ofILifetimeScope
this method must now be implemented.6.5.0
Autofac.Core.ReflectionCacheSet
(#1341). This is part of an effort to support unloadingAssemblyLoadContexts
associated with child scopes and enable better plugin support (#1324).IDecoratorContext
now extendsIComponentContext
so decorator decisions can be made based on the constructed container (#1338, #1352).Full Changelog: autofac/Autofac@v6.4.0...v6.5.0
6.4.0
WithMetadata
and generate metadata (#1299 - thanks @romerod!)IConstructorSelector
invocation is skipped (#1325)The new feature to be aware of here is the generic delegates for making lambda registrations easier (#1320, #1321). It makes resolving dependencies in lambdas more straightforward.
The old way meant injecting an
IComponentContext
and resolving the dependencies manually.That old way still works and is not deprecated. You can keep doing that.
However, you can now skip the manual resolutions and just provide the dependencies as the parameters to the lambda:
If you need both the context and dependencies for advanced cases, you can do that, too.
6.3.0
OnlyIf
clause. (#1235, #1272)value
to inject by name as that's a reserved word in property setter methods. (#1275)IAsyncDisposable
instances that have not been activated are correctly disposed when the scope is disposed. (#1285)TryResolveNamed
andTryResolveKeyed
. (#1263, #1287 - thanks @v0idzz!)6.2.0
Resolved issues / PRs:
RegisterAssemblyOpenGenericTypes
to do assembly scanning and register open generics! (#1232 / #1246)ConfigurePipeline
toIComponentRegistration
to allow easier registration pipeline modification (related to #1211)ConcurrentBag
on different platforms resulted in a memory leak inOnActivated
usage; we now flush theConcurrentBag
of registrations on disposal of a lifetime scope (#1257)6.1.0
ref
parameters.6.0.0
Version 6.0.0 represents a major update in the Autofac internals. While every effort has been made to ensure code using version 5.x will continue to work exactly as you expect, you should be aware of the breaking changes and test things out. For the majority case, things should just continue to work; breaking changes are primarily in more rare advanced usage scenarios.
Check out the release blog post! Also, the documentation has been updated and is ready!
New Features
There are a lot of new features, but the big ones are here. Other features and fixes will be outlined in the Issues section, below.
DiagnosticSource
diagnostics. The core Autofac package ships with a default text-based diagnostic tracer and the newAutofac.Diagnostics.DotGraph
package adds graphic tracing using DOT and Graphviz.Issues and PRs
The following issues have been addressed in v6:
Lazy<T>
should now work.Autofac.Diagnostics.DotGraph
package.ILifetimeScope.LifetimeScopeEnding
event is raised and completes before the scope is disposed.ContainerBuilder
is nowsealed
.DiagnosticSource
.Autofac.Pooling
package.Breaking Changes
We'll do our best to keep an upgrade guide with breaking changes available and up to date. We're pretty sure we caught them all, but if you find a gotcha, let us know on the Documentation repo.
A summary of the breaking changes is as follows:
net461
is no longer targeted; Autofac now targetsnetstandard2.0
andnetstandard2.1
.log4net
module example is shown in the documentation, this now needs to happen through middleware. Thelog4net
module example has been updated to show you the new way it works.RegistrationBuilder.RegistrationData
no longer exposes activation handlers. TheCoreEventMiddleware
is the source of events now.IComponentRegistration
no longer exposes activation events. TheCoreEventMiddleware
is the source of events now.IConstructorSelector
implementations need to switch to useBoundConstructor
instead ofConstructorParameterBinding
.IRegistrationSource
implementations need to update theRegistrationsFor
method signature.IInstanceActivator
implementations no longer have anActivateInstance
method and instead have aConfigurePipeline
method.IComponentRegistry
no longer supplies aDecoratorsFor
method to check decorators. UseIComponentRegistry.ServiceMiddlewareFor
instead.ResolveRequest
constructor now takes aServiceRegistration
instead of anIComponentRegistration
.... (truncated)
5.2.0
Fixes:
OnActivating()
andOnActivated()
should now act more consistently with decorators than it previously did.IEnumerable<T>
resolutions.Thanks to @VonOgre for a ton of great work on this one.
5.1.4
#1111 / #1102 - Minor update to handling of provided instances with
OnRelease
.5.1.3
Issues resolved:
InstancePerOwned
now works correctly with keyed registrations.OnRelease
called when the container is disposed regardless of whether the instances themselves were resolved from the container.new()
generic type constraint should now be correctly handled in open generic registrations.5.1.2
5.1.1
Replaced missing constructor on
ResolveRequest
to fix accidental break in 5.1.0.5.1.0
5.0.0
This is the first major-version release we've had in about three years (Autofac 4.0 was released in August 2016). There are some breaking changes and new features you should know about as you decide your upgrade strategy.
Breaking Changes
Framework Version Targeting Changes
Starting with Autofac 5.0 there is no longer support for .NET 4.5.x. .NET 4.5.2, the last release in that line, follows the same support lifecycle as Windows Server 2012 R2 which ended mainstream support in September 2018.
Autofac 5.0 now targets:
netstandard2.0
netstandard2.1
net461
Containers are Immutable
The container registry can no longer be updated after it has been built.
The
ContainerBuilder.Update
method was marked obsolete in November 2016 and there has been a robust discussion to answer questions about how to get the container contents to adjust as needed at runtime.ContainerBuilder.Update
has now been removed entirely.If you need to change registration behavior at runtime, there are several options available to you including the use of lambdas or child lifetime scopes. See this discussion issue for examples and ideas. We will work to add some documentation based on this issue.
[PR #948 - thanks @weelink!]
Lifetime Scope Disposal Hierarchy Enforced
Resolving a service from a lifetime scope will now check all parent scopes to make sure none of them have been disposed.
If you dispose a lifetime scope, all children of that lifetime scope will stop resolving objects. In cases like this you'll start getting
ObjectDisposedException
instead.If you have a custom application integration that involves creating/destroying lifetime scopes (e.g., custom per-request support) this may cause issues where proper disposal ordering is not occurring.
[Fixes #1020; PR #1061 - thanks @alistairjevans!]
Prevent Auto-Injecting onto Static Properties
Autofac will no longer do property injection on static properties when auto-wiring of properties is enabled.
If your application behavior depends on static property injection you will need to do some additional work like adding a build callback to populate the property.
[Fixes #1013; PR #1021 - thanks @alistairjevans!]
Features and Fixes
Asynchronous Disposal Support
Autofac lifetime scopes now implement the
IAsyncDisposable
interface so they can be disposed asynchyronously.... (truncated)
4.9.4
4.9.3
ComponentNotRegisteredException
RegisterAssemblyTypes
by putting slow custom attribute check last4.9.2
4.9.1
ExternalRegistrySource
reusesExternalComponentRegistration
instances causingObjectDisposedException
ServiceRegistrationInfo.IsInitialized
volatile to prevent theComponentRegistry
taking an avoidable lock due to reordering4.9.0
ComponentRegistry
to improve concurrency of service resolution (extracted from PR #953)CollectionRegistrationSource
Owned<T>
DependencyResolutionException
serializableObjectDisposedException
on activation if activator is disposed4.9.0-beta1
4.8.1
IStartable
that creates child lifetime scope duringStart()
no longer tries to activate itself.4.8.0
Reverted behavior from #897 change to re-include internal and nested private classes for backwards compatibility. Added a new
PublicOnly()
filter method to enable opt-in to data encapsulation when scanning for assembly types.4.7.1
Issues addressed in this release:
AutoActivate
andIStartable
now correctly get run if added to child lifetime scope registrations.AsSelf()
andAsImplementedInterfaces()
incorrectly ignored custom constructor finders (FindConstructorsWith()
).4.7.0
Issues addressed in this release:
IStartable
andAutoActivate()
will be started in dependency order.RegisterType<T>()
a type that doesn't have a public constructor.Resolve()
operation for a decorated object will pass by the decorators and only be provided to the object being decorated.Resolve()
operation will be provided to the constructor selector so they can be used to influence which constructor gets used (IConstructorSelector.SelectConstructorBinding()
). This is a minor breaking change for theIConstructorSelector
interface but very few people have implemented custom constructor selectors so a major version increment wasn't used.4.6.2
4.6.1
4.6.0
Commits viewable in compare view.
Updated Grpc.Net.Client from 2.63.0 to 2.71.0.
Release notes
Sourced from Grpc.Net.Client's releases.
2.71.0
What's Changed
Full Changelog: grpc/grpc-dotnet@v2.70.0...v2.71.0
2.71.0-pre1
What's Changed
Full Changelog: grpc/grpc-dotnet@v2.70.0...v2.71.0-pre1
2.70.0
What's Changed
await using
forpackageVersionStream
to ensure proper disposal of async resources by @dexcompiler in Refactor: Useawait using
forpackageVersionStream
to ensure proper disposal of async resources grpc/grpc-dotnet#2521New Contributors
await using
forpackageVersionStream
to ensure proper disposal of async resources grpc/grpc-dotnet#2521Full Changelog: grpc/grpc-dotnet@v2.67.0...v2.70.0
2.67.0
What's Changed
New Contributors
Full Changelog: grpc/grpc-dotnet@v2.66.0...v2.67.0
2.67.0-pre1
What's Changed
New Contributors
Full Changelog: grpc/grpc-dotnet@v2.66.0...v2.67.0-pre1
2.66.0
What's Changed
Full Changelog: grpc/grpc-dotnet@v2.65.0...v2.66.0
2.66.0-pre1
What's Changed
Full Changelog: grpc/grpc-dotnet@v2.65.0...v2.66.0-pre1
2.65.0
What's Changed
New Contributors
Full Changelog: grpc/grpc-dotnet@v2.64.0...v2.65.0
2.65.0-pre1
What's Changed
New Contributors
Full Changelog: grpc/grpc-dotnet@v2.64.0...v2.65.0-pre1
2.64.0
What's Changed
Full Changelog: grpc/grpc-dotnet@v2.63.0...v2.64.0
2.64.0-pre1
What's Changed
Full Changelog: grpc/grpc-dotnet@v2.63.0...v2.64.0-pre1
Commits viewable in compare view.
Updated Microsoft.Extensions.Configuration from 2.0.0 to 9.0.7.
Release notes
Sourced from Microsoft.Extensions.Configuration's releases.
9.0.7
Release
What's Changed
sort_mark_list
by @github-actions in [release/9.0-staging] throw an exception instead of infinite loop insort_mark_list
dotnet/runtime#115529Full Changelog: dotnet/runtime@v9.0.6...v9.0.7
9.0.6
Bug Fixes
Read messages from binlog if process output is missing build finished message (#114676)
Improves reliability of the WebAssembly build process by reading messages from the binlog when the process output does not contain the expected build finished message, preventing build failures in certain scenarios.
Fix debugger app hangs related to thread exit (#114917)
Resolves an issue where applications could hang during debugging when threads exit, ensuring smoother debugging experiences and preventing deadlocks.
[Mono] Workaround MSVC miscompiling sgen_clz (#114903)
Addresses a compiler miscompilation issue in MSVC affecting the Mono garbage collector, improving runtime stability and correctness on affected platforms.
Do not set the salt or info if they are NULL for OpenSSL HKDF (#114877)
Fixes a cryptographic issue by ensuring that the salt or info parameters are not set when they are NULL in OpenSSL HKDF, preventing potential errors or unexpected behavior in key derivation.
[Test Only] Fix Idn tests (#115032)
Corrects issues in Internationalized Domain Name (Idn) tests, ensuring accurate and reliable test results for domain name handling.
JIT: revised fix for fp division issue in profile synthesis (#115026)
Provides a more robust fix for floating-point division issues in JIT profile synthesis, improving numerical accuracy and preventing incorrect calculations.
Handle OSSL 3.4 change to SAN:othername formatting (#115361)
Updates certificate handling to accommodate changes in Subject Alternative Name (SAN) formatting introduced in OpenSSL 3.4, ensuring compatibility and correct parsing of certificates.
[Mono] Fix c11 ARM64 atomics to issue full memory barrier (#115635)
Fixes atomic operations on ARM64 in Mono to issue a full memory barrier, ensuring correct synchronization and preventing subtle concurrency bugs.
Performance Improvements
[WinHTTP] Certificate caching on WinHttpHandler to eliminate extra call to Custom Certificate Validation (#114678)
Improves HTTP performance by caching certificates in WinHttpHandler, reducing redundant calls to custom certificate validation and speeding up secure connections.
Improve distribute_free_regions (#115167)
Optimizes memory management by enhancing the algorithm for distributing free memory regions, leading to better memory utilization and potentially improved application performance.
Technical Improvements
Strip trailing slash from source dir for cmake4 (#114905)
Refines build scripts by removing trailing slashes from source directories when using CMake 4, preventing potential build path issues and improving build reliability.
Don't expose TrustedCertificatesDirectory() and StartNewTlsSessionContext() to NetFx (#114995)
Restricts certain internal APIs from being exposed to .NET Framework, reducing surface area and preventing unintended usage.
Add support for more libicu versions (#115376)
Expands compatibility by supporting additional versions of the International Components for Unicode (ICU) library, enhancing globalization features across more environments.
Infrastructure
Optimizes CI/CD resources by limiting the outerloop pipeline to run only on release branches, reducing unnecessary test runs and speeding up development workflows.
... (truncated)
9.0.5
Release
What's Changed
osx.14.arm64.open
andosx.15.amd64.open
queues by @github-actions in [release/9.0-staging] [infra][apple-mobile] Migrate MacCatalyst and iOS/tvOS simulator jobs toosx.14.arm64.open
andosx.15.amd64.open
queues dotnet/runtime#114617... (truncated)
9.0.4
Release
What's Changed
BigInteger.Rotate{Left,Right}
for backport by @github-actions in [release/9.0] FixBigInteger.Rotate{Left,Right}
for backport dotnet/runtime#112991Full Changelog: https://github.com/dotnet/runtime/compare/v9.0.3....
Description has been truncated