Skip to content

Releases: lofcz/FastCloner

Release v3.3.19

05 Dec 17:29

Choose a tag to compare

What's Changed

  • Update README.md
  • sg: jagged arrays
  • sg: abstract classes, records
  • FastClonerContext
  • [FastClonerInclude]
  • don't generate unnecessary methods
  • Update README.md for badge labels and performance
  • add licenses.txt
  • Fix test directory link in contributing section
  • Fix formatting issues in README.md features section
  • Enhance README features section with benchmarks
  • Update README.md
  • Update project versions to v3.3.18

Updated Projects

FastCloner.SourceGenerator.csproj -> 1.0.3
FastCloner.Tests.csproj -> 0.0.1
FastCloner.SourceGenerator.Shared.csproj -> 0.0.1
FastCloner.SourceGenerator.Console.csproj -> 0.0.1
FastCloner.csproj -> 3.3.19

Release v3.3.18

02 Dec 07:50

Choose a tag to compare

What's Changed

  • Update README.md
  • move source code into /src
  • Add local benchmark verification instructions
  • Update README to correct spelling and improve clarity
  • Enhance correctness feature description in README
  • add more competing libraries to the benchmark
  • Revise README with new features and usage examples
  • simplify sg installation
  • sg: generics with unannotated types
  • sg: immutable collections
  • sg: generics, implicit/nested types without annotations
  • Update badge links to use Shields.io
  • fix
  • Update project versions to v3.3.17

Updated Projects

FastCloner.SourceGenerator.csproj -> 1.0.2
FastCloner.Tests.csproj -> 0.0.1
FastCloner.Benchmark.csproj -> 0.0.1
FastCloner.Contrib.csproj -> 0.0.1
FastCloner.SourceGenerator.CodeFixes.csproj -> 0.0.1
FastCloner.SourceGenerator.Shared.csproj -> 0.0.1
FastCloner.SourceGenerator.Console.csproj -> 0.0.1
FastCloner.SourceGenerator.Analyzers.csproj -> 0.0.1
FastCloner.csproj -> 3.3.18

Release v3.3.17

15 Nov 00:04

Choose a tag to compare

What's Changed

  • work on source gen
  • Update .NET SDK version to 10.0.x
  • Update .NET version in GitHub Actions workflow
  • .net 10 tfm, c# 14 syntax
  • Update README to remove dependency mention
  • Update project versions to v3.3.16

Updated Projects

FastCloner.SourceGenerator.csproj -> 1.0.1
FastCloner.Tests.csproj -> 0.0.1
FastCloner.Benchmark.csproj -> 0.0.1
FastCloner.SourceGenerator.CodeFixes.csproj -> 0.0.1
FastCloner.SourceGenerator.Shared.csproj -> 0.0.1
FastCloner.SourceGenerator.Analyzers.csproj -> 0.0.1
FastCloner.csproj -> 3.3.17

Release v3.3.16

05 Oct 08:45

Choose a tag to compare

What's Changed

This release fixes an issue when cloning deeply nested objects where the algorithm switches from recursion to two-way iteration on fly. Thanks @pferencgit for spotting this.

  • fix on-fly swap from recursive to iterative cloning
  • document FastCloner.MaxRecursionDepth
  • Update project versions to v3.3.15

Updated Projects

FastCloner.Tests.csproj -> 0.0.1
FastCloner.csproj -> 3.3.16

Release v3.3.15

02 Oct 18:47
cea23ec

Choose a tag to compare

What's Changed

This release fixes remaining stability issues with the iterative cloning for deeply nested objects. Thanks @maxbruecken for helping with this.

  • run all tests under MaxRecursionDepth = 1 and 1000 to avoid further regressions
  • fix remaining tests failing with MaxRecursionDepth = 1
  • fix another regression with boxed structs
  • fix further regressions in the iterative cloning
  • fix regression in classes with multiple init only fields/properties
  • fix regression in init only value type fields
  • Update project versions to v3.3.14

Updated Projects

FastCloner.Tests.csproj -> 0.0.1
FastCloner.csproj -> 3.3.15

Release v3.3.14

01 Oct 12:45

Choose a tag to compare

What's Changed

This release fixes a regression in version 3.3.13 when deep cloning objects with init only fields.

  • fix regression in init only fields
  • fix typo
  • fix typo
  • fix ci
  • up deps
  • Update README.md
  • Update project versions to v3.3.13

Updated Projects

FastCloner.Tests.csproj -> 0.0.1
FastCloner.Benchmark.csproj -> 0.0.1
FastCloner.csproj -> 3.3.14

Release v3.3.13

27 Sep 20:48

Choose a tag to compare

What's Changed

This release adds a configurable recursion depth limit when cloning and an iterative approach for graphs with nesting level over the threshold. FastCloner now also recognizes the [NonSerialized] attribute which can be use instead of [FastClonerIgnore].

  • respect [NonSerialized] when cloning
  • use iterative approach when cloning deeply nested objects to avoid running out of stack
  • fix tests on unix
  • Update project versions to v3.3.12

Updated Projects

FastCloner.Tests.csproj -> 0.0.1
FastCloner.csproj -> 3.3.13

Release v3.3.12

21 Aug 15:15

Choose a tag to compare

What's Changed

Most of the types from the System.Reflection namespace return the original object when cloned, however, AssemblyName can be safely cloned.

  • fix cloning of AssemblyName
  • Update README.md
  • Update project versions to v3.3.11

Updated Projects

FastCloner.Tests.csproj -> 0.0.1
FastCloner.csproj -> 3.3.12

Release v3.3.11

21 Aug 14:53

Choose a tag to compare

What's Changed

This release improves support for cloning System.Drawing types without reliance on the Contrib module.

  • improve System.Drawing support in the core library
  • add ObjectCloner to benchmarks
  • Update project versions to v3.3.10

Updated Projects

FastCloner.Contrib.csproj -> 0.0.1
FastCloner.Tests.csproj -> 0.0.1
FastCloner.Benchmark.csproj -> 0.0.1
FastCloner.csproj -> 3.3.11

Release v3.3.10

03 Jul 22:19

Choose a tag to compare

What's Changed

  • reorder checks
  • fall back to memberwise cloning for dictionaries with no empty ctor
  • up deps
  • add test to verify dictionaries with ctors of arity > 0
  • Update project versions to v3.3.9

Updated Projects

FastCloner.csproj -> 3.3.10
FastCloner.Tests.csproj -> 0.0.1
FastCloner.Benchmark.csproj -> 0.0.1