NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #1526 most downloaded on NuGet
Small Library for fast deep or shallow cloning .NET objects. It allows to copy everything and has a lot of performance tricks for fast copying.
Last release 4 years ago
no release in 18 months
Ships unpredictably
gaps range from 1 weeks to 116.2 years
Most releases are documented
notes for 10 of 12 stable releases
1 version withdrawn
withdrawn after publishing
127 years old
13 releases · first in 1900
Excluded default comparers from cloning. Main fix for .NET6 and HashSet but some other cases can be fixed too.
Excluded default comparers from cloning. Main fix for .NET6 and HashSet<string> but some other cases can be fixed too.
In this release default comparers are excluded from cloning.
It fix for .NET6 and HashSet<string> . Other cases can be also fixed too.
Custom dictionary implementation for faster reference counting (and faster cloning) Excluded DBNull from cloning Rewrited code for more correct clonin
Custom dictionary implementation for faster reference counting (and faster cloning) Excluded DBNull from cloning Rewrited code for more correct cloning of objects forbidden for cloning (mainly for Shallow cloning) Better handling for stucts casted to object Increased speed for cloning simple tuples Added some protection for parallel cloning objects with readonly fields Optimized copying readonly fields for .net core Fixed copying multi-dim arrays with 0-length of some dimension 2-dim arrays were processed by generic (non-optimized) way
One column per quarter.
This release contains some improvements and bug fixes.
Removed System.Reflection namespace (especially System.Reflection.Emit) from cloning. More accurate checking for empty constructors.
Removed System.Reflection namespace (especially System.Reflection.Emit) from cloning. More accurate checking for empty constructors.
In this release we're removed System.Reflection namespace from cloning, because some classes in System.Reflection.Emit cause unexpected crashes in runtime. Also, there are no significant reasons to clone these classes.
Also, checking for empty constructors is improved to reduce number of exceptions (internally catched, but can slow down copying).
Fixed cloning of COM objects, some internal structures (RuntimeType, Remoting). Trying to improve cloning for dotnet core, excluded some internal clas
Fixed cloning of COM objects, some internal structures (RuntimeType, Remoting). Trying to improve cloning for dotnet core, excluded some internal classes. As result, some EF queries can be deep cloned without errors.
This release just contains some of bugfixes:
As result, DeepCloner will work more stable.
Added additional methods for cloning DeepCloneTo/ShallowCloneTo
Added additional methods for cloning DeepCloneTo/ShallowCloneTo
In this release we've added new feature: cloning to existing object. It can be useful for fast wrapper creation or for keeping references to existing object (e.g. for locking).
Added support for .NET Standard (.NET Core)
Added support for .NET Standard (.NET Core)
This is small technical release. In this release we've added support for .NET Core (only Safe variant). Version for .NET 4.0 has same functionality as in previous release.
Changed behaviour of cloning resources with handles. Now, they don't clone (same object is returned) due unpredictable clone results.
Changed behaviour of cloning resources with handles. Now, they don't clone (same object is returned) due unpredictable clone results.
After analyzing, we decide to forbid clone for some system handles, because it causes unpredictable erros on destruction (e.g. multiple closing of one handle). This leads to strange erros in GC thread. So, better just to do nothing with such objects.
Fixed small issue with cloning primitive types casted as an object
Fixed small issue with cloning primitive types casted as an object
Seriously improved cloning of simple objects (constructor analyzing + reference counting) Fixed small issue with possible multiple copying of same fie
Seriously improved cloning of simple objects (constructor analyzing + reference counting) Fixed small issue with possible multiple copying of same fields in object Safe variant now correctly clones readonly fields
In this release we are greatly increased cloning speed for some objects (up to 2x times). It was made by analyzing constructors and improvements in reference counter code.
Also, there are some small refactorings that slighlty increased speed
Also, we fix 2 bugs, one with possible multiple object copying and second, is more serious, but very rare: safe variant of cloning did not copy readonly fields. Now, this is fixed by some hacks.
And at last, we have checked performance of this library related to others and have found, that DeepCloner is fastest cloning library!
We want to publish only some fixes improvements with array (fix for reference count in array types, support for multi-dimensional array and non zero-b
We want to publish only some fixes improvements with array (fix for reference count in array types, support for multi-dimensional array and non zero-based arrays).
But we also have finished work with another implementation of cloning code. New code is based on expressions (first variant is based on msil). This implemenation can work not in full trust environment, but it is slightly slower than msil variant. So, library will try to use faster msil variant and if it fails, library will switch to safer variant.
Nothing published for this version
Nothing published for this version
Fixed an issue with handling references to arrays Added support for multidimensional arrays and non-zero-based arrays Added fallback for non-fulltrust
Fixed an issue with handling references to arrays Added support for multidimensional arrays and non-zero-based arrays Added fallback for non-fulltrust code through expressions Due build issue, release 0.9.0 was invalid, this is fixed variant
Your coding agent can read these notes before it upgrades. Set up the MCP server →