@@ -21,9 +21,11 @@ Documentation: https://github.com/theRainbird/CoreRemoting/wiki
2121- Creates proxy objects for remote services at runtime (uses Castle.DynamicProxy under the hood)
2222- Services can have ` SingleCall ` or ` Singeton ` lifetime
2323- Uses duplex TCP network communication by default (based on WatsonTcp library)
24+ - Supports Named Pipe channel for inter-process communication
2425- Custom transport channels can be plugged in (Just implement ` IServerChannel ` and ` IClientChannel ` )
2526- Used Bson serialization by default (via Json.NET)
26- - Also supports classic BinaryFormatter for best possible DataSet / DataTable support
27+ - Includes NeoBinaryFormatter as built-in binary serializer
28+ - BinaryFormatter support is available in separate CoreRemoting.Serialization.Binary package
2729- BinaryFormatter is hardened against known deserialization attack patterns
2830- Custom serializers can be plugged in (Just implement ` ISerializerAdapter ` )
2931- Support for custom authentication (Just implement ` IAuthenticationProvider ` )
@@ -161,3 +163,32 @@ Source code of this example is also available in the repository at https://githu
161163
162164To test the hello world solution, start the server (HelloWorld.Server) and then multiple clients (HelloWorld.Client).
163165Have fun.
166+
167+ ## Breaking Changes in Version 1.3
168+
169+ ### BinaryFormatter Moved to Separate Assembly
170+ Starting with version 1.3, the classic BinaryFormatter support has been moved to a separate assembly:
171+ - ** Package** : ` CoreRemoting.Serialization.Binary `
172+ - ** Purpose** : Maintains compatibility for applications requiring DataSet/DataTable serialization
173+ - ** Security** : Includes hardened BinaryFormatter implementation against deserialization attacks
174+
175+ ### NeoBinaryFormatter Added to Core System
176+ A new binary serializer is now included in the core system:
177+ - ** Name** : NeoBinaryFormatter
178+ - ** Location** : Built into CoreRemoting core assembly
179+ - ** Benefits** : Better security than classic BinaryFormatter, also supports DataSets/DataTables if needed
180+ - ** Performance** : Currently slower than BinaryFormatter but faster than Hyperion (performance improvements in progress)
181+ - ** Usage** : Recommended binary serializer when binary serialization is desired (BSON from Newtonsoft remains default)
182+
183+ ### New Named Pipe Channel
184+ Version 1.3 introduces a new Named Pipe channel for inter-process communication:
185+ - ** Purpose** : High-performance communication between processes on the same machine
186+ - ** Benefits** : Faster than TCP for local inter-process communication
187+ - ** Usage** : Ideal for client-server applications running on the same host
188+
189+ ### Migration Guide
190+ If you were using BinaryFormatter in version 1.2 or earlier:
191+ 1 . For new applications requiring binary serialization, use NeoBinaryFormatter (recommended)
192+ 2 . For existing .NET Remoting applications requiring 100% compatibility, add the ` CoreRemoting.Serialization.Binary ` NuGet package
193+ 3 . Update your serializer configuration to use the appropriate serializer adapter
194+ 4 . Note: BSON from Newtonsoft remains the default serializer
0 commit comments