Skip to content

Commit a2098ae

Browse files
Merge branch 'zzzprojects:master' into master
2 parents 2cf71df + 5759f26 commit a2098ae

File tree

412 files changed

+11962
-99836
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

412 files changed

+11962
-99836
lines changed

.github/workflows/CreateRelease.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,8 @@ jobs:
1111
steps:
1212
- name: Checkout
1313
uses: actions/checkout@v2
14+
1415
- name: Release
15-
uses: softprops/action-gh-release@v1
16+
uses: softprops/action-gh-release@v2
17+
with:
18+
generate_release_notes: true

.github/workflows/ci.yml

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
build_and_test_Windows:
11-
name: Build and run Tests on Windows
11+
name: "Windows: Build and Tests"
1212
runs-on: windows-latest
1313

1414
env:
@@ -19,17 +19,21 @@ jobs:
1919
- uses: actions/checkout@v4
2020
with:
2121
fetch-depth: 0
22+
23+
- uses: actions/setup-dotnet@v4
24+
with:
25+
dotnet-version: '9.0.x'
2226

2327
- name: Build
2428
run: |
2529
dotnet build ./src/System.Linq.Dynamic.Core/System.Linq.Dynamic.Core.csproj -c Release -p:buildType=azure-pipelines-ci
2630
27-
- name: Run Tests EFCore net8.0
31+
- name: Run Tests EFCore net9.0
2832
run: |
2933
dotnet test ./test/System.Linq.Dynamic.Core.Tests/System.Linq.Dynamic.Core.Tests.csproj -c Release -p:buildType=azure-pipelines-ci
3034
3135
build_and_test_Linux:
32-
name: Build and run Tests on Linux
36+
name: "Linux: Build and Tests"
3337
runs-on: ubuntu-latest
3438

3539
env:
@@ -38,6 +42,10 @@ jobs:
3842

3943
steps:
4044
- uses: actions/checkout@v4
45+
46+
- uses: actions/setup-dotnet@v4
47+
with:
48+
dotnet-version: '9.0.x'
4149

4250
- uses: actions/setup-java@v4
4351
with:
@@ -49,8 +57,19 @@ jobs:
4957
dotnet tool install --global dotnet-sonarscanner
5058
dotnet tool install --global dotnet-coverage
5159
60+
- name: Check if analysis on SonarCloud is possible
61+
id: secret-check
62+
# perform secret check & put boolean result as an output
63+
shell: bash
64+
run: |
65+
if [ "${{ secrets.SONAR_TOKEN }}" != '' ]; then
66+
echo "run_analysis=true" >> $GITHUB_OUTPUT;
67+
else
68+
echo "run_analysis=false" >> $GITHUB_OUTPUT;
69+
fi
70+
5271
- name: Begin analysis on SonarCloud
53-
if: github.event_name != 'pull_request'
72+
if: ${{ steps.secret-check.outputs.run_analysis == 'true' }}
5473
run: |
5574
dotnet sonarscanner begin /k:"zzzprojects_System.Linq.Dynamic.Core" /o:"zzzprojects" /d:sonar.branch.name=$BranchName /d:sonar.host.url="https://sonarcloud.io" /d:sonar.token=${{ secrets.SONAR_TOKEN }} /d:sonar.pullrequest.provider=github /d:sonar.dotnet.excludeTestProjects=true /d:sonar.cs.vscoveragexml.reportsPaths=**/dynamic-coverage-*.xml /d:sonar.verbose=true
5675
@@ -64,17 +83,32 @@ jobs:
6483
6584
- name: Run Tests EFCore net8.0 (with Coverage)
6685
run: |
67-
dotnet-coverage collect 'dotnet test ./test/System.Linq.Dynamic.Core.Tests/System.Linq.Dynamic.Core.Tests.csproj --configuration Debug -p:buildType=azure-pipelines-ci' -f xml -o dynamic-coverage-efcore.xml
86+
dotnet-coverage collect 'dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net8/System.Linq.Dynamic.Core.Tests.Net8.csproj --configuration Debug --framework net8.0 -p:buildType=azure-pipelines-ci' -f xml -o dynamic-coverage-efcore.xml
6887
88+
- name: Run Tests Newtonsoft.Json .NET 8 (with Coverage)
89+
run: |
90+
dotnet-coverage collect 'dotnet test ./test/System.Linq.Dynamic.Core.NewtonsoftJson.Tests/System.Linq.Dynamic.Core.NewtonsoftJson.Tests.csproj --configuration Debug --framework net8.0 -p:buildType=azure-pipelines-ci' -f xml -o dynamic-coverage-newtonsoftjson.xml
91+
92+
- name: Run Tests System.Text.Json .NET 8 (with Coverage)
93+
run: |
94+
dotnet-coverage collect 'dotnet test ./test/System.Linq.Dynamic.Core.SystemTextJson.Tests/System.Linq.Dynamic.Core.SystemTextJson.Tests.csproj --configuration Debug --framework net8.0 -p:buildType=azure-pipelines-ci' -f xml -o dynamic-coverage-systemtextjson.xml
95+
6996
- name: End analysis on SonarCloud
70-
if: github.event_name != 'pull_request'
97+
if: ${{ steps.secret-check.outputs.run_analysis == 'true' }}
7198
run: |
7299
dotnet sonarscanner end /d:sonar.token=${{ secrets.SONAR_TOKEN }}
73100
74-
- name: Run Tests EFCore net7.0
75-
run: |
76-
dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net7/System.Linq.Dynamic.Core.Tests.Net7.csproj -c Release -p:buildType=azure-pipelines-ci
101+
# - name: Run Tests EFCore net8.0
102+
# run: |
103+
# dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net7/System.Linq.Dynamic.Core.Tests.Net8.csproj -c Release -p:buildType=azure-pipelines-ci
104+
# continue-on-error: true
77105

