|
1 |
| -### 0.9.17 March 25 2021 #### |
2 |
| -* [Bump Microsoft.NET.Test.Sdk from 16.6.1 to 16.7.1](https://github.com/akkadotnet/Hyperion/pull/182) |
3 |
| -* [Fix unit test problem](https://github.com/akkadotnet/Hyperion/pull/191) |
4 |
| -* [Bump FSharp.Core from 4.7.2 to 5.0.0](https://github.com/akkadotnet/Hyperion/pull/189) |
5 |
| -* [Fix issue #40 regarding partial streams](https://github.com/akkadotnet/Hyperion/pull/185) |
6 |
| -* [Fix Hyperion not using known serializers when defined](https://github.com/akkadotnet/Hyperion/pull/184) |
7 |
| -* [Bump Microsoft.NET.Test.Sdk from 16.7.1 to 16.8.3](https://github.com/akkadotnet/Hyperion/pull/196) |
8 |
| -* [Bump System.Collections.Immutable from 1.7.1 to 5.0.0](https://github.com/akkadotnet/Hyperion/pull/195) |
9 |
| -* [Bump FSharp.Core from 5.0.0 to 5.0.1](https://github.com/akkadotnet/Hyperion/pull/202) |
10 |
| -* [Update the cross framework spec to include complex POCO object, Type serialization, and support for netcoreapp3.1 and net5.0](https://github.com/akkadotnet/Hyperion/pull/204) |
| 1 | +### 0.10.0 April 13 2021 #### |
| 2 | +* [Add a generic cross platform serialization support](https://github.com/akkadotnet/Hyperion/pull/208) |
| 3 | + |
| 4 | +## Cross platform serialization |
| 5 | + |
| 6 | +You can now address any cross platform package serialization differences by providing a list of package name transformation lambda function into the `SerializerOptions` constructor. The package name will be passed into the lambda function before it is deserialized, and the result of the string transformation is used for deserialization instead of the original package name. |
| 7 | + |
| 8 | +This short example shows how to address the change from `System.Drawing` in .NET Framework to `System.Drawing.Primitives` in .NET Core: |
| 9 | + |
| 10 | +``` |
| 11 | +Serializer serializer; |
| 12 | +#if NETFX |
| 13 | +serializer = new Serializer(new SerializerOptions( |
| 14 | + packageNameOverrides: new List<Func<string, string>> { |
| 15 | + str => str.Contains("System.Drawing.Primitives") ? str.Replace(".Primitives", "") : str |
| 16 | + })); |
| 17 | +#elif NETCOREAPP |
| 18 | +serializer = new Serializer(); |
| 19 | +#endif |
| 20 | +``` |
| 21 | + |
| 22 | +Note that only one package name transformation is allowed, any transform lambda function after the first applied transformation is ignored. |
0 commit comments