1. Добавлены свойства атрибутов AllIgnore = true — игнорировать все поля. Поля для использования должны быть помечены как [EqualsNotIgnore] или указаны в атрибуте класса как NotIgnore
2. Добавлена возможность указать поля вариантов NotIgnore = A.name
3. добавлена возможность отключить создание неизменяемых кусков с помощью указания WhenGenerateCashField необходимого минимального числа числа константных полей. К константным полям относятся неизменяемые примитивные типы и строки. по умолчанию значение 7.
4. Произведен отказ от использования лямбд.
5. Немного сокращен генерируемый код
[StructuralEquality(Ignore = name, NotIgnore = A.name, AllIgnore = true)]
variant X
{
| A { name : string; name2 : string; other : int; }
| B { name : string }
| C {
[EqualsNotIgnore] a1:int;
[EqualsNotIgnore] a2:int;
[EqualsNotIgnore] a3:int }
}