Release v3.5.4
·
0 commits
to 50386f8fa6dc69693a33948f6e3e306649019bf3
since this release
Features
- Source generator now supports excluding members by visibility.
- Added
FastClonerVisibilityAttributeto control member visibility handling at the type level for both runtime and source-generator paths. - Added
FastClonerStableHashAttributeto improve stable hash detection for cloner caching. - Introduced
NonPublicAccessorEmitterandBridgeProxyEmitterin the source generator to enable safe access to non-public members without reflection at runtime. - Added
FastClonerSourceGeneratorBridgeand associated contract attributes to support tighter integration between the runtime cloner and source-generated cloners.
Fixes
- Fixed a race condition in the cloner state management.
- Fixed cloning of private and protected fields in source-generated cloners.
- Resolved an edge case that could cause incorrect cloning behaviour in certain type graphs.
- Improved cycle tracking to correctly handle complex object graphs.
- Improved stable hash detection to reduce false cache misses.
- Fixed nullability warnings across the codebase.
Chores
- Updated README with revised documentation and usage guidance.
- Expanded test coverage with new test classes covering bridge proxy emission, non-public accessor generation, struct boxing via the runtime bridge, visibility attribute behaviour, and source generator edge cases.