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

Akka.NET v1.5.0-beta1 Release notes #6416

Merged
merged 3 commits into from Feb 20, 2023

Conversation

Aaronontheweb
Copy link
Member

1.5.0-beta1 February 20th 2023

Version 1.5.0-beta1 contains breaking API changes and new API changes for Akka.NET.

Breaking Changes: Logging

In #6408 the entire ILoggingAdapter interface was rewritten in order to improve extensibility and performance (logging is now 30-40% faster in all cases and allocates ~50% fewer objects for large format strings).

All of the changes made here are source compatible, but not binary compatible - meaning that users and package authors will need to do the following:

  • Add using Akka.Event in all files that used the ILoggingAdapter and
  • Recompile.

NOTE: you can use a global using Akka.Event directive to do this solution / project-wide if your project supports C# 10 and / or .NET 6.

In addition to improving the performance of the ILoggingAdapter system, we've also made it more extensible - for instance, you can now globally configure the ILogMessageFormatter via the following HOCON:

akka { 
    loglevel=INFO,
    loggers=["Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"]
    logger-formatter="Akka.Logger.Serilog.SerilogLogMessageFormatter, Akka.Logger.Serilog"
}

That will allow users to use the SerilogLogMessageFormatter globally throughout their applications - no more annoying calls like this inside individual actors that want to use semantic logging:

private readonly ILoggingAdapter _logger = Context.GetLogger<SerilogLoggingAdapter>();

Breaking Changes: Akka.Persistence.Sql.Common

This is a breaking change that should effect almost no users, but we deleted some old, bad ideas from the API surface and it might require all Akka.Persistence.Sql* plugins to be recompiled.

For what it's worth, Akka.Persistence.Sql.Common's performance has been improved significantly and we'll continue working on that with some additional API changes this week.

Other Changes and Additions

If you want to see the full set of changes made in Akka.NET v1.5.0 so far, click here.

COMMITS LOC+ LOC- AUTHOR
12 15 15 dependabot[bot]
11 1930 1278 Aaron Stannard
2 143 73 Sergey Popov
1 26 4 Thomas Stegemann
1 1 1 Michel van Os

@Aaronontheweb Aaronontheweb added the meta Meta-issues about the OSS project and its management. label Feb 20, 2023
@Aaronontheweb Aaronontheweb merged commit c0b81d9 into akkadotnet:dev Feb 20, 2023
@Aaronontheweb Aaronontheweb deleted the releasenotes/1.5.0-beta1 branch February 20, 2023 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Meta-issues about the OSS project and its management.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant