Skip to content

Akka.NET v1.5.0-beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Aaronontheweb Aaronontheweb released this 20 Feb 20:17
c0b81d9

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

Changes:

  • c0b81d9 Akka.NET v1.5.0-beta1 Release notes (#6416)
  • e8e3569 Customizable ILogMessageFormatter across entire ActorSystem (#6413)
  • bf3b5e2 Bump Verify.Xunit from 19.9.3 to 19.10.0 (#6415)
  • 797894c Delete unnecessary / bad Sql.Common.Journal subscriptions (#6412)
  • 8fb39e5 v1.5 logging (version 2) (#6408)
  • c9ccc25 Bump Microsoft.Extensions.Hosting.WindowsServices from 6.0.1 to 7.0.0 (#6240)
  • 1065929 Bump Microsoft.Data.SQLite from 7.0.2 to 7.0.3 (#6400)
  • 8423c80 Bump Microsoft.Extensions.ObjectPool from 7.0.2 to 7.0.3 (#6401)
  • b138778 Bump Microsoft.Extensions.Hosting from 6.0.1 to 7.0.1 (#6403)
  • 0b8f611 added EventStreamBenchmark (#6405)
See More

This list of changes was auto generated.