78-
- name: Run Tests EFCore net6.0
79-
run: |
80-
dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net6/System.Linq.Dynamic.Core.Tests.Net6.csproj -c Release -p:buildType=azure-pipelines-ci
106+
# - name: Run Tests EFCore net7.0
107+
# run: |
108+
# dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net7/System.Linq.Dynamic.Core.Tests.Net7.csproj -c Release -p:buildType=azure-pipelines-ci
109+
# continue-on-error: true
110+
111+
# - name: Run Tests EFCore net6.0
112+
# run: |
113+
# dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net6/System.Linq.Dynamic.Core.Tests.Net6.csproj -c Release -p:buildType=azure-pipelines-ci
114+
# continue-on-error: true

CHANGELOG.md

Lines changed: 77 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,78 @@
1+
# v1.6.0.2 (11 February 2025)
2+
- [#896](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/896) - Fix AbstractDynamicLinqCustomTypeProvider.ResolveTypeBySimpleName to use AdditionalTypes [bug] contributed by [StefH](https://github.com/StefH)
3+
4+
# v1.6.0.1 (28 January 2025)
5+
- [#887](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/887) - Make TextParser public [feature] contributed by [StefH](https://github.com/StefH)
6+
- [#885](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/885) - Make the TextParser public again [feature]
7+
8+
# v1.6.0 (26 January 2025)
9+
- [#864](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/864) - Use ParsingConfig.IsCaseSensitive setting in TextParser and KeywordsHelper [feature] contributed by [StefH](https://github.com/StefH)
10+
- [#865](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/865) - Add OrderBy NullPropagation tests [test] contributed by [StefH](https://github.com/StefH)
11+
- [#866](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/866) - Refactor KeywordsHelper, TypeFinder and update comments on ParsingConfig [refactor] contributed by [StefH](https://github.com/StefH)
12+
- [#870](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/870) - Fix CVE-2024-51417 [bug] contributed by [StefH](https://github.com/StefH)
13+
- [#874](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/874) - Fix calling static properties or fields in non-static class [bug] contributed by [StefH](https://github.com/StefH)
14+
- [#875](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/875) - Add option to ParsingConfig to allow the Equals and ToString methods on object [feature] contributed by [StefH](https://github.com/StefH)
15+
- [#876](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/876) - Update and Fix SecurityTests [test] contributed by [mariusz96](https://github.com/mariusz96)
16+
- [#879](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/879) - Change internal usage from obsolete IDynamicLinkCustomTypeProvider to IDynamicLinqCustomTypeProvider [feature] contributed by [StefH](https://github.com/StefH)
17+
- [#882](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/882) - ExpressionParser: add 2nd ctor with an extra non-optional parameter [feature] contributed by [StefH](https://github.com/StefH)
18+
- [#883](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/883) - Fix the usage of ParsingConfig in some methods in the DynamicQueryableExtensions class [bug] contributed by [StefH](https://github.com/StefH)
19+
- [#884](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/884) - By default the RestrictOrderByToPropertyOrField is now set to true in the ParsingConfig [feature] contributed by [StefH](https://github.com/StefH)
20+
- [#773](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/773) - Parse exceptions with (nested) static classes [bug]
21+
- [#867](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/867) - CVE-2024-51417: System.Linq.Dynamic.Core allows remote access to properties on reflection types and static properties/fields [bug]
22+
- [#873](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/873) - Accessing static property or field in normal class does not work [bug]
23+
- [#878](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/878) - ParsingConfig change Type of CustomTypeProvider to IDynamicLinqCustomTypeProvider in Version 1.6.0-preview-01 [feature]
24+
- [#881](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/881) - ExpressionParser ctor in 1.5.0 not compatible with earlier versions [feature]
25+
26+
# v1.5.1 (14 December 2024)
27+
- [#859](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/859) - Add SelectMany extension method for Json [feature] contributed by [StefH](https://github.com/StefH)
28+
- [#860](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/860) - Add support for SequenceEqual [feature] contributed by [StefH](https://github.com/StefH)
29+
- [#861](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/861) - Fix calling Sum without any arguments [bug] contributed by [StefH](https://github.com/StefH)
30+
- [#862](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/862) - Use different PackageIds for SystemTextJson and NewtonsoftJson projects [feature] contributed by [StefH](https://github.com/StefH)
31+
- [#855](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/855) - Support for SequenceEqual [feature]
32+
- [#856](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/856) - Using Sum method without arguments throws exception [bug]
33+
- [#858](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/858) - SelectMany not work over JSON [bug]
34+
35+
# v1.5.0 (07 December 2024)
36+
- [#791](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/791) - Add Json support [feature] contributed by [StefH](https://github.com/StefH)
37+
- [#857](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/857) - RestrictOrderByToPropertyOrField [feature] contributed by [StefH](https://github.com/StefH)
38+
- [#789](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/789) - Add JSON support [feature]
39+
40+
# v1.4.9 (16 November 2024)
41+
- [#853](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/853) - Add .NET 9 contributed by [StefH](https://github.com/StefH)
42+
43+
# v1.4.8 (31 October 2024)
44+
- [#851](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/851) - Throw ArgumentException when expression has invalid compare (e.g. string with int) [bug] contributed by [StefH](https://github.com/StefH)
45+
- [#849](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/849) - 1.4.7 Regression -- NullReferenceException from invalid expression instead of ArgumentException [bug]
46+
47+
# v1.4.7 (26 October 2024)
48+
- [#847](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/847) - Fixed String.Concat when types differ [bug] contributed by [StefH](https://github.com/StefH)
49+
- [#845](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/845) - String concatenations fails with System.ArgumentException during parsing [bug]
50+
51+
# v1.4.6 (13 October 2024)
52+
- [#839](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/839) - Add some [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] annotations [bug] contributed by [StefH](https://github.com/StefH)
53+
- [#844](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/844) - Fixed calling String methods in a nested expression [bug] contributed by [StefH](https://github.com/StefH)
54+
- [#843](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/843) - Calling methods on a String in nested expressesion causes Exception [bug]
55+
56+
# v1.4.5 (20 August 2024)
57+
- [#838](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/838) - Fix Blazor WASM System.InvalidOperationException [bug] contributed by [StefH](https://github.com/StefH)
58+
- [#836](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/836) - Blazor Wasm Eval: System.InvalidOperationException: Operation is not valid due to the current state of the object. [bug]
59+
60+
# v1.4.4 (30 July 2024)
61+
- [#832](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/832) - Fixed Extension methods on a string [bug] contributed by [StefH](https://github.com/StefH)
62+
- [#833](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/833) - Update DefaultDynamicLinqCustomTypeProvider constructor to be compatible with microsoft/RulesEngine [feature] contributed by [StefH](https://github.com/StefH)
63+
- [#830](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/830) - DefaultDynamicLinqCustomTypeProvider Issue [bug]
64+
- [#831](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/831) - Unable to find my string extensions in static class with DynamicLinqType attribute [bug]
65+
66+
# v1.4.3 (01 July 2024)
67+
- [#788](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/788) - Fix parsing " [bug] contributed by [StefH](https://github.com/StefH)
68+
- [#805](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/805) - Update ComparisonOperator logic to support comparing to object [feature] contributed by [StefH](https://github.com/StefH)
69+
- [#451](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/451) - Cannot compare 'Object' type [feature]
70+
- [#786](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/786) - Parser interpreting the two consecutive escape sequences \"\" as a single escape sequence [bug]
71+
72+
# v1.4.2 (25 June 2024)
73+
- [#824](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/824) - Fixed: Incorrect Handling of Qualifiers in ConstantExpressionHelper contributed by [RenanCarlosPereira](https://github.com/RenanCarlosPereira)
74+
- [#821](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/821) - Incorrect Handling of Qualifiers in ConstantExpressionHelper [bug]
75+
176
# v1.4.1 (21 June 2024)
277
- [#819](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/819) - Update EntityFramework to version 6.5 to fix CVE [feature] contributed by [StefH](https://github.com/StefH)
378
- [#820](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/820) - Use Testcontainers.MsSql for unit tests [test] contributed by [StefH](https://github.com/StefH)
@@ -15,7 +90,6 @@
1590
- [#811](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/811) - Add extra unit test for calling methods on a string property [test] contributed by [StefH](https://github.com/StefH)
1691
- [#626](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/626) - '&&' and '||' operators incompatible between operand type 'bool' and type with implicit conversation to 'bool' [bug]
1792
- [#633](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/633) - Fail to GroupBy Select Where Average [bug]
18-
- [#783](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/783) - Performance Issue with EF Core 8.0 and Microsoft.EntityFrameworkCore.DynamicLinq Package [duplicate]
1993
- [#803](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/803) - Updating to 1.3.13 - No property or field 'XXXXX' exists in type 'Char' [bug]
2094
- [#810](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/810) - Issue with Where() method when filtering multiple string properties while using ToLower() [bug]
2195

@@ -259,7 +333,6 @@
259333
- [#479](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/479) - Xamarin.Forms - DynamicExpressionParser.ParseLambda fails when comparing enum properties by their int value [bug]
260334

261335
# v1.2.7 (26 December 2020)
262-
- [#462](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/462) - Add PatchVersion [feature] contributed by [StefH](https://github.com/StefH)
263336
- [#463](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/463) - Add extension method Where<TSource>(...) with LambdaExpression [feature] contributed by [StefH](https://github.com/StefH)
264337
- [#464](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/464) - NullPropagation operator: support nullable DateTime contributed by [StefH](https://github.com/StefH)
265338
- [#466](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/466) - Fix Android issue (Could not load the file 'System.Private.Corelib') [bug] contributed by [StefH](https://github.com/StefH)
@@ -271,13 +344,14 @@
271344
- [#468](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/468) - net5.0 OrderBy problem [bug]
272345
- [#473](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/473) - Exception in System.Linq.Dynamic.Core.Parser.EnumerationsFromMscorlib after update to 1.2.6 [bug]
273346

274-
# v1.2.6 (22 November 2020)
347+
# v1.2.6 (23 November 2020)
275348
- [#443](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/443) - Fix MethodCallExpression when using NullPropagating (np) contributed by [StefH](https://github.com/StefH)
276349
- [#445](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/445) - Add GitHub action for ci build + unit tests contributed by [StefH](https://github.com/StefH)
277350
- [#446](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/446) - Remove MyGet links from Readme.md contributed by [StefH](https://github.com/StefH)
278351
- [#447](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/447) - Fix Unit tests for net452 and net461 contributed by [StefH](https://github.com/StefH)
279352
- [#449](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/449) - Fix DateTime constructor using ticks [bug] contributed by [StefH](https://github.com/StefH)
280353
- [#450](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/450) - Support the enum UriKind [feature] contributed by [StefH](https://github.com/StefH)
354+
- [#462](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/462) - Add PatchVersion [feature] contributed by [StefH](https://github.com/StefH)
281355
- [#284](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/284) - String(Null) raises Ambiguous error [bug]
282356
- [#432](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/432) - Clarify error message when using np with instance methods [bug]
283357
- [#439](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/439) - Question: DateTime constructor using ticks [bug]

Generate-ReleaseNotes.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
rem https://github.com/StefH/GitHubReleaseNotes
22

3-
SET version=v1.4.1
3+
SET version=v1.6.0.2
44

5-
GitHubReleaseNotes --output CHANGELOG.md --exclude-labels invalid question documentation wontfix environment --language en --version %version% --token %GH_TOKEN%
5+
GitHubReleaseNotes --output CHANGELOG.md --exclude-labels known_issue out_of_scope invalid question documentation wontfix environment duplicate --language en --version %version% --token %GH_TOKEN%

NuGet.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ del /S *.nupkg
66

77
VS rebuild
88

9-
dotnet nuget push **\*.nupkg --source https://api.nuget.org/v3/index.json --api-key x
9+
dir /S/b *.nupkg
10+
11+
dotnet nuget push **\*.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key x

0 commit comments

Comments
 (0)