Skip to content

Releases: akkadotnet/akka.net

Akka.NET v1.5.0-beta2

23 Feb 01:38
30e762c
Compare
Choose a tag to compare
Akka.NET v1.5.0-beta2 Pre-release
Pre-release

1.5.0-beta2 February 20th 2023

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

COMMITS LOC+ LOC- AUTHOR
8 260 942 Aaron Stannard
5 169 60 Gregorius Soedharmo

Changes:

  • 30e762c added v1.5.0-beta2 release notes (#6434)
  • bd793f0 Bump Google.Protobuf from 3.21.12 to 3.22.0 (#6410)
  • 32b832b Akka.Persistence: improve AsyncWriteJournal and PersistentActor performance (#6432)
  • e58b041 Remove unsafe implicit conversion operators in AtomicBoolean and AtomicReference<T> (#6429)
  • ac3c06a Standardize on C# 11.0 (#6431) [ #11 ]
  • ee2513c close #5506 - deleted PersistenceBenchmark (#6428)
  • 22255e3 Fix racy Akka.Streams.IO.Tcp spec (#6430)
  • 0e0bd83 move DateTime / TimeSpan extension APIs out of Akka.Util and into Akka.Cluster.Metrics (#6427)
  • e5d8c30 Harden Option<T> by disallowing null value (#6426)
  • 9779a37 delete Akka.Util.,Resolver (#6425)
See More
Read more

Akka.NET v1.5.0-beta1

20 Feb 20:17
c0b81d9
Compare
Choose a tag to compare
Akka.NET v1.5.0-beta1 Pre-release
Pre-release

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
Read more

Akka.NET v1.5.0-alpha4

01 Feb 15:37
918688f
Compare
Choose a tag to compare
Pre-release

1.5.0-alpha4 February 1st 2023

Version 1.5.0-alpha3 contains several bug fixes and new features to Akka.NET

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
27 30 30 dependabot[bot]
11 2212 165 Gregorius Soedharmo
4 741 208 Ismael Hamed
4 680 112 Aaron Stannard
3 87 178 Sergey Popov
1 843 0 Drew
1 2 2 Popov Sergey

Changes:

  • 918688f Update RELEASE_NOTES.md for 1.5.0-alpha4 release (#6379)
  • 8dfa8f8 [PORT #6366] set default PoolRouter SupervisorStrategy to Restart (#6370) [ #6295 ]
  • d3b89da Fix PersistenceIdsPublisher hung on failure messages (#6374)
  • a447760 Type of LogEvent of UnhandledMessage was changed to INFO in Akka.TestKit (#6354). (#6360)
  • d43a8d0 Persistence-views docs has been removed (#6291). (#6363)
  • fb4fe01 Fixes FailChunkExecution does not handle DbExceptions wrapped in an AggregateException (#6361)
  • a7f4d3f Bump Verify.Xunit from 19.7.0 to 19.7.1 (#6357)
  • 303ad3c Add API for UntypedActorWithStash types (#6327)
  • 1aff6c7 Bump Verify.Xunit from 19.6.0 to 19.7.0 (#6356)
  • 7b1090d Added support for UnrestrictedStash (#6325)
See More
Read more

Akka.NET v1.4.49

27 Jan 00:05
8a2afc2
Compare
Choose a tag to compare

1.4.49 January 26th 2023

Akka.NET v1.4.49 includes some new core Akka.NET APIs and bug fixes to fundamental Akka.Actor behavior.

You can see the full set of tracked issues for Akka.NET v1.4.49 here.

COMMITS LOC+ LOC- AUTHOR
2 711 186 Ismael Hamed
2 41 182 Aaron Stannard

Changes:

This list of changes was auto generated.

Akka.NET v1.4.49-beta1

11 Jan 06:54
e5a916c
Compare
Choose a tag to compare
Pre-release

1.4.49-beta1 January 11th 2023

Akka.NET v1.4.49-beta is a minor release that introduces compression to the JSON serializer, which can be enabled via the following configuration:

akka.actor.serialization-settings.json.use-compression = true

Please note that this changes the wire format for Newtonsoft.Json - so enabling this setting may cause downtime during your initial deployment over Akka.Remote. This setting might also cause previously persisted Akka.Persistence data to become unreadable if it was serialized using Newtonsoft.Json.

COMMITS LOC+ LOC- AUTHOR
1 157 28 Gregorius Soedharmo

Changes:

  • e5a916c Update RELEASE_NOTES.md for 1.4.49-beta1 release (#6344)
  • d7daf56 Add compression option for NewtonSoftJsonSerializer (#6341)

This list of changes was auto generated.

Akka.NET v1.4.48

05 Jan 14:09
062c80c
Compare
Choose a tag to compare

1.4.48 January 5th 2023

Akka.NET v1.4.48 is a minor release that introduces some additional APIs to Akka.NET.

You can see the full set of tracked issues for Akka.NET v1.4.48 here.

COMMITS LOC+ LOC- AUTHOR
3 846 29 Aaron Stannard

Changes:

This list of changes was auto generated.

Akka.NET v1.4.47

09 Dec 15:57
791bd10
Compare
Choose a tag to compare

1.4.47 December 9th 2022

Akka.NET v1.4.47 is a maintenance patch for Akka.NET v1.4.46 that includes a variety of bug fixes, performance improvements, and new features.

Actor Telemetry

Starting in Akka.NET v1.4.47 local and remotely deployed actors will now emit events when being started, stopped, and restarted:

public interface IActorTelemetryEvent : INoSerializationVerificationNeeded, INotInfluenceReceiveTimeout
{
    /// <summary>
    /// The actor who emitted this event.
    /// </summary>
    IActorRef Subject {get;}
    
    /// <summary>
    /// The implementation type for this actor.
    /// </summary>
    Type ActorType { get; }
}

/// <summary>
/// Event emitted when actor starts.
/// </summary>
public sealed class ActorStarted : IActorTelemetryEvent
{
    public IActorRef Subject { get; }
    public Type ActorType { get; }
}

/// <summary>
/// Event emitted when actor shuts down.
/// </summary>
public sealed class ActorStopped : IActorTelemetryEvent
{
    public IActorRef Subject { get; }
    public Type ActorType { get; }
}

/// <summary>
/// Emitted when an actor restarts.
/// </summary>
public sealed class ActorRestarted : IActorTelemetryEvent
{
    public IActorRef Subject { get; }
    public Type ActorType { get; }
    
    public Exception Reason { get; }
}

These events will be consumed from popular Akka.NET observability and management tools such as Phobos and Petabridge.Cmd to help provide users with more accurate insights into actor workloads over time, but you can also consume these events yourself by subscribing to them via the EventStream:

// subscribe to all actor telemetry events
Context.System.EventStream.Subscribe(Self, typeof(IActorTelemetryEvent));

By default actor telemetry is disabled - to enable it you'll need to turn it on via the following HOCON setting:

akka.actor.telemetry.enabled = on

The performance impact of enabling telemetry is negligible, as you can see via our benchmarks.

Fixes and Updates

You can see the full set of tracked issues for Akka.NET v1.4.47 here.

COMMITS LOC+ LOC- AUTHOR
10 2027 188 Aaron Stannard
1 157 10 Gregorius Soedharmo

Changes:

See More
  • d914eb3 converted build system to .NET 7.0 (#6263)
  • 7068ba9 cleaned up duplicate System.Collections.Immutable package reference (#6264)

This list of changes was auto generated.

Akka.NET v1.5.0-alpha3

15 Nov 20:03
d6564d5
Compare
Choose a tag to compare
Pre-release

1.5.0-alpha3 November 15th 2022

Akka.NET v1.5.0-alpha3 is a security patch for Akka.NET v1.5.0-alpha2 but also includes some other fixes.

Security Advisory: Akka.NET v1.5.0-alpha2 and earlier depend on an old System.Configuration.ConfigurationManager version 4.7.0 which transitively depends on System.Common.Drawing v4.7.0. The System.Common.Drawing v4.7.0 is affected by a remote code execution vulnerability GHSA-ghhp-997w-qr28.

We have separately created a security advisory for Akka.NET Versions < 1.4.46 and < 1.5.0-alpha3 to track this issue.

Fixes and Updates

You can see the full set of tracked issues for Akka.NET v1.5.0 here.

Changes:

See More
Read more

Akka.NET v1.4.46

15 Nov 19:01
44d3808
Compare
Choose a tag to compare

1.4.46 November 15th 2022

Akka.NET v1.4.46 is a security patch for Akka.NET v1.4.45 but also includes some other fixes.

Security Advisory: Akka.NET v1.4.45 and earlier depend on an old System.Configuration.ConfigurationManager version 4.7.0 which transitively depends on System.Common.Drawing v4.7.0. The System.Common.Drawing v4.7.0 is affected by a remote code execution vulnerability GHSA-ghhp-997w-qr28.

We have separately created a security advisory for Akka.NET Versions < 1.4.46 and < 1.5.0-alpha3 to track this issue.

Fixes and Updates

You can see the full set of tracked issues for Akka.NET v1.4.46 here.

Changes:

This list of changes was auto generated.

Akka.NET v1.4.45

19 Oct 21:23
5f496e8
Compare
Choose a tag to compare

1.4.45 October 19th 2022

Akka.NET v1.4.45 is a patch release for Akka.NET v1.4 for a bug introduced in v1.4.44.

Patch

Changes:

  • 5f496e8 Update RELEASE_NOTES.md for 1.4.45 release (#6202)
  • 90dde25 Revert ConfigurationException due to binary incompatibility (#6201)

This list of changes was auto generated.