diffplex icon indicating copy to clipboard operation
diffplex copied to clipboard

Modernization

Open kingcean opened this issue 11 months ago • 4 comments

This PR is a significant change of core library DiffPlex.

  1. Add ReadOnlySpan<char> supports to differ and its accessories. At the same time, update the TFM to enable this feature on the available targets. This type is always used for some high performance scenarios to decrease unnecessary memory costs.
  2. Refactor the builder models to remove the write-accessor of their properties since they are originally designed as data view of result. This breaking change ensures it comes to what to expect now. The incidental changes include updating their constructors to pass parameters instead of properties assignment.
  3. Add full JSON serialization supports of builder models by implementing their bi-converters. But this also mean to add related package references like System.Text.Json for older TFM platforms, e.g. on .NET Frameworks. And please note this feature is disabled on .NET Strandard 1.0 because of not supported.
  4. Suggest increase the major version (to v2.0) and please approach this PR with caution since the modification is wide-ranging. And of course, there is no change of the key logic and the overall mode. Additionally, the WPF components project and Windows App SDK (WinUI 3) components project are updated to adapt the new design.

kingcean avatar Feb 06 '25 06:02 kingcean

Sounds it can also fix #119 and #128 (but still keep the legacy frameworks).

kingcean avatar Feb 06 '25 06:02 kingcean

I will review soon. Thanks for the contribution

mmanela avatar Feb 16 '25 17:02 mmanela

@kingcean are you still interested in moving this forward?

mmanela avatar Mar 22 '25 17:03 mmanela

@kingcean are you still interested in moving this forward?

Sorry for the late reply, I will find time to follow up later.

kingcean avatar Apr 24 '25 07:04 kingcean