You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have just released Metalama 2024.1.7-preview, which includes all changes from 2024.1.6-preview and 2024.0.10 plus the following changes.
You can download the Visual Studio extension form OneDrive.
New
VSX: Now supports VS2019 16.11 (PostSharp-only).
Improved
C# 12.0 primary constructors can now be overridden.
C# 12.0 primary constructors can now have initializers and contracts.
Metalama.Patterns numeric contracts were significantly refactored.
Parameter contracts are now grouped by parameter index.
Return parameter contracts are now sorted to have the same order as parameter contracts.
Fixed
Compile-time 'else' clause in template not correctly evaluated at compile time.
Error when the regex source generator is used alongside Metalama.
meta.This always fails in parameter aspect.
DesignTime exception: syntax tree mismatch after adding a C# file.
Metalama.Patterns.Contracts: [StrictlyLessThan(1)] throws for a value that is less than 1.
Metalama.Patterns.Contracts: [Required] requires value types to be nullable but warns when any nullable type is used.
Metalama.Patterns.Contracts: memory allocation when verifying contracts on boxed numbers
Metalama.Patterns.Memoization: using MemoizeAttribute on a static method causes errors LAMA0611 and LAMA0612
VSX: several fixes of the previous preview:
PostSharp code lens keeps showing "-" after code paste.
Show a message in affected code when there are no instances of the selected aspect.
Hide skipped aspects from code lens and aspect explorer.
Diff is not formatted properly.
Metalama pauses when displaying diff.
Unhandled exceptions are shown as toast notification as well as infobars.
Exception: option type is not part of the project.
Diff preview menu item gets hidden when debugging sessions ends.
Title of the options root is too long.
Aspect Explorer: Null reference exception after deleting a file.
Aspect explorer: navigation to declaration doesn't work in all cases.
Aspect Explorer: affected code is not refreshed when run-time code changes.
Breaking Changes
Metalama.Patterns: The RangeAttribute class has been completely refactored and some public members have changed.
Metalama.Patterns: In ContractTemplates, the signature of OnRangeContractViolated and OnStrictRangeContractViolated has changed.
Metalama.Patterns: With InvariantAttribute, the generated SuspendInvariants method has a specific value-type return value instead of the general IDisposable.
The order of parameters introduced to implicit parameterless constructors is now inverted to match the order in other constructors.
Partial methods without implementation are now not eligible for contracts.
Constructors with params parameter are now not eligible for introducing parameters.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
We have just released Metalama 2024.1.7-preview, which includes all changes from 2024.1.6-preview and 2024.0.10 plus the following changes.
You can download the Visual Studio extension form OneDrive.
New
VSX: Now supports VS2019 16.11 (PostSharp-only).
Improved
Fixed
meta.This
always fails in parameter aspect.[StrictlyLessThan(1)]
throws for a value that is less than 1.[Required]
requires value types to be nullable but warns when any nullable type is used.MemoizeAttribute
on a static method causes errors LAMA0611 and LAMA0612Breaking Changes
RangeAttribute
class has been completely refactored and some public members have changed.OnRangeContractViolated
andOnStrictRangeContractViolated
has changed.InvariantAttribute
, the generatedSuspendInvariants
method has a specific value-type return value instead of the generalIDisposable
.Beta Was this translation helpful? Give feedback.
All reactions