diff --git a/README.md b/README.md
index 859dd9441..c5aaacf27 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# RSCG - 252 Examples of Roslyn Source Code Generators / 16 created by Microsoft /
+# RSCG - 253 Examples of Roslyn Source Code Generators / 16 created by Microsoft /
-The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 252 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
+The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 253 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
This system serves as both a learning resource for .NET developers interested in source generators and an automated pipeline for maintaining up-to-date documentation about the RSCG ecosystem
-## Latest Update : 2026-01-28 => 28 January 2026
+## Latest Update : 2026-02-01 => 01 February 2026
If you want to see examples with code, please click ***[List V2](https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG)***
@@ -24,8 +24,30 @@ If you want to be notified each time I add a new RSCG example , please click htt
## Content
-Those are the 252 Roslyn Source Code Generators that I have tested you can see and download source code example.
+Those are the 253 Roslyn Source Code Generators that I have tested you can see and download source code example.
( including 16 from Microsoft )
+### 253. [FastCloner](https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner) , in the [Clone](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#clone) category
+
+Generated on : 2026-02-01 => 01 February 2026
+
+
+ Expand
+
+
+
+Author: Matěj Štágl
+
+Fast deep cloning library for .NET 8+. Supports both deep and shallow cloning. Extensively tested, focused on performance and stability even on complicated object graphs.
+
+Nuget: [https://www.nuget.org/packages/FastCloner/](https://www.nuget.org/packages/FastCloner/)
+
+
+Link: [https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner](https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner)
+
+Source: [https://github.com/lofcz/FastCloner/](https://github.com/lofcz/FastCloner/)
+
+
+
### 252. [RSCG_idempotency](https://ignatandrei.github.io/RSCG_Examples/v2/docs/RSCG_idempotency) , in the [Idempotency](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#idempotency) category
Generated on : 2026-01-28 => 28 January 2026
@@ -5875,448 +5897,483 @@ Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/AlexNav73/CoreCraft&body=https://github.com/AlexNav73/CoreCraft
-19) [https://github.com/atc-net/atc-source-generators]( https://github.com/atc-net/atc-source-generators) , https://github.com/atc-net/atc-source-generators
+19) [https://github.com/ANcpLua/ErrorOrX]( https://github.com/ANcpLua/ErrorOrX) , https://github.com/ANcpLua/ErrorOrX
+
+Why I have not tested : later
+
+https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/ANcpLua/ErrorOrX&body=https://github.com/ANcpLua/ErrorOrX
+
+
+20) [https://github.com/atc-net/atc-source-generators]( https://github.com/atc-net/atc-source-generators) , https://github.com/atc-net/atc-source-generators
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/atc-net/atc-source-generators&body=https://github.com/atc-net/atc-source-generators
-20) [https://github.com/Atoen/TextLocalizer]( https://github.com/Atoen/TextLocalizer) , https://github.com/Atoen/TextLocalizer
+21) [https://github.com/Atoen/TextLocalizer]( https://github.com/Atoen/TextLocalizer) , https://github.com/Atoen/TextLocalizer
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/Atoen/TextLocalizer&body=https://github.com/Atoen/TextLocalizer
-21) [https://github.com/Aymen83/AspectWeaver]( https://github.com/Aymen83/AspectWeaver) , https://github.com/Aymen83/AspectWeaver
+22) [https://github.com/Aymen83/AspectWeaver]( https://github.com/Aymen83/AspectWeaver) , https://github.com/Aymen83/AspectWeaver
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/Aymen83/AspectWeaver&body=https://github.com/Aymen83/AspectWeaver
-22) [https://github.com/bjornhellander/TestInheritanceGenerator]( https://github.com/bjornhellander/TestInheritanceGenerator) , https://github.com/bjornhellander/TestInheritanceGenerator
+23) [https://github.com/bjornhellander/TestInheritanceGenerator]( https://github.com/bjornhellander/TestInheritanceGenerator) , https://github.com/bjornhellander/TestInheritanceGenerator
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/bjornhellander/TestInheritanceGenerator&body=https://github.com/bjornhellander/TestInheritanceGenerator
-23) [https://github.com/borisdj/CsCodeGenerator]( https://github.com/borisdj/CsCodeGenerator) , https://github.com/borisdj/CsCodeGenerator
+24) [https://github.com/borisdj/CsCodeGenerator]( https://github.com/borisdj/CsCodeGenerator) , https://github.com/borisdj/CsCodeGenerator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/borisdj/CsCodeGenerator&body=https://github.com/borisdj/CsCodeGenerator
-24) [https://github.com/buchmiet/FastFsm]( https://github.com/buchmiet/FastFsm) , https://github.com/buchmiet/FastFsm
+25) [https://github.com/buchmiet/FastFsm]( https://github.com/buchmiet/FastFsm) , https://github.com/buchmiet/FastFsm
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/buchmiet/FastFsm&body=https://github.com/buchmiet/FastFsm
-25) [https://github.com/chickensoft-games/LogicBlocks]( https://github.com/chickensoft-games/LogicBlocks) , https://github.com/chickensoft-games/LogicBlocks
+26) [https://github.com/chickensoft-games/LogicBlocks]( https://github.com/chickensoft-games/LogicBlocks) , https://github.com/chickensoft-games/LogicBlocks
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/chickensoft-games/LogicBlocks&body=https://github.com/chickensoft-games/LogicBlocks
-26) [https://github.com/dgmjr-io/InterfaceGenerator]( https://github.com/dgmjr-io/InterfaceGenerator) , https://github.com/dgmjr-io/InterfaceGenerator
+27) [https://github.com/dgmjr-io/InterfaceGenerator]( https://github.com/dgmjr-io/InterfaceGenerator) , https://github.com/dgmjr-io/InterfaceGenerator
Why I have not tested : issue opened
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/dgmjr-io/InterfaceGenerator&body=https://github.com/dgmjr-io/InterfaceGenerator
-27) [https://github.com/eddievelasquez/IntercodeToolbox]( https://github.com/eddievelasquez/IntercodeToolbox) , https://github.com/eddievelasquez/IntercodeToolbox
+28) [https://github.com/eddievelasquez/IntercodeToolbox]( https://github.com/eddievelasquez/IntercodeToolbox) , https://github.com/eddievelasquez/IntercodeToolbox
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/eddievelasquez/IntercodeToolbox&body=https://github.com/eddievelasquez/IntercodeToolbox
-28) [https://github.com/FoundatioFx/Foundatio.Mediator]( https://github.com/FoundatioFx/Foundatio.Mediator) , https://github.com/FoundatioFx/Foundatio.Mediator
+29) [https://github.com/FoundatioFx/Foundatio.Mediator]( https://github.com/FoundatioFx/Foundatio.Mediator) , https://github.com/FoundatioFx/Foundatio.Mediator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/FoundatioFx/Foundatio.Mediator&body=https://github.com/FoundatioFx/Foundatio.Mediator
-29) [https://github.com/GaoNian-NET/MapperToolkit]( https://github.com/GaoNian-NET/MapperToolkit) , https://github.com/GaoNian-NET/MapperToolkit
+30) [https://github.com/GaoNian-NET/MapperToolkit]( https://github.com/GaoNian-NET/MapperToolkit) , https://github.com/GaoNian-NET/MapperToolkit
Why I have not tested : issue opened
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/GaoNian-NET/MapperToolkit&body=https://github.com/GaoNian-NET/MapperToolkit
-30) [https://github.com/IeuanWalker/MinimalApi.Endpoints/]( https://github.com/IeuanWalker/MinimalApi.Endpoints/) , https://github.com/IeuanWalker/MinimalApi.Endpoints/
+31) [https://github.com/IeuanWalker/MinimalApi.Endpoints/]( https://github.com/IeuanWalker/MinimalApi.Endpoints/) , https://github.com/IeuanWalker/MinimalApi.Endpoints/
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/IeuanWalker/MinimalApi.Endpoints/&body=https://github.com/IeuanWalker/MinimalApi.Endpoints/
-31) [https://github.com/inputfalken/Dynatello]( https://github.com/inputfalken/Dynatello) , https://github.com/inputfalken/Dynatello
+32) [https://github.com/inputfalken/Dynatello]( https://github.com/inputfalken/Dynatello) , https://github.com/inputfalken/Dynatello
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/inputfalken/Dynatello&body=https://github.com/inputfalken/Dynatello
-32) [https://github.com/ionite34/MinimalApiMapper]( https://github.com/ionite34/MinimalApiMapper) , https://github.com/ionite34/MinimalApiMapper
+33) [https://github.com/ionite34/MinimalApiMapper]( https://github.com/ionite34/MinimalApiMapper) , https://github.com/ionite34/MinimalApiMapper
Why I have not tested : own idea where to generate files, so overwrites
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/ionite34/MinimalApiMapper&body=https://github.com/ionite34/MinimalApiMapper
-33) [https://github.com/JasonBock/CslaGeneratorSerialization]( https://github.com/JasonBock/CslaGeneratorSerialization) , https://github.com/JasonBock/CslaGeneratorSerialization
+34) [https://github.com/JasonBock/CslaGeneratorSerialization]( https://github.com/JasonBock/CslaGeneratorSerialization) , https://github.com/JasonBock/CslaGeneratorSerialization
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/JasonBock/CslaGeneratorSerialization&body=https://github.com/JasonBock/CslaGeneratorSerialization
-34) [https://github.com/MoslemBenDhaou/DataSurface]( https://github.com/MoslemBenDhaou/DataSurface) , https://github.com/MoslemBenDhaou/DataSurface
+35) [https://github.com/MoslemBenDhaou/DataSurface]( https://github.com/MoslemBenDhaou/DataSurface) , https://github.com/MoslemBenDhaou/DataSurface
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/MoslemBenDhaou/DataSurface&body=https://github.com/MoslemBenDhaou/DataSurface
-35) [https://github.com/OrgEleCho/EleCho.Internationalization]( https://github.com/OrgEleCho/EleCho.Internationalization) , https://github.com/OrgEleCho/EleCho.Internationalization
+36) [https://github.com/mu-dawood/EasyValidate]( https://github.com/mu-dawood/EasyValidate) , https://github.com/mu-dawood/EasyValidate
+
+Why I have not tested : later
+
+https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/mu-dawood/EasyValidate&body=https://github.com/mu-dawood/EasyValidate
+
+
+37) [https://github.com/nuskey8/Csv-CSharp]( https://github.com/nuskey8/Csv-CSharp) , https://github.com/nuskey8/Csv-CSharp
+
+Why I have not tested : later
+
+https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/nuskey8/Csv-CSharp&body=https://github.com/nuskey8/Csv-CSharp
+
+
+38) [https://github.com/OrgEleCho/EleCho.Internationalization]( https://github.com/OrgEleCho/EleCho.Internationalization) , https://github.com/OrgEleCho/EleCho.Internationalization
Why I have not tested : issue opened
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/OrgEleCho/EleCho.Internationalization&body=https://github.com/OrgEleCho/EleCho.Internationalization
-36) [https://github.com/pierre3/PlantUmlClassDiagramGenerator]( https://github.com/pierre3/PlantUmlClassDiagramGenerator) , https://github.com/pierre3/PlantUmlClassDiagramGenerator
+39) [https://github.com/pekspro/DataAnnotationValuesExtractor]( https://github.com/pekspro/DataAnnotationValuesExtractor) , https://github.com/pekspro/DataAnnotationValuesExtractor
+
+Why I have not tested : later
+
+https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/pekspro/DataAnnotationValuesExtractor&body=https://github.com/pekspro/DataAnnotationValuesExtractor
+
+
+40) [https://github.com/pierre3/PlantUmlClassDiagramGenerator]( https://github.com/pierre3/PlantUmlClassDiagramGenerator) , https://github.com/pierre3/PlantUmlClassDiagramGenerator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/pierre3/PlantUmlClassDiagramGenerator&body=https://github.com/pierre3/PlantUmlClassDiagramGenerator
-37) [https://github.com/stbychkov/AutoLoggerMessage]( https://github.com/stbychkov/AutoLoggerMessage) , https://github.com/stbychkov/AutoLoggerMessage
+41) [https://github.com/sebastienros/comptime]( https://github.com/sebastienros/comptime) , https://github.com/sebastienros/comptime
+
+Why I have not tested : later
+
+https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/sebastienros/comptime&body=https://github.com/sebastienros/comptime
+
+
+42) [https://github.com/stbychkov/AutoLoggerMessage]( https://github.com/stbychkov/AutoLoggerMessage) , https://github.com/stbychkov/AutoLoggerMessage
Why I have not tested : Microsoft have done same feature
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/stbychkov/AutoLoggerMessage&body=https://github.com/stbychkov/AutoLoggerMessage
-38) [https://github.com/Stepami/visitor-net]( https://github.com/Stepami/visitor-net) , https://github.com/Stepami/visitor-net
+43) [https://github.com/Stepami/visitor-net]( https://github.com/Stepami/visitor-net) , https://github.com/Stepami/visitor-net
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/Stepami/visitor-net&body=https://github.com/Stepami/visitor-net
-39) [https://github.com/svee4/RequiredStaticMembers]( https://github.com/svee4/RequiredStaticMembers) , https://github.com/svee4/RequiredStaticMembers
+44) [https://github.com/svee4/RequiredStaticMembers]( https://github.com/svee4/RequiredStaticMembers) , https://github.com/svee4/RequiredStaticMembers
Why I have not tested : issue opened
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/svee4/RequiredStaticMembers&body=https://github.com/svee4/RequiredStaticMembers
-40) [https://github.com/SzymonHalucha/Minerals.AutoCommands]( https://github.com/SzymonHalucha/Minerals.AutoCommands) , https://github.com/SzymonHalucha/Minerals.AutoCommands
+45) [https://github.com/SzymonHalucha/Minerals.AutoCommands]( https://github.com/SzymonHalucha/Minerals.AutoCommands) , https://github.com/SzymonHalucha/Minerals.AutoCommands
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/SzymonHalucha/Minerals.AutoCommands&body=https://github.com/SzymonHalucha/Minerals.AutoCommands
-41) [https://github.com/Teleopti/Saspect]( https://github.com/Teleopti/Saspect) , https://github.com/Teleopti/Saspect
+46) [https://github.com/Teleopti/Saspect]( https://github.com/Teleopti/Saspect) , https://github.com/Teleopti/Saspect
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/Teleopti/Saspect&body=https://github.com/Teleopti/Saspect
-42) [https://github.com/TheFo2sh/AsyncFlow]( https://github.com/TheFo2sh/AsyncFlow) , https://github.com/TheFo2sh/AsyncFlow
+47) [https://github.com/TheFo2sh/AsyncFlow]( https://github.com/TheFo2sh/AsyncFlow) , https://github.com/TheFo2sh/AsyncFlow
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/TheFo2sh/AsyncFlow&body=https://github.com/TheFo2sh/AsyncFlow
-43) [https://github.com/wieslawsoltes/ReactiveGenerator]( https://github.com/wieslawsoltes/ReactiveGenerator) , https://github.com/wieslawsoltes/ReactiveGenerator
+48) [https://github.com/wieslawsoltes/ReactiveGenerator]( https://github.com/wieslawsoltes/ReactiveGenerator) , https://github.com/wieslawsoltes/ReactiveGenerator
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://github.com/wieslawsoltes/ReactiveGenerator&body=https://github.com/wieslawsoltes/ReactiveGenerator
-44) [https://www.nuget.org/packages/Aspid.Generators.Helper]( https://www.nuget.org/packages/Aspid.Generators.Helper) , https://www.nuget.org/packages/Aspid.Generators.Helper
+49) [https://www.nuget.org/packages/Aspid.Generators.Helper]( https://www.nuget.org/packages/Aspid.Generators.Helper) , https://www.nuget.org/packages/Aspid.Generators.Helper
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/Aspid.Generators.Helper&body=https://www.nuget.org/packages/Aspid.Generators.Helper
-45) [https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator]( https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator) , https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator
+50) [https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator]( https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator) , https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator&body=https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator
-46) [https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/]( https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/) , https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/
+51) [https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/]( https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/) , https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/&body=https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/
-47) [https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/]( https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/) , https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/
+52) [https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/]( https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/) , https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/&body=https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/
-48) [https://www.nuget.org/packages/CTMGenerator]( https://www.nuget.org/packages/CTMGenerator) , https://www.nuget.org/packages/CTMGenerator
+53) [https://www.nuget.org/packages/CTMGenerator]( https://www.nuget.org/packages/CTMGenerator) , https://www.nuget.org/packages/CTMGenerator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/CTMGenerator&body=https://www.nuget.org/packages/CTMGenerator
-49) [https://www.nuget.org/packages/DecoWeaver]( https://www.nuget.org/packages/DecoWeaver) , https://www.nuget.org/packages/DecoWeaver
+54) [https://www.nuget.org/packages/DecoWeaver]( https://www.nuget.org/packages/DecoWeaver) , https://www.nuget.org/packages/DecoWeaver
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/DecoWeaver&body=https://www.nuget.org/packages/DecoWeaver
-50) [https://www.nuget.org/packages/JsonDerivedTypeGenerator]( https://www.nuget.org/packages/JsonDerivedTypeGenerator) , https://www.nuget.org/packages/JsonDerivedTypeGenerator
+55) [https://www.nuget.org/packages/JsonDerivedTypeGenerator]( https://www.nuget.org/packages/JsonDerivedTypeGenerator) , https://www.nuget.org/packages/JsonDerivedTypeGenerator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/JsonDerivedTypeGenerator&body=https://www.nuget.org/packages/JsonDerivedTypeGenerator
-51) [https://www.nuget.org/packages/MappingSourceGenerator]( https://www.nuget.org/packages/MappingSourceGenerator) , https://www.nuget.org/packages/MappingSourceGenerator
+56) [https://www.nuget.org/packages/MappingSourceGenerator]( https://www.nuget.org/packages/MappingSourceGenerator) , https://www.nuget.org/packages/MappingSourceGenerator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/MappingSourceGenerator&body=https://www.nuget.org/packages/MappingSourceGenerator
-52) [https://www.nuget.org/packages/Optikode.FluentMapper]( https://www.nuget.org/packages/Optikode.FluentMapper) , https://www.nuget.org/packages/Optikode.FluentMapper
+57) [https://www.nuget.org/packages/Optikode.FluentMapper]( https://www.nuget.org/packages/Optikode.FluentMapper) , https://www.nuget.org/packages/Optikode.FluentMapper
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/Optikode.FluentMapper&body=https://www.nuget.org/packages/Optikode.FluentMapper
-53) [https://www.nuget.org/packages/SoapProxyPocoGenerator]( https://www.nuget.org/packages/SoapProxyPocoGenerator) , https://www.nuget.org/packages/SoapProxyPocoGenerator
+58) [https://www.nuget.org/packages/SoapProxyPocoGenerator]( https://www.nuget.org/packages/SoapProxyPocoGenerator) , https://www.nuget.org/packages/SoapProxyPocoGenerator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/SoapProxyPocoGenerator&body=https://www.nuget.org/packages/SoapProxyPocoGenerator
-54) [https://www.nuget.org/packages/TinyMediator]( https://www.nuget.org/packages/TinyMediator) , https://www.nuget.org/packages/TinyMediator
+59) [https://www.nuget.org/packages/TinyMediator]( https://www.nuget.org/packages/TinyMediator) , https://www.nuget.org/packages/TinyMediator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/TinyMediator&body=https://www.nuget.org/packages/TinyMediator
-55) [https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder]( https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder) , https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder
+60) [https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder]( https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder) , https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder&body=https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder
-56) [https://www.nuget.org/packages/X39.Roslyn.Property]( https://www.nuget.org/packages/X39.Roslyn.Property) , https://www.nuget.org/packages/X39.Roslyn.Property
+61) [https://www.nuget.org/packages/X39.Roslyn.Property]( https://www.nuget.org/packages/X39.Roslyn.Property) , https://www.nuget.org/packages/X39.Roslyn.Property
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/X39.Roslyn.Property&body=https://www.nuget.org/packages/X39.Roslyn.Property
-57) [https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/]( https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/) , https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/
+62) [https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/]( https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/) , https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/&body=https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/
-58) [https://www.nuget.org/packages/ZeroReflection.Mediator.Generator]( https://www.nuget.org/packages/ZeroReflection.Mediator.Generator) , https://www.nuget.org/packages/ZeroReflection.Mediator.Generator
+63) [https://www.nuget.org/packages/ZeroReflection.Mediator.Generator]( https://www.nuget.org/packages/ZeroReflection.Mediator.Generator) , https://www.nuget.org/packages/ZeroReflection.Mediator.Generator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=https://www.nuget.org/packages/ZeroReflection.Mediator.Generator&body=https://www.nuget.org/packages/ZeroReflection.Mediator.Generator
-59) [Intellenum]( https://github.com/SteveDunn/Intellenum) , https://github.com/SteveDunn/Intellenum
+64) [Intellenum]( https://github.com/SteveDunn/Intellenum) , https://github.com/SteveDunn/Intellenum
Why I have not tested : not understand how to use
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=Intellenum&body=https://github.com/SteveDunn/Intellenum
-60) [laker]( https://github.com/Lakerfield/Lakerfield.Rpc) , https://github.com/Lakerfield/Lakerfield.Rpc
+65) [laker]( https://github.com/Lakerfield/Lakerfield.Rpc) , https://github.com/Lakerfield/Lakerfield.Rpc
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=laker&body=https://github.com/Lakerfield/Lakerfield.Rpc
-61) [LoggingDecoratorGenerator]( https://github.com/DavidFineboym/LoggingDecoratorGenerator) , https://github.com/DavidFineboym/LoggingDecoratorGenerator
+66) [LoggingDecoratorGenerator]( https://github.com/DavidFineboym/LoggingDecoratorGenerator) , https://github.com/DavidFineboym/LoggingDecoratorGenerator
Why I have not tested : Microsoft have done same feature
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=LoggingDecoratorGenerator&body=https://github.com/DavidFineboym/LoggingDecoratorGenerator
-62) [lucide-blazor]( https://github.com/brecht-vde/lucide-blazor/) , https://github.com/brecht-vde/lucide-blazor/
+67) [lucide-blazor]( https://github.com/brecht-vde/lucide-blazor/) , https://github.com/brecht-vde/lucide-blazor/
Why I have not tested : issue opened
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=lucide-blazor&body=https://github.com/brecht-vde/lucide-blazor/
-63) [ManagedDotnetProfiler]( https://github.com/kevingosse/ManagedDotnetProfiler) , https://github.com/kevingosse/ManagedDotnetProfiler
+68) [ManagedDotnetProfiler]( https://github.com/kevingosse/ManagedDotnetProfiler) , https://github.com/kevingosse/ManagedDotnetProfiler
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=ManagedDotnetProfiler&body=https://github.com/kevingosse/ManagedDotnetProfiler
-64) [Maui.BindableProperty.Generator]( https://github.com/rrmanzano/maui-bindableproperty-generator) , https://github.com/rrmanzano/maui-bindableproperty-generator
+69) [Maui.BindableProperty.Generator]( https://github.com/rrmanzano/maui-bindableproperty-generator) , https://github.com/rrmanzano/maui-bindableproperty-generator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=Maui.BindableProperty.Generator&body=https://github.com/rrmanzano/maui-bindableproperty-generator
-65) [Minerals.AutoCQRS]( https://github.com/SzymonHalucha/Minerals.AutoCQRS) , https://github.com/SzymonHalucha/Minerals.AutoCQRS
+70) [Minerals.AutoCQRS]( https://github.com/SzymonHalucha/Minerals.AutoCQRS) , https://github.com/SzymonHalucha/Minerals.AutoCQRS
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=Minerals.AutoCQRS&body=https://github.com/SzymonHalucha/Minerals.AutoCQRS
-66) [Minerals.AutoDomain]( https://github.com/SzymonHalucha/Minerals.AutoDomain) , https://github.com/SzymonHalucha/Minerals.AutoDomain
+71) [Minerals.AutoDomain]( https://github.com/SzymonHalucha/Minerals.AutoDomain) , https://github.com/SzymonHalucha/Minerals.AutoDomain
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=Minerals.AutoDomain&body=https://github.com/SzymonHalucha/Minerals.AutoDomain
-67) [observable]( https://github.com/notanaverageman/Bindables) , https://github.com/notanaverageman/Bindables
+72) [observable]( https://github.com/notanaverageman/Bindables) , https://github.com/notanaverageman/Bindables
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=observable&body=https://github.com/notanaverageman/Bindables
-68) [PolySharp]( https://github.com/Sergio0694/PolySharp) , https://github.com/Sergio0694/PolySharp
+73) [PolySharp]( https://github.com/Sergio0694/PolySharp) , https://github.com/Sergio0694/PolySharp
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=PolySharp&body=https://github.com/Sergio0694/PolySharp
-69) [RazorGen]( https://github.com/dartk/RazorGen) , https://github.com/dartk/RazorGen
+74) [RazorGen]( https://github.com/dartk/RazorGen) , https://github.com/dartk/RazorGen
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=RazorGen&body=https://github.com/dartk/RazorGen
-70) [SerdeDn]( https://github.com/serdedotnet/serde) , https://github.com/serdedotnet/serde
+75) [SerdeDn]( https://github.com/serdedotnet/serde) , https://github.com/serdedotnet/serde
Why I have not tested : serializer. Done by MSFT with System.Text.Json
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=SerdeDn&body=https://github.com/serdedotnet/serde
-71) [SogePoco]( https://github.com/d-p-y/SogePoco) , https://github.com/d-p-y/SogePoco
+76) [SogePoco]( https://github.com/d-p-y/SogePoco) , https://github.com/d-p-y/SogePoco
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=SogePoco&body=https://github.com/d-p-y/SogePoco
-72) [SourceCrafter.HttpServiceClientGenerator]( https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/) , https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/
+77) [SourceCrafter.HttpServiceClientGenerator]( https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/) , https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=SourceCrafter.HttpServiceClientGenerator&body=https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/
-73) [ST.NSwag.ServerSourceGenerator]( https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator) , https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator
+78) [ST.NSwag.ServerSourceGenerator]( https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator) , https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=ST.NSwag.ServerSourceGenerator&body=https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator
-74) [StrongInject]( https://github.com/YairHalberstadt/stronginject/) , https://github.com/YairHalberstadt/stronginject/
+79) [StrongInject]( https://github.com/YairHalberstadt/stronginject/) , https://github.com/YairHalberstadt/stronginject/
Why I have not tested : later
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=StrongInject&body=https://github.com/YairHalberstadt/stronginject/
-75) [TeuJson]( https://github.com/Terria-K/TeuJson) , https://github.com/Terria-K/TeuJson
+80) [TeuJson]( https://github.com/Terria-K/TeuJson) , https://github.com/Terria-K/TeuJson
Why I have not tested : json a class, was done in System.Text.Json
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=TeuJson&body=https://github.com/Terria-K/TeuJson
-76) [Tinyhand]( https://github.com/archi-Doc/Tinyhand) , https://github.com/archi-Doc/Tinyhand
+81) [Tinyhand]( https://github.com/archi-Doc/Tinyhand) , https://github.com/archi-Doc/Tinyhand
Why I have not tested : tried, need documentation
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=Tinyhand&body=https://github.com/archi-Doc/Tinyhand
-77) [TupleOverloadGenerator]( https://github.com/ProphetLamb/TupleOverloadGenerator) , https://github.com/ProphetLamb/TupleOverloadGenerator
+82) [TupleOverloadGenerator]( https://github.com/ProphetLamb/TupleOverloadGenerator) , https://github.com/ProphetLamb/TupleOverloadGenerator
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=TupleOverloadGenerator&body=https://github.com/ProphetLamb/TupleOverloadGenerator
-78) [TypealizR]( https://github.com/earloc/TypealizR) , https://github.com/earloc/TypealizR
+83) [TypealizR]( https://github.com/earloc/TypealizR) , https://github.com/earloc/TypealizR
Why I have not tested : depends on Microsoft.Extensions.Localization
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=TypealizR&body=https://github.com/earloc/TypealizR
-79) [UnitTestBlazor]( https://github.com/bUnit-dev/bUnit) , https://github.com/bUnit-dev/bUnit
+84) [UnitTestBlazor]( https://github.com/bUnit-dev/bUnit) , https://github.com/bUnit-dev/bUnit
Why I have not tested : issue opened
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=UnitTestBlazor&body=https://github.com/bUnit-dev/bUnit
-80) [ValueLink]( https://github.com/archi-Doc/ValueLink) , https://github.com/archi-Doc/ValueLink
+85) [ValueLink]( https://github.com/archi-Doc/ValueLink) , https://github.com/archi-Doc/ValueLink
Why I have not tested : too complicated
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=ValueLink&body=https://github.com/archi-Doc/ValueLink
-81) [VisitorPatternGenerator]( https://github.com/hikarin522/VisitorPatternGenerator/) , https://github.com/hikarin522/VisitorPatternGenerator/
+86) [VisitorPatternGenerator]( https://github.com/hikarin522/VisitorPatternGenerator/) , https://github.com/hikarin522/VisitorPatternGenerator/
Why I have not tested : issue opened
https://github.com/ignatandrei/RSCG_Examples/issues/new?title=VisitorPatternGenerator&body=https://github.com/hikarin522/VisitorPatternGenerator/
-82) [WrapperValueObject]( https://github.com/martinothamar/WrapperValueObject) , https://github.com/martinothamar/WrapperValueObject
+87) [WrapperValueObject]( https://github.com/martinothamar/WrapperValueObject) , https://github.com/martinothamar/WrapperValueObject
Why I have not tested : not maintained as in readme
diff --git a/later.md b/later.md
index 13f230f72..dc5f6c72c 100644
--- a/later.md
+++ b/later.md
@@ -1,6 +1,6 @@
# Just later
-## Latest Update : 2026-01-28 => 28 January 2026
+## Latest Update : 2026-02-01 => 01 February 2026
@@ -38,211 +38,241 @@ Why I have not tested : later
-6) [https://github.com/atc-net/atc-source-generators]( https://github.com/atc-net/atc-source-generators) , https://github.com/atc-net/atc-source-generators
+6) [https://github.com/ANcpLua/ErrorOrX]( https://github.com/ANcpLua/ErrorOrX) , https://github.com/ANcpLua/ErrorOrX
Why I have not tested : later
-7) [https://github.com/Aymen83/AspectWeaver]( https://github.com/Aymen83/AspectWeaver) , https://github.com/Aymen83/AspectWeaver
+7) [https://github.com/atc-net/atc-source-generators]( https://github.com/atc-net/atc-source-generators) , https://github.com/atc-net/atc-source-generators
Why I have not tested : later
-8) [https://github.com/borisdj/CsCodeGenerator]( https://github.com/borisdj/CsCodeGenerator) , https://github.com/borisdj/CsCodeGenerator
+8) [https://github.com/Aymen83/AspectWeaver]( https://github.com/Aymen83/AspectWeaver) , https://github.com/Aymen83/AspectWeaver
Why I have not tested : later
-9) [https://github.com/buchmiet/FastFsm]( https://github.com/buchmiet/FastFsm) , https://github.com/buchmiet/FastFsm
+9) [https://github.com/borisdj/CsCodeGenerator]( https://github.com/borisdj/CsCodeGenerator) , https://github.com/borisdj/CsCodeGenerator
Why I have not tested : later
-10) [https://github.com/chickensoft-games/LogicBlocks]( https://github.com/chickensoft-games/LogicBlocks) , https://github.com/chickensoft-games/LogicBlocks
+10) [https://github.com/buchmiet/FastFsm]( https://github.com/buchmiet/FastFsm) , https://github.com/buchmiet/FastFsm
Why I have not tested : later
-11) [https://github.com/FoundatioFx/Foundatio.Mediator]( https://github.com/FoundatioFx/Foundatio.Mediator) , https://github.com/FoundatioFx/Foundatio.Mediator
+11) [https://github.com/chickensoft-games/LogicBlocks]( https://github.com/chickensoft-games/LogicBlocks) , https://github.com/chickensoft-games/LogicBlocks
Why I have not tested : later
-12) [https://github.com/IeuanWalker/MinimalApi.Endpoints/]( https://github.com/IeuanWalker/MinimalApi.Endpoints/) , https://github.com/IeuanWalker/MinimalApi.Endpoints/
+12) [https://github.com/FoundatioFx/Foundatio.Mediator]( https://github.com/FoundatioFx/Foundatio.Mediator) , https://github.com/FoundatioFx/Foundatio.Mediator
Why I have not tested : later
-13) [https://github.com/MoslemBenDhaou/DataSurface]( https://github.com/MoslemBenDhaou/DataSurface) , https://github.com/MoslemBenDhaou/DataSurface
+13) [https://github.com/IeuanWalker/MinimalApi.Endpoints/]( https://github.com/IeuanWalker/MinimalApi.Endpoints/) , https://github.com/IeuanWalker/MinimalApi.Endpoints/
Why I have not tested : later
-14) [https://github.com/pierre3/PlantUmlClassDiagramGenerator]( https://github.com/pierre3/PlantUmlClassDiagramGenerator) , https://github.com/pierre3/PlantUmlClassDiagramGenerator
+14) [https://github.com/MoslemBenDhaou/DataSurface]( https://github.com/MoslemBenDhaou/DataSurface) , https://github.com/MoslemBenDhaou/DataSurface
Why I have not tested : later
-15) [https://github.com/Stepami/visitor-net]( https://github.com/Stepami/visitor-net) , https://github.com/Stepami/visitor-net
+15) [https://github.com/mu-dawood/EasyValidate]( https://github.com/mu-dawood/EasyValidate) , https://github.com/mu-dawood/EasyValidate
Why I have not tested : later
-16) [https://github.com/SzymonHalucha/Minerals.AutoCommands]( https://github.com/SzymonHalucha/Minerals.AutoCommands) , https://github.com/SzymonHalucha/Minerals.AutoCommands
+16) [https://github.com/nuskey8/Csv-CSharp]( https://github.com/nuskey8/Csv-CSharp) , https://github.com/nuskey8/Csv-CSharp
Why I have not tested : later
-17) [https://github.com/Teleopti/Saspect]( https://github.com/Teleopti/Saspect) , https://github.com/Teleopti/Saspect
+17) [https://github.com/pekspro/DataAnnotationValuesExtractor]( https://github.com/pekspro/DataAnnotationValuesExtractor) , https://github.com/pekspro/DataAnnotationValuesExtractor
Why I have not tested : later
-18) [https://www.nuget.org/packages/Aspid.Generators.Helper]( https://www.nuget.org/packages/Aspid.Generators.Helper) , https://www.nuget.org/packages/Aspid.Generators.Helper
+18) [https://github.com/pierre3/PlantUmlClassDiagramGenerator]( https://github.com/pierre3/PlantUmlClassDiagramGenerator) , https://github.com/pierre3/PlantUmlClassDiagramGenerator
Why I have not tested : later
-19) [https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator]( https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator) , https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator
+19) [https://github.com/sebastienros/comptime]( https://github.com/sebastienros/comptime) , https://github.com/sebastienros/comptime
Why I have not tested : later
-20) [https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/]( https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/) , https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/
+20) [https://github.com/Stepami/visitor-net]( https://github.com/Stepami/visitor-net) , https://github.com/Stepami/visitor-net
Why I have not tested : later
-21) [https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/]( https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/) , https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/
+21) [https://github.com/SzymonHalucha/Minerals.AutoCommands]( https://github.com/SzymonHalucha/Minerals.AutoCommands) , https://github.com/SzymonHalucha/Minerals.AutoCommands
Why I have not tested : later
-22) [https://www.nuget.org/packages/CTMGenerator]( https://www.nuget.org/packages/CTMGenerator) , https://www.nuget.org/packages/CTMGenerator
+22) [https://github.com/Teleopti/Saspect]( https://github.com/Teleopti/Saspect) , https://github.com/Teleopti/Saspect
Why I have not tested : later
-23) [https://www.nuget.org/packages/DecoWeaver]( https://www.nuget.org/packages/DecoWeaver) , https://www.nuget.org/packages/DecoWeaver
+23) [https://www.nuget.org/packages/Aspid.Generators.Helper]( https://www.nuget.org/packages/Aspid.Generators.Helper) , https://www.nuget.org/packages/Aspid.Generators.Helper
Why I have not tested : later
-24) [https://www.nuget.org/packages/JsonDerivedTypeGenerator]( https://www.nuget.org/packages/JsonDerivedTypeGenerator) , https://www.nuget.org/packages/JsonDerivedTypeGenerator
+24) [https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator]( https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator) , https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator
Why I have not tested : later
-25) [https://www.nuget.org/packages/MappingSourceGenerator]( https://www.nuget.org/packages/MappingSourceGenerator) , https://www.nuget.org/packages/MappingSourceGenerator
+25) [https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/]( https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/) , https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/
Why I have not tested : later
-26) [https://www.nuget.org/packages/Optikode.FluentMapper]( https://www.nuget.org/packages/Optikode.FluentMapper) , https://www.nuget.org/packages/Optikode.FluentMapper
+26) [https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/]( https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/) , https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/
Why I have not tested : later
-27) [https://www.nuget.org/packages/SoapProxyPocoGenerator]( https://www.nuget.org/packages/SoapProxyPocoGenerator) , https://www.nuget.org/packages/SoapProxyPocoGenerator
+27) [https://www.nuget.org/packages/CTMGenerator]( https://www.nuget.org/packages/CTMGenerator) , https://www.nuget.org/packages/CTMGenerator
Why I have not tested : later
-28) [https://www.nuget.org/packages/TinyMediator]( https://www.nuget.org/packages/TinyMediator) , https://www.nuget.org/packages/TinyMediator
+28) [https://www.nuget.org/packages/DecoWeaver]( https://www.nuget.org/packages/DecoWeaver) , https://www.nuget.org/packages/DecoWeaver
Why I have not tested : later
-29) [https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder]( https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder) , https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder
+29) [https://www.nuget.org/packages/JsonDerivedTypeGenerator]( https://www.nuget.org/packages/JsonDerivedTypeGenerator) , https://www.nuget.org/packages/JsonDerivedTypeGenerator
Why I have not tested : later
-30) [https://www.nuget.org/packages/X39.Roslyn.Property]( https://www.nuget.org/packages/X39.Roslyn.Property) , https://www.nuget.org/packages/X39.Roslyn.Property
+30) [https://www.nuget.org/packages/MappingSourceGenerator]( https://www.nuget.org/packages/MappingSourceGenerator) , https://www.nuget.org/packages/MappingSourceGenerator
Why I have not tested : later
-31) [https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/]( https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/) , https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/
+31) [https://www.nuget.org/packages/Optikode.FluentMapper]( https://www.nuget.org/packages/Optikode.FluentMapper) , https://www.nuget.org/packages/Optikode.FluentMapper
Why I have not tested : later
-32) [https://www.nuget.org/packages/ZeroReflection.Mediator.Generator]( https://www.nuget.org/packages/ZeroReflection.Mediator.Generator) , https://www.nuget.org/packages/ZeroReflection.Mediator.Generator
+32) [https://www.nuget.org/packages/SoapProxyPocoGenerator]( https://www.nuget.org/packages/SoapProxyPocoGenerator) , https://www.nuget.org/packages/SoapProxyPocoGenerator
Why I have not tested : later
-33) [Maui.BindableProperty.Generator]( https://github.com/rrmanzano/maui-bindableproperty-generator) , https://github.com/rrmanzano/maui-bindableproperty-generator
+33) [https://www.nuget.org/packages/TinyMediator]( https://www.nuget.org/packages/TinyMediator) , https://www.nuget.org/packages/TinyMediator
Why I have not tested : later
-34) [Minerals.AutoCQRS]( https://github.com/SzymonHalucha/Minerals.AutoCQRS) , https://github.com/SzymonHalucha/Minerals.AutoCQRS
+34) [https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder]( https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder) , https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder
Why I have not tested : later
-35) [Minerals.AutoDomain]( https://github.com/SzymonHalucha/Minerals.AutoDomain) , https://github.com/SzymonHalucha/Minerals.AutoDomain
+35) [https://www.nuget.org/packages/X39.Roslyn.Property]( https://www.nuget.org/packages/X39.Roslyn.Property) , https://www.nuget.org/packages/X39.Roslyn.Property
Why I have not tested : later
-36) [observable]( https://github.com/notanaverageman/Bindables) , https://github.com/notanaverageman/Bindables
+36) [https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/]( https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/) , https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/
Why I have not tested : later
-37) [RazorGen]( https://github.com/dartk/RazorGen) , https://github.com/dartk/RazorGen
+37) [https://www.nuget.org/packages/ZeroReflection.Mediator.Generator]( https://www.nuget.org/packages/ZeroReflection.Mediator.Generator) , https://www.nuget.org/packages/ZeroReflection.Mediator.Generator
Why I have not tested : later
-38) [SourceCrafter.HttpServiceClientGenerator]( https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/) , https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/
+38) [Maui.BindableProperty.Generator]( https://github.com/rrmanzano/maui-bindableproperty-generator) , https://github.com/rrmanzano/maui-bindableproperty-generator
Why I have not tested : later
-39) [ST.NSwag.ServerSourceGenerator]( https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator) , https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator
+39) [Minerals.AutoCQRS]( https://github.com/SzymonHalucha/Minerals.AutoCQRS) , https://github.com/SzymonHalucha/Minerals.AutoCQRS
Why I have not tested : later
-40) [StrongInject]( https://github.com/YairHalberstadt/stronginject/) , https://github.com/YairHalberstadt/stronginject/
+40) [Minerals.AutoDomain]( https://github.com/SzymonHalucha/Minerals.AutoDomain) , https://github.com/SzymonHalucha/Minerals.AutoDomain
+
+Why I have not tested : later
+
+
+
+41) [observable]( https://github.com/notanaverageman/Bindables) , https://github.com/notanaverageman/Bindables
+
+Why I have not tested : later
+
+
+
+42) [RazorGen]( https://github.com/dartk/RazorGen) , https://github.com/dartk/RazorGen
+
+Why I have not tested : later
+
+
+
+43) [SourceCrafter.HttpServiceClientGenerator]( https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/) , https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/
+
+Why I have not tested : later
+
+
+
+44) [ST.NSwag.ServerSourceGenerator]( https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator) , https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator
+
+Why I have not tested : later
+
+
+
+45) [StrongInject]( https://github.com/YairHalberstadt/stronginject/) , https://github.com/YairHalberstadt/stronginject/
Why I have not tested : later
diff --git a/v2/Generator/all.csv b/v2/Generator/all.csv
index 419216675..f0b893c78 100644
--- a/v2/Generator/all.csv
+++ b/v2/Generator/all.csv
@@ -251,3 +251,4 @@ Nr,Key,Source,Category
250,Facet.Search, https://github.com/Tim-Maes/Facet.Search,Database
251,OrderedBuildersGenerator, https://github.com/Georgiy-Petrov/OrderedBuildersGenerator,Builder
252,RSCG_idempotency, https://github.com/ignatandrei/RSCG_idempotency,Idempotency
+253,FastCloner, https://github.com/lofcz/FastCloner/,Clone
diff --git a/v2/RSCGExamplesData/GeneratorDataRec.json b/v2/RSCGExamplesData/GeneratorDataRec.json
index eeda72f96..3de08bb7c 100644
--- a/v2/RSCGExamplesData/GeneratorDataRec.json
+++ b/v2/RSCGExamplesData/GeneratorDataRec.json
@@ -1527,5 +1527,12 @@
"Category":45,
"dtStart":"2026-01-28T00:00:00",
"show":true
+ },
+ {
+
+ "ID":"FastCloner",
+ "Category":29,
+ "dtStart":"2026-02-01T00:00:00",
+ "show":true
}
]
\ No newline at end of file
diff --git a/v2/RSCGExamplesData/NoExample.json b/v2/RSCGExamplesData/NoExample.json
index 52666de4b..f2b0349c7 100644
--- a/v2/RSCGExamplesData/NoExample.json
+++ b/v2/RSCGExamplesData/NoExample.json
@@ -997,16 +997,6 @@
"name":"https://github.com/sebastienros/comptime",
"why":"later"
},
- {
- "ID":254,
- "name":"https://github.com/skarllot/EnumUtilities",
- "why":"later"
- },
- {
- "ID":255,
- "name":"https://github.com/lofcz/FastCloner/",
- "why":"later"
- },
{"ID":256,
"name":"https://github.com/ANcpLua/ErrorOrX",
"why":"later"
diff --git a/v2/book/examples/FastCloner.html b/v2/book/examples/FastCloner.html
new file mode 100644
index 000000000..50164d31d
--- /dev/null
+++ b/v2/book/examples/FastCloner.html
@@ -0,0 +1,79 @@
+
+
RSCG nr 253 : FastCloner
+
+Info
+Nuget : https://www.nuget.org/packages/FastCloner/
+
+You can find more details at : https://github.com/lofcz/FastCloner/
+
+Author :Matěj Štágl
+
+Source: https://github.com/lofcz/FastCloner/
+
+About
+
+Cloning objects
+
+
+ How to use
+
+
+ Add reference to the FastCloner in the csproj
+
+
+
+This was for me the starting code
+
+
+ I have coded the file Program.cs
+
+
+
+
+
+ I have coded the file Person.cs
+
+
+
+ And here are the generated files
+
+
+ The file generated is ClonableAttribute.g.cs
+
+
+
+
+ The file generated is CloneIgnoreAttribute.g.cs
+
+
+
+
+ The file generated is IClonable.g.cs
+
+
+
+
+ The file generated is Person.g.cs
+
+
+
+
+ The file generated is CloneData_Person_FastDeepClone.g.cs
+
+
+
+
+ You can download the code and this page as pdf from
+
+ https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner
+
+
+
+
+
+ You can see the whole list at
+
+ https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG
+
+
+
diff --git a/v2/book/list.html b/v2/book/list.html
index d94801c1a..61b5f45b6 100644
--- a/v2/book/list.html
+++ b/v2/book/list.html
@@ -17,7 +17,7 @@
-This is the list of 252 RSCG with examples =>
+This is the list of 253 RSCG with examples =>
diff --git a/v2/book/pandocHTML.yaml b/v2/book/pandocHTML.yaml
index 107de6632..dd50d4b06 100644
--- a/v2/book/pandocHTML.yaml
+++ b/v2/book/pandocHTML.yaml
@@ -266,6 +266,7 @@ input-files:
- examples/Facet.Search.html
- examples/OrderedBuildersGenerator.html
- examples/RSCG_idempotency.html
+- examples/FastCloner.html
# or you may use input-file: with a single value
# defaults:
diff --git a/v2/rscg_examples/FastCloner/description.json b/v2/rscg_examples/FastCloner/description.json
new file mode 100644
index 000000000..3b7489e83
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/description.json
@@ -0,0 +1,22 @@
+{
+ "generator":{
+ "name":"FastCloner",
+ "nuget":[
+ "https://www.nuget.org/packages/FastCloner/"
+ ],
+ "link":"https://github.com/lofcz/FastCloner/",
+ "author":"Matěj Štágl",
+ "source":"https://github.com/lofcz/FastCloner/"
+ },
+ "data":{
+ "goodFor":["Cloning objects"],
+ "csprojDemo":"CloneData.csproj",
+ "csFiles":["Program.cs","Person.cs"],
+ "excludeDirectoryGenerated":[""],
+ "includeAdditionalFiles":[""]
+ },
+ "links":{
+ "blog":"",
+ "video":""
+ }
+}
\ No newline at end of file
diff --git a/v2/rscg_examples/FastCloner/nuget.txt b/v2/rscg_examples/FastCloner/nuget.txt
new file mode 100644
index 000000000..9ada3d75d
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/nuget.txt
@@ -0,0 +1 @@
+Fast deep cloning library for .NET 8+. Supports both deep and shallow cloning. Extensively tested, focused on performance and stability even on complicated object graphs.
\ No newline at end of file
diff --git a/v2/rscg_examples/FastCloner/readme.txt b/v2/rscg_examples/FastCloner/readme.txt
new file mode 100644
index 000000000..d4bb1bb02
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/readme.txt
@@ -0,0 +1,372 @@
+
+
+

+
+# FastCloner
+
+**The fastest and most reliable .NET deep cloning library.**
+
+[](https://www.nuget.org/packages/FastCloner)
+[](https://www.nuget.org/packages/FastCloner.SourceGenerator)
+[](https://opensource.org/license/mit)
+
+The fastest deep cloning library, supporting anything from
.NET 4.6 to modern
.NET 10+ with no dependencies. FastCloner uses a unique source generator capable of analyzing object graphs and cloning objects without explicit annotations. For types that cannot be cloned, such as
HttpClient, FastCloner uses a highly optimized reflection-based fallback. Zero dependencies, blazingly fast, built for developers who need cloning that _just works_.
+
+
+
+## ✨ Features
+
+- **The Fastest** - [Benchmarked](https://github.com/lofcz/FastCloner?tab=readme-ov-file#performance) to beat all other libraries with third-party independent benchmarks verifying the performance. **300x** speed-up vs `Newtonsoft.Json` and **160x** vs `System.Text.Json`
+- **The Most Correct** - Cloning objects is hard: ``, `abstract`, immutables, read-only, pointers, circular dependencies, deeply nested graphs.. we have over [700 tests](https://github.com/lofcz/FastCloner/tree/next/FastCloner.Tests) verifying correct behavior in these cases and we are transparent about the [limitations](https://github.com/lofcz/FastCloner?tab=readme-ov-file#limitations)
+- **Novel Algorithm** - FastCloner recognizes that certain cloning code cannot be generated in certain scenarios and uses highly optimized reflection-based approach instead for these types - this only happens for the members that need this, not entire objects
+- **Zero-Overhead Abstractions** - The generator uses call site analysis to eliminate indirection via inlining of generated methods. This ensures the generated code behaves like a single optimized block, just as if you hand-wrote it for maximum performance.
+- **Embeddable** - FastCloner has no dependencies outside the standard library. Source generator and reflection parts can be installed independently
+- **Gentle & Caring** - FastCloner detects standard attributes like `[NonSerialized]` making it easy to try without polluting codebase with custom attributes. Type usage graph for generics is built automatically producing performant cloning code without manual annotations
+- **Easy Integration** - `FastDeepClone()` for AOT cloning, `DeepClone()` for reflection cloning. That's it!
+- **Production Ready** - Used by projects like [Jobbr](https://jobbr.readthedocs.io/en/latest), [TarkovSP](https://sp-tarkov.com), and [WinPaletter](https://github.com/Abdelrhman-AK/WinPaletter), with over [200K downloads on NuGet](https://www.nuget.org/packages/fastCloner#usedby-body-tab)
+## Getting Started
+
+Install the package via NuGet:
+
+```powershell
+dotnet add package FastCloner # Reflection
+dotnet add package FastCloner.SourceGenerator # AOT
+```
+
+### Clone via Reflection
+
+```csharp
+using FastCloner.Code;
+var clone = FastCloner.FastCloner.DeepClone(new { Hello = "world", MyList = new List { 1 } });
+```
+
+For convenience, add the following method to your project. We intentionally don't ship this extension to make switching from/to FastCloner easier:
+
+```cs
+[return: NotNullIfNotNull(nameof(obj))]
+public static T? DeepClone(this T? obj)
+{
+ return FastCloner.FastCloner.DeepClone(obj);
+}
+```
+
+### Clone via Source Generator
+
+```cs
+[FastClonerClonable]
+public class GenericClass
+{
+ public T Value { get; set; }
+}
+
+public class MyClass
+{
+ public string StrVal { get; set; }
+}
+
+// [FastClonerClonable] is only required on types where you call .FastDeepClone()
+var original = new GenericClass> { Value = new List { new MyClass { StrVal = "hello world" } } };
+var clone = original.FastDeepClone();
+```
+
+## Advanced Usage
+
+### Customizing Clone Behavior
+
+FastCloner supports behavior attributes that control how types and members are cloned:
+
+| Behavior | Effect |
+|----------|--------|
+| `Clone` | Deep recursive copy |
+| `Reference` | Return original instance unchanged |
+| `Shallow` | `MemberwiseClone` without recursion |
+| `Ignore` | Return `default` |
+
+#### Compile-time (Attributes)
+
+Apply attributes to **types** or **members**. Member-level attributes override type-level:
+
+```csharp
+[FastClonerReference] // Type-level: all usages preserve reference
+public class SharedService { }
+
+public class MyClass
+{
+ public SharedService Svc { get; set; } // Uses type-level → Reference
+
+ [FastClonerBehavior(CloneBehavior.Clone)] // Member-level override → Clone
+ public SharedService ClonedSvc { get; set; }
+
+ [FastClonerIgnore] // → null/default
+ public CancellationToken Token { get; set; }
+
+ [FastClonerShallow] // → Reference copied directly
+ public ParentNode Parent { get; set; }
+}
+```
+
+Shorthand attributes: `[FastClonerIgnore]`, `[FastClonerShallow]`, `[FastClonerReference]`
+Explicit: `[FastClonerBehavior(CloneBehavior.X)]`
+
+#### Runtime (Reflection only)
+
+Configure type behavior dynamically. Runtime settings are checked **before** attributes:
+
+```csharp
+FastCloner.FastCloner.SetTypeBehavior(CloneBehavior.Reference);
+FastCloner.FastCloner.ClearTypeBehavior(); // Reset one
+FastCloner.FastCloner.ClearAllTypeBehaviors(); // Reset all
+```
+
+> **Note**: Changing runtime behavior invalidates the cache. Try to configure once at startup, or use compile-time attributes when possible.
+
+#### Precedence (highest to lowest)
+
+1. Runtime `SetTypeBehavior()`
+2. Member-level attribute
+3. Type-level attribute on member's type
+4. Default behavior
+
+### Cache Management
+
+```csharp
+FastCloner.FastCloner.ClearCache(); // Free memory from reflection cache
+```
+
+
+### Generic Classes and Abstract Types
+
+The source generator automatically discovers which concrete types your generic classes and abstract hierarchies are used with:
+
+**Generic types** - The generator scans your codebase for usages like `MyClass` or `MyClass` and generates specialized cloning code:
+
+```cs
+[FastClonerClonable]
+public class Container
+{
+ public T Value { get; set; }
+}
+
+// Source generator finds this usage and generates cloning code for Container
+var container = new Container { Value = 42 };
+var clone = container.FastDeepClone();
+```
+
+**Abstract classes** - The generator automatically finds all concrete derived types in your codebase:
+
+```cs
+[FastClonerClonable]
+public abstract class Animal
+{
+ public string Name { get; set; }
+}
+
+public class Dog : Animal
+{
+ public string Breed { get; set; }
+}
+
+public class Cat : Animal
+{
+ public bool IsIndoor { get; set; }
+}
+
+// Cloning via the abstract type works - the generator discovered Dog and Cat
+Animal pet = new Dog { Name = "Buddy", Breed = "Labrador" };
+Animal clone = pet.FastDeepClone(); // Returns a cloned Dog
+```
+
+### Explicitly Including Types
+
+When a type is only used dynamically (not visible at compile time), use `[FastClonerInclude]` to ensure the generator creates cloning code for it:
+
+```cs
+[FastClonerClonable]
+[FastClonerInclude(typeof(Customer), typeof(Order))] // Include types used dynamically
+public class Wrapper
+{
+ public T Value { get; set; }
+}
+```
+
+For abstract classes, you can also use `[FastClonerInclude]` to add derived types that aren't in your codebase (e.g., from external assemblies):
+
+```cs
+[FastClonerClonable]
+[FastClonerInclude(typeof(ExternalPlugin))] // Add external derived types
+public abstract class Plugin
+{
+ public string Name { get; set; }
+}
+```
+
+### Custom Cloning Context
+
+For advanced scenarios, create a custom cloning context to explicitly register types you want to clone. This is useful when you need a centralized cloning entry point or want to clone types from external assemblies:
+
+```cs
+public class Customer
+{
+ public string Name { get; set; }
+ public Address Address { get; set; }
+}
+
+public class Address
+{
+ public string City { get; set; }
+}
+
+// Create a context and register types to clone
+[FastClonerRegister(typeof(Customer), typeof(Address))]
+public partial class MyCloningContext : FastClonerContext { }
+```
+
+Using the context:
+```cs
+MyCloningContext ctx = new MyCloningContext();
+
+// Clone with compile-time type safety
+Customer clone = ctx.Clone(original);
+
+// Check if a type is handled by this context
+bool handled = ctx.IsHandled(typeof(Customer)); // true
+
+// Try to clone (returns false for unregistered types)
+if (ctx.TryClone(obj, out var cloned))
+{
+ // Successfully cloned
+}
+```
+
+### Nullability Trust
+
+The generator can be instructed to fully trust nullability annotations. When `[FastClonerTrustNullability]` attribute is applied, FastCloner will skip null checks for non-nullable reference types (e.g., `string` vs `string?`), assuming the contract is valid.
+
+```csharp
+[FastClonerClonable]
+[FastClonerTrustNullability] // Skip null checks for non-nullable members
+public class HighPerformanceDto
+{
+ public string Id { get; set; } // No null check generated
+ public string? Details { get; set; } // Null check still generated
+}
+```
+
+This eliminates branching and improves performance slightly. If a non-nullable property is actually null at runtime, this may result in a `NullReferenceException` in the generated code.
+
+### Safe Handles
+
+When you have a struct that acts as a handle to internal state or a singleton (where identity matters), use `[FastClonerSafeHandle]`. This tells FastCloner to shallow-copy the readonly fields instead of deep-cloning them, preserving the original internal references.
+
+```csharp
+[FastClonerSafeHandle]
+public struct MyHandle
+{
+ private readonly object _internalState; // Preserved (shared), not deep cloned
+ public int Value; // Cloned normally
+}
+```
+
+This is the default behavior for system types like `System.Net.Http.Headers.HeaderDescriptor` to prevent breaking internal framework logic. Use this attribute if your custom structs behave similarly.
+
+### Identity Preservation
+
+By default, FastCloner prioritizes performance by not tracking object identity during cloning. This means if the same object instance appears multiple times in your graph, each reference becomes a separate clone.
+
+For scenarios where you need to preserve object identity (e.g., shared references should remain shared in the clone), use `[FastClonerPreserveIdentity]`:
+
+```csharp
+[FastClonerClonable]
+[FastClonerPreserveIdentity] // Enable identity tracking for this type
+public class Document
+{
+ public User Author { get; set; }
+ public User LastEditor { get; set; } // May reference the same User as Author
+}
+
+var doc = new Document { Author = user, LastEditor = user };
+var clone = doc.FastDeepClone();
+// clone.Author == clone.LastEditor (same cloned instance)
+```
+
+The attribute can be applied at type level or member level:
+
+```csharp
+[FastClonerClonable]
+public class Container
+{
+ // Only this member tracks identity
+ [FastClonerPreserveIdentity]
+ public List Nodes { get; set; }
+
+ // This member clones without identity tracking (faster)
+ public List- Items { get; set; }
+}
+```
+
+You can also explicitly disable identity preservation for a member when the type has it enabled:
+
+```csharp
+[FastClonerClonable]
+[FastClonerPreserveIdentity]
+public class Graph
+{
+ public Node Root { get; set; }
+
+ [FastClonerPreserveIdentity(false)] // Opt out for this member
+ public List Labels { get; set; }
+}
+```
+
+> **Note**: Identity preservation adds overhead for tracking seen objects. Circular references are always detected regardless of this setting.
+
+## Limitations
+
+- Cloning unmanaged resources, such as `IntPtr`s may result in side-effects, as there is no metadata for the length of buffers such pointers often point to.
+- `ReadOnly` and `Immutable` collections are tested to behave well if they follow basic conventions.
+- With reflection, cloning deeply nested objects switches from recursion to iterative approach on the fly. The threshold for this can be configured by changing `FastCloner.MaxRecursionDepth`, iterative approach is marginally slower.
+
+## Performance
+
+FastCloner is the _fastest_ deep cloning library. It was benchmarked against every library capable of cloning objects I've been able to find:
+```md
+BenchmarkDotNet v0.15.8, Windows 11 (10.0.26220.7271)
+Intel Core i7-8700 CPU 3.20GHz (Max: 3.19GHz) (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
+.NET SDK 10.0.100
+
+| Method | Mean | Error | StdDev | Median | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio |
+|------------------- |------------:|-----------:|-----------:|------------:|-------:|--------:|-----:|-------:|-------:|----------:|------------:|
+| FastCloner | 10.25 ns | 0.219 ns | 0.183 ns | 10.24 ns | 1.00 | 0.02 | 1 | 0.0115 | - | 72 B | 1.00 |
+| DeepCopier | 23.37 ns | 0.448 ns | 0.582 ns | 23.29 ns | 2.28 | 0.07 | 2 | 0.0115 | - | 72 B | 1.00 |
+| DeepCopy | 40.56 ns | 3.589 ns | 10.583 ns | 43.56 ns | 3.96 | 1.03 | 3 | 0.0115 | - | 72 B | 1.00 |
+| DeepCopyExpression | 126.05 ns | 3.355 ns | 9.892 ns | 129.32 ns | 12.30 | 0.98 | 4 | 0.0356 | - | 224 B | 3.11 |
+| AutoMapper | 135.07 ns | 6.097 ns | 17.976 ns | 143.16 ns | 13.18 | 1.76 | 5 | 0.0114 | - | 72 B | 1.00 |
+| DeepCloner | 261.42 ns | 14.113 ns | 41.614 ns | 282.99 ns | 25.51 | 4.06 | 6 | 0.0367 | - | 232 B | 3.22 |
+| ObjectCloner | 336.89 ns | 14.249 ns | 42.012 ns | 355.28 ns | 32.87 | 4.12 | 7 | 0.0534 | - | 336 B | 4.67 |
+| MessagePack | 499.71 ns | 20.831 ns | 61.420 ns | 524.63 ns | 48.75 | 6.02 | 8 | 0.0315 | - | 200 B | 2.78 |
+| ProtobufNet | 898.60 ns | 34.925 ns | 102.978 ns | 934.13 ns | 87.67 | 10.11 | 9 | 0.0782 | - | 496 B | 6.89 |
+| NClone | 904.75 ns | 33.559 ns | 98.949 ns | 919.05 ns | 88.27 | 9.73 | 9 | 0.1488 | - | 936 B | 13.00 |
+| SystemTextJson | 1,687.39 ns | 70.341 ns | 201.821 ns | 1,766.14 ns | 164.63 | 19.79 | 10 | 0.1755 | - | 1120 B | 15.56 |
+| NewtonsoftJson | 3,147.66 ns | 109.097 ns | 321.676 ns | 3,269.96 ns | 307.10 | 31.67 | 11 | 0.7286 | 0.0038 | 4592 B | 63.78 |
+| FastDeepCloner | 3,970.90 ns | 155.503 ns | 458.505 ns | 4,128.09 ns | 387.41 | 45.01 | 12 | 0.2060 | - | 1304 B | 18.11 |
+| AnyCloneBenchmark | 5,102.40 ns | 239.089 ns | 704.959 ns | 5,370.93 ns | 497.81 | 68.98 | 13 | 0.9003 | - | 5656 B | 78.56 |
+```
+
+You can run the benchmark [locally](https://github.com/lofcz/FastCloner/blob/next/src/FastCloner.Benchmark/BenchMinimal.cs) to verify the results. There are also [third-party benchmarks](https://github.com/AnderssonPeter/Dolly?tab=readme-ov-file#benchmarks) in some of the competing libraries confirming these results.
+
+### Build Times & IDE Performance
+
+FastCloner's source generator is carefully engineered for zero impact on IDE responsiveness and swift build times.
+
+- **Tiered Caching**: We use `ForAttributeWithMetadataName` for highly efficient filtering and strictly separate syntax analysis from code generation.
+- **Smart Models**: Roslyn symbols are immediately projected into lightweight, cache-friendly `TypeModel` records. The generator never holds onto compilation symbols, allowing the incremental pipeline to perfectly cache previous results.
+- **No Compilation Trashing**: We avoid expensive `CompilationProvider` combinations that break generator caching. Code generation only re-runs when your data models actually change, not on every keystroke or unrelated edit.
+- **Allocation Free**: `EquatableArray` collections ensure that change detection is instant and creates no garbage collection pressure.
+
+## Contributing
+
+If you are looking to add new functionality, please open an issue first to verify your intent is aligned with the scope of the project. The library is covered by over [700 tests](https://github.com/lofcz/FastCloner/tree/next/src/FastCloner.Tests), please run them against your work before proposing changes. When reporting issues, providing a minimal reproduction we can plug in as a new test greatly reduces turnaround time.
+
+## License
+
+This library is licensed under the [MIT](https://github.com/lofcz/FastCloner/blob/next/LICENSE) license. 💜
diff --git a/v2/rscg_examples/FastCloner/src/.tours/FastCloner.tour b/v2/rscg_examples/FastCloner/src/.tours/FastCloner.tour
new file mode 100644
index 000000000..192ca1fea
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/src/.tours/FastCloner.tour
@@ -0,0 +1,60 @@
+
+{
+ "$schema": "https://aka.ms/codetour-schema",
+ "title": "FastCloner",
+ "steps":
+ [
+ {
+ "file": "CloneData/CloneData.csproj",
+ "description": "First, we add Nuget [FastCloner](https://www.nuget.org/packages/FastCloner/) in csproj ",
+ "pattern": "FastCloner"
+ }
+
+ ,{
+ "file": "CloneData/Person.cs",
+ "description": "File Person.cs ",
+ "pattern": "this is the code"
+ }
+
+ ,{
+ "file": "CloneData/Program.cs",
+ "description": "File Program.cs \r\n>> dotnet run --project CloneData/CloneData.csproj ",
+ "pattern": "this is the code"
+ }
+
+
+ ,{
+ "file": "CloneData/obj/GX/FastCloner.SourceGenerator/FastCloner.SourceGenerator.FastClonerIncrementalGenerator/CloneData_Person_FastDeepClone.g.cs",
+ "description": "Generated File 5 from 5 : CloneData_Person_FastDeepClone.g.cs ",
+ "line": 1
+ }
+
+ ,{
+ "file": "CloneData/obj/GX/Dolly/Dolly.DollyGenerator/Person.g.cs",
+ "description": "Generated File 4 from 5 : Person.g.cs ",
+ "line": 1
+ }
+
+ ,{
+ "file": "CloneData/obj/GX/Dolly/Dolly.DollyGenerator/IClonable.g.cs",
+ "description": "Generated File 3 from 5 : IClonable.g.cs ",
+ "line": 1
+ }
+
+ ,{
+ "file": "CloneData/obj/GX/Dolly/Dolly.DollyGenerator/CloneIgnoreAttribute.g.cs",
+ "description": "Generated File 2 from 5 : CloneIgnoreAttribute.g.cs ",
+ "line": 1
+ }
+
+ ,{
+ "file": "CloneData/obj/GX/Dolly/Dolly.DollyGenerator/ClonableAttribute.g.cs",
+ "description": "Generated File 1 from 5 : ClonableAttribute.g.cs ",
+ "line": 1
+ }
+
+ ],
+
+ "ref": "main"
+
+}
\ No newline at end of file
diff --git a/v2/rscg_examples/FastCloner/src/CloneData.sln b/v2/rscg_examples/FastCloner/src/CloneData.sln
new file mode 100644
index 000000000..3373619ab
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/src/CloneData.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.13.35507.96 d17.13
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CloneData", "CloneData\CloneData.csproj", "{CA3E929D-2578-48A5-B098-13A7B4D81D03}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {CA3E929D-2578-48A5-B098-13A7B4D81D03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CA3E929D-2578-48A5-B098-13A7B4D81D03}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CA3E929D-2578-48A5-B098-13A7B4D81D03}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CA3E929D-2578-48A5-B098-13A7B4D81D03}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {324EECCB-2C9E-452F-84B0-CCCD40DAA208}
+ EndGlobalSection
+EndGlobal
diff --git a/v2/rscg_examples/FastCloner/src/CloneData/CloneData.csproj b/v2/rscg_examples/FastCloner/src/CloneData/CloneData.csproj
new file mode 100644
index 000000000..6c6a82264
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/src/CloneData/CloneData.csproj
@@ -0,0 +1,18 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+ true
+ $(BaseIntermediateOutputPath)\GX
+
+
+
+
+
+
+
diff --git a/v2/rscg_examples/FastCloner/src/CloneData/Person.cs b/v2/rscg_examples/FastCloner/src/CloneData/Person.cs
new file mode 100644
index 000000000..5b8e1d24c
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/src/CloneData/Person.cs
@@ -0,0 +1,14 @@
+
+using FastCloner.SourceGenerator.Shared;
+
+namespace CloneData;
+[FastClonerClonable]
+public partial class Person
+{
+ public string FirstName { get; set; } = "";
+ public string LastName { get; set; } = "";
+ public int Age { get; set; }
+ public string Name() => $"{FirstName} {LastName}";
+
+ public Person[] Childs { get; set; } = [];
+}
diff --git a/v2/rscg_examples/FastCloner/src/CloneData/Program.cs b/v2/rscg_examples/FastCloner/src/CloneData/Program.cs
new file mode 100644
index 000000000..eafcad3aa
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/src/CloneData/Program.cs
@@ -0,0 +1,9 @@
+using CloneData;
+
+Console.WriteLine("Hello, World!");
+Person p = new ();
+p.FirstName = "Andrei";
+p.LastName = "Ignat";
+p.Age = 54;
+var p1=p.FastDeepClone();
+Console.WriteLine(p1.Name());
\ No newline at end of file
diff --git a/v2/rscg_examples/FastCloner/video.json b/v2/rscg_examples/FastCloner/video.json
new file mode 100644
index 000000000..e06d50f74
--- /dev/null
+++ b/v2/rscg_examples/FastCloner/video.json
@@ -0,0 +1,39 @@
+{
+ "scriptName": "FastCloner",
+ "steps":
+[
+ {"typeStep":"exec","arg":"clipchamp.exe launch"},
+ {"typeStep":"text","arg": "Welcome to Roslyn Examples"},
+ {"typeStep":"text","arg":"If you want to see more examples , see List Of RSCG"},
+ {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG"},
+ {"typeStep":"text","arg": "My name is Andrei Ignat and I am deeply fond of Roslyn Source Code Generator. "},
+
+{"typeStep":"text","arg": "Today I will present FastCloner . Cloning objects ."},
+{"typeStep":"browser","arg":"https://www.nuget.org/packages/FastCloner/"},
+{"typeStep":"text","arg": "The whole example is here"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner"},
+{"typeStep":"text","arg": "You can download the code from here"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner#download-example-net--c-"},
+{"typeStep":"text","arg":"Here is the code downloaded "},
+{"typeStep":"exec","arg":"explorer.exe /select,D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\FastCloner\\src\\CloneData.sln"},
+{"typeStep":"text","arg": "So , let's start the project with Visual Studio Code "},
+{"typeStep":"stepvscode","arg": "-n D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\FastCloner\\src"},
+
+{"typeStep":"text","arg": "To use it ,you will put the Nuget FastCloner into the csproj "},
+
+{"typeStep":"stepvscode","arg": "-r -g D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\FastCloner\\src\\CloneData\\CloneData.csproj"},
+
+{"typeStep":"text","arg": "And now I will show you an example of using FastCloner"},
+
+{"typeStep":"hide","arg": "now execute the tour in VSCode"},
+{"typeStep":"tour", "arg": "src/.tours/"},
+{"typeStep":"text","arg":" And I will execute the project"},
+{"typeStep":"showproj", "arg":"CloneData.csproj"},
+{"typeStep":"text","arg":" This concludes the project"},
+{"typeStep":"waitseconds","arg":"30"},
+{"typeStep":"text","arg": "Remember, you can download the code from here"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner#download-example-net--c-",
+SpeakTest=" "},
+{"typeStep":"waitseconds","arg":"30"},
+]
+}
diff --git "a/v2/rscg_examples_site/docs/Authors/Mat\304\233j_\305\240t\303\241gl.md" "b/v2/rscg_examples_site/docs/Authors/Mat\304\233j_\305\240t\303\241gl.md"
new file mode 100644
index 000000000..bd8a4621c
--- /dev/null
+++ "b/v2/rscg_examples_site/docs/Authors/Mat\304\233j_\305\240t\303\241gl.md"
@@ -0,0 +1,7 @@
+# Author : Matěj Štágl
+
+Number RSCG: 1
+
+
+ 1 [FastCloner](/docs/FastCloner) [](https://www.nuget.org/packages/FastCloner/)  2026-02-01
+
diff --git a/v2/rscg_examples_site/docs/Categories/Clone.md b/v2/rscg_examples_site/docs/Categories/Clone.md
index e510c5e16..67138806c 100644
--- a/v2/rscg_examples_site/docs/Categories/Clone.md
+++ b/v2/rscg_examples_site/docs/Categories/Clone.md
@@ -1,10 +1,12 @@
Clone
-Number RSCG: 3
+Number RSCG: 4
1 [CopyTo](/docs/CopyTo) [](https://www.nuget.org/packages/RhoMicro.CodeAnalysis.CopyToGenerator)  2024-02-19
2 [Dolly](/docs/Dolly) [](https://www.nuget.org/packages/Dolly/)  2024-12-03
- 3 [UtilityVerse.Copy](/docs/UtilityVerse.Copy) [](https://www.nuget.org/packages/UtilityVerse.Copy/)  2025-08-15
+ 3 [FastCloner](/docs/FastCloner) [](https://www.nuget.org/packages/FastCloner/)  2026-02-01
+
+ 4 [UtilityVerse.Copy](/docs/UtilityVerse.Copy) [](https://www.nuget.org/packages/UtilityVerse.Copy/)  2025-08-15
\ No newline at end of file
diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveClone.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveClone.mdx
index 4268b9037..36544b270 100644
--- a/v2/rscg_examples_site/docs/Categories/_PrimitiveClone.mdx
+++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveClone.mdx
@@ -4,7 +4,9 @@
2 [Dolly](/docs/Dolly) [](https://www.nuget.org/packages/Dolly/)  2024-12-03
- 3 [UtilityVerse.Copy](/docs/UtilityVerse.Copy) [](https://www.nuget.org/packages/UtilityVerse.Copy/)  2025-08-15
+ 3 [FastCloner](/docs/FastCloner) [](https://www.nuget.org/packages/FastCloner/)  2026-02-01
+
+ 4 [UtilityVerse.Copy](/docs/UtilityVerse.Copy) [](https://www.nuget.org/packages/UtilityVerse.Copy/)  2025-08-15
### See category
diff --git a/v2/rscg_examples_site/docs/NoExamples.md b/v2/rscg_examples_site/docs/NoExamples.md
index 2b83782b2..5c9a9f2b2 100644
--- a/v2/rscg_examples_site/docs/NoExamples.md
+++ b/v2/rscg_examples_site/docs/NoExamples.md
@@ -266,519 +266,539 @@ Why I have not put example: issue opened
Why I have not put example: too complicated
-66)https://github.com/atc-net/atc-source-generators https://github.com/atc-net/atc-source-generators
+66)https://github.com/ANcpLua/ErrorOrX https://github.com/ANcpLua/ErrorOrX
Why I have not put example: later
-67)https://github.com/Atoen/TextLocalizer https://github.com/Atoen/TextLocalizer
+67)https://github.com/atc-net/atc-source-generators https://github.com/atc-net/atc-source-generators
+
+Why I have not put example: later
+
+68)https://github.com/Atoen/TextLocalizer https://github.com/Atoen/TextLocalizer
Why I have not put example: too complicated
-68)https://github.com/Aymen83/AspectWeaver https://github.com/Aymen83/AspectWeaver
+69)https://github.com/Aymen83/AspectWeaver https://github.com/Aymen83/AspectWeaver
Why I have not put example: later
-69)https://github.com/bjornhellander/TestInheritanceGenerator https://github.com/bjornhellander/TestInheritanceGenerator
+70)https://github.com/bjornhellander/TestInheritanceGenerator https://github.com/bjornhellander/TestInheritanceGenerator
Why I have not put example: too complicated
-70)https://github.com/borisdj/CsCodeGenerator https://github.com/borisdj/CsCodeGenerator
+71)https://github.com/borisdj/CsCodeGenerator https://github.com/borisdj/CsCodeGenerator
Why I have not put example: later
-71)https://github.com/buchmiet/FastFsm https://github.com/buchmiet/FastFsm
+72)https://github.com/buchmiet/FastFsm https://github.com/buchmiet/FastFsm
Why I have not put example: later
-72)https://github.com/chickensoft-games/LogicBlocks https://github.com/chickensoft-games/LogicBlocks
+73)https://github.com/chickensoft-games/LogicBlocks https://github.com/chickensoft-games/LogicBlocks
Why I have not put example: later
-73)https://github.com/dgmjr-io/InterfaceGenerator https://github.com/dgmjr-io/InterfaceGenerator
+74)https://github.com/dgmjr-io/InterfaceGenerator https://github.com/dgmjr-io/InterfaceGenerator
Why I have not put example: issue opened
-74)https://github.com/eddievelasquez/IntercodeToolbox https://github.com/eddievelasquez/IntercodeToolbox
+75)https://github.com/eddievelasquez/IntercodeToolbox https://github.com/eddievelasquez/IntercodeToolbox
Why I have not put example: too complicated
-75)https://github.com/FoundatioFx/Foundatio.Mediator https://github.com/FoundatioFx/Foundatio.Mediator
+76)https://github.com/FoundatioFx/Foundatio.Mediator https://github.com/FoundatioFx/Foundatio.Mediator
Why I have not put example: later
-76)https://github.com/GaoNian-NET/MapperToolkit https://github.com/GaoNian-NET/MapperToolkit
+77)https://github.com/GaoNian-NET/MapperToolkit https://github.com/GaoNian-NET/MapperToolkit
Why I have not put example: issue opened
-77)https://github.com/IeuanWalker/MinimalApi.Endpoints/ https://github.com/IeuanWalker/MinimalApi.Endpoints/
+78)https://github.com/IeuanWalker/MinimalApi.Endpoints/ https://github.com/IeuanWalker/MinimalApi.Endpoints/
Why I have not put example: later
-78)https://github.com/inputfalken/Dynatello https://github.com/inputfalken/Dynatello
+79)https://github.com/inputfalken/Dynatello https://github.com/inputfalken/Dynatello
Why I have not put example: too complicated
-79)https://github.com/ionite34/MinimalApiMapper https://github.com/ionite34/MinimalApiMapper
+80)https://github.com/ionite34/MinimalApiMapper https://github.com/ionite34/MinimalApiMapper
Why I have not put example: own idea where to generate files, so overwrites
-80)https://github.com/JasonBock/CslaGeneratorSerialization https://github.com/JasonBock/CslaGeneratorSerialization
+81)https://github.com/JasonBock/CslaGeneratorSerialization https://github.com/JasonBock/CslaGeneratorSerialization
Why I have not put example: too complicated
-81)https://github.com/MoslemBenDhaou/DataSurface https://github.com/MoslemBenDhaou/DataSurface
+82)https://github.com/MoslemBenDhaou/DataSurface https://github.com/MoslemBenDhaou/DataSurface
+
+Why I have not put example: later
+
+83)https://github.com/mu-dawood/EasyValidate https://github.com/mu-dawood/EasyValidate
Why I have not put example: later
-82)https://github.com/nevsnirG/MinimalRichDomain https://github.com/nevsnirG/MinimalRichDomain
+84)https://github.com/nevsnirG/MinimalRichDomain https://github.com/nevsnirG/MinimalRichDomain
Why I have not put example: old ISourceGenerator
-83)https://github.com/OrgEleCho/EleCho.Internationalization https://github.com/OrgEleCho/EleCho.Internationalization
+85)https://github.com/nuskey8/Csv-CSharp https://github.com/nuskey8/Csv-CSharp
+
+Why I have not put example: later
+
+86)https://github.com/OrgEleCho/EleCho.Internationalization https://github.com/OrgEleCho/EleCho.Internationalization
Why I have not put example: issue opened
-84)https://github.com/pierre3/PlantUmlClassDiagramGenerator https://github.com/pierre3/PlantUmlClassDiagramGenerator
+87)https://github.com/pekspro/DataAnnotationValuesExtractor https://github.com/pekspro/DataAnnotationValuesExtractor
+
+Why I have not put example: later
+
+88)https://github.com/pierre3/PlantUmlClassDiagramGenerator https://github.com/pierre3/PlantUmlClassDiagramGenerator
Why I have not put example: later
-85)https://github.com/ramhari-dev/PropGenAoT https://github.com/ramhari-dev/PropGenAoT
+89)https://github.com/ramhari-dev/PropGenAoT https://github.com/ramhari-dev/PropGenAoT
Why I have not put example: no readme
-86)https://github.com/stbychkov/AutoLoggerMessage https://github.com/stbychkov/AutoLoggerMessage
+90)https://github.com/sebastienros/comptime https://github.com/sebastienros/comptime
+
+Why I have not put example: later
+
+91)https://github.com/stbychkov/AutoLoggerMessage https://github.com/stbychkov/AutoLoggerMessage
Why I have not put example: Microsoft have done same feature
-87)https://github.com/Stepami/visitor-net https://github.com/Stepami/visitor-net
+92)https://github.com/Stepami/visitor-net https://github.com/Stepami/visitor-net
Why I have not put example: later
-88)https://github.com/svee4/RequiredStaticMembers https://github.com/svee4/RequiredStaticMembers
+93)https://github.com/svee4/RequiredStaticMembers https://github.com/svee4/RequiredStaticMembers
Why I have not put example: issue opened
-89)https://github.com/SzymonHalucha/Minerals.AutoCommands https://github.com/SzymonHalucha/Minerals.AutoCommands
+94)https://github.com/SzymonHalucha/Minerals.AutoCommands https://github.com/SzymonHalucha/Minerals.AutoCommands
Why I have not put example: later
-90)https://github.com/Teleopti/Saspect https://github.com/Teleopti/Saspect
+95)https://github.com/Teleopti/Saspect https://github.com/Teleopti/Saspect
Why I have not put example: later
-91)https://github.com/TheFo2sh/AsyncFlow https://github.com/TheFo2sh/AsyncFlow
+96)https://github.com/TheFo2sh/AsyncFlow https://github.com/TheFo2sh/AsyncFlow
Why I have not put example: too complicated
-92)https://github.com/wieslawsoltes/ReactiveGenerator https://github.com/wieslawsoltes/ReactiveGenerator
+97)https://github.com/wieslawsoltes/ReactiveGenerator https://github.com/wieslawsoltes/ReactiveGenerator
Why I have not put example: too complicated
-93)https://www.nuget.org/packages/Aspid.Generators.Helper https://www.nuget.org/packages/Aspid.Generators.Helper
+98)https://www.nuget.org/packages/Aspid.Generators.Helper https://www.nuget.org/packages/Aspid.Generators.Helper
Why I have not put example: later
-94)https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator
+99)https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator https://www.nuget.org/packages/AsyncTaskOrchestratorGenerator
Why I have not put example: later
-95)https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/ https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/
+100)https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/ https://www.nuget.org/packages/Csla.Generator.AutoImplementProperties.CSharp/
Why I have not put example: later
-96)https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/ https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/
+101)https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/ https://www.nuget.org/packages/Csla.Generator.AutoSerialization.CSharp/
Why I have not put example: later
-97)https://www.nuget.org/packages/CTMGenerator https://www.nuget.org/packages/CTMGenerator
+102)https://www.nuget.org/packages/CTMGenerator https://www.nuget.org/packages/CTMGenerator
Why I have not put example: later
-98)https://www.nuget.org/packages/DecoWeaver https://www.nuget.org/packages/DecoWeaver
+103)https://www.nuget.org/packages/DecoWeaver https://www.nuget.org/packages/DecoWeaver
Why I have not put example: later
-99)https://www.nuget.org/packages/JsonDerivedTypeGenerator https://www.nuget.org/packages/JsonDerivedTypeGenerator
+104)https://www.nuget.org/packages/JsonDerivedTypeGenerator https://www.nuget.org/packages/JsonDerivedTypeGenerator
Why I have not put example: later
-100)https://www.nuget.org/packages/MappingSourceGenerator https://www.nuget.org/packages/MappingSourceGenerator
+105)https://www.nuget.org/packages/MappingSourceGenerator https://www.nuget.org/packages/MappingSourceGenerator
Why I have not put example: later
-101)https://www.nuget.org/packages/Optikode.FluentMapper https://www.nuget.org/packages/Optikode.FluentMapper
+106)https://www.nuget.org/packages/Optikode.FluentMapper https://www.nuget.org/packages/Optikode.FluentMapper
Why I have not put example: later
-102)https://www.nuget.org/packages/SoapProxyPocoGenerator https://www.nuget.org/packages/SoapProxyPocoGenerator
+107)https://www.nuget.org/packages/SoapProxyPocoGenerator https://www.nuget.org/packages/SoapProxyPocoGenerator
Why I have not put example: later
-103)https://www.nuget.org/packages/TinyMediator https://www.nuget.org/packages/TinyMediator
+108)https://www.nuget.org/packages/TinyMediator https://www.nuget.org/packages/TinyMediator
Why I have not put example: later
-104)https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder
+109)https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder https://www.nuget.org/packages/TomRR.SourceGenerator.SettingsBinder
Why I have not put example: later
-105)https://www.nuget.org/packages/X39.Roslyn.Property https://www.nuget.org/packages/X39.Roslyn.Property
+110)https://www.nuget.org/packages/X39.Roslyn.Property https://www.nuget.org/packages/X39.Roslyn.Property
Why I have not put example: later
-106)https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/ https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/
+111)https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/ https://www.nuget.org/packages/ZeroReflection.Mapper.Generator/
Why I have not put example: later
-107)https://www.nuget.org/packages/ZeroReflection.Mediator.Generator https://www.nuget.org/packages/ZeroReflection.Mediator.Generator
+112)https://www.nuget.org/packages/ZeroReflection.Mediator.Generator https://www.nuget.org/packages/ZeroReflection.Mediator.Generator
Why I have not put example: later
-108)HubClientProxyGenerator https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR.Client.SourceGenerator
+113)HubClientProxyGenerator https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR.Client.SourceGenerator
Why I have not put example: not having nuget, but having IIncrementalGenerator
-109)Imp.NET https://github.com/DouglasDwyer/Imp.NET
+114)Imp.NET https://github.com/DouglasDwyer/Imp.NET
Why I have not put example: old ISourceGenerator
-110)Intellenum https://github.com/SteveDunn/Intellenum
+115)Intellenum https://github.com/SteveDunn/Intellenum
Why I have not put example: not understand how to use
-111)InterfaceGenerator https://github.com/daver32/InterfaceGenerator
+116)InterfaceGenerator https://github.com/daver32/InterfaceGenerator
Why I have not put example: old ISourceGenerator
-112)IoTHubClientGenerator https://github.com/alonf/IoTHubClientGenerator
+117)IoTHubClientGenerator https://github.com/alonf/IoTHubClientGenerator
Why I have not put example: old ISourceGenerator
-113)JsonByExampleGenerator https://github.com/hermanussen/JsonByExampleGenerator
+118)JsonByExampleGenerator https://github.com/hermanussen/JsonByExampleGenerator
Why I have not put example: old ISourceGenerator
-114)JsonDeserializeResourceSourceGenerator https://github.com/musictopia2/JsonDeserializeResourceSourceGenerator
+119)JsonDeserializeResourceSourceGenerator https://github.com/musictopia2/JsonDeserializeResourceSourceGenerator
Why I have not put example: no readme
-115)JsonMergePatch https://github.com/ladeak/JsonMergePatch
+120)JsonMergePatch https://github.com/ladeak/JsonMergePatch
Why I have not put example: old ISourceGenerator
-116)JsonSerializerContextGenerator https://github.com/musictopia2/JsonSerializerContextGenerator
+121)JsonSerializerContextGenerator https://github.com/musictopia2/JsonSerializerContextGenerator
Why I have not put example: no readme
-117)JsonSourceGenerator https://github.com/Pilchie/JsonSourceGenerator
+122)JsonSourceGenerator https://github.com/Pilchie/JsonSourceGenerator
Why I have not put example: not having nuget, but having IIncrementalGenerator
-118)JsonSrcGen https://github.com/trampster/JsonSrcGen
+123)JsonSrcGen https://github.com/trampster/JsonSrcGen
Why I have not put example: old ISourceGenerator
-119)kli.Localize https://github.com/kl1mm/localize
+124)kli.Localize https://github.com/kl1mm/localize
Why I have not put example: old ISourceGenerator
-120)laker https://github.com/Lakerfield/Lakerfield.Rpc
+125)laker https://github.com/Lakerfield/Lakerfield.Rpc
Why I have not put example: too complicated
-121)lambdajection https://github.com/cythral/lambdajection
+126)lambdajection https://github.com/cythral/lambdajection
Why I have not put example: old ISourceGenerator
-122)Lazysh https://github.com/B1Z0N/LazyshGen
+127)Lazysh https://github.com/B1Z0N/LazyshGen
Why I have not put example: old ISourceGenerator
-123)LoggingDecoratorGenerator https://github.com/DavidFineboym/LoggingDecoratorGenerator
+128)LoggingDecoratorGenerator https://github.com/DavidFineboym/LoggingDecoratorGenerator
Why I have not put example: Microsoft have done same feature
-124)lucide-blazor https://github.com/brecht-vde/lucide-blazor/
+129)lucide-blazor https://github.com/brecht-vde/lucide-blazor/
Why I have not put example: issue opened
-125)ManagedDotnetProfiler https://github.com/kevingosse/ManagedDotnetProfiler
+130)ManagedDotnetProfiler https://github.com/kevingosse/ManagedDotnetProfiler
Why I have not put example: too complicated
-126)MapDataReader https://github.com/jitbit/MapDataReader
+131)MapDataReader https://github.com/jitbit/MapDataReader
Why I have not put example: old ISourceGenerator
-127)MappingCloningExtensions https://github.com/musictopia2/MappingCloningExtensions
+132)MappingCloningExtensions https://github.com/musictopia2/MappingCloningExtensions
Why I have not put example: no readme
-128)Maui.BindableProperty.Generator https://github.com/rrmanzano/maui-bindableproperty-generator
+133)Maui.BindableProperty.Generator https://github.com/rrmanzano/maui-bindableproperty-generator
Why I have not put example: later
-129)MediatR https://github.com/Burgyn/MMLib.MediatR.Generators
+134)MediatR https://github.com/Burgyn/MMLib.MediatR.Generators
Why I have not put example: old ISourceGenerator
-130)MemberAccessGenerator https://github.com/ufcpp/MemberAccessGenerator
+135)MemberAccessGenerator https://github.com/ufcpp/MemberAccessGenerator
Why I have not put example: old ISourceGenerator
-131)MemoizeSourceGenerator https://github.com/Zoxive/MemoizeSourceGenerator
+136)MemoizeSourceGenerator https://github.com/Zoxive/MemoizeSourceGenerator
Why I have not put example: old ISourceGenerator
-132)Minerals.AutoCQRS https://github.com/SzymonHalucha/Minerals.AutoCQRS
+137)Minerals.AutoCQRS https://github.com/SzymonHalucha/Minerals.AutoCQRS
Why I have not put example: later
-133)Minerals.AutoDomain https://github.com/SzymonHalucha/Minerals.AutoDomain
+138)Minerals.AutoDomain https://github.com/SzymonHalucha/Minerals.AutoDomain
Why I have not put example: later
-134)MiniRazor https://github.com/Tyrrrz/MiniRazor/
+139)MiniRazor https://github.com/Tyrrrz/MiniRazor/
Why I have not put example: archived
-135)MockableStaticGenerator https://github.com/HamedFathi/MockableStaticGenerator
+140)MockableStaticGenerator https://github.com/HamedFathi/MockableStaticGenerator
Why I have not put example: old ISourceGenerator
-136)MockGen https://github.com/thomas-girotto/MockGen
+141)MockGen https://github.com/thomas-girotto/MockGen
Why I have not put example: old ISourceGenerator
-137)MockSourceGenerator https://github.com/hermanussen/MockSourceGenerator
+142)MockSourceGenerator https://github.com/hermanussen/MockSourceGenerator
Why I have not put example: old ISourceGenerator
-138)MrMeeseeks.DIE https://github.com/Yeah69/MrMeeseeks.DIE
+143)MrMeeseeks.DIE https://github.com/Yeah69/MrMeeseeks.DIE
Why I have not put example: old ISourceGenerator
-139)MrMeeseeks.ResXToViewModelGenerator https://github.com/Yeah69/MrMeeseeks.ResXToViewModelGenerator
+144)MrMeeseeks.ResXToViewModelGenerator https://github.com/Yeah69/MrMeeseeks.ResXToViewModelGenerator
Why I have not put example: old ISourceGenerator
-140)MrMeeseeks.StaticDelegateGenerator https://github.com/Yeah69/MrMeeseeks.StaticDelegateGenerator
+145)MrMeeseeks.StaticDelegateGenerator https://github.com/Yeah69/MrMeeseeks.StaticDelegateGenerator
Why I have not put example: old ISourceGenerator
-141)MrMeeseeks.Visitor https://github.com/Yeah69/MrMeeseeks.Visitor
+146)MrMeeseeks.Visitor https://github.com/Yeah69/MrMeeseeks.Visitor
Why I have not put example: old ISourceGenerator
-142)Neon.Roslyn https://www.nuget.org/packages/Neon.Roslyn
+147)Neon.Roslyn https://www.nuget.org/packages/Neon.Roslyn
Why I have not put example: old ISourceGenerator
-143)net_automatic_interface https://github.com/codecentric/net_automatic_interface
+148)net_automatic_interface https://github.com/codecentric/net_automatic_interface
Why I have not put example: old ISourceGenerator
-144)NSourceGenerators https://github.com/NeVeSpl/NSourceGenerators/
+149)NSourceGenerators https://github.com/NeVeSpl/NSourceGenerators/
Why I have not put example: old ISourceGenerator
-145)observable https://github.com/notanaverageman/Bindables
+150)observable https://github.com/notanaverageman/Bindables
Why I have not put example: later
-146)Pipelines https://github.com/DumplingsDevs/Pipelines/
+151)Pipelines https://github.com/DumplingsDevs/Pipelines/
Why I have not put example: old ISourceGenerator
-147)Plastic https://github.com/sang-hyeon/Plastic
+152)Plastic https://github.com/sang-hyeon/Plastic
Why I have not put example: old ISourceGenerator
-148)PolySharp https://github.com/Sergio0694/PolySharp
+153)PolySharp https://github.com/Sergio0694/PolySharp
Why I have not put example: too complicated
-149)PrimaryConstructor https://github.com/chaowlert/PrimaryConstructor
+154)PrimaryConstructor https://github.com/chaowlert/PrimaryConstructor
Why I have not put example: old ISourceGenerator
-150)PrimitiveStaticDataGenerator https://github.com/iiweis/PrimitiveStaticDataGenerator
+155)PrimitiveStaticDataGenerator https://github.com/iiweis/PrimitiveStaticDataGenerator
Why I have not put example: old ISourceGenerator
-151)PrintMembersGenerator https://github.com/Youssef1313/PrintMembersGenerator
+156)PrintMembersGenerator https://github.com/Youssef1313/PrintMembersGenerator
Why I have not put example: old ISourceGenerator
-152)ProxyInterfaceGenerator https://github.com/StefH/ProxyInterfaceSourceGenerator
+157)ProxyInterfaceGenerator https://github.com/StefH/ProxyInterfaceSourceGenerator
Why I have not put example: old ISourceGenerator
-153)PureHDF https://github.com/Apollo3zehn/PureHDF
+158)PureHDF https://github.com/Apollo3zehn/PureHDF
Why I have not put example: old ISourceGenerator
-154)RazorGen https://github.com/dartk/RazorGen
+159)RazorGen https://github.com/dartk/RazorGen
Why I have not put example: later
-155)RazorPageRouteGenerator https://github.com/surgicalcoder/RazorPageRouteGenerator
+160)RazorPageRouteGenerator https://github.com/surgicalcoder/RazorPageRouteGenerator
Why I have not put example: old ISourceGenerator
-156)ReForge.Union https://github.com/nalcorso/ReForge.Union
+161)ReForge.Union https://github.com/nalcorso/ReForge.Union
Why I have not put example: not having nuget, but having IIncrementalGenerator
-157)RoslynWeave https://github.com/Jishun/RoslynWeave
+162)RoslynWeave https://github.com/Jishun/RoslynWeave
Why I have not put example: old ISourceGenerator
-158)ScenarioTests https://github.com/koenbeuk/ScenarioTests
+163)ScenarioTests https://github.com/koenbeuk/ScenarioTests
Why I have not put example: old ISourceGenerator
-159)SerdeDn https://github.com/serdedotnet/serde
+164)SerdeDn https://github.com/serdedotnet/serde
Why I have not put example: serializer. Done by MSFT with System.Text.Json
-160)SmallSharp https://github.com/devlooped/SmallSharp
+165)SmallSharp https://github.com/devlooped/SmallSharp
Why I have not put example: old ISourceGenerator
-161)SmartAnnotations https://github.com/fiseni/SmartAnnotations
+166)SmartAnnotations https://github.com/fiseni/SmartAnnotations
Why I have not put example: old ISourceGenerator
-162)SogePoco https://github.com/d-p-y/SogePoco
+167)SogePoco https://github.com/d-p-y/SogePoco
Why I have not put example: too complicated
-163)SourceApi https://github.com/alekshura/SourceApi
+168)SourceApi https://github.com/alekshura/SourceApi
Why I have not put example: old ISourceGenerator
-164)SourceConfig https://github.com/alekshura/SourceConfig
+169)SourceConfig https://github.com/alekshura/SourceConfig
Why I have not put example: old ISourceGenerator
-165)SourceCrafter.HttpServiceClientGenerator https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/
+170)SourceCrafter.HttpServiceClientGenerator https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/
Why I have not put example: later
-166)SourceGeneratorQuery https://github.com/roeibajayo/SourceGeneratorQuery
+171)SourceGeneratorQuery https://github.com/roeibajayo/SourceGeneratorQuery
Why I have not put example: old ISourceGenerator
-167)SourceInject https://github.com/giggio/sourceinject/
+172)SourceInject https://github.com/giggio/sourceinject/
Why I have not put example: old ISourceGenerator
-168)SourceMapper https://github.com/alekshura/SourceMapper
+173)SourceMapper https://github.com/alekshura/SourceMapper
Why I have not put example: old ISourceGenerator
-169)SourceMapper https://github.com/paiden/SourceMapper/
+174)SourceMapper https://github.com/paiden/SourceMapper/
Why I have not put example: old ISourceGenerator
-170)SqlMarshal https://github.com/kant2002/SqlMarshal
+175)SqlMarshal https://github.com/kant2002/SqlMarshal
Why I have not put example: old ISourceGenerator
-171)ST.NSwag.ServerSourceGenerator https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator
+176)ST.NSwag.ServerSourceGenerator https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator
Why I have not put example: later
-172)StackXML https://github.com/ZingBallyhoo/StackXML
+177)StackXML https://github.com/ZingBallyhoo/StackXML
Why I have not put example: old ISourceGenerator
-173)StaticProxyGenerator https://github.com/robertturner/StaticProxyGenerator
+178)StaticProxyGenerator https://github.com/robertturner/StaticProxyGenerator
Why I have not put example: old ISourceGenerator
-174)StrongInject https://github.com/YairHalberstadt/stronginject/
+179)StrongInject https://github.com/YairHalberstadt/stronginject/
Why I have not put example: later
-175)StronglyTypedEmbeddedResources https://github.com/surgicalcoder/StronglyTypedEmbeddedResources
+180)StronglyTypedEmbeddedResources https://github.com/surgicalcoder/StronglyTypedEmbeddedResources
Why I have not put example: old ISourceGenerator
-176)StructPacker https://github.com/RudolfKurka/StructPacker
+181)StructPacker https://github.com/RudolfKurka/StructPacker
Why I have not put example: old ISourceGenerator
-177)Svg https://github.com/wieslawsoltes/Svg.Skia
+182)Svg https://github.com/wieslawsoltes/Svg.Skia
Why I have not put example: old ISourceGenerator
-178)tecli https://github.com/tyevco/TeCLI
+183)tecli https://github.com/tyevco/TeCLI
Why I have not put example: old ISourceGenerator
-179)TeuJson https://github.com/Terria-K/TeuJson
+184)TeuJson https://github.com/Terria-K/TeuJson
Why I have not put example: json a class, was done in System.Text.Json
-180)Thunderboltloc https://github.com/AlyElhaddad/ThunderboltIoc
+185)Thunderboltloc https://github.com/AlyElhaddad/ThunderboltIoc
Why I have not put example: old ISourceGenerator
-181)Tinyhand https://github.com/archi-Doc/Tinyhand
+186)Tinyhand https://github.com/archi-Doc/Tinyhand
Why I have not put example: tried, need documentation
-182)ToString https://github.com/Burgyn/MMLib.ToString
+187)ToString https://github.com/Burgyn/MMLib.ToString
Why I have not put example: old ISourceGenerator
-183)Transplator https://github.com/atifaziz/Transplator
+188)Transplator https://github.com/atifaziz/Transplator
Why I have not put example: old ISourceGenerator
-184)TupleOverloadGenerator https://github.com/ProphetLamb/TupleOverloadGenerator
+189)TupleOverloadGenerator https://github.com/ProphetLamb/TupleOverloadGenerator
Why I have not put example: too complicated
-185)TxtToListGenerator https://github.com/musictopia2/TxtToListGenerator
+190)TxtToListGenerator https://github.com/musictopia2/TxtToListGenerator
Why I have not put example: no readme
-186)TypealizR https://github.com/earloc/TypealizR
+191)TypealizR https://github.com/earloc/TypealizR
Why I have not put example: depends on Microsoft.Extensions.Localization
-187)UnitTestBlazor https://github.com/bUnit-dev/bUnit
+192)UnitTestBlazor https://github.com/bUnit-dev/bUnit
Why I have not put example: issue opened
-188)ValueChangedGenerator https://github.com/ufcpp/ValueChangedGenerator
+193)ValueChangedGenerator https://github.com/ufcpp/ValueChangedGenerator
Why I have not put example: old ISourceGenerator
-189)ValueLink https://github.com/archi-Doc/ValueLink
+194)ValueLink https://github.com/archi-Doc/ValueLink
Why I have not put example: too complicated
-190)ValueObjectGenerator https://github.com/RyotaMurohoshi/ValueObjectGenerator
+195)ValueObjectGenerator https://github.com/RyotaMurohoshi/ValueObjectGenerator
Why I have not put example: old ISourceGenerator
-191)VisitorPatternGenerator https://github.com/hikarin522/VisitorPatternGenerator/
+196)VisitorPatternGenerator https://github.com/hikarin522/VisitorPatternGenerator/
Why I have not put example: issue opened
-192)Visor https://github.com/Tinkoff/Visor
+197)Visor https://github.com/Tinkoff/Visor
Why I have not put example: archived
-193)WrapperValueObject https://github.com/martinothamar/WrapperValueObject
+198)WrapperValueObject https://github.com/martinothamar/WrapperValueObject
Why I have not put example: not maintained as in readme
-194)Xtz.StronglyTyped https://github.com/dev-experience/Xtz.StronglyTyped
+199)Xtz.StronglyTyped https://github.com/dev-experience/Xtz.StronglyTyped
Why I have not put example: old ISourceGenerator
diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/FastCloner.md b/v2/rscg_examples_site/docs/RSCG-Examples/FastCloner.md
new file mode 100644
index 000000000..768a1533a
--- /dev/null
+++ b/v2/rscg_examples_site/docs/RSCG-Examples/FastCloner.md
@@ -0,0 +1,692 @@
+---
+sidebar_position: 2530
+title: 253 - FastCloner
+description: Cloning objects
+slug: /FastCloner
+---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+import TOCInline from '@theme/TOCInline';
+import SameCategory from '../Categories/_PrimitiveClone.mdx';
+
+# FastCloner by Matěj Štágl
+
+
+
+
+## NuGet / site data
+[](https://www.nuget.org/packages/FastCloner/)
+[](https://github.com/lofcz/FastCloner/)
+
+
+## Details
+
+### Info
+:::info
+
+Name: **FastCloner**
+
+Fast deep cloning library for .NET 8+. Supports both deep and shallow cloning. Extensively tested, focused on performance and stability even on complicated object graphs.
+
+Author: Matěj Štágl
+
+NuGet:
+*https://www.nuget.org/packages/FastCloner/*
+
+
+You can find more details at https://github.com/lofcz/FastCloner/
+
+Source: https://github.com/lofcz/FastCloner/
+
+:::
+
+### Author
+:::note
+Matěj Štágl
+
+:::
+
+### Original Readme
+:::note
+
+
+
+

+
+# FastCloner
+
+**The fastest and most reliable .NET deep cloning library.**
+
+[](https://www.nuget.org/packages/FastCloner)
+[](https://www.nuget.org/packages/FastCloner.SourceGenerator)
+[](https://opensource.org/license/mit)
+
+The fastest deep cloning library, supporting anything from
.NET 4.6 to modern
.NET 10+ with no dependencies. FastCloner uses a unique source generator capable of analyzing object graphs and cloning objects without explicit annotations. For types that cannot be cloned, such as
HttpClient, FastCloner uses a highly optimized reflection-based fallback. Zero dependencies, blazingly fast, built for developers who need cloning that _just works_.
+
+
+
+## ✨ Features
+
+- **The Fastest** - [Benchmarked](https://github.com/lofcz/FastCloner?tab=readme-ov-file#performance) to beat all other libraries with third-party independent benchmarks verifying the performance. **300x** speed-up vs `Newtonsoft.Json` and **160x** vs `System.Text.Json`
+- **The Most Correct** - Cloning objects is hard: ``, `abstract`, immutables, read-only, pointers, circular dependencies, deeply nested graphs.. we have over [700 tests](https://github.com/lofcz/FastCloner/tree/next/FastCloner.Tests) verifying correct behavior in these cases and we are transparent about the [limitations](https://github.com/lofcz/FastCloner?tab=readme-ov-file#limitations)
+- **Novel Algorithm** - FastCloner recognizes that certain cloning code cannot be generated in certain scenarios and uses highly optimized reflection-based approach instead for these types - this only happens for the members that need this, not entire objects
+- **Zero-Overhead Abstractions** - The generator uses call site analysis to eliminate indirection via inlining of generated methods. This ensures the generated code behaves like a single optimized block, just as if you hand-wrote it for maximum performance.
+- **Embeddable** - FastCloner has no dependencies outside the standard library. Source generator and reflection parts can be installed independently
+- **Gentle & Caring** - FastCloner detects standard attributes like `[NonSerialized]` making it easy to try without polluting codebase with custom attributes. Type usage graph for generics is built automatically producing performant cloning code without manual annotations
+- **Easy Integration** - `FastDeepClone()` for AOT cloning, `DeepClone()` for reflection cloning. That's it!
+- **Production Ready** - Used by projects like [Jobbr](https://jobbr.readthedocs.io/en/latest), [TarkovSP](https://sp-tarkov.com), and [WinPaletter](https://github.com/Abdelrhman-AK/WinPaletter), with over [200K downloads on NuGet](https://www.nuget.org/packages/fastCloner#usedby-body-tab)
+## Getting Started
+
+Install the package via NuGet:
+
+```powershell
+dotnet add package FastCloner # Reflection
+dotnet add package FastCloner.SourceGenerator # AOT
+```
+
+### Clone via Reflection
+
+```csharp
+using FastCloner.Code;
+var clone = FastCloner.FastCloner.DeepClone(new \{ Hello = "world", MyList = new List \{ 1 \} });
+```
+
+For convenience, add the following method to your project. We intentionally don't ship this extension to make switching from/to FastCloner easier:
+
+```cs
+[return: NotNullIfNotNull(nameof(obj))]
+public static T? DeepClone(this T? obj)
+{
+ return FastCloner.FastCloner.DeepClone(obj);
+}
+```
+
+### Clone via Source Generator
+
+```cs
+[FastClonerClonable]
+public class GenericClass
+{
+ public T Value \{ get; set; }
+}
+
+public class MyClass
+{
+ public string StrVal \{ get; set; }
+}
+
+// [FastClonerClonable] is only required on types where you call .FastDeepClone()
+var original = new GenericClass> \{ Value = new List \{ new MyClass \{ StrVal = "hello world" \} } };
+var clone = original.FastDeepClone();
+```
+
+## Advanced Usage
+
+### Customizing Clone Behavior
+
+FastCloner supports behavior attributes that control how types and members are cloned:
+
+| Behavior | Effect |
+|----------|--------|
+| `Clone` | Deep recursive copy |
+| `Reference` | Return original instance unchanged |
+| `Shallow` | `MemberwiseClone` without recursion |
+| `Ignore` | Return `default` |
+
+#### Compile-time (Attributes)
+
+Apply attributes to **types** or **members**. Member-level attributes override type-level:
+
+```csharp
+[FastClonerReference] // Type-level: all usages preserve reference
+public class SharedService \{ }
+
+public class MyClass
+{
+ public SharedService Svc \{ get; set; \} // Uses type-level → Reference
+
+ [FastClonerBehavior(CloneBehavior.Clone)] // Member-level override → Clone
+ public SharedService ClonedSvc \{ get; set; }
+
+ [FastClonerIgnore] // → null/default
+ public CancellationToken Token \{ get; set; }
+
+ [FastClonerShallow] // → Reference copied directly
+ public ParentNode Parent \{ get; set; }
+}
+```
+
+Shorthand attributes: `[FastClonerIgnore]`, `[FastClonerShallow]`, `[FastClonerReference]`
+Explicit: `[FastClonerBehavior(CloneBehavior.X)]`
+
+#### Runtime (Reflection only)
+
+Configure type behavior dynamically. Runtime settings are checked **before** attributes:
+
+```csharp
+FastCloner.FastCloner.SetTypeBehavior(CloneBehavior.Reference);
+FastCloner.FastCloner.ClearTypeBehavior(); // Reset one
+FastCloner.FastCloner.ClearAllTypeBehaviors(); // Reset all
+```
+
+> **Note**: Changing runtime behavior invalidates the cache. Try to configure once at startup, or use compile-time attributes when possible.
+
+#### Precedence (highest to lowest)
+
+1. Runtime `SetTypeBehavior()`
+2. Member-level attribute
+3. Type-level attribute on member's type
+4. Default behavior
+
+### Cache Management
+
+```csharp
+FastCloner.FastCloner.ClearCache(); // Free memory from reflection cache
+```
+
+
+### Generic Classes and Abstract Types
+
+The source generator automatically discovers which concrete types your generic classes and abstract hierarchies are used with:
+
+**Generic types** - The generator scans your codebase for usages like `MyClass` or `MyClass` and generates specialized cloning code:
+
+```cs
+[FastClonerClonable]
+public class Container
+{
+ public T Value \{ get; set; }
+}
+
+// Source generator finds this usage and generates cloning code for Container
+var container = new Container \{ Value = 42 };
+var clone = container.FastDeepClone();
+```
+
+**Abstract classes** - The generator automatically finds all concrete derived types in your codebase:
+
+```cs
+[FastClonerClonable]
+public abstract class Animal
+{
+ public string Name \{ get; set; }
+}
+
+public class Dog : Animal
+{
+ public string Breed \{ get; set; }
+}
+
+public class Cat : Animal
+{
+ public bool IsIndoor \{ get; set; }
+}
+
+// Cloning via the abstract type works - the generator discovered Dog and Cat
+Animal pet = new Dog \{ Name = "Buddy", Breed = "Labrador" };
+Animal clone = pet.FastDeepClone(); // Returns a cloned Dog
+```
+
+### Explicitly Including Types
+
+When a type is only used dynamically (not visible at compile time), use `[FastClonerInclude]` to ensure the generator creates cloning code for it:
+
+```cs
+[FastClonerClonable]
+[FastClonerInclude(typeof(Customer), typeof(Order))] // Include types used dynamically
+public class Wrapper
+{
+ public T Value \{ get; set; }
+}
+```
+
+For abstract classes, you can also use `[FastClonerInclude]` to add derived types that aren't in your codebase (e.g., from external assemblies):
+
+```cs
+[FastClonerClonable]
+[FastClonerInclude(typeof(ExternalPlugin))] // Add external derived types
+public abstract class Plugin
+{
+ public string Name \{ get; set; }
+}
+```
+
+### Custom Cloning Context
+
+For advanced scenarios, create a custom cloning context to explicitly register types you want to clone. This is useful when you need a centralized cloning entry point or want to clone types from external assemblies:
+
+```cs
+public class Customer
+{
+ public string Name \{ get; set; }
+ public Address Address \{ get; set; }
+}
+
+public class Address
+{
+ public string City \{ get; set; }
+}
+
+// Create a context and register types to clone
+[FastClonerRegister(typeof(Customer), typeof(Address))]
+public partial class MyCloningContext : FastClonerContext \{ }
+```
+
+Using the context:
+```cs
+MyCloningContext ctx = new MyCloningContext();
+
+// Clone with compile-time type safety
+Customer clone = ctx.Clone(original);
+
+// Check if a type is handled by this context
+bool handled = ctx.IsHandled(typeof(Customer)); // true
+
+// Try to clone (returns false for unregistered types)
+if (ctx.TryClone(obj, out var cloned))
+{
+ // Successfully cloned
+}
+```
+
+### Nullability Trust
+
+The generator can be instructed to fully trust nullability annotations. When `[FastClonerTrustNullability]` attribute is applied, FastCloner will skip null checks for non-nullable reference types (e.g., `string` vs `string?`), assuming the contract is valid.
+
+```csharp
+[FastClonerClonable]
+[FastClonerTrustNullability] // Skip null checks for non-nullable members
+public class HighPerformanceDto
+{
+ public string Id \{ get; set; \} // No null check generated
+ public string? Details \{ get; set; \} // Null check still generated
+}
+```
+
+This eliminates branching and improves performance slightly. If a non-nullable property is actually null at runtime, this may result in a `NullReferenceException` in the generated code.
+
+### Safe Handles
+
+When you have a struct that acts as a handle to internal state or a singleton (where identity matters), use `[FastClonerSafeHandle]`. This tells FastCloner to shallow-copy the readonly fields instead of deep-cloning them, preserving the original internal references.
+
+```csharp
+[FastClonerSafeHandle]
+public struct MyHandle
+{
+ private readonly object _internalState; // Preserved (shared), not deep cloned
+ public int Value; // Cloned normally
+}
+```
+
+This is the default behavior for system types like `System.Net.Http.Headers.HeaderDescriptor` to prevent breaking internal framework logic. Use this attribute if your custom structs behave similarly.
+
+### Identity Preservation
+
+By default, FastCloner prioritizes performance by not tracking object identity during cloning. This means if the same object instance appears multiple times in your graph, each reference becomes a separate clone.
+
+For scenarios where you need to preserve object identity (e.g., shared references should remain shared in the clone), use `[FastClonerPreserveIdentity]`:
+
+```csharp
+[FastClonerClonable]
+[FastClonerPreserveIdentity] // Enable identity tracking for this type
+public class Document
+{
+ public User Author \{ get; set; }
+ public User LastEditor \{ get; set; \} // May reference the same User as Author
+}
+
+var doc = new Document \{ Author = user, LastEditor = user };
+var clone = doc.FastDeepClone();
+// clone.Author == clone.LastEditor (same cloned instance)
+```
+
+The attribute can be applied at type level or member level:
+
+```csharp
+[FastClonerClonable]
+public class Container
+{
+ // Only this member tracks identity
+ [FastClonerPreserveIdentity]
+ public List Nodes \{ get; set; }
+
+ // This member clones without identity tracking (faster)
+ public List- Items \{ get; set; }
+}
+```
+
+You can also explicitly disable identity preservation for a member when the type has it enabled:
+
+```csharp
+[FastClonerClonable]
+[FastClonerPreserveIdentity]
+public class Graph
+{
+ public Node Root \{ get; set; }
+
+ [FastClonerPreserveIdentity(false)] // Opt out for this member
+ public List Labels \{ get; set; }
+}
+```
+
+> **Note**: Identity preservation adds overhead for tracking seen objects. Circular references are always detected regardless of this setting.
+
+## Limitations
+
+- Cloning unmanaged resources, such as `IntPtr`s may result in side-effects, as there is no metadata for the length of buffers such pointers often point to.
+- `ReadOnly` and `Immutable` collections are tested to behave well if they follow basic conventions.
+- With reflection, cloning deeply nested objects switches from recursion to iterative approach on the fly. The threshold for this can be configured by changing `FastCloner.MaxRecursionDepth`, iterative approach is marginally slower.
+
+## Performance
+
+FastCloner is the _fastest_ deep cloning library. It was benchmarked against every library capable of cloning objects I've been able to find:
+```md
+BenchmarkDotNet v0.15.8, Windows 11 (10.0.26220.7271)
+Intel Core i7-8700 CPU 3.20GHz (Max: 3.19GHz) (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
+.NET SDK 10.0.100
+
+| Method | Mean | Error | StdDev | Median | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio |
+|------------------- |------------:|-----------:|-----------:|------------:|-------:|--------:|-----:|-------:|-------:|----------:|------------:|
+| FastCloner | 10.25 ns | 0.219 ns | 0.183 ns | 10.24 ns | 1.00 | 0.02 | 1 | 0.0115 | - | 72 B | 1.00 |
+| DeepCopier | 23.37 ns | 0.448 ns | 0.582 ns | 23.29 ns | 2.28 | 0.07 | 2 | 0.0115 | - | 72 B | 1.00 |
+| DeepCopy | 40.56 ns | 3.589 ns | 10.583 ns | 43.56 ns | 3.96 | 1.03 | 3 | 0.0115 | - | 72 B | 1.00 |
+| DeepCopyExpression | 126.05 ns | 3.355 ns | 9.892 ns | 129.32 ns | 12.30 | 0.98 | 4 | 0.0356 | - | 224 B | 3.11 |
+| AutoMapper | 135.07 ns | 6.097 ns | 17.976 ns | 143.16 ns | 13.18 | 1.76 | 5 | 0.0114 | - | 72 B | 1.00 |
+| DeepCloner | 261.42 ns | 14.113 ns | 41.614 ns | 282.99 ns | 25.51 | 4.06 | 6 | 0.0367 | - | 232 B | 3.22 |
+| ObjectCloner | 336.89 ns | 14.249 ns | 42.012 ns | 355.28 ns | 32.87 | 4.12 | 7 | 0.0534 | - | 336 B | 4.67 |
+| MessagePack | 499.71 ns | 20.831 ns | 61.420 ns | 524.63 ns | 48.75 | 6.02 | 8 | 0.0315 | - | 200 B | 2.78 |
+| ProtobufNet | 898.60 ns | 34.925 ns | 102.978 ns | 934.13 ns | 87.67 | 10.11 | 9 | 0.0782 | - | 496 B | 6.89 |
+| NClone | 904.75 ns | 33.559 ns | 98.949 ns | 919.05 ns | 88.27 | 9.73 | 9 | 0.1488 | - | 936 B | 13.00 |
+| SystemTextJson | 1,687.39 ns | 70.341 ns | 201.821 ns | 1,766.14 ns | 164.63 | 19.79 | 10 | 0.1755 | - | 1120 B | 15.56 |
+| NewtonsoftJson | 3,147.66 ns | 109.097 ns | 321.676 ns | 3,269.96 ns | 307.10 | 31.67 | 11 | 0.7286 | 0.0038 | 4592 B | 63.78 |
+| FastDeepCloner | 3,970.90 ns | 155.503 ns | 458.505 ns | 4,128.09 ns | 387.41 | 45.01 | 12 | 0.2060 | - | 1304 B | 18.11 |
+| AnyCloneBenchmark | 5,102.40 ns | 239.089 ns | 704.959 ns | 5,370.93 ns | 497.81 | 68.98 | 13 | 0.9003 | - | 5656 B | 78.56 |
+```
+
+You can run the benchmark [locally](https://github.com/lofcz/FastCloner/blob/next/src/FastCloner.Benchmark/BenchMinimal.cs) to verify the results. There are also [third-party benchmarks](https://github.com/AnderssonPeter/Dolly?tab=readme-ov-file#benchmarks) in some of the competing libraries confirming these results.
+
+### Build Times & IDE Performance
+
+FastCloner's source generator is carefully engineered for zero impact on IDE responsiveness and swift build times.
+
+- **Tiered Caching**: We use `ForAttributeWithMetadataName` for highly efficient filtering and strictly separate syntax analysis from code generation.
+- **Smart Models**: Roslyn symbols are immediately projected into lightweight, cache-friendly `TypeModel` records. The generator never holds onto compilation symbols, allowing the incremental pipeline to perfectly cache previous results.
+- **No Compilation Trashing**: We avoid expensive `CompilationProvider` combinations that break generator caching. Code generation only re-runs when your data models actually change, not on every keystroke or unrelated edit.
+- **Allocation Free**: `EquatableArray` collections ensure that change detection is instant and creates no garbage collection pressure.
+
+## Contributing
+
+If you are looking to add new functionality, please open an issue first to verify your intent is aligned with the scope of the project. The library is covered by over [700 tests](https://github.com/lofcz/FastCloner/tree/next/src/FastCloner.Tests), please run them against your work before proposing changes. When reporting issues, providing a minimal reproduction we can plug in as a new test greatly reduces turnaround time.
+
+## License
+
+This library is licensed under the [MIT](https://github.com/lofcz/FastCloner/blob/next/LICENSE) license. 💜
+
+
+:::
+
+### About
+:::note
+
+Cloning objects
+
+
+:::
+
+## How to use
+
+### Example (source csproj, source files)
+
+
+
+
+
+This is the CSharp Project that references **FastCloner**
+```xml showLineNumbers {14}
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+ true
+ $(BaseIntermediateOutputPath)\GX
+
+
+
+
+
+
+
+
+```
+
+
+
+
+
+ This is the use of **FastCloner** in *Program.cs*
+
+```csharp showLineNumbers
+using CloneData;
+
+Console.WriteLine("Hello, World!");
+Person p = new ();
+p.FirstName = "Andrei";
+p.LastName = "Ignat";
+p.Age = 54;
+var p1=p.FastDeepClone();
+Console.WriteLine(p1.Name());
+```
+
+
+
+
+ This is the use of **FastCloner** in *Person.cs*
+
+```csharp showLineNumbers
+
+using FastCloner.SourceGenerator.Shared;
+
+namespace CloneData;
+[FastClonerClonable]
+public partial class Person
+{
+ public string FirstName \{ get; set; \} = "";
+ public string LastName \{ get; set; \} = "";
+ public int Age \{ get; set; }
+ public string Name() => $"{FirstName} {LastName}";
+
+ public Person[] Childs \{ get; set; \} = [];
+}
+
+```
+
+
+
+
+### Generated Files
+
+Those are taken from $(BaseIntermediateOutputPath)\GX
+
+
+
+
+```csharp showLineNumbers
+using System;
+
+namespace Dolly
+{
+ [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]
+ public class ClonableAttribute : Attribute
+ {
+ }
+}
+```
+
+
+
+
+```csharp showLineNumbers
+using System;
+
+namespace Dolly
+{
+ [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
+ public class CloneIgnoreAttribute : Attribute
+ {
+ }
+}
+```
+
+
+
+
+```csharp showLineNumbers
+using System;
+namespace Dolly
+{
+ public interface IClonable : ICloneable
+ {
+ T DeepClone();
+ T ShallowClone();
+ }
+}
+```
+
+
+
+
+```csharp showLineNumbers
+using Dolly;
+using System.Linq;
+namespace CloneData;
+partial class Person : IClonable
+{
+ object ICloneable.Clone() => this.DeepClone();
+ public virtual Person DeepClone() =>
+ new ()
+ {
+ FirstName = FirstName,
+ LastName = LastName,
+ Childs = Childs.Select(item => item.DeepClone()).ToArray()
+ };
+
+ public virtual Person ShallowClone() =>
+ new ()
+ {
+ FirstName = FirstName,
+ LastName = LastName,
+ Childs = Childs.ToArray()
+ };
+}
+```
+
+
+
+
+```csharp showLineNumbers
+//
+// Generated: 2026-02-03 05:29:59 UTC
+#nullable enable
+
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using FastCloner.SourceGenerator.Shared;
+using FastCloner;
+
+namespace CloneData
+{
+ ///
+ /// Extension methods for cloning Person.
+ ///
+ public static partial class PersonFastDeepCloneExtensions
+ {
+ ///
+ /// Performs deep clone of Person. This is a source generated method.
+ ///
+ /// The object to clone.
+ [return: global::System.Diagnostics.CodeAnalysis.NotNullIfNotNull("source")]
+ public static global::CloneData.Person? FastDeepClone(this global::CloneData.Person? source)
+ {
+ return InternalFastDeepClone(source, null);
+ }
+
+ ///
+ /// Performs deep clone of Person with circular reference tracking.
+ ///
+ /// The object to clone.
+ /// State for circular reference tracking. If null, a new state is created.
+ internal static global::CloneData.Person? InternalFastDeepClone(this global::CloneData.Person? source, FcGeneratedCloneState? state)
+ {
+ if (source == null) return null;
+ var localState = state ?? new FcGeneratedCloneState();
+ var known = localState.GetKnownRef(source);
+ if (known != null) return (global::CloneData.Person)known;
+ var result = new global::CloneData.Person();
+ localState?.AddKnownRef(source, result);
+
+ result.FirstName = source.FirstName;
+ result.LastName = source.LastName;
+ result.Age = source.Age;
+ result.Childs = FastClonerSgCloneCloneData_Person__(source.Childs, localState);
+
+ return result;
+ }
+
+ private static global::CloneData.Person[]? FastClonerSgCloneCloneData_Person__(global::CloneData.Person[]? source, FcGeneratedCloneState? state)
+ {
+ if (source == null) return null;
+ if (state != null)
+ {
+ var known = state.GetKnownRef(source);
+ if (known != null) return (global::CloneData.Person[])known;
+ }
+
+ var result = new global::CloneData.Person[source.Length];
+ state?.AddKnownRef(source, result);
+
+ for (int i = 0; i < source.Length; i++)
+ {
+ result[i] = source[i]?.FastDeepClone();
+ }
+
+ return result;
+ }
+
+ }
+}
+
+```
+
+
+
+
+## Useful
+
+### Download Example (.NET C#)
+
+:::tip
+
+[Download Example project FastCloner ](/sources/FastCloner.zip)
+
+:::
+
+
+### Share FastCloner
+
+
+
+https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner
+
+
+
diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/index.md b/v2/rscg_examples_site/docs/RSCG-Examples/index.md
index 29a00b7f2..2663acde9 100644
--- a/v2/rscg_examples_site/docs/RSCG-Examples/index.md
+++ b/v2/rscg_examples_site/docs/RSCG-Examples/index.md
@@ -1,7 +1,7 @@
---
sidebar_position: 30
-title: 252 RSCG list by category
-description: 252 RSCG list by category
+title: 253 RSCG list by category
+description: 253 RSCG list by category
slug: /rscg-examples
---
@@ -236,7 +236,7 @@ import DocCardList from '@theme/DocCardList';
## Clone
- Expand Clone =>examples:3
+ Expand Clone =>examples:4
@@ -252,6 +252,11 @@ import DocCardList from '@theme/DocCardList';
[UtilityVerse.Copy](/docs/UtilityVerse.Copy)
+
+
+
+[FastCloner](/docs/FastCloner)
+
@@ -1660,6 +1665,8 @@ flowchart LR;
Clone--> UtilityVerse.Copy((UtilityVerse.Copy))
+ Clone--> FastCloner((FastCloner))
+
CodeToString--> SourceGenerator.Helper.CopyCode((SourceGenerator.Helper.CopyCode))
CodeToString--> CodeAnalysis((CodeAnalysis))
diff --git a/v2/rscg_examples_site/docs/about.md b/v2/rscg_examples_site/docs/about.md
index 9b29f1be3..25af1865e 100644
--- a/v2/rscg_examples_site/docs/about.md
+++ b/v2/rscg_examples_site/docs/about.md
@@ -6,7 +6,7 @@ title: About
## Content
You will find here code examples
-of 252 Roslyn Source Code Generator (RSCG)
+of 253 Roslyn Source Code Generator (RSCG)
that can be useful for you. That means, you will write more elegant and concise code - even if the generators code is not always nice to look.
## Are those examples ready for production?
diff --git a/v2/rscg_examples_site/docs/indexRSCG.md b/v2/rscg_examples_site/docs/indexRSCG.md
index ac90bcded..34d20eb15 100644
--- a/v2/rscg_examples_site/docs/indexRSCG.md
+++ b/v2/rscg_examples_site/docs/indexRSCG.md
@@ -7,9 +7,9 @@ slug: /List-of-RSCG
import useBaseUrl from '@docusaurus/useBaseUrl';
-## 252 RSCG with examples in descending chronological order
+## 253 RSCG with examples in descending chronological order
-This is the list of 252 ( 16 from Microsoft) RSCG with examples
+This is the list of 253 ( 16 from Microsoft) RSCG with examples
[See by category](/docs/rscg-examples) [See as json](/exports/RSCG.json) [See as Excel](/exports/RSCG.xlsx)
@@ -20,6 +20,7 @@ This is the list of 252 ( 16 from Microsoft) RSCG with examples
| No | Name | Date | Category |
| --------- | ----- | ---- | -------- |
+|253| [FastCloner by Matěj Štágl ](/docs/FastCloner)|2026-02-01 => 01 February 2026 | [Clone](/docs/Categories/Clone) |
|252| [RSCG_idempotency by Ignat Andrei ](/docs/RSCG_idempotency)|2026-01-28 => 28 January 2026 | [Idempotency](/docs/Categories/Idempotency) |
|251| [OrderedBuildersGenerator by Georgiy Petrov ](/docs/OrderedBuildersGenerator)|2025-12-18 => 18 December 2025 | [Builder](/docs/Categories/Builder) |
|250| [Facet.Search by Tim Maes ](/docs/Facet.Search)|2025-12-17 => 17 December 2025 | [Database](/docs/Categories/Database) |
diff --git a/v2/rscg_examples_site/src/components/HomepageFeatures/index.js b/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
index 225a0eecb..45e7e002d 100644
--- a/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
+++ b/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
@@ -4,7 +4,7 @@ import styles from './styles.module.css';
const FeatureList = [
{
-title: '252 Examples (16 from MSFT)',
+title: '253 Examples (16 from MSFT)',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
description: (
<>
diff --git a/v2/rscg_examples_site/static/exports/RSCG.json b/v2/rscg_examples_site/static/exports/RSCG.json
index 210d8f9cf..a925ba2f0 100644
--- a/v2/rscg_examples_site/static/exports/RSCG.json
+++ b/v2/rscg_examples_site/static/exports/RSCG.json
@@ -2017,6 +2017,14 @@
"Source": "https://github.com/ignatandrei/RSCG_idempotency",
"Category": "Idempotency",
"AddedOn": "2026-01-28T00:00:00"
+ },
+ {
+ "Name": "FastCloner",
+ "Link": "https://ignatandrei.github.io/RSCG_Examples/v2/docs/FastCloner",
+ "NuGet": "https://www.nuget.org/packages/FastCloner/",
+ "Source": "https://github.com/lofcz/FastCloner/",
+ "Category": "Clone",
+ "AddedOn": "2026-02-01T00:00:00"
}
]
}
\ No newline at end of file
diff --git a/v2/rscg_examples_site/static/exports/RSCG.xlsx b/v2/rscg_examples_site/static/exports/RSCG.xlsx
index 6bd107fbb..e7b85fa24 100644
Binary files a/v2/rscg_examples_site/static/exports/RSCG.xlsx and b/v2/rscg_examples_site/static/exports/RSCG.xlsx differ
diff --git a/v2/rscg_examples_site/static/sources/FastCloner.zip b/v2/rscg_examples_site/static/sources/FastCloner.zip
new file mode 100644
index 000000000..365bf3867
Binary files /dev/null and b/v2/rscg_examples_site/static/sources/FastCloner.zip differ