Skip to content

November 2025 Update

Choose a tag to compare

@adrianoc adrianoc released this 11 Dec 00:03
· 142 commits to main since this release
7c07063

TL;DR;

  1. A lot of improvements in System.Reflection.Metadata support
  2. Fixes Invoke() method not being invoked in implicit event rising (#359)
  3. Fixes handling of event symbols when visiting nodes representing event raising (#360)

Full list of commits

66b372e bumps version to 2.25.0
448f511 reduces verbosity by caching resolved types (as opposed to re-resolving multiple times)
f48e297 fix usage of attributes with arguments/named arguments on SRM (#358)
7bb4ebf fix: attributes with explicit targets on SRM (#358)
c3f7d89 fix: applying attributes to enum/enum members (#358)
3b1127a fix: ensures Invoke() method is invoked in implicit event rising (#359)
52e0331 fix: handle event symbols when visiting nodes representing event raising (#360)
f7a96c8 refactor: use standard approach to warn users
5520871 refactor: improve forwarded method declaration handling (#360)
0ca5468 refactor: use existing extension method when looking for method variables (#360)
73f600d refactor: minor typos and doc changes
55d7370 test: disable tests for events on SRM
4007e0f feat: remember last used api driver
0dec0c2 feat: takes target API into account when generating .csproj
6918a5d style: improves formatting of generated code on SRM (#350)
c3b6fcb removed some more Mono.Cecil specific code related to event handler processing (#358)
47db860 removes unnecessary generated code (#358)
4b3659b fixes when IlContext is set when defining events (#358)
154c03d reenables integration miscelaneous tests already working on SRM (#358)
f993cc0 reenables integration types tests already working on SRM (#358)
1c422aa reenables integration value type tests already working on SRM (#358)
736c38c reenables integration operators tests already working on SRM (#358)
07d5ea5 reenables integration method tests already working on SRM (#358)
ab278b3 reenables expression tests already working on SRM (#358)
7c72063 code cleanup
6a9f25c improves exception message to make debugging/investigation easier
7517bc0 fixes range expression tests on SRM (#358)
ea2a53c enables post/pre increment tests in SRM (#358)
e4bc8a7 fixes code generation when loading/storing local variables in some scenarios (#358)
b009e28 enables / reorganizes expression tests (#358)
eb13c4a fixes assembly comparer not reporting missing fields (#358)
fca7788 fixes token used as first field/method for types with no fields/methods (#358)
b0af516 fix field constant/initialization handling after adding field references (#358)
7fa7810 fixes variable name for auto property backing field being invalid
60f8f94 ensures fields are emitted in the same order as its parent definition types (#358)
5c0b3b1 fix operand types not being correctly set when emitting instructions in multiple places
e48e060 refactor: change order of tests to match the definition order (#358)
40802d4 refactor: make SystemReflectionMetadataTypeResolver.RsolveForTargetKind() private
e93217c renames parameter to reflect atual type
4269f53 removes left over code used for debugging/investigation
f318334 fixes modulus operator test on SRM (#358)
0181ce4 enables ExpressionsTestCase.TestDoubleLocalVariableInitializationComplex() (#358)
0fb9f1d enables codeblock integration tests on SRM (#358)
ae80482 enable all fields integration tests (#358)
9de6ef5 big refactoring; adss TypeResolutionContext to ITypeResolver.ResolveX() (#358)
283df58 fix typo in test
3c4a838 fixes integration test expectation for tests that were correct in SRM (#358)
e497dcf improves parameter handling in SRM (#358)
673f3e6 fixes ternary operator integration test (#358)
4c7f98f fixes test expectation after changes in string concatanation logic introduced in 7b5d49e (#358)
05db29e explicitly pass ResolveTargetKind in some invocations of ITypeResolver.ResolveAny() (#358)
e792659 enables TestNewPrimitive and TestValueTypeAddress integration tests (#358)
7b5d49e fixes string concatenation through operator + (#358)
68f5002 enables expression integration tests that are passing on SRM (#358)
b1224cb enables partial class integration test (#354)
f7885b9 enables simple readonly struct test (#354)
bb1e4d0 fixes parameter name missing in method definitions (#354)
cddacf5 enable simple value type test and type with static ctor (#354)
58c15d5 adds support for (non generic) interface implementation (#354)
28277fc trying to fix CI; it seems that after .NET 10 release CI image is using that version instead 9.x
c7a1cfa adds support for declaring properties in interface definition (#354)
61c6bae enables/fixes a bunch of simple interface definition (#354)
79352fa enables InnerClassTest and fixes a bunch of problems with order ot type/member/local variables definition (#354)
d24fce6 enables InheritanceTest (base extern type) (#354)
24038eb fixes base ctor registration/resolution for base types and enables InheritanceSameCompilationUnitTest (#354)
65faf2d enables abstract class integration test and fixes accessibility being hardcoded as public on instance ctors (#354)
734f0c3 removes unused method in Mono.Cecil API driver (#354)
44211b8 disables test that depends on setting up .data section in the PE which I am having a hard time (#354)
fc17a3b fixes nested type definition in SRM (#354)
6529e33 moves ParameterSpec type to TypeSystem namespace (#354)
32b57e8 minor refactor
dd60516 abstracts class size/packing size properties and take them into account in SRM (#354)
f9fba2e improves association of fields/methods with its owning type (#354)
075820d removes unused method (#354)
5837e7f fixes nested types declaration in SRM (#354)
c639aa2 adds FieldInitializationData struct to abstract field initializer values and field initialized with data embedded in the binary (#354)
260004a WIP: set field RVA value in SRM (#354)
bd8a901 WIP: fix array SmokeTest for SRM (#354)
0c95452 removes redundant parameter from IApiDriverDefinitionsFactory.Field() overload (#354)
9ee978c changes TypeResolver to accept ResolveTargetKind in all methods (#354)