Skip to content

Commit 690c866

Browse files
committed
release v5.0.0
1 parent 207a7ef commit 690c866

8 files changed

+86
-324
lines changed

BuildScripts/NuGetPublish.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set PACKAGES=..\.dist
44
set SOURCE=https://api.nuget.org/v3/index.json
55
set /p APIKEY=<"..\..\ApiKey.txt"
66

7-
set PKGVER=4.2.2
7+
set PKGVER=5.0.0
88

99
dotnet nuget push "%PACKAGES%\FastExpressionCompiler.%PKGVER%.nupkg" -k %APIKEY% -s %SOURCE% --skip-duplicate
1010
dotnet nuget push "%PACKAGES%\FastExpressionCompiler.src.%PKGVER%.nupkg" -k %APIKEY% -s %SOURCE% --skip-duplicate

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
[Apex.Serialization]: https://github.com/dbolin/Apex.Serialization
1717
[MapsterMapper]: https://github.com/MapsterMapper/Mapster
1818

19-
[![latest release notes](https://img.shields.io/badge/latest%20release%20notes-v4.2.0-blue)](https://github.com/dadhi/FastExpressionCompiler/releases/tag/v4.2.2)
19+
[![latest release notes](https://img.shields.io/badge/latest%20release%20notes-v5.0.0-blue)](https://github.com/dadhi/FastExpressionCompiler/releases/tag/v5.0.0)
2020
[![Windows build](https://ci.appveyor.com/api/projects/status/4iyhed69l3k0k37o/branch/master?svg=true)](https://ci.appveyor.com/project/MaksimVolkau/fastexpressioncompiler/branch/master)[![license](https://img.shields.io/github/license/dadhi/FastExpressionCompiler.svg)](http://opensource.org/licenses/MIT)
2121

2222
Targets .NET 6+, .NET 4.7.2+, .NET Standard 2.0+

nuspecs/FastExpressionCompiler.Internal.src.nuspec

Lines changed: 11 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
33
<metadata minClientVersion="3.3.0">
44
<id>FastExpressionCompiler.Internal.src</id>
5-
<version>4.2.2</version>
5+
<version>5.0.0</version>
66
<authors>Maksim Volkau</authors>
77
<copyright>Copyright © 2016-2024 Maksim Volkau</copyright>
88
<projectUrl>https://github.com/dadhi/FastExpressionCompiler</projectUrl>
@@ -12,85 +12,19 @@
1212
<description>FastExpressionCompiler is 10-40x times faster than Expression.Compile()</description>
1313
<tags>Performance;Expression;ExpressionTree;Compile;DynamicMethod;IL;ILEmit;DryIoc;ExpressionToCodeLib</tags>
1414
<releaseNotes><![CDATA[
15-
## v4.2.2 Bug-fix release
1615
17-
- fix: #418 Wrong output when comparing NaN value
18-
- fix: #419 System.InvalidProgramException : The JIT compiler encountered invalid IL code or an internal limitation
19-
- fix: #420 Nullable<DateTime> comparison differs from Expression.Compile
20-
- fix: #421 Date difference is giving wrong negative value
21-
- fix: #422 [bug] InvalidProgramException when having TryCatch + Default in Catch
22-
- fix: #423 Converting a uint to a float gives the wrong result
16+
## v5.0.0 Major feature release
2317
18+
- feat: #271 Add conversion from the System Expression to the Light Expression to allow hoisted system expression embedding in the larger light expression
19+
- feat: #432 Add explicit target for .NET 9
20+
- feat: #434 ToCSharpString should generate stable names for the unnamed variables, parameters and labels
2421
25-
## v4.2.1 Feature and bug-fix release
26-
27-
- fix: ImTools should disable the nullable context
28-
- fix: nullable property
29-
- fix: Incorrect il for struct indexer
30-
- fix: Fix or support return ref value
31-
- fix: Incorrect il when passing by ref value
32-
33-
## Contributors
34-
35-
* @sebastienros made contribution in https://github.com/dadhi/FastExpressionCompiler/pull/412
36-
37-
## Full Changelog
38-
39-
https://github.com/dadhi/FastExpressionCompiler/compare/v4.2.0...v4.2.1
40-
41-
42-
## v4.2.0 Feature and bug-fix release
43-
44-
- feat: #133 Optimize Switch Expression
45-
- feat: #393 Support ToCSharpString of the block in the ternary expression
46-
- feat: #396 Optimize conditional expressions with the DefaultExpression left or right operand the same way as ConstantExpression
47-
48-
- fix: #390 System.AccessViolationException when mapping using Mapster
49-
- fix: #391 ToCSharpString outputs ? for Nullable which does not produce the compile-able code
50-
- fix: #392 ToExpressionString wrongly declares Label instead of LabelTarget array
51-
- fix: #394 Calling a user defined == operator runs into a CLR invalid program exception
52-
- fix: #397 Fix and optimize the Switch support
53-
- fix: #399 Coalesce nullable with 0 is not working
54-
- fix: #400 Fix the direct assignment of Try to Member expression because indirect assignment through tmp var works
55-
- fix: #401 Invoke inlining is not working with collections in AutoMapper tests
56-
- fix: #404 An expression with a single parameter concatenated to a string causes 'Exception has been thrown by the target of an invocation' during delegate invocation
57-
- fix: #405 NullReferenceException with V4.X when using long?[]
58-
- fix: #406 NullReferenceException with V4.X
59-
- fix: #407 NullReferenceException when setting the Enum field
60-
- fix: #408 Dictionary mapping failing when the InvocationExpression inlining is involved
61-
62-
63-
## v4.1.0 Small feature and bug release
64-
65-
- added: #379 Add direct net8.0 target as soon as Appveyor CI will support it
66-
- fixed: #380 Comparisons with nullable types
67-
- fixed: #381 NullReferenceException with V4.X when trying to map
68-
- fixed: #386 Value can not be null(parametr 'meth')
69-
70-
71-
## v4.0.1 Bug-fix release
72-
73-
- fixed: #374 CompileFast doesn't work with HasFlag
74-
75-
76-
## v4.0.0 Major release
77-
78-
- fixed: #352 xxxAssign doesn't work with MemberAccess
79-
- fixed: #353 NullReferenceException when calling CompileFast() results
80-
- fixed: #357 Invalid program exception
81-
- fixed: #366 FastExpressionCompiler[v3.3.4] gives incorrect results in some linq operations
82-
- fixed: #368 Fix duplicate nested lambda compilation
83-
- fixed: #374 CompileFast doesn't work with HasFlag
84-
85-
- added: #264 Optimize the array index emit to emit specific Ldelem_ code instead of generic Ldelem
86-
- added: #273 Implement IArgumentProvider for the BlockExpression to minimize the consumed memory
87-
- added: #346 Is it possible to implement ref local variables?
88-
- added: #359 Improve the performance of variable lookup
89-
- added: #367 Better diagnostics and debugging with error codes from Collect and Compile rounds
90-
- added: #369 Decrease memory occupied by the LightExpression Block by storing Expression in SmallList (partly on stack)
91-
- added: #370 Optimize any nested lambda compilation (LINQ) by compiling right after collect one-by-one
92-
- added: #372 Support LightExpression.Expression.TryConvertDelegateIntrinsic for converting one type of delegate to another
93-
- added: #373 Support custom C# printing for the LightExpression.Expression
22+
- fix: #262 Optimize OpCode.Ceq plus Branch into a single compare-and-branch
23+
- fix: #424 TryCatch expression as argument in Call expression produces invalid program
24+
- fix: #426 Directly passing a method result to another method by ref, fails with InvalidProgramException
25+
- fix: #427 CSharp output with more consistency, robustness and more understandable code
26+
- fix: #428 Expression.Switch without a default case incorrectly calls first case for unmatched values
27+
- fix: #430 TryCatch - Bad label content in ILGenerator
9428
9529
]]> </releaseNotes>
9630
<contentFiles>

nuspecs/FastExpressionCompiler.LightExpression.Internal.src.nuspec

Lines changed: 11 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
33
<metadata minClientVersion="3.3.0">
44
<id>FastExpressionCompiler.LightExpression.Internal.src</id>
5-
<version>4.2.2</version>
5+
<version>5.0.0</version>
66
<authors>Maksim Volkau</authors>
77
<copyright>Copyright © 2016-2024 Maksim Volkau</copyright>
88
<projectUrl>https://github.com/dadhi/FastExpressionCompiler</projectUrl>
@@ -12,84 +12,19 @@
1212
<description>FastExpressionCompiler is 10-40x times faster than Expression.Compile()</description>
1313
<tags>Performance;Expression;ExpressionTree;Compile;DynamicMethod;IL;ILEmit;DryIoc;ExpressionToCodeLib</tags>
1414
<releaseNotes><![CDATA[
15-
## v4.2.2 Bug-fix release
1615
17-
- fix: #418 Wrong output when comparing NaN value
18-
- fix: #419 System.InvalidProgramException : The JIT compiler encountered invalid IL code or an internal limitation
19-
- fix: #420 Nullable<DateTime> comparison differs from Expression.Compile
20-
- fix: #421 Date difference is giving wrong negative value
21-
- fix: #422 [bug] InvalidProgramException when having TryCatch + Default in Catch
22-
- fix: #423 Converting a uint to a float gives the wrong result
16+
## v5.0.0 Major feature release
2317
18+
- feat: #271 Add conversion from the System Expression to the Light Expression to allow hoisted system expression embedding in the larger light expression
19+
- feat: #432 Add explicit target for .NET 9
20+
- feat: #434 ToCSharpString should generate stable names for the unnamed variables, parameters and labels
2421
25-
## v4.2.1 Feature and bug-fix release
26-
27-
- fix: ImTools should disable the nullable context
28-
- fix: nullable property
29-
- fix: Incorrect il for struct indexer
30-
- fix: Fix or support return ref value
31-
- fix: Incorrect il when passing by ref value
32-
33-
## Contributors
34-
35-
* @sebastienros made contribution in https://github.com/dadhi/FastExpressionCompiler/pull/412
36-
37-
## Full Changelog
38-
39-
https://github.com/dadhi/FastExpressionCompiler/compare/v4.2.0...v4.2.1
40-
41-
42-
## v4.2.0 Feature and bug-fix release
43-
44-
- feat: #133 Optimize Switch Expression
45-
- feat: #393 Support ToCSharpString of the block in the ternary expression
46-
- feat: #396 Optimize conditional expressions with the DefaultExpression left or right operand the same way as ConstantExpression
47-
48-
- fix: #390 System.AccessViolationException when mapping using Mapster
49-
- fix: #391 ToCSharpString outputs ? for Nullable which does not produce the compile-able code
50-
- fix: #392 ToExpressionString wrongly declares Label instead of LabelTarget array
51-
- fix: #394 Calling a user defined == operator runs into a CLR invalid program exception
52-
- fix: #397 Fix and optimize the Switch support
53-
- fix: #399 Coalesce nullable with 0 is not working
54-
- fix: #400 Fix the direct assignment of Try to Member expression because indirect assignment through tmp var works
55-
- fix: #401 Invoke inlining is not working with collections in AutoMapper tests
56-
- fix: #404 An expression with a single parameter concatenated to a string causes 'Exception has been thrown by the target of an invocation' during delegate invocation
57-
- fix: #405 NullReferenceException with V4.X when using long?[]
58-
- fix: #406 NullReferenceException with V4.X
59-
- fix: #407 NullReferenceException when setting the Enum field
60-
- fix: #408 Dictionary mapping failing when the InvocationExpression inlining is involved
61-
62-
63-
## v4.1.0 Small feature and bug release
64-
65-
- added: #379 Add direct net8.0 target as soon as Appveyor CI will support it
66-
- fixed: #380 Comparisons with nullable types
67-
- fixed: #381 NullReferenceException with V4.X when trying to map
68-
- fixed: #386 Value can not be null(parametr 'meth')
69-
70-
71-
## v4.0.1 Bug-fix release
72-
73-
- fixed: #374 CompileFast doesn't work with HasFlag
74-
75-
## v4.0.0 Major release
76-
77-
- fixed: #352 xxxAssign doesn't work with MemberAccess
78-
- fixed: #353 NullReferenceException when calling CompileFast() results
79-
- fixed: #357 Invalid program exception
80-
- fixed: #366 FastExpressionCompiler[v3.3.4] gives incorrect results in some linq operations
81-
- fixed: #368 Fix duplicate nested lambda compilation
82-
- fixed: #374 CompileFast doesn't work with HasFlag
83-
84-
- added: #264 Optimize the array index emit to emit specific Ldelem_ code instead of generic Ldelem
85-
- added: #273 Implement IArgumentProvider for the BlockExpression to minimize the consumed memory
86-
- added: #346 Is it possible to implement ref local variables?
87-
- added: #359 Improve the performance of variable lookup
88-
- added: #367 Better diagnostics and debugging with error codes from Collect and Compile rounds
89-
- added: #369 Decrease memory occupied by the LightExpression Block by storing Expression in SmallList (partly on stack)
90-
- added: #370 Optimize any nested lambda compilation (LINQ) by compiling right after collect one-by-one
91-
- added: #372 Support LightExpression.Expression.TryConvertDelegateIntrinsic for converting one type of delegate to another
92-
- added: #373 Support custom C# printing for the LightExpression.Expression
22+
- fix: #262 Optimize OpCode.Ceq plus Branch into a single compare-and-branch
23+
- fix: #424 TryCatch expression as argument in Call expression produces invalid program
24+
- fix: #426 Directly passing a method result to another method by ref, fails with InvalidProgramException
25+
- fix: #427 CSharp output with more consistency, robustness and more understandable code
26+
- fix: #428 Expression.Switch without a default case incorrectly calls first case for unmatched values
27+
- fix: #430 TryCatch - Bad label content in ILGenerator
9328
9429
]]> </releaseNotes>
9530
<contentFiles>

0 commit comments

Comments
 (0)