Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.4.15 Release #4732

Merged
merged 17 commits into from
Jan 20, 2021
Merged

v1.4.15 Release #4732

merged 17 commits into from
Jan 20, 2021

Conversation

Aaronontheweb
Copy link
Member

1.4.15 January 19 2021

Maintenance Release for Akka.NET 1.4

Akka.NET v1.4.15 introduces a new module, Akka.DependencyInjection, which will replace Akka.DI.Core and all of the libraries which depend on it. This seemed like the easiest way to preserve backwards compatibility - simple deprecate the old package and replace it with a new one.

So what does Akka.DependencyInjection do differently than Akka.DI.Core?

  1. Allows users to pass in an IServiceProvider into the ActorSystem before the latter is created, via a new kind of programmatic configuration Setup that was introduced in Akka.NET v1.4. This ensures that the IServiceProvider is immutable within an ActorSystem, a problem that we have currently with Akka.DI.Core.
  2. Makes it easy to access the IServiceProvider via the Akka.DependencyInjection.ServiceProvider.For(ActorSystem) method, which is what we can use to get access to the service provider in order to consume required services inside our actors.
  3. Makes it possible to dependency inject some parameters will dynamically specifying some others, something that users have been asking for since 2015.

To see a full example of how to use Akka.DependencyInjection in concert with Microsoft.Extensions.DependencyInjection, please see https://getakka.net/articles/actors/dependency-injection.html

Other changes:

To see the full set of fixes in Akka.NET v1.4.15, please see the milestone on Github.

COMMITS LOC+ LOC- AUTHOR
8 5351 4004 Aaron Stannard
3 5 5 dependabot-preview[bot]
2 369 170 Ebere Abanonu
1 7 0 Gregorius Soedharmo

Aaronontheweb and others added 17 commits December 30, 2020 12:05
* Add .NET 5 support to build system

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
* FSharp Quotations Evaluator to 2.1.0

* ConstantExpression

* tweak constant expression

* use built-in expression traversal

* add support for evaluating non-constant constructor parameters in quoted expressions

Co-authored-by: Chet Husk <chusk3@gmail.com>
Co-authored-by: Aaron Stannard <aaron@petabridge.com>
* remove .NET install scripts from build.sh

* force full build
* upgraded test framework to .NET 4.7.2

* fixed .NET 4.6.1 references in other areas of build system
#4714)

* Add WithConfigFallback quality of life helper method to BootstrapSetup
…upport (#4708)

* added new Akka.DependencyInjection project

* added first very simple proof of concept for DI management

* added some initial specs

* added specs to validate actor restarts / recreates

* added ability to mix scopes inside actor

* switched DI implementation to use ActivatorUtilities

* Revert "switched DI implementation to use ActivatorUtilities"

This reverts commit 02a155f.

* fixed up Props to use ActivatorUtilities

* added test to demonstate mix of DI / non-DI'd actor constructor arguments

* added API approval
resolves minor race condition in unit test where Terminated message can be delivered before UserGuardian has updated its ChildContainer collection.
* completed Akka.DependencyInjection documentation

* finalized DI documentation
@Aaronontheweb Aaronontheweb merged commit 7c9b58f into master Jan 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants