Skip to content

Conversation

Aaronontheweb
Copy link
Member

1.3.1 September 5 2017

Maintenance Release for Akka.NET 1.3

Updates and bugfixes:

  • Bugfix: Hyperion NuGet package restore creating duplicate assemblies for the same version inside Akka
  • Various documentation fixes and updates
  • Bugfix: issue where data sent via UDP when ByteString payload had buffers with length more than 1, UdpSender only wrote the first part of the buffers and dropped the rest.
  • Bugfix: Akka.IO.Tcp failed to write some outgoing messages.
  • Improved support for OSX & Rider
  • Bugfix: Akka.Persistence support for SerializerWithStringManifest required by Akka.Cluster.Sharding and Akka.Cluster.Tools
    • Akka.Persistence.Sqlite and Akka.Persistence.SqlServer were unable to support SerializerWithStringManifest, so using Akka.Cluster.Sharding with Sql plugins would not work.
  • Bugfix: Akka.Streams generic type parameters of the flow returned from current implementation of Bidiflow's JoinMat method were incorrect.
  • Bugfix: PersistenceMessageSerializer was failing with the wrong exceptoin when a non-supported type was provided.

Akka.Persistence backwards compability warning:

  • Akka.Persistence.Sql introduces an additional field to the schema used by Sql-based plugins to allow for the use of SerializerWithStringManifest called serializer_id. It requires any previous Sql schema to be updated to have this field. Details are included in the Akka.Persistence.Sqlite plugin README.md file. Users of the Akka.Persistence.Sqlite plugin must alter their existing databases to add the field serializer_id int (4):
ALTER TABLE {your_event_journal_table_name} ADD COLUMN `serializer_id` INTEGER ( 4 )
ALTER TABLE {your_snapshot_table_name} ADD COLUMN `serializer_id` INTEGER ( 4 )

See the full set of Akka.NET 1.3.1 fixes here.

Danthar and others added 30 commits August 18, 2017 16:57
Fixes incorrect setting and uses file inclusion for reference.conf
Updated cluster-client article
* Updates and fixes for Akka.IO.UDP

* bring back Send ctor + Mono issue workaround
fix 3021 - returned Akka.IO.Tcp semantics to use synchronous write
Also filled in some tests for non-generic IgnoreMessages().
Add TestKitBase.IgnoreMessages<TMsg>
Akka.TestKit.Xunit and Akka.TestKit.Xunit2, targeting .NET 4.5.0
* Improving Support for OSX & Rider

* Rider/OSX appears to be less forgiving around the csproj format and requires that the nuget dependencies uses Version and not version.
* Updated the build.sh script to only install dotnet once and also to pull down protoc from nuget.
* The FAKE build has been updated to support building the Protobuf target on OSX & Linux

* Fix the dotnet bootstrapping section, it wasn't setting up environment variables properly if dotnet was already installed.
* Ported over MessageSerializer & SnapshotSerializer from JVM Akka
* Custom serializers are now being used as expected.  Previously, as is evident by the unit test changes, custom serializers were not being used when serializing Akka.Persistence.IMessage.
* LocalSnapshotStore automatically picks up the new serializer and should work better with protobuf based snapshots
Protobuf Serialization for Akka.Persistence.IMessage
…l.Common

This addresses #3019

* Added a serializer id to the sql columns
* Updated how the manifest is set to support SerializerWithStringManifest
* ReadEvent should be backwards compatible
Ensure the serializer uses the default serializer specified.
Correct sample code mistake.
* updated cluster-client docs

* Updated other clustering docs to use shorthand config notiation

* Updated remote docs

Some pages didn't use the shorthand notation consistently
…#3032)

* Updating ProtobufSerializer to automatically lookup parser

The existing implementation of ProtobufSerializer requires RegisterFileDescriptor to be called with the file descriptor of every protobuf message that will be serialized.  This adds a significant amount of boilerplate to serializer protobuf messages automatically.  To work around this, I've updated the fromBinary to lookup the MessageParser at runtime based on the type.  This brings it inline with how the JVM Akka protobuf serializer works.

* Fixing approved remote api
joshgarnett and others added 10 commits August 30, 2017 11:36
* Protobuf serialization support for FSM types

To bring the Akka.Persistence module more in line with the JVM Akka implementation protobuf serialization of PersistentFSMSnapshot and StateChangeEvent classes.  As PersistentFSMSnapshot uses generics, reflection is needed to properly serialize and deserialize the class.

* Updating Akka.Persistence public api spec.
Added a few additional tests around the FSM serialization.
* updated UdpConnection to match TcpConnection send semantics
* added specs to cover UdpConnected and fixied UDP connectionless send
* * fixed issue with DNS resolution on outbound TCP connections
* added IPV6 support to TCP sockets on Akka.IO

* added IFDEF to disable IPV6 testing on non-Windows systems

* still run DNS resolution for IPV4 on .NET Core Linux
* Updated PersistenceMessageSerializer

* fix api
@Aaronontheweb Aaronontheweb merged commit cc73cdc into master Sep 5, 2017
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.