Skip to content

Releases: adrianoc/cecilifier

January 2025 Update (Version 2.17)

05 Jan 00:11
676712f
Compare
Choose a tag to compare

676712f bump Cecilifier to 2.17
f5eba15 visit member declarations sorted by order of references to minimize interleaving code generation for members (#314)
256e13d code cleanup
73aae8e fixes Activation.CreateInstance() invocation on 'ObjectCreationExpression' (#315)
a001b9c use ILVerification library instead of ilverify tool (#313)

November 2024 Update 1 (Version 2.16) - Shit Happens

06 Nov 23:09
8415fcf
Compare
Choose a tag to compare

c29ca42 fix Cecilifier.Web.csproj after monaco editor update
801cdad removes non relevant TODO (#303)
f431936 ensure that tests recompile cecilified code whenever the cecilified code or any of its dependencies changes
f491a64 includes public fields in synthetic PrintMembers() method on records (#303)
9934ca0 fixes field access on generic type generating invalid field reference
edfd79b improve assembly comparison code (#303)
27adf08 avoid instantiating visitor for each type processed
033a613 simplified project compression code (#303)
7c82937 updates monaco editor to 0.52.0
e0cf06f displays .NET version in the 'about' section
171acf8 updates Dockerfile to use nightly builds of .NET (used to test new versions of .NET)
c8b2e21 takes parameter types into account during method resolution (#303)
4e70b33 fixes assignment of value types in instance methods (#303)
bd4879a addressed stackalloc with size specified through property/local variable/parameter (#303)
5c3430e fixes pointer to pointer assignment emitting Stind instruction instead of plain stloc/starg/stfld/etc (#303)
c3d1d8c improves workflow when assembly comparison code throws exceptions
24e115e removes some code duplication in the area of conversion application (#303)
5704e96 use top level statements in test (#303)
591ebe1 bumps version to 2.16.0

... and a lot of TODO cleanups:

1167133 removes outdated TODO (#303)
23a6c13 replaces TODO with issue #312 (#303)
dbc8faa code cleanup
7d37efa removes misleading TODO (#303)
8fee84f removes outdated TODO regarding method attributes on synthetic methods (#303)
251c1ce removes misleading TODO (#303)
932d97b removes TODO regarding coverage of type syntaxes and adds clarifying comment (#303)
c1a0776 replaced TODO regardint tuple handling with existing issue #93 (#303)
744e98c replaced TODO regarding attribute handling with issue #311 (#303)
21790e9 removes unclear TODO + adds a couple of tests to improve coverage (#303)
f5fc600 converted TODO from code to issue #309 (#303)
987b2a5 removes stale, incorrect TODO and cleans up the code (#303)
16c791d removed outdated TODO (#303)

October 2024 Updates 2 (Version 2.15)

18 Oct 20:35
0f954ca
Compare
Choose a tag to compare

d4aa7bc updates Mono.Cecil package from 0.11.5 -> 0.11.6
c170938 bumps version to 2.15.0
2117d49 cecilified code respects 'SkipLocalsInitAttribute' (#220)
cf58feb fix incorrect name being used when interacting with reflection APIs in some scenarios (#304)
bf49b02 extracted CecilifierContextBasedTestBase from TypeResolverTests to simplify writing unit tests
2220a5e fixes calls to 'Object.GetType()' on value types generating incorrect code (#298)
dbd20e4 improves generated code for 'foreach' statements
5d1b855 fixes resolving nested, non generic types of generic parent types with type arguments from the cecilified code (#306)
11e9183 use SemanticModel.GetForEachStatementInfo() instead of custom code to resolve IEnumerable/IEnumerator members (#305)

October 2024 Updates (Version 2.14)

05 Oct 20:02
3d41a5b
Compare
Choose a tag to compare

List of commits in this Version

8fd2f98 fixes page footer font
a63011e fix missing operand in LdObj instruction in some scenarios (#256)
d81642e adds support for boxing elements in a collection expression (#256)
3c089fc use test case parameterized values instead of hardcoded ones (#256)
c4b2255 adds support for user conversions in collection expressions/array initialization (#256)
6b6a5e0 fixes collection expression initialization when a implicit numeric conversion is required (#256)
03869eb rename method to match intent
923bf18 code cleanup, rename parameter to match intent
317d574 fixes crashes in output based tests when cecilified code does not produce any output
6632e35 adds support for initializing List with collection expressions (#256)
2897d9b moves helper methods that adds local variables to CecilifierContextExtensions
dd3e940 fixes broken code generation after refactoring of array initialization code (#256)
27ef4bb code cleanup
a1e3500 adds support for initializing spans with collection expressions (#256)
96045c4 moved common array initialization code to a helper type and added CollectionExpressionProcessor type (#256)
3a4ea26 adds support and tests for initializing arrays with collection expressions (#256)
71e2d59 fix typo in comment
f097539 Fixes 'ArgumentNullException' when processing call to generic instance method on non generic type (#302)
bca8fc2 moved test to better test fixture
5dfb0c1 updates dependent packages versions
cc52dd0 bumps fontawesome version to 6.5.0
cbf3a69 bump version to 2.14.0

September 2024 updates (Milestone 2.13)

30 Sep 12:26
e9df310
Compare
Choose a tag to compare

Fixes:

  • 08f54c0 fixes type resolution handling local type as an external one (#284)
  • 4243be5 output the correct paths of generated assembies in tests
  • e8e71fe do not try to apply attribute to backing field of non auto-property properties (#283)
  • 9ed2bc7 fixes crahes with some recursive patterns (#281)

Changes:

  • 19f9320 replaces legacy error reporting mechanism with toasts when processing gists
  • 18e9c67 Add support for emitting warning / errors from cecilifier (#292)
  • f741946 bump version to 2.13

August 2024 updates (Milestone 2.12)

25 Aug 15:19
f1c129a
Compare
Choose a tag to compare
  • Add support for records (#273)
  • Fixed wrong reference non existing member ModuleDefinition.TypeSystem.DateTime reference when processing System.DateTime (#277)
  • Fixed invalid IL generation when accessing base.Member (#278)

Full Changelog: v2.11.0...v2.12.0

June 2024 Updates

09 Jun 15:59
abb8818
Compare
Choose a tag to compare

What's Changed

  • 2d5a9cd bumps Cecilifier version to 2.11.0
  • aefc580 improves generic methods overload handling (#275)
  • c87998d improves user experience on auto saving snippets
  • 7314e16 fixes field access through MemberAccessExpressions on 'T[]', 'List', etc (#274)
  • 0914e34 fixes blank page upon invalid urls (#98)
  • bf583ec report violations of 'EnsureNotNull()' as 'NullReferenceException' instead of 'NotSupportedException'
  • 101e6c3 reports local functions capturing context as not supported (#272)

Full Changelog: v2.10.0...v2.11.0

April 2024 Updates

10 Apr 11:57
e21864e
Compare
Choose a tag to compare
  • Added support for save/restore (local browser storage) snippets (#270)
  • Fixed NullReferenceException on void returning methods with explicit return statements (#264)
  • Caching of 'GenericInstanceMethod' instantiations based on type arguments to avoid noise in the generated code (#266)
  • Improvements on readability of generated code for statements
  • Fixed 'constrained' opcode not being emited on calls on generic inline array elements
  • Added inline arrays support (#257)
  • Bumped Cecilifier version to 2.10.0

March 2024 updates

29 Mar 16:09
d66833d
Compare
Choose a tag to compare

Fixes

766da5f fixes multiple DefaultMemberAttribute added to types with multiple overloaded indexers (#265)
4ce841f fixes local functions always being handled as static (#271)
272f865 fixes forward reference to generic types (#269)
a2b1cba generates 'constrained' opcode in the correct location, i.e, just before a call to a generic method in some scenarios (#263)
62b955f fixes forwarded references to local generic functions referencing type parameters through reflection (#268)
4769853 fix invalid code generated for 'external' (not defined in the snippet) generic method calls (#262)

Miscellaneous

62331ae display cursor position for the snippet editor (#261)
bd23eee bumps version to 2.9.0

Full Changelog: v2.8.0...v2.9.0

February 2024 updates

02 Feb 22:56
c8fa196
Compare
Choose a tag to compare

What's Changed

  • Promoting staging to production (feb/2024) by @adrianoc in #260

Full Changelog: v2.6.0...v2.8.0