├── .gitignore
├── Chocolatey
└── GitHubReleaseNotes
│ ├── GitHubReleaseNotes.nuspec
│ ├── HowTo.md
│ ├── ReadMe.md
│ ├── _TODO.txt
│ ├── generate.linq
│ └── tools
│ ├── LICENSE.txt
│ ├── VERIFICATION.txt
│ ├── chocolateyinstall.ps1
│ └── chocolateyuninstall.ps1
├── Directory.Build.props
├── GenerateReleaseNotes.cmd
├── LICENSE
├── README.md
├── ReleaseNotes.md
├── Wix
├── 1.0.10.0
│ ├── StefHeyenrath.GitHubReleaseNotes.installer.yaml
│ ├── StefHeyenrath.GitHubReleaseNotes.locale.en-US.yaml
│ └── StefHeyenrath.GitHubReleaseNotes.yaml
├── 1.0.10.1
│ ├── StefHeyenrath.GitHubReleaseNotes.installer.yaml
│ ├── StefHeyenrath.GitHubReleaseNotes.locale.en-US.yaml
│ └── StefHeyenrath.GitHubReleaseNotes.yaml
├── 1.0.9.0
│ ├── StefHeyenrath.GitHubReleaseNotes.installer.yaml
│ ├── StefHeyenrath.GitHubReleaseNotes.locale.en-US.yaml
│ └── StefHeyenrath.GitHubReleaseNotes.yaml
├── HowTo.md
├── Setup
│ ├── Product.wxs
│ └── Setup.wixproj
├── generate files.linq
├── generate guid.linq
├── productGuid.txt
└── upgradeGuid.txt
├── examples
├── RamlToOpenApiConverter.md
├── RestEase-Client-Generator.md
├── System.Linq.Dynamic.Core.md
├── System.Linq.Dynamic.Core.txt
├── WireMock.Net.md
└── WireMock.Net.txt
├── icon.png
└── src
├── GitHubReleaseNotes.Logic
├── Configuration.cs
├── Extensions
│ └── RepositoryExtensions.cs
├── Generator.cs
├── GitHubClientFactory.cs
├── GitHubReleaseNotes.Logic.csproj
├── HandleBarsHelper.cs
├── IConfiguration.cs
├── Models
│ ├── IssueInfo.cs
│ ├── IssuesAndPullRequestsModel.cs
│ ├── ReleaseInfo.cs
│ └── RepositorySettings.cs
├── RepositoryHelper.cs
└── Template.txt
├── GitHubReleaseNotes.NET48
├── FodyWeavers.xml
├── FodyWeavers.xsd
├── GitHubReleaseNotes.NET48.csproj
└── Program.cs
├── GitHubReleaseNotes.sln
├── GitHubReleaseNotes.sln.DotSettings
├── GitHubReleaseNotes
├── ConfigurationParser.cs
├── GitHubReleaseNotes.csproj
├── Program.cs
└── SimpleCommandLineParser.cs
└── dotnet-githubreleasenotes
├── GitHubReleaseNotes.Tool.csproj
├── Program.cs
└── Properties
└── launchSettings.json
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.suo
8 | *.user
9 | *.userosscache
10 | *.sln.docstates
11 |
12 | # User-specific files (MonoDevelop/Xamarin Studio)
13 | *.userprefs
14 |
15 | # Build results
16 | [Dd]ebug/
17 | [Dd]ebugPublic/
18 | [Rr]elease/
19 | [Rr]eleases/
20 | x64/
21 | x86/
22 | bld/
23 | [Bb]in/
24 | [Oo]bj/
25 | [Ll]og/
26 |
27 | # Visual Studio 2015/2017 cache/options directory
28 | .vs/
29 | # Uncomment if you have tasks that create the project's static files in wwwroot
30 | #wwwroot/
31 |
32 | # Visual Studio 2017 auto generated files
33 | Generated\ Files/
34 |
35 | # MSTest test Results
36 | [Tt]est[Rr]esult*/
37 | [Bb]uild[Ll]og.*
38 |
39 | # NUNIT
40 | *.VisualState.xml
41 | TestResult.xml
42 |
43 | # Build Results of an ATL Project
44 | [Dd]ebugPS/
45 | [Rr]eleasePS/
46 | dlldata.c
47 |
48 | # Benchmark Results
49 | BenchmarkDotNet.Artifacts/
50 |
51 | # .NET Core
52 | project.lock.json
53 | project.fragment.lock.json
54 | artifacts/
55 | **/Properties/launchSettings.json
56 |
57 | # StyleCop
58 | StyleCopReport.xml
59 |
60 | # Files built by Visual Studio
61 | *_i.c
62 | *_p.c
63 | *_i.h
64 | *.ilk
65 | *.meta
66 | *.obj
67 | *.iobj
68 | *.pch
69 | *.pdb
70 | *.ipdb
71 | *.pgc
72 | *.pgd
73 | *.rsp
74 | *.sbr
75 | *.tlb
76 | *.tli
77 | *.tlh
78 | *.tmp
79 | *.tmp_proj
80 | *.log
81 | *.vspscc
82 | *.vssscc
83 | .builds
84 | *.pidb
85 | *.svclog
86 | *.scc
87 |
88 | # Chutzpah Test files
89 | _Chutzpah*
90 |
91 | # Visual C++ cache files
92 | ipch/
93 | *.aps
94 | *.ncb
95 | *.opendb
96 | *.opensdf
97 | *.sdf
98 | *.cachefile
99 | *.VC.db
100 | *.VC.VC.opendb
101 |
102 | # Visual Studio profiler
103 | *.psess
104 | *.vsp
105 | *.vspx
106 | *.sap
107 |
108 | # Visual Studio Trace Files
109 | *.e2e
110 |
111 | # TFS 2012 Local Workspace
112 | $tf/
113 |
114 | # Guidance Automation Toolkit
115 | *.gpState
116 |
117 | # ReSharper is a .NET coding add-in
118 | _ReSharper*/
119 | *.[Rr]e[Ss]harper
120 | *.DotSettings.user
121 |
122 | # JustCode is a .NET coding add-in
123 | .JustCode
124 |
125 | # TeamCity is a build add-in
126 | _TeamCity*
127 |
128 | # DotCover is a Code Coverage Tool
129 | *.dotCover
130 |
131 | # AxoCover is a Code Coverage Tool
132 | .axoCover/*
133 | !.axoCover/settings.json
134 |
135 | # Visual Studio code coverage results
136 | *.coverage
137 | *.coveragexml
138 |
139 | # NCrunch
140 | _NCrunch_*
141 | .*crunch*.local.xml
142 | nCrunchTemp_*
143 |
144 | # MightyMoose
145 | *.mm.*
146 | AutoTest.Net/
147 |
148 | # Web workbench (sass)
149 | .sass-cache/
150 |
151 | # Installshield output folder
152 | [Ee]xpress/
153 |
154 | # DocProject is a documentation generator add-in
155 | DocProject/buildhelp/
156 | DocProject/Help/*.HxT
157 | DocProject/Help/*.HxC
158 | DocProject/Help/*.hhc
159 | DocProject/Help/*.hhk
160 | DocProject/Help/*.hhp
161 | DocProject/Help/Html2
162 | DocProject/Help/html
163 |
164 | # Click-Once directory
165 | publish/
166 |
167 | # Publish Web Output
168 | *.[Pp]ublish.xml
169 | *.azurePubxml
170 | # Note: Comment the next line if you want to checkin your web deploy settings,
171 | # but database connection strings (with potential passwords) will be unencrypted
172 | *.pubxml
173 | *.publishproj
174 |
175 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
176 | # checkin your Azure Web App publish settings, but sensitive information contained
177 | # in these scripts will be unencrypted
178 | PublishScripts/
179 |
180 | # NuGet Packages
181 | *.nupkg
182 | # The packages folder can be ignored because of Package Restore
183 | **/[Pp]ackages/*
184 | # except build/, which is used as an MSBuild target.
185 | !**/[Pp]ackages/build/
186 | # Uncomment if necessary however generally it will be regenerated when needed
187 | #!**/[Pp]ackages/repositories.config
188 | # NuGet v3's project.json files produces more ignorable files
189 | *.nuget.props
190 | *.nuget.targets
191 |
192 | # Microsoft Azure Build Output
193 | csx/
194 | *.build.csdef
195 |
196 | # Microsoft Azure Emulator
197 | ecf/
198 | rcf/
199 |
200 | # Windows Store app package directories and files
201 | AppPackages/
202 | BundleArtifacts/
203 | Package.StoreAssociation.xml
204 | _pkginfo.txt
205 | *.appx
206 |
207 | # Visual Studio cache files
208 | # files ending in .cache can be ignored
209 | *.[Cc]ache
210 | # but keep track of directories ending in .cache
211 | !*.[Cc]ache/
212 |
213 | # Others
214 | ClientBin/
215 | ~$*
216 | *~
217 | *.dbmdl
218 | *.dbproj.schemaview
219 | *.jfm
220 | *.pfx
221 | *.publishsettings
222 | orleans.codegen.cs
223 |
224 | # Including strong name files can present a security risk
225 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
226 | #*.snk
227 |
228 | # Since there are multiple workflows, uncomment next line to ignore bower_components
229 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
230 | #bower_components/
231 |
232 | # RIA/Silverlight projects
233 | Generated_Code/
234 |
235 | # Backup & report files from converting an old project file
236 | # to a newer Visual Studio version. Backup files are not needed,
237 | # because we have git ;-)
238 | _UpgradeReport_Files/
239 | Backup*/
240 | UpgradeLog*.XML
241 | UpgradeLog*.htm
242 | ServiceFabricBackup/
243 | *.rptproj.bak
244 |
245 | # SQL Server files
246 | *.mdf
247 | *.ldf
248 | *.ndf
249 |
250 | # Business Intelligence projects
251 | *.rdl.data
252 | *.bim.layout
253 | *.bim_*.settings
254 | *.rptproj.rsuser
255 |
256 | # Microsoft Fakes
257 | FakesAssemblies/
258 |
259 | # GhostDoc plugin setting file
260 | *.GhostDoc.xml
261 |
262 | # Node.js Tools for Visual Studio
263 | .ntvs_analysis.dat
264 | node_modules/
265 |
266 | # Visual Studio 6 build log
267 | *.plg
268 |
269 | # Visual Studio 6 workspace options file
270 | *.opt
271 |
272 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
273 | *.vbw
274 |
275 | # Visual Studio LightSwitch build output
276 | **/*.HTMLClient/GeneratedArtifacts
277 | **/*.DesktopClient/GeneratedArtifacts
278 | **/*.DesktopClient/ModelManifest.xml
279 | **/*.Server/GeneratedArtifacts
280 | **/*.Server/ModelManifest.xml
281 | _Pvt_Extensions
282 |
283 | # Paket dependency manager
284 | .paket/paket.exe
285 | paket-files/
286 |
287 | # FAKE - F# Make
288 | .fake/
289 |
290 | # JetBrains Rider
291 | .idea/
292 | *.sln.iml
293 |
294 | # CodeRush
295 | .cr/
296 |
297 | # Python Tools for Visual Studio (PTVS)
298 | __pycache__/
299 | *.pyc
300 |
301 | # Cake - Uncomment if you are using it
302 | # tools/**
303 | # !tools/packages.config
304 |
305 | # Tabs Studio
306 | *.tss
307 |
308 | # Telerik's JustMock configuration file
309 | *.jmconfig
310 |
311 | # BizTalk build output
312 | *.btp.cs
313 | *.btm.cs
314 | *.odx.cs
315 | *.xsd.cs
316 |
317 | # OpenCover UI analysis results
318 | OpenCover/
319 |
320 | # Azure Stream Analytics local run output
321 | ASALocalRun/
322 |
323 | # MSBuild Binary and Structured Log
324 | *.binlog
325 |
326 | # NVidia Nsight GPU debugger configuration file
327 | *.nvuser
328 |
329 | # MFractors (Xamarin productivity tool) working folder
330 | .mfractor/
331 |
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/GitHubReleaseNotes.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | githubreleasenotes
26 |
27 |
28 |
29 | 1.0.11.0
30 |
31 |
32 | Stef Heyenrath
33 |
34 |
35 |
36 |
37 | GitHubReleaseNotes
38 | Stef Heyenrath
39 |
40 | https://github.com/StefH/GitHubReleaseNotes
41 | https://raw.githubusercontent.com/StefH/GitHubReleaseNotes/master/icon.png
42 | 2018 - 2024 Stef Heyenrath
43 |
44 | https://raw.githubusercontent.com/StefH/GitHubReleaseNotes/master/LICENSE
45 |
46 | https://github.com/StefH/GitHubReleaseNotes
47 |
48 |
49 | https://github.com/StefH/GitHubReleaseNotes/issues
50 | GitHubReleaseNotes Release ReleaseNotes Notes GitHub Generate Octokit libgit2sharp MarkDown Project
51 | Generate Release Notes from a GitHub project.
52 | Generate Release Notes from a GitHub project.
53 | See ReleaseNotes.md
54 |
55 |
56 |
57 |
65 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/HowTo.md:
--------------------------------------------------------------------------------
1 | # HowTo
2 |
3 | ## Update release
4 | - Update Version in `Directory.Build.props`
5 | - Update version in `GitHubReleaseNotes.nuspec`
6 | - Update Version in this file
7 |
8 | ## Build
9 | Build in release mode
10 |
11 | ## Generate VERIFICATION
12 | Use LinqPad on `.\Chocolatey\generate.linq` to generate VERIFICATION.txt
13 |
14 | ## Generate the release-notes
15 | - Update the version in 'GenerateReleaseNotes.cmd'
16 | - Run GenerateReleaseNotes.cmd
17 |
18 | ## Pack
19 | Run as **Administrator**:
20 | ``` cmd
21 | cd .\Chocolatey\GitHubReleaseNotes
22 | choco pack
23 | ```
24 |
25 | ## Push
26 | Set the api-key (only done once)
27 | ``` cmd
28 | choco apikey --key {KEY} --source https://push.chocolatey.org/
29 | ```
30 |
31 | Then push:
32 | ``` cmd
33 | choco push githubreleasenotes.1.0.11.nupkg --source https://push.chocolatey.org/
34 | ```
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/ReadMe.md:
--------------------------------------------------------------------------------
1 | ## Summary
2 | How do I create packages? See https://chocolatey.org/docs/create-packages
3 |
4 | If you are submitting packages to the community feed (https://chocolatey.org)
5 | always try to ensure you have read, understood and adhere to the create
6 | packages wiki link above.
7 |
8 | ## Automatic Packaging Updates?
9 | Consider making this package an automatic package, for the best
10 | maintainability over time. Read up at https://chocolatey.org/docs/automatic-packages
11 |
12 | ## Shim Generation
13 | Any executables you include in the package or download (but don't call
14 | install against using the built-in functions) will be automatically shimmed.
15 |
16 | This means those executables will automatically be included on the path.
17 | Shim generation runs whether the package is self-contained or uses automation
18 | scripts.
19 |
20 | By default, these are considered console applications.
21 |
22 | If the application is a GUI, you should create an empty file next to the exe
23 | named 'name.exe.gui' e.g. 'bob.exe' would need a file named 'bob.exe.gui'.
24 | See https://chocolatey.org/docs/create-packages#how-do-i-set-up-shims-for-applications-that-have-a-gui
25 |
26 | If you want to ignore the executable, create an empty file next to the exe
27 | named 'name.exe.ignore' e.g. 'bob.exe' would need a file named
28 | 'bob.exe.ignore'.
29 | See https://chocolatey.org/docs/create-packages#how-do-i-exclude-executables-from-getting-shims
30 |
31 | ## Self-Contained?
32 | If you have a self-contained package, you can remove the automation scripts
33 | entirely and just include the executables, they will automatically get shimmed,
34 | which puts them on the path. Ensure you have the legal right to distribute
35 | the application though. See https://chocolatey.org/docs/legal.
36 |
37 | You should read up on the Shim Generation section to familiarize yourself
38 | on what to do with GUI applications and/or ignoring shims.
39 |
40 | ## Automation Scripts
41 | You have a powerful use of Chocolatey, as you are using PowerShell. So you
42 | can do just about anything you need. Choco has some very handy built-in
43 | functions that you can use, these are sometimes called the helpers.
44 |
45 | ### Built-In Functions
46 | https://chocolatey.org/docs/helpers-reference
47 |
48 | A note about a couple:
49 | * Get-BinRoot - this is a horribly named function that doesn't do what new folks think it does. It gets you the 'tools' root, which by default is set to 'c:\tools', not the chocolateyInstall bin folder - see https://chocolatey.org/docs/helpers-get-tools-location
50 | * Install-BinFile - used for non-exe files - executables are automatically shimmed... - see https://chocolatey.org/docs/helpers-install-bin-file
51 | * Uninstall-BinFile - used for non-exe files - executables are automatically shimmed - see https://chocolatey.org/docs/helpers-uninstall-bin-file
52 |
53 | ### Getting package specific information
54 | Use the package parameters pattern - see https://chocolatey.org/docs/how-to-parse-package-parameters-argument
55 |
56 | ### Need to mount an ISO?
57 | https://chocolatey.org/docs/how-to-mount-an-iso-in-chocolatey-package
58 |
59 | ### Environment Variables
60 | Chocolatey makes a number of environment variables available (You can access any of these with $env:TheVariableNameBelow):
61 |
62 | * TEMP/TMP - Overridden to the CacheLocation, but may be the same as the original TEMP folder
63 | * ChocolateyInstall - Top level folder where Chocolatey is installed
64 | * ChocolateyPackageName - The name of the package, equivalent to the `` field in the nuspec (0.9.9+)
65 | * ChocolateyPackageTitle - The title of the package, equivalent to the `
` field in the nuspec (0.10.1+)
66 | * ChocolateyPackageVersion - The version of the package, equivalent to the `` field in the nuspec (0.9.9+)
67 | * ChocolateyPackageFolder - The top level location of the package folder - the folder where Chocolatey has downloaded and extracted the NuGet package, typically `C:\ProgramData\chocolatey\lib\packageName`.
68 |
69 | #### Advanced Environment Variables
70 | The following are more advanced settings:
71 |
72 | * ChocolateyPackageParameters - Parameters to use with packaging, not the same as install arguments (which are passed directly to the native installer). Based on `--package-parameters`. (0.9.8.22+)
73 | * CHOCOLATEY_VERSION - The version of Choco you normally see. Use if you are 'lighting' things up based on choco version. (0.9.9+) - Otherwise take a dependency on the specific version you need.
74 | * ChocolateyForceX86 = If available and set to 'true', then user has requested 32bit version. (0.9.9+) - Automatically handled in built in Choco functions.
75 | * OS_PLATFORM - Like Windows, OSX, Linux. (0.9.9+)
76 | * OS_VERSION - The version of OS, like 6.1 something something for Windows. (0.9.9+)
77 | * OS_NAME - The reported name of the OS. (0.9.9+)
78 | * USER_NAME = The user name (0.10.6+)
79 | * USER_DOMAIN = The user domain name (could also be local computer name) (0.10.6+)
80 | * IS_PROCESSELEVATED = Is the process elevated? (0.9.9+)
81 | * IS_SYSTEM = Is the user the system account? (0.10.6+)
82 | * IS_REMOTEDESKTOP = Is the user in a terminal services session? (0.10.6+)
83 | * ChocolateyToolsLocation - formerly 'ChocolateyBinRoot' ('ChocolateyBinRoot' will be removed with Chocolatey v2.0.0), this is where tools being installed outside of Chocolatey packaging will go. (0.9.10+)
84 |
85 | #### Set By Options and Configuration
86 | Some environment variables are set based on options that are passed, configuration and/or features that are turned on:
87 |
88 | * ChocolateyEnvironmentDebug - Was `--debug` passed? If using the built-in PowerShell host, this is always true (but only logs debug messages to console if `--debug` was passed) (0.9.10+)
89 | * ChocolateyEnvironmentVerbose - Was `--verbose` passed? If using the built-in PowerShell host, this is always true (but only logs verbose messages to console if `--verbose` was passed). (0.9.10+)
90 | * ChocolateyForce - Was `--force` passed? (0.9.10+)
91 | * ChocolateyForceX86 - Was `-x86` passed? (CHECK)
92 | * ChocolateyRequestTimeout - How long before a web request will time out. Set by config `webRequestTimeoutSeconds` (CHECK)
93 | * ChocolateyResponseTimeout - How long to wait for a download to complete? Set by config `commandExecutionTimeoutSeconds` (CHECK)
94 | * ChocolateyPowerShellHost - Are we using the built-in PowerShell host? Set by `--use-system-powershell` or the feature `powershellHost` (0.9.10+)
95 |
96 | #### Business Edition Variables
97 |
98 | * ChocolateyInstallArgumentsSensitive - Encrypted arguments passed from command line `--install-arguments-sensitive` that are not logged anywhere. (0.10.1+ and licensed editions 1.6.0+)
99 | * ChocolateyPackageParametersSensitive - Package parameters passed from command line `--package-parameters-senstivite` that are not logged anywhere. (0.10.1+ and licensed editions 1.6.0+)
100 | * ChocolateyLicensedVersion - What version is the licensed edition on?
101 | * ChocolateyLicenseType - What edition / type of the licensed edition is installed?
102 | * USER_CONTEXT - The original user context - different when self-service is used (Licensed v1.10.0+)
103 |
104 | #### Experimental Environment Variables
105 | The following are experimental or use not recommended:
106 |
107 | * OS_IS64BIT = This may not return correctly - it may depend on the process the app is running under (0.9.9+)
108 | * CHOCOLATEY_VERSION_PRODUCT = the version of Choco that may match CHOCOLATEY_VERSION but may be different (0.9.9+) - based on git describe
109 | * IS_ADMIN = Is the user an administrator? But doesn't tell you if the process is elevated. (0.9.9+)
110 | * IS_REMOTE = Is the user in a remote session? (0.10.6+)
111 |
112 | #### Not Useful Or Anti-Pattern If Used
113 |
114 | * ChocolateyInstallOverride = Not for use in package automation scripts. Based on `--override-arguments` being passed. (0.9.9+)
115 | * ChocolateyInstallArguments = The installer arguments meant for the native installer. You should use chocolateyPackageParameters intead. Based on `--install-arguments` being passed. (0.9.9+)
116 | * ChocolateyIgnoreChecksums - Was `--ignore-checksums` passed or the feature `checksumFiles` turned off? (0.9.9.9+)
117 | * ChocolateyAllowEmptyChecksums - Was `--allow-empty-checksums` passed or the feature `allowEmptyChecksums` turned on? (0.10.0+)
118 | * ChocolateyAllowEmptyChecksumsSecure - Was `--allow-empty-checksums-secure` passed or the feature `allowEmptyChecksumsSecure` turned on? (0.10.0+)
119 | * ChocolateyCheckLastExitCode - Should Chocolatey check LASTEXITCODE? Is the feature `scriptsCheckLastExitCode` turned on? (0.10.3+)
120 | * ChocolateyChecksum32 - Was `--download-checksum` passed? (0.10.0+)
121 | * ChocolateyChecksumType32 - Was `--download-checksum-type` passed? (0.10.0+)
122 | * ChocolateyChecksum64 - Was `--download-checksum-x64` passed? (0.10.0)+
123 | * ChocolateyChecksumType64 - Was `--download-checksum-type-x64` passed? (0.10.0)+
124 | * ChocolateyPackageExitCode - The exit code of the script that just ran - usually set by `Set-PowerShellExitCode` (CHECK)
125 | * ChocolateyLastPathUpdate - Set by Chocolatey as part of install, but not used for anything in particular in packaging.
126 | * ChocolateyProxyLocation - The explicit proxy location as set in the configuration `proxy` (0.9.9.9+)
127 | * ChocolateyDownloadCache - Use available download cache? Set by `--skip-download-cache`, `--use-download-cache`, or feature `downloadCache` (0.9.10+ and licensed editions 1.1.0+)
128 | * ChocolateyProxyBypassList - Explicitly set locations to ignore in configuration `proxyBypassList` (0.10.4+)
129 | * ChocolateyProxyBypassOnLocal - Should the proxy bypass on local connections? Set based on configuration `proxyBypassOnLocal` (0.10.4+)
130 | * http_proxy - Set by original `http_proxy` passthrough, or same as `ChocolateyProxyLocation` if explicitly set. (0.10.4+)
131 | * https_proxy - Set by original `https_proxy` passthrough, or same as `ChocolateyProxyLocation` if explicitly set. (0.10.4+)
132 | * no_proxy- Set by original `no_proxy` passthrough, or same as `ChocolateyProxyBypassList` if explicitly set. (0.10.4+)
133 |
134 |
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/_TODO.txt:
--------------------------------------------------------------------------------
1 | TODO
2 |
3 | 1. Determine Package Use:
4 |
5 | Organization? Internal Use? - You are not subject to distribution
6 | rights when you keep everything internal. Put the binaries directly
7 | into the tools directory (as long as total nupkg size is under 1GB).
8 | When bigger, look to use from a share or download binaries from an
9 | internal location. Embedded binaries makes for the most reliable use
10 | of Chocolatey. Use `$fileLocation` (`$file`/`$file64`) and
11 | `Install-ChocolateyInstallPackage`/`Get-ChocolateyUnzip` in
12 | tools\chocolateyInstall.ps1.
13 |
14 | You can also choose to download from internal urls, see the next
15 | section, but ignore whether you have distribution rights or not, it
16 | doesn't apply. Under no circumstances should download from the
17 | internet, it is completely unreliable. See
18 | https://chocolatey.org/docs/community-packages-disclaimer#organizations
19 | to understand the limitations of a publicly available repository.
20 |
21 | Community Repository?
22 | Have Distribution Rights?
23 | If you are the software vendor OR the software EXPLICITLY allows
24 | redistribution and the total nupkg size will be under 200MB, you
25 | have the option to embed the binaries directly into the package to
26 | provide the most reliable install experience. Put the binaries
27 | directly into the tools folder, use `$fileLocation` (`$file`/
28 | `$file64`) and `Install-ChocolateyInstallPackage`/
29 | `Get-ChocolateyUnzip` in tools\chocolateyInstall.ps1. Additionally,
30 | fill out the LICENSE and VERIFICATION file (see 3 below and those
31 | files for specifics).
32 |
33 | NOTE: You can choose to download binaries at runtime, but be sure
34 | the download location will remain stable. See the next section.
35 |
36 | Do Not Have Distribution Rights?
37 | - Note: Packages built this way cannot be 100% reliable, but it's a
38 | constraint of publicly available packages and there is little
39 | that can be done to change that. See
40 | https://chocolatey.org/docs/community-packages-disclaimer#organizations
41 | to better understand the limitations of a publicly available
42 | repository.
43 | Download Location is Publicly Available?
44 | You will need to download the runtime files from their official
45 | location at runtime. Use `$url`/`$url64` and
46 | `Install-ChocolateyPackage`/`Install-ChocolateyZipPackage` in
47 | tools\chocolateyInstall.ps1.
48 | Download Location is Not Publicly Available?
49 | Stop here, you can't push this to the community repository. You
50 | can ask the vendor for permission to embed, then include a PDF of
51 | that signed permission directly in the package. Otherwise you
52 | will need to seek alternate locations to non-publicly host the
53 | package.
54 | Download Location Is Same For All Versions?
55 | You still need to point to those urls, but you may wish to set up
56 | something like Automatic Updater (AU) so that when a new version
57 | of the software becomes available, the new package version
58 | automatically gets pushed up to the community repository. See
59 | https://chocolatey.org/docs/automatic-packages#automatic-updater-au
60 |
61 | 2. Determine Package Type:
62 |
63 | - Installer Package - contains an installer (everything in template is
64 | geared towards this type of package)
65 | - Zip Package - downloads or embeds and unpacks archives, may unpack
66 | and run an installer using `Install-ChocolateyInstallPackage` as a
67 | secondary step.
68 | - Portable Package - Contains runtime binaries (or unpacks them as a
69 | zip package) - cannot require administrative permissions to install
70 | or use
71 | - Config Package - sets config like files, registry keys, etc
72 | - Extension Package - Packages that add PowerShell functions to
73 | Chocolatey - https://chocolatey.org/docs/how-to-create-extensions
74 | - Template Package - Packages that add templates like this for `choco
75 | new -t=name` - https://chocolatey.org/docs/how-to-create-custom-package-templates
76 | - Other - there are other types of packages as well, these are the main
77 | package types seen in the wild
78 |
79 | 3. Fill out the package contents:
80 |
81 | - tools\chocolateyBeforeModify.ps1 - remove if you have no processes
82 | or services to shut down before upgrade/uninstall
83 | - tools\LICENSE.txt / tools\VERIFICATION.txt - Remove if you are not
84 | embedding binaries. Keep and fill out if you are embedding binaries
85 | in the package AND pushing to the community repository, even if you
86 | are the author of software. The file becomes easier to fill out
87 | (does not require changes each version) if you are the software
88 | vendor. If you are building packages for internal use (organization,
89 | etc), you don't need these files as you are not subject to
90 | distribution rights internally.
91 | - tools\chocolateyUninstall.ps1 - remove if autouninstaller can
92 | automatically uninstall and you have nothing additional to do during
93 | uninstall
94 | - Readme.txt - delete this file once you have read over and used
95 | anything you've needed from here
96 | - nuspec - fill this out, then clean out all the comments (you may wish
97 | to leave the headers for the package vs software metadata)
98 | - tools\chocolateyInstall.ps1 - instructions in next section.
99 |
100 | 4. ChocolateyInstall.ps1:
101 |
102 | - For embedded binaries - use `$fileLocation` (`$file`/`$file64`) and
103 | `Install-ChocolateyInstallPackage`/ `Get-ChocolateyUnzip`.
104 | - Downloading binaries at runtime - use `$url`/`$url64` and
105 | `Install-ChocolateyPackage` / `Install-ChocolateyZipPackage`.
106 | - Other needs (creating files, setting registry keys), use regular
107 | PowerShell to do so or see if there is a function already defined:
108 | https://chocolatey.org/docs/helpers-reference
109 | - There may also be functions available in extension packages, see
110 | https://chocolatey.org/packages?q=id%3A.extension for examples and
111 | availability.
112 | - Clean out the comments and sections you are not using.
113 |
114 | 5. Test the package to ensure install/uninstall work appropriately.
115 | There is a test environment you can use for this -
116 | https://github.com/chocolatey/chocolatey-test-environment
117 |
118 | 6. Learn more about Chocolatey packaging - go through the workshop at
119 | https://github.com/ferventcoder/chocolatey-workshop
120 | You will learn about
121 | - General packaging
122 | - Customizing package behavior at runtime (package parameters)
123 | - Extension packages
124 | - Custom packaging templates
125 | - Setting up an internal Chocolatey.Server repository
126 | - Adding and using internal repositories
127 | - Reporting
128 | - Advanced packaging techniques when installers are not friendly to
129 | automation
130 |
131 | 7. Delete this file.
132 |
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/generate.linq:
--------------------------------------------------------------------------------
1 |
2 |
3 | // LinqPad script to generate the `VERIFICATION.txt` file
4 |
5 | // Get the folder where this LinqPad script is located (https://stackoverflow.com/questions/3802779/linqpad-script-directory)
6 | string chocolateyFolder = Path.GetDirectoryName(Util.CurrentQueryPath);
7 | string projectFolder = Path.Combine(chocolateyFolder, "../", "../");
8 |
9 | var doc = new XmlDocument(); doc.Load(Path.Combine(chocolateyFolder, "GitHubReleaseNotes.nuspec"));
10 | string version = doc["package"]["metadata"]["version"].FirstChild.Value;
11 | string exe = Path.Combine(projectFolder, "src", "GitHubReleaseNotes", "bin", "release", "net8.0", "win-x64", "publish", "GitHubReleaseNotes.exe");
12 |
13 | string CreateSHA256()
14 | {
15 | var crypt = new System.Security.Cryptography.SHA256Managed();
16 | var hash = new System.Text.StringBuilder();
17 | byte[] crypto = crypt.ComputeHash(File.ReadAllBytes(exe));
18 | foreach (byte theByte in crypto)
19 | {
20 | hash.Append(theByte.ToString("x2"));
21 | }
22 | return hash.ToString().ToUpperInvariant();
23 | }
24 |
25 | var fi = new FileInfo(exe);
26 | long length = fi.Length;
27 | double lengthInMb = Math.Floor(100.0 * length / (1024 * 1024)) / 100;
28 | string dateModified = fi.LastWriteTime.ToString("yyyy-MM-dd HH:mm");
29 |
30 | string text =
31 | $@"VERIFICATION
32 |
33 | To verify this package, follow these steps:
34 |
35 | 1] Right click the GitHubReleaseNotes.exe in Windows file explorer and go to the ""Details"" tab and check the following properties:
36 | - File description GitHubReleaseNotes
37 | - Type Application
38 | - File version {version}
39 | - Product name GitHubReleaseNotes
40 | - Product version {version}
41 | - Copyright Stef Heyenrath
42 | - Size {lengthInMb} MB
43 | - Date modified {dateModified}
44 | - Language Language Neutral
45 | - Original filename GitHubReleaseNotes.exe
46 |
47 | 2] Verify the SHA256 from the GitHubReleaseNotes.exe file (7zip can be used for this)
48 | - SHA256 {CreateSHA256()}
49 |
50 | 3] For the changes in this release, see ReleaseNotes.md
51 |
52 | Note that this application is build as a selfcontained .NET 8 executable.";
53 |
54 | File.WriteAllText(Path.Combine(chocolateyFolder, "tools", "VERIFICATION.txt"), text, Encoding.UTF8);
55 |
56 | $"'VERIFICATION.txt' is generated for {version}".Dump();
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/tools/LICENSE.txt:
--------------------------------------------------------------------------------
1 | From: https://raw.githubusercontent.com/StefH/GitHubReleaseNotes/master/LICENSE
2 |
3 | LICENSE
4 |
5 | MIT License
6 |
7 | Copyright (c) 2018-2020 Stef Heyenrath
8 |
9 | Permission is hereby granted, free of charge, to any person obtaining a copy
10 | of this software and associated documentation files (the "Software"), to deal
11 | in the Software without restriction, including without limitation the rights
12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | copies of the Software, and to permit persons to whom the Software is
14 | furnished to do so, subject to the following conditions:
15 |
16 | The above copyright notice and this permission notice shall be included in all
17 | copies or substantial portions of the Software.
18 |
19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 | SOFTWARE.
26 |
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/tools/VERIFICATION.txt:
--------------------------------------------------------------------------------
1 | VERIFICATION
2 |
3 | To verify this package, follow these steps:
4 |
5 | 1] Right click the GitHubReleaseNotes.exe in Windows file explorer and go to the "Details" tab and check the following properties:
6 | - File description GitHubReleaseNotes
7 | - Type Application
8 | - File version 1.0.11.0
9 | - Product name GitHubReleaseNotes
10 | - Product version 1.0.11.0
11 | - Copyright Stef Heyenrath
12 | - Size 66,2 MB
13 | - Date modified 2024-03-06 11:56
14 | - Language Language Neutral
15 | - Original filename GitHubReleaseNotes.exe
16 |
17 | 2] Verify the SHA256 from the GitHubReleaseNotes.exe file (7zip can be used for this)
18 | - SHA256 A3E7148CFAAC7ADAEDBDAE3A2EC345038EE3B3B5DF1177B08E8D52BFC30B7447
19 |
20 | 3] For the changes in this release, see ReleaseNotes.md
21 |
22 | Note that this application is build as a selfcontained .NET 8 executable.
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/tools/chocolateyinstall.ps1:
--------------------------------------------------------------------------------
1 | Generate-BinFile "ghrn" "$packageFolder\Tools\GitHubReleaseNotes.exe"
--------------------------------------------------------------------------------
/Chocolatey/GitHubReleaseNotes/tools/chocolateyuninstall.ps1:
--------------------------------------------------------------------------------
1 | Remove-BinFile "ghrn" "$packageFolder\Tools\GitHubReleaseNotes.exe"
--------------------------------------------------------------------------------
/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | $(MsBuildAllProjects);$(MsBuildThisFileFullPath)
4 |
5 |
6 |
7 | 1.0.12.0
8 | Generate Release Notes from a GitHub project.
9 | Generate Release Notes from a GitHub project.
10 | Stef Heyenrath
11 | Stef Heyenrath
12 | Stef Heyenrath
13 | https://raw.githubusercontent.com/StefH/GitHubReleaseNotes/master/icon.png
14 | GitHubReleaseNotes;Release;ReleaseNotes;Notes;GitHub;Generate;Octokit;libgit2sharp;MarkDown;Project
15 | See ReleaseNotes.md
16 | https://github.com/StefH/GitHubReleaseNotes
17 | MIT
18 | git
19 | https://github.com/StefH/GitHubReleaseNotes
20 | latest
21 | enable
22 |
23 |
--------------------------------------------------------------------------------
/GenerateReleaseNotes.cmd:
--------------------------------------------------------------------------------
1 | GitHubReleaseNotes --output ReleaseNotes.md --skip-empty-releases --exclude-labels invalid question doc tip --version 1.0.11.0
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Stef Heyenrath
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GitHubReleaseNotes
2 | Generate Release Notes from GitHub.
3 |
4 | ## dotnet tool
5 | [](https://www.nuget.org/packages/GitHubReleaseNotes)
6 |
7 | ### Installation
8 | ``` cmd
9 | dotnet tool install --global GitHubReleaseNotes
10 | ```
11 |
12 | ## WinGet
13 | ``` cmd
14 | winget install -e --id StefHeyenrath.GitHubReleaseNotes
15 | ```
16 |
17 | ## Chocolatey
18 | [](https://chocolatey.org/packages/GitHubReleaseNotes)
19 | [](https://chocolatey.org/packages/GitHubReleaseNotes)
20 |
21 | ### Installation
22 | ```
23 | choco install GitHubReleaseNotes
24 | ```
25 |
26 | ## Usage
27 | GitHubReleaseNotes can be run inside a git repository.
28 | ```
29 | GitHubReleaseNotes --path . --output ReleaseNotes.md --version 1.0.4.17 --language en --skip-empty-releases --exclude-labels question
30 | ```
31 |
32 | Arguments:
33 | - `--path`: The path from the git repository. If not supplied, the current folder is used.
34 | - `--output`: The location from the generated Release Notes. If not supplied, the output is written to the console.
35 | - `--version`: Define a custom version name for the latest release instead of the value "next".
36 | - `--language`: Provide the language (two letter according to [ISO-639-1](https://en.wikipedia.org/wiki/ISO_639-1)) which is used to format the dates. If not provided, "en" is used. It's also possible to use a value like "system", which takes the current system ui language.
37 | - `--skip-empty-releases`: Define this optional argument to skip writing releases which have no associated Issues or Pull Requests.
38 | - `--template`: Provide a custom Handlebars template instead of the default template to generate the Release Notes.
39 | - `--exclude-labels`: Exclude Issues and Pull Requests which have these labels set.
40 | - `--exclude-labels`: To exclude issues from the generated output, provide a space separated string list from label-names you want to exclude.
41 | - `--token`: Provide the GitHub API token as authentication for connecting to private repositories. **@**
42 | - `--login` and `--password`: Provide the GitHub API login and password as authentication for connecting to private repositories. **@**
43 |
44 | **@** you only can use one authentication method
45 |
46 | ## Output
47 | The generated Release Notes ([Markdown](https://en.wikipedia.org/wiki/Markdown) formatted) will look like:
48 | ```
49 | # 1.0.4.16 (11 September 2018)
50 |
51 | - [#202](https://github.com/StefH/GitHubReleaseNotes/pull/202) - Update logic PR contributed by [StefH](https://github.com/StefH)
52 | - [#201](https://github.com/StefH/GitHubReleaseNotes/issues/201) - Fix issue abc
53 | ```
54 |
55 | ## Copyright
56 |
57 | ### Notes
58 | This project is based on [GitTools/GitReleaseNotes](https://github.com/GitTools/GitReleaseNotes).
59 |
60 | ### Dependencies
61 | - [Oktokit](https://github.com/octokit/octokit.net)
62 | - [LibGit2Sharp](https://github.com/aarnott/libgit2sharp)
63 | - [Handlebars.Net](https://github.com/rexm/Handlebars.Net)
64 | - [Fody](https://github.com/Fody/Fody)
65 | - [Fody.Costura](https://github.com/Fody/Costura)
66 |
67 |
--------------------------------------------------------------------------------
/ReleaseNotes.md:
--------------------------------------------------------------------------------
1 | # 1.0.10.1 (21 February 2024)
2 | - [#29](https://github.com/StefH/GitHubReleaseNotes/pull/29) - Replace LibGit2Sharp by GitReader [feature] contributed by [StefH](https://github.com/StefH)
3 |
4 | # 1.0.10.0 (15 February 2024)
5 | - [#28](https://github.com/StefH/GitHubReleaseNotes/pull/28) - Convert GitHubReleaseNotes to a .NET 8 self contained executable [feature] contributed by [StefH](https://github.com/StefH)
6 |
7 | # 1.0.9.0 (01 February 2024)
8 | - [#27](https://github.com/StefH/GitHubReleaseNotes/pull/27) - Update method GetAllIssuesAndPullRequestsAsync [feature] contributed by [StefH](https://github.com/StefH)
9 |
10 | # 1.0.8.0 (25 March 2023)
11 | - [#26](https://github.com/StefH/GitHubReleaseNotes/pull/26) - Upgrade to .NET 6 [feature] contributed by [StefH](https://github.com/StefH)
12 |
13 | # 1.0.7.1 (23 June 2021)
14 | - [#20](https://github.com/StefH/GitHubReleaseNotes/pull/20) - Fix version from setup.exe [bug] contributed by [StefH](https://github.com/StefH)
15 | - [#21](https://github.com/StefH/GitHubReleaseNotes/pull/21) - Replace LibGit2Sharp.Portable with latest LibGit2Sharp [bug] contributed by [StefH](https://github.com/StefH)
16 | - [#22](https://github.com/StefH/GitHubReleaseNotes/pull/22) - Update generator for winpkg manifest [bug] contributed by [StefH](https://github.com/StefH)
17 | - [#23](https://github.com/StefH/GitHubReleaseNotes/pull/23) - Fix ManifestVersion [bug] contributed by [StefH](https://github.com/StefH)
18 | - [#18](https://github.com/StefH/GitHubReleaseNotes/issues/18) - Wrong Display Version in Windows [bug]
19 | - [#19](https://github.com/StefH/GitHubReleaseNotes/issues/19) - LibGit2Sharp.Portable is deprecated and has issues running on Linux. [bug]
20 |
21 | # 1.0.7 (20 February 2021)
22 | - [#17](https://github.com/StefH/GitHubReleaseNotes/pull/17) - Fix issue where ssh remote urls don't work [bug] contributed by [jpann](https://github.com/jpann)
23 | - [#16](https://github.com/StefH/GitHubReleaseNotes/issues/16) - String cannot be empty [bug]
24 |
25 | # 1.0.6 (15 November 2020)
26 | - [#14](https://github.com/StefH/GitHubReleaseNotes/pull/14) - Support tag prefix and create dotnet tool contributed by [StefH](https://github.com/StefH)
27 | - [#15](https://github.com/StefH/GitHubReleaseNotes/pull/15) - Add WinGet project contributed by [StefH](https://github.com/StefH)
28 |
29 | # 1.0.5.3 (27 March 2020)
30 | - [#13](https://github.com/StefH/GitHubReleaseNotes/pull/13) - Fixed: "System.InvalidOperationException: Sequence contains no matching element" [bug] contributed by [StefH](https://github.com/StefH)
31 | - [#12](https://github.com/StefH/GitHubReleaseNotes/issues/12) - System.InvalidOperationException: Sequence contains no matching element [bug]
32 |
33 | # 1.0.5.2 (25 December 2019)
34 | - [#11](https://github.com/StefH/GitHubReleaseNotes/pull/11) - Fix file load exception [bug] contributed by [StefH](https://github.com/StefH)
35 |
36 | # 1.0.5.0 (25 December 2019)
37 | - [#8](https://github.com/StefH/GitHubReleaseNotes/pull/8) - Add token and login+password authentication [feature] contributed by [StefH](https://github.com/StefH)
38 | - [#9](https://github.com/StefH/GitHubReleaseNotes/pull/9) - Exclude tags [feature] contributed by [StefH](https://github.com/StefH)
39 | - [#10](https://github.com/StefH/GitHubReleaseNotes/pull/10) - Fix for `-` in project name. [bug] contributed by [StefH](https://github.com/StefH)
40 |
41 | # 1.0.4.0 (21 January 2019)
42 | - [#8](https://github.com/StefH/GitHubReleaseNotes/pull/8) - Add token and login+password authentication [feature] contributed by [StefH](https://github.com/StefH)
43 |
44 | # 1.0.3.0 (18 November 2018)
45 | - [#7](https://github.com/StefH/GitHubReleaseNotes/pull/7) - Add Labels and command-line option to provide your own template [feature] contributed by [StefH](https://github.com/StefH)
46 | - [#6](https://github.com/StefH/GitHubReleaseNotes/issues/6) - Group issues by label
47 |
48 | # 1.0.2.0 (30 October 2018)
49 | - [#5](https://github.com/StefH/GitHubReleaseNotes/pull/5) - Added additional commandline options --version, --language and --skip-empty-releases contributed by [StefH](https://github.com/StefH)
50 | - [#2](https://github.com/StefH/GitHubReleaseNotes/issues/2) - Release notes seems to leave the last merged PR out of the version
51 |
52 | # 1.0.1.0 (29 October 2018)
53 | - [#1](https://github.com/StefH/GitHubReleaseNotes/pull/1) - Chocolatey contributed by [StefH](https://github.com/StefH)
54 | - [#3](https://github.com/StefH/GitHubReleaseNotes/pull/3) - Chocolatey contributed by [StefH](https://github.com/StefH)
55 | - [#4](https://github.com/StefH/GitHubReleaseNotes/pull/4) - Fix for Release Notes seems to leave the last merged PR out of the version contributed by [StefH](https://github.com/StefH)
56 |
57 |
--------------------------------------------------------------------------------
/Wix/1.0.10.0/StefHeyenrath.GitHubReleaseNotes.installer.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.6.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.10.0
5 | InstallerType: zip
6 | NestedInstallerType: portable
7 | NestedInstallerFiles:
8 | - RelativeFilePath: GitHubReleaseNotes.exe
9 | ProductCode: '{32249977-C6C1-40ED-B6A8-7084E69A0E7A}'
10 | ReleaseDate: 2024-02-15
11 | AppsAndFeaturesEntries:
12 | - UpgradeCode: '{4E0EDF71-49CA-4113-8EF5-E1518AADE1E1}'
13 | Installers:
14 | - Architecture: x64
15 | InstallerUrl: https://github.com/StefH/GitHubReleaseNotes/releases/download/1.0.10.0/GitHubReleaseNotes.zip
16 | InstallerSha256: FEECBC4839EE530435D6807AA3FE498D51646039CB4C6B433C9FAA41865578B0
17 | ManifestType: installer
18 | ManifestVersion: 1.6.0
--------------------------------------------------------------------------------
/Wix/1.0.10.0/StefHeyenrath.GitHubReleaseNotes.locale.en-US.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.6.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.10.0
5 | PackageLocale: en-US
6 | Publisher: Stef Heyenrath
7 | PublisherUrl: https://github.com/StefH
8 | PublisherSupportUrl: https://github.com/StefH/GitHubReleaseNotes
9 | PackageName: GitHubReleaseNotes
10 | PackageUrl: https://github.com/StefH/GitHubReleaseNotes
11 | License: MIT
12 | LicenseUrl: https://github.com/StefH/GitHubReleaseNotes/blob/master/LICENSE
13 | ShortDescription: Generate Release Notes in MarkDown format from a GitHub project.
14 | Moniker: githubreleasenotes
15 | Tags:
16 | - changelog
17 | - generate
18 | - github
19 | - markdown
20 | - md
21 | - releasenotes
22 | - tags
23 | ReleaseNotesUrl: https://github.com/StefH/GitHubReleaseNotes/blob/master/ReleaseNotes.md
24 | ManifestType: defaultLocale
25 | ManifestVersion: 1.6.0
--------------------------------------------------------------------------------
/Wix/1.0.10.0/StefHeyenrath.GitHubReleaseNotes.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.6.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.10.0
5 | DefaultLocale: en-US
6 | ManifestType: version
7 | ManifestVersion: 1.6.0
--------------------------------------------------------------------------------
/Wix/1.0.10.1/StefHeyenrath.GitHubReleaseNotes.installer.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.6.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.10.1
5 | InstallerType: zip
6 | NestedInstallerType: portable
7 | NestedInstallerFiles:
8 | - RelativeFilePath: GitHubReleaseNotes.exe
9 | ProductCode: '{32249977-C6C1-40ED-B6A8-7084E69A0E7A}'
10 | ReleaseDate: 2024-02-21
11 | AppsAndFeaturesEntries:
12 | - UpgradeCode: '{54DA3D9F-E8A2-401F-A6BE-8133C2E04398}'
13 | Installers:
14 | - Architecture: x64
15 | InstallerUrl: https://github.com/StefH/GitHubReleaseNotes/releases/download/1.0.10.1/GitHubReleaseNotes.zip
16 | InstallerSha256: CE869FBA29CC31E46D9FD87924466B2167F41624F7AA3A6722ECEEDE47D28A7A
17 | ManifestType: installer
18 | ManifestVersion: 1.6.0
--------------------------------------------------------------------------------
/Wix/1.0.10.1/StefHeyenrath.GitHubReleaseNotes.locale.en-US.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.6.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.10.1
5 | PackageLocale: en-US
6 | Publisher: Stef Heyenrath
7 | PublisherUrl: https://github.com/StefH
8 | PublisherSupportUrl: https://github.com/StefH/GitHubReleaseNotes
9 | PackageName: GitHubReleaseNotes
10 | PackageUrl: https://github.com/StefH/GitHubReleaseNotes
11 | License: MIT
12 | LicenseUrl: https://github.com/StefH/GitHubReleaseNotes/blob/master/LICENSE
13 | ShortDescription: Generate Release Notes in MarkDown format from a GitHub project.
14 | Moniker: githubreleasenotes
15 | Tags:
16 | - changelog
17 | - generate
18 | - github
19 | - markdown
20 | - md
21 | - releasenotes
22 | - tags
23 | ReleaseNotesUrl: https://github.com/StefH/GitHubReleaseNotes/blob/master/ReleaseNotes.md
24 | ManifestType: defaultLocale
25 | ManifestVersion: 1.6.0
--------------------------------------------------------------------------------
/Wix/1.0.10.1/StefHeyenrath.GitHubReleaseNotes.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.6.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.10.1
5 | DefaultLocale: en-US
6 | ManifestType: version
7 | ManifestVersion: 1.6.0
--------------------------------------------------------------------------------
/Wix/1.0.9.0/StefHeyenrath.GitHubReleaseNotes.installer.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.5.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.9.0
5 | InstallerType: zip
6 | NestedInstallerType: portable
7 | NestedInstallerFiles:
8 | - RelativeFilePath: GitHubReleaseNotes.exe
9 | ProductCode: '{32249977-C6C1-40ED-B6A8-7084E69A0E7A}'
10 | ReleaseDate: 2024-02-07
11 | AppsAndFeaturesEntries:
12 | - UpgradeCode: '{C6C9F090-5E9F-4E30-B9D1-43238271456F}'
13 | Installers:
14 | - Architecture: x64
15 | InstallerUrl: https://github.com/StefH/GitHubReleaseNotes/releases/download/1.0.9.0/GitHubReleaseNotes.zip
16 | InstallerSha256: 26C3558610A7FBAB818C70560B28DF11636057D8DDFEEF0D11D0001A8729F619
17 | ManifestType: installer
18 | ManifestVersion: 1.5.0
--------------------------------------------------------------------------------
/Wix/1.0.9.0/StefHeyenrath.GitHubReleaseNotes.locale.en-US.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.5.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.9.0
5 | PackageLocale: en-US
6 | Publisher: Stef Heyenrath
7 | PublisherUrl: https://github.com/StefH
8 | PublisherSupportUrl: https://github.com/StefH/GitHubReleaseNotes
9 | PackageName: GitHubReleaseNotes
10 | PackageUrl: https://github.com/StefH/GitHubReleaseNotes
11 | License: MIT
12 | LicenseUrl: https://github.com/StefH/GitHubReleaseNotes/blob/master/LICENSE
13 | ShortDescription: Generate Release Notes in MarkDown format from a GitHub project.
14 | Moniker: githubreleasenotes
15 | Tags:
16 | - changelog
17 | - generate
18 | - github
19 | - markdown
20 | - md
21 | - releasenotes
22 | - tags
23 | ReleaseNotesUrl: https://github.com/StefH/GitHubReleaseNotes/blob/master/ReleaseNotes.md
24 | ManifestType: defaultLocale
25 | ManifestVersion: 1.5.0
--------------------------------------------------------------------------------
/Wix/1.0.9.0/StefHeyenrath.GitHubReleaseNotes.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.5.0.schema.json
2 |
3 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
4 | PackageVersion: 1.0.9.0
5 | DefaultLocale: en-US
6 | ManifestType: version
7 | ManifestVersion: 1.5.0
--------------------------------------------------------------------------------
/Wix/HowTo.md:
--------------------------------------------------------------------------------
1 | # HowTo - WinGet
2 |
3 | ## Update release
4 | Do Chocolatey first
5 |
6 | ## Update version
7 | Use LinqPad on `generate guid.linq` to generate the product guid and + update the upgrade guid.
8 |
9 | ## Generate yaml
10 | Use LinqPad on `generate files.linq` to generate the 3 yaml files.
11 |
12 | ## Add yaml
13 | Add the 3 new yaml files to the soluton in the "winget-pkgs" folder
14 |
15 | ## Verify : Validate
16 | Do a `winget validate --manifest `
17 |
18 | ## Upload
19 | Create the new version (tag) and upload 'zip' to https://github.com/StefH/GitHubReleaseNotes/releases
20 |
21 | ## Verify Install + Uninstall
22 | Do a `winget install --manifest `
23 |
24 | Do a `winget uninstall --manifest `
25 |
26 | ## winget-pkgs
27 | Create a PR with the new {version}.yaml in https://github.com/StefH/winget-pkgs
28 |
29 | Use the "." key on GitHub StefH/winget-pkgs to start VS Code and create a folder + add 3 yamls.
30 |
31 |
32 | :memo: `` is the name of the directory containing the manifest you're submitting.
33 |
34 | --------------------------------------------------------------------------------------------------------------------------------
35 |
36 | # HowTo - WinGet
37 |
38 | ## Build setup
39 | Build setup project
40 |
41 | ## Upload
42 | Upload the wix setup to https://github.com/StefH/GitHubReleaseNotes/releases
--------------------------------------------------------------------------------
/Wix/Setup/Product.wxs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Wix/Setup/Setup.wixproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | x86
6 | 3.10
7 | 9456d153-cbdd-470b-9bff-17c145ed9c24
8 | 2.0
9 | Setup
10 | Package
11 | Setup
12 |
13 |
14 | bin\$(Configuration)\
15 | obj\$(Configuration)\
16 | Debug
17 |
18 |
19 | bin\$(Configuration)\
20 | obj\$(Configuration)\
21 |
22 |
23 |
24 |
25 |
26 |
27 | GitHubReleaseNotes.NET48
28 | {b6269aac-170a-43d0-8b9b-579ded3d9a00}
29 | True
30 | True
31 | Binaries;Content;Satellites
32 | INSTALLFOLDER
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
48 |
--------------------------------------------------------------------------------
/Wix/generate files.linq:
--------------------------------------------------------------------------------
1 |
2 |
3 | // LINQPad script to generate the `manifest.yaml` files.
4 |
5 | // Get the folder where this LinqPad script is located (https://stackoverflow.com/questions/3802779/linqpad-script-directory)
6 | string folder = Path.GetDirectoryName(Util.CurrentQueryPath);
7 | string chocolateyFolder = Path.Combine(folder, "../", "Chocolatey", "GithubReleaseNotes");
8 | string projectFolder = Path.Combine(chocolateyFolder, "../", "../");
9 |
10 | string outputFolder = Path.Combine(projectFolder, "src", "GitHubReleaseNotes", "bin", "release", "net8.0", "win-x64", "publish");
11 | string exe = Path.Combine(outputFolder, "GitHubReleaseNotes.exe");
12 | string zip = Path.Combine(outputFolder, "GitHubReleaseNotes.zip");
13 |
14 | var doc = new XmlDocument();
15 | doc.Load(Path.Combine(chocolateyFolder, "GitHubReleaseNotes.nuspec"));
16 |
17 | string version = doc["package"]["metadata"]["version"].FirstChild.Value;
18 | // string msi = Path.Combine(folder, "Setup", "bin", "release", "Setup.msi");
19 |
20 | var fi = new FileInfo(exe);
21 | string dateModified = fi.LastWriteTime.ToString("yyyy-MM-dd");
22 |
23 | string CreateSHA256()
24 | {
25 | var crypt = new System.Security.Cryptography.SHA256Managed();
26 | var hash = new System.Text.StringBuilder();
27 | byte[] crypto = crypt.ComputeHash(File.ReadAllBytes(zip));
28 | foreach (byte theByte in crypto)
29 | {
30 | hash.Append(theByte.ToString("x2"));
31 | }
32 | return hash.ToString().ToUpperInvariant();
33 | }
34 |
35 | string productCode = $"{{{File.ReadAllText(Path.Combine(folder, "productGuid.txt"))}}}";
36 | string upgradeCode = $"{{{File.ReadAllText(Path.Combine(folder, "upgradeGuid.txt"))}}}";
37 |
38 | // StefHeyenrath.GitHubReleaseNotes.installer.yaml
39 | string installerText =
40 | $@"# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.6.0.schema.json
41 |
42 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
43 | PackageVersion: {version}
44 | InstallerType: zip
45 | NestedInstallerType: portable
46 | NestedInstallerFiles:
47 | - RelativeFilePath: GitHubReleaseNotes.exe
48 | ProductCode: '{productCode}'
49 | ReleaseDate: {dateModified}
50 | AppsAndFeaturesEntries:
51 | - UpgradeCode: '{upgradeCode}'
52 | Installers:
53 | - Architecture: x64
54 | InstallerUrl: https://github.com/StefH/GitHubReleaseNotes/releases/download/{version}/GitHubReleaseNotes.zip
55 | InstallerSha256: {CreateSHA256()}
56 | ManifestType: installer
57 | ManifestVersion: 1.6.0";
58 |
59 |
60 | // StefHeyenrath.GitHubReleaseNotes.locale.en-US.yaml
61 | string defaultLocaleText =
62 | $@"# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.6.0.schema.json
63 |
64 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
65 | PackageVersion: {version}
66 | PackageLocale: en-US
67 | Publisher: Stef Heyenrath
68 | PublisherUrl: https://github.com/StefH
69 | PublisherSupportUrl: https://github.com/StefH/GitHubReleaseNotes
70 | PackageName: GitHubReleaseNotes
71 | PackageUrl: https://github.com/StefH/GitHubReleaseNotes
72 | License: MIT
73 | LicenseUrl: https://github.com/StefH/GitHubReleaseNotes/blob/master/LICENSE
74 | ShortDescription: Generate Release Notes in MarkDown format from a GitHub project.
75 | Moniker: githubreleasenotes
76 | Tags:
77 | - changelog
78 | - generate
79 | - github
80 | - markdown
81 | - md
82 | - releasenotes
83 | - tags
84 | ReleaseNotesUrl: https://github.com/StefH/GitHubReleaseNotes/blob/master/ReleaseNotes.md
85 | ManifestType: defaultLocale
86 | ManifestVersion: 1.6.0";
87 |
88 |
89 | // StefHeyenrath.GitHubReleaseNotes
90 | string versionText =
91 | $@"# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.6.0.schema.json
92 |
93 | PackageIdentifier: StefHeyenrath.GitHubReleaseNotes
94 | PackageVersion: {version}
95 | DefaultLocale: en-US
96 | ManifestType: version
97 | ManifestVersion: 1.6.0";
98 |
99 | var versionFolder = Path.Combine(folder, version);
100 | Directory.CreateDirectory(versionFolder);
101 |
102 | File.WriteAllText(Path.Combine(versionFolder, @"StefHeyenrath.GitHubReleaseNotes.installer.yaml"), installerText, Encoding.UTF8);
103 | File.WriteAllText(Path.Combine(versionFolder, @"StefHeyenrath.GitHubReleaseNotes.locale.en-US.yaml"), defaultLocaleText, Encoding.UTF8);
104 | File.WriteAllText(Path.Combine(versionFolder, @"StefHeyenrath.GitHubReleaseNotes.yaml"), versionText, Encoding.UTF8);
105 |
106 | $"Manifest yamls are generated for {version}".Dump();
--------------------------------------------------------------------------------
/Wix/generate guid.linq:
--------------------------------------------------------------------------------
1 |
2 |
3 | // LINQPad script to generate the `product guid`.
4 |
5 | // Get the folder where this LinqPad script is located (https://stackoverflow.com/questions/3802779/linqpad-script-directory)
6 | string wixFolder = Path.GetDirectoryName(Util.CurrentQueryPath);
7 | string setupFolder = Path.Combine(wixFolder, "Setup");
8 | string productWxsFile = Path.Combine(setupFolder, "Product.wxs");
9 |
10 | string productCode = "32249977-C6C1-40ED-B6A8-7084E69A0E7A";
11 | string upgradeCode = Guid.NewGuid().ToString().ToUpperInvariant();
12 | // string productCode = $"{{{productGuid}}}";
13 |
14 | // Get version
15 | string chocolateyFolder = Path.Combine(wixFolder, "../", "Chocolatey", "GithubReleaseNotes");
16 | var specDoc = new XmlDocument();
17 | specDoc.Load(Path.Combine(chocolateyFolder, "GitHubReleaseNotes.nuspec"));
18 | string version = specDoc["package"]["metadata"]["version"].FirstChild.Value;
19 |
20 | // Define the Wix namespace
21 | XNamespace wixNamespace = "http://schemas.microsoft.com/wix/2006/wi";
22 |
23 | // Load the XML file
24 | var doc = XDocument.Load(productWxsFile);
25 |
26 | // Find the Product element
27 | var productElement = doc.Descendants(wixNamespace + "Product").Single();
28 | productElement.Attribute("Id").Value = productCode;
29 | productElement.Attribute("Version").Value = version;
30 | productElement.Attribute("UpgradeCode").Value = upgradeCode;
31 |
32 | // Save the modified XML file
33 | doc.Save(productWxsFile);
34 |
35 | File.WriteAllText(Path.Combine(wixFolder, "productGuid.txt"), productCode);
36 | File.WriteAllText(Path.Combine(wixFolder, "upgradeGuid.txt"), upgradeCode);
37 |
38 | $"ProductGuid and UpgradeGuid generated and saved to folder".Dump();
--------------------------------------------------------------------------------
/Wix/productGuid.txt:
--------------------------------------------------------------------------------
1 | 32249977-C6C1-40ED-B6A8-7084E69A0E7A
--------------------------------------------------------------------------------
/Wix/upgradeGuid.txt:
--------------------------------------------------------------------------------
1 | 54DA3D9F-E8A2-401F-A6BE-8133C2E04398
--------------------------------------------------------------------------------
/examples/RamlToOpenApiConverter.md:
--------------------------------------------------------------------------------
1 | # 0.7.0 (15 April 2025)
2 | - [#22](https://github.com/StefH/RamlToOpenApiConverter/pull/22) - Update Microsoft.OpenApi.YamlReader to 2.0.0-preview.16 to support spec version 3.1 [enhancement] contributed by [StefH](https://github.com/StefH)
3 |
4 | # 0.6.1 (04 February 2022)
5 | - [#18](https://github.com/StefH/RamlToOpenApiConverter/pull/18) - Uses statement contributed by [AndresGMD](https://github.com/AndresGMD)
6 | - [#19](https://github.com/StefH/RamlToOpenApiConverter/pull/19) - Fixes contributed by [StefH](https://github.com/StefH)
7 |
8 | # 0.6.0 (11 December 2021)
9 | - [#17](https://github.com/StefH/RamlToOpenApiConverter/pull/17) - Sign Assembly [enhancement] contributed by [StefH](https://github.com/StefH)
10 |
11 | # 0.5.0 (26 November 2021)
12 | - [#16](https://github.com/StefH/RamlToOpenApiConverter/pull/16) - Handling Simple Inherited DataTypes contributed by [mcheguini](https://github.com/mcheguini)
13 |
14 | # 0.4.2 (09 November 2021)
15 | - [#15](https://github.com/StefH/RamlToOpenApiConverter/pull/15) - Add support for !include example.json [enhancement] contributed by [StefH](https://github.com/StefH)
16 | - [#13](https://github.com/StefH/RamlToOpenApiConverter/issues/13) - Problem with including example files using "!include"
17 |
18 | # 0.4.1 (04 November 2021)
19 | - [#11](https://github.com/StefH/RamlToOpenApiConverter/pull/11) - Add handling of "type": "array" [enhancement] contributed by [StefH](https://github.com/StefH)
20 |
21 | # 0.4.0 (03 November 2021)
22 | - [#10](https://github.com/StefH/RamlToOpenApiConverter/pull/10) - Add support for referenced type (e.g. array) [enhancement] contributed by [StefH](https://github.com/StefH)
23 |
24 | # 0.3.0 (03 November 2021)
25 | - [#9](https://github.com/StefH/RamlToOpenApiConverter/pull/9) - Add support for nested !include [enhancement] contributed by [StefH](https://github.com/StefH)
26 |
27 | # 0.2.0 (14 July 2021)
28 | - [#7](https://github.com/StefH/RamlToOpenApiConverter/pull/7) - Upgrade Microsoft.OpenApi.Readers to 1.2.3 [enhancement] contributed by [StefH](https://github.com/StefH)
29 |
30 | # 0.1.1 (16 June 2020)
31 | - [#6](https://github.com/StefH/RamlToOpenApiConverter/pull/6) - Support .NET Framework 4.6 [enhancement] contributed by [StefH](https://github.com/StefH)
32 |
33 | # 0.1.0 (16 June 2020)
34 | - [#5](https://github.com/StefH/RamlToOpenApiConverter/pull/5) - New OpenApiReader (1.2.0) [enhancement] contributed by [StefH](https://github.com/StefH)
35 |
36 | # 0.0.4 (28 February 2020)
37 | - [#4](https://github.com/StefH/RamlToOpenApiConverter/pull/4) - Remove direct dependency to SharpYaml [enhancement] contributed by [StefH](https://github.com/StefH)
38 |
39 | # 0.0.3 (08 February 2020)
40 | - [#3](https://github.com/StefH/RamlToOpenApiConverter/pull/3) - Better Enum support + added Unit-Tests [enhancement] contributed by [StefH](https://github.com/StefH)
41 |
42 | # 0.0.2 (05 February 2020)
43 | - [#1](https://github.com/StefH/RamlToOpenApiConverter/pull/1) - Initial support for tag '!include' [enhancement] contributed by [StefH](https://github.com/StefH)
44 | - [#2](https://github.com/StefH/RamlToOpenApiConverter/pull/2) - Support enums [enhancement] contributed by [StefH](https://github.com/StefH)
45 |
46 |
--------------------------------------------------------------------------------
/examples/System.Linq.Dynamic.Core.md:
--------------------------------------------------------------------------------
1 | # v1.2.8 (20 February 2021)
2 | - [#455](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/455) - Ensure action delegate allows call to void methods contributed by [glopesdev](https://github.com/glopesdev)
3 | - [#480](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/480) - Fix DynamicIndex implementation [bug] contributed by [StefH](https://github.com/StefH)
4 | - [#481](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/481) - Xamarin fix Enum [bug] contributed by [StefH](https://github.com/StefH)
5 | - [#484](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/484) - Implement support for anonymous types as dynamic objects [bug] contributed by [hazzik](https://github.com/hazzik)
6 | - [#448](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/448) - Dynamic.DynamicIndex is exposed in the expression [bug]
7 | - [#457](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/457) - Allow use of `as` and `is` on arbitrary expressions, not just the parameter [wontfix]
8 | - [#458](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/458) - Documentation: `Is` and `As` should be documented with the rest of the expression language [documentation]
9 | - [#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]
10 |
11 | # v1.2.7 (26 December 2020)
12 | - [#462](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/462) - Add PatchVersion [feature] contributed by [StefH](https://github.com/StefH)
13 | - [#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)
14 | - [#464](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/464) - NullPropagation operator: support nullable DateTime contributed by [StefH](https://github.com/StefH)
15 | - [#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)
16 | - [#467](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/467) - Support 'System.Type' in As, Is, Cast and OfType [feature] contributed by [StefH](https://github.com/StefH)
17 | - [#470](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/470) - Add EF 5 NuGet package [feature] contributed by [StefH](https://github.com/StefH)
18 | - [#424](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/424) - How to GroupBy Nullable DateTime Year? [bug]
19 | - [#459](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/459) - Allow `as` and `is` to use instances of `System.Type` [feature]
20 | - [#465](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/465) - Crash on Android (regression in 1.2.6) [bug]
21 | - [#468](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/468) - net5.0 OrderBy problem [bug]
22 | - [#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]
23 |
24 | # v1.2.6 (22 November 2020)
25 | - [#443](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/443) - Fix MethodCallExpression when using NullPropagating (np) contributed by [StefH](https://github.com/StefH)
26 | - [#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)
27 | - [#446](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/446) - Remove MyGet links from Readme.md contributed by [StefH](https://github.com/StefH)
28 | - [#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)
29 | - [#449](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/449) - Fix DateTime constructor using ticks [bug] contributed by [StefH](https://github.com/StefH)
30 | - [#450](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/450) - Support the enum UriKind [feature] contributed by [StefH](https://github.com/StefH)
31 | - [#284](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/284) - String(Null) raises Ambiguous error [bug]
32 | - [#432](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/432) - Clarify error message when using np with instance methods [bug]
33 | - [#439](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/439) - Question: DateTime constructor using ticks [bug]
34 | - [#442](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/442) - UriKind is not recognized in Uri constructor [bug]
35 |
36 | # v1.2.5 (24 October 2020)
37 | - [#430](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/430) - Documentation: internal links are broken [documentation]
38 |
39 | # v1.2.4 (19 October 2020)
40 | - [#429](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/429) - save contributed by [Lempireqc](https://github.com/Lempireqc)
41 |
42 | # v1.2.3 (11 October 2020)
43 | - [#428](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/428) - Add support for IQueryable.Min and .Max contributed by [gregfullman](https://github.com/gregfullman)
44 | - [#230](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/230) - Request for contribution
45 | - [#403](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/403) - Expression is missing an 'as' clause [bug]
46 | - [#406](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/406) - Expression parameter should be case sensitive
47 | - [#410](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/410) - Methods on type 'JsonElement' are not accessible'. [wontfix]
48 | - [#411](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/411) - Can't apply the library while using reflection emit with dynamic linq
49 | - [#414](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/414) - Contains search in an Enum
50 | - [#416](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/416) - "Target object is not an ExpandoObject" exception being thrown when using GroupBy
51 | - [#417](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/417) - Expression is missing an 'as' clause
52 | - [#418](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/418) - Dynamic is not playing nice with EF+
53 | - [#420](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/420) - How to set global date format conversion?not used utc
54 | - [#423](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/423) - Produce Dynamic LINQ strings from expression trees
55 |
56 | # v1.2.2 (19 August 2020)
57 | - [#409](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/409) - save contributed by [Lempireqc](https://github.com/Lempireqc)
58 |
59 | # v1.2.1 (08 August 2020)
60 | - [#399](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/399) - Use parameterized names in dynamic query contributed by [ascott18](https://github.com/ascott18)
61 | - [#391](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/391) - SumAsync and CountAsync (maybe more) do not work with EF Core 3.1
62 | - [#404](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/404) - Add support to Max and Min functions
63 |
64 | # v1.2.0 (27 July 2020)
65 | - [#402](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/402) - Ef core 3x support contributed by [JonathanMagnan](https://github.com/JonathanMagnan)
66 | - [#386](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/386) - Question: Generic and Param based Custom Type Methods Support
67 | - [#397](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/397) - Dictionary parameter issue
68 | - [#400](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/400) - [Question] OrderBy does not work with nullable navigation properties
69 |
70 | # v1.1.8 (12 July 2020)
71 | - [#398](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/398) - Just add simple test contributed by [Lempireqc](https://github.com/Lempireqc)
72 | - [#393](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/393) - Generate SQL Server Select Statement from a dynamically created table.
73 | - [#394](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/394) - OrderByDynamic: Value cannot be null. (Parameter 'type')
74 | - [#395](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/395) - SQL between and query
75 | - [#396](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/396) - No property or field 'DynamicFunctions' exists in type 'Log'
76 |
77 | # v1.1.6 (05 July 2020)
78 | - [#384](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/384) - Request: Please implement ContainsKey for dictionary type
79 |
80 | # v1.1.5 (15 June 2020)
81 | - [#390](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/390) - Fixed loading "Microsoft.EntityFrameworkCore.DynamicLinq.DynamicFunctions" [bug] contributed by [StefH](https://github.com/StefH)
82 | - [#388](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/388) - Version from the dll is 0.0.0.0 (microsoft.entityframeworkcore.dynamiclinq) [bug]
83 |
84 | # v1.1.3 (15 June 2020)
85 | - [#315](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/315) - Update Documentation [documentation]
86 | - [#351](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/351) - Case insensitive GroupBy() [feature]
87 | - [#363](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/363) - OrderBy with non-english letters give different ordering result on string vs key selector [feature]
88 | - [#382](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/382) - Call nullable method [bug]
89 | - [#385](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/385) - Select Issue in EFCore 3 Update
90 |
91 | # v1.1.2 (31 May 2020)
92 | - [#380](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/380) - save contributed by [Lempireqc](https://github.com/Lempireqc)
93 | - [#381](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/381) - save contributed by [Lempireqc](https://github.com/Lempireqc)
94 | - [#383](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/383) - Fixed : calling methods which return a nullable [bug] contributed by [StefH](https://github.com/StefH)
95 | - [#378](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/378) - Versioning Issue in Latest NUGET packages [bug]
96 |
97 | # v1.1.1 (14 May 2020)
98 | - [#54](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/54) - Documentation for expression syntax [documentation]
99 | - [#110](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/110) - Complex query, like in ParseLambda_Complex_2, internal could only be used once [wontfix]
100 |
101 | # 1.1.0.0 (25 April 2020)
102 | - [#326](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/326) - Fixes for parsing escaped / quoted strings [bug] contributed by [StefH](https://github.com/StefH)
103 | - [#307](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/307) - Found problem with backslashes parsing [bug]
104 |
105 | # 1.0.24.0 (16 April 2020)
106 | - [#367](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/367) - Azure Pipelines: fix Build (coverlet), use new vmImage and update NuGet dependencies for UnitTests [bug] contributed by [StefH](https://github.com/StefH)
107 | - [#368](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/368) - Support MethodCalls in NullPropagation function : np(...) [feature] contributed by [StefH](https://github.com/StefH)
108 | - [#370](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/370) - Add ValidatedNotNullAttribute (for SonarQube) [refactor] contributed by [StefH](https://github.com/StefH)
109 | - [#366](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/366) - Null propagation cannot be used for primitive type lists (string) [feature]
110 |
111 | # 1.0.23.0 (26 March 2020)
112 | - [#357](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/357) - Prioritize property or field over the type / Fix find for static property or field contributed by [konzen](https://github.com/konzen)
113 | - [#360](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/360) - Support for Blazor webassembly [feature] contributed by [julienGrd](https://github.com/julienGrd)
114 | - [#355](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/355) - Parser issue - NullReferenceException [bug]
115 | - [#358](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/358) - [Blazor webassembly] library not working with linker disabled [feature]
116 |
117 | # 1.0.22.0 (18 March 2020)
118 | - [#352](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/352) - Nested Cosmos Db compatibility contributed by [countincognito](https://github.com/countincognito)
119 | - [#354](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/354) - Fix correctly type cast of nulls (and other constants) contributed by [rockResolve](https://github.com/rockResolve)
120 | - [#339](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/339) - Error creating Null string [bug]
121 |
122 | # 1.0.21.0 (29 February 2020)
123 | - [#340](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/340) - Better error message in case property or field is not present in new() [feature] contributed by [StefH](https://github.com/StefH)
124 | - [#342](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/342) - Fix np(...) logic when default value is supplied [bug] contributed by [StefH](https://github.com/StefH)
125 | - [#343](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/343) - DocFx [feature] contributed by [StefH](https://github.com/StefH)
126 | - [#349](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/349) - Update PagedResult logic [feature] contributed by [StefH](https://github.com/StefH)
127 | - [#353](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/353) - Remove option for 'UseDynamicObjectClassForAnonymousTypes' [bug] contributed by [StefH](https://github.com/StefH)
128 | - [#164](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/164) - Issue: The option `UseDynamicObjectClassForAnonymousTypes` does not work correctly [bug]
129 | - [#337](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/337) - np (NullPropagation) throws NullReferenceException with property on .NET Core 3.1 [bug]
130 |
131 | # 1.0.20.0 (11 January 2020)
132 | - [#262](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/262) - Z.EntityFramework.Classic contributed by [StefH](https://github.com/StefH)
133 | - [#286](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/286) - Do not generate IIF(...) when np(...) is used for a single expression [feature] contributed by [StefH](https://github.com/StefH)
134 | - [#309](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/309) - Null propagation for methods [bug] contributed by [StefH](https://github.com/StefH)
135 | - [#321](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/321) - LongCount contributed by [StefH](https://github.com/StefH)
136 | - [#323](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/323) - ParseNumber using CultureInfo from configuration [feature] contributed by [StefH](https://github.com/StefH)
137 | - [#329](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/329) - Fixed ToDynamicArrayAsync + ToDynamicListAsync (add type) [bug] contributed by [StefH](https://github.com/StefH)
138 | - [#336](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/336) - Add EF3.1 example [feature] contributed by [StefH](https://github.com/StefH)
139 | - [#338](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/338) - Fix np(...) [bug] contributed by [StefH](https://github.com/StefH)
140 | - [#302](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/302) - np (NullPropagation) throws NullReferenceException with methods [bug]
141 | - [#311](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/311) - Please support LongCount() [feature]
142 | - [#320](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/320) - TypeHelper#ParseNumber TryParse does not use InvariantCulture [bug]
143 | - [#327](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/327) - Incorrect ToDynamicListAsync(this IEnumerable source, Type type) and ToDynamicArrayAsync(this IEnumerable source, Type type) behavior [bug]
144 |
145 | # 1.0.19.0 (29 August 2019)
146 | - [#277](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/277) - DateTimeIsParsedAsUTC [feature] contributed by [StefH](https://github.com/StefH)
147 | - [#281](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/281) - Support for AndAlso and OrElse [feature] contributed by [StefH](https://github.com/StefH)
148 | - [#285](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/285) - Fix certain cases where implicit conversions aren't correctly detected when parsing comparison operators [bug] contributed by [alexweav](https://github.com/alexweav)
149 | - [#287](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/287) - Ensure that one-way implicit conversions also work for value types contributed by [alexweav](https://github.com/alexweav)
150 | - [#290](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/290) - Added SumAsync contributed by [wertzui](https://github.com/wertzui)
151 | - [#292](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/292) - Add ConsoleApp using EF6 Effort contributed by [StefH](https://github.com/StefH)
152 | - [#297](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/297) - Fix for #294 contributed by [david-garcia-garcia](https://github.com/david-garcia-garcia)
153 | - [#298](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/298) - Add 'All', 'Average', 'AverageAsync' and update 'Sum' [feature] contributed by [StefH](https://github.com/StefH)
154 | - [#299](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/299) - Add more PredefinedOperatorAliases [feature] contributed by [StefH](https://github.com/StefH)
155 | - [#268](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/268) - Timezone conversion [feature]
156 | - [#279](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/279) - Support .NET Expression string operators (AndAlso & OrElse) [feature]
157 | - [#294](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/294) - Context lost in object initializer [bug]
158 |
159 | # 1.0.18.0 (02 July 2019)
160 | - [#278](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/278) - Nuget System.Linq.Dynamic.Core 1.0.17 - Incorrect version [bug]
161 |
162 | # 1.0.17.0 (14 June 2019)
163 | - [#276](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/276) - op_Compare also for single "equals" token [bug] contributed by [nothrow](https://github.com/nothrow)
164 |
165 | # 1.0.16.0 (06 June 2019)
166 | - [#275](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/275) - Support Enumerations from System Namespace (e.g. StringComparison) [feature] contributed by [StefH](https://github.com/StefH)
167 |
168 | # 1.0.15.0 (20 May 2019)
169 | - [#273](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/273) - Adding support for overloaded op_Equality contributed by [nothrow](https://github.com/nothrow)
170 | - [#272](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/272) - Allow comparing via overloaded equality operator [feature]
171 |
172 | # 1.0.14.0 (14 May 2019)
173 | - [#270](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/270) - Fix for np() opererator for Nullable (e.g. DateTime) contributed by [StefH](https://github.com/StefH)
174 | - [#105](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/105) - Feature: Support for EF Core 2.0's EF.Functions.Like() [feature]
175 | - [#269](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/269) - np() opererator fails for (Nullable) DateTime [bug]
176 |
177 | # 1.0.13.0 (03 May 2019)
178 | - [#264](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/264) - Fix escape characters parsing [bug] contributed by [StefH](https://github.com/StefH)
179 | - [#266](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/266) - Make ExpressionPromoter public + Fix issue with null constant expression compare [bug] contributed by [david-garcia-garcia](https://github.com/david-garcia-garcia)
180 | - [#154](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/154) - Remark: Semantic Versioning... [wontfix]
181 | - [#163](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/163) - Issue: Using escaped strings is not working correctly [bug]
182 | - [#240](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/240) - Question: What is the proper way to construct a dynamic query for EF Core using DateTime or Nullable DateTime?
183 | - [#244](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/244) - Possible to add 'Compare' Extension method [wontfix]
184 |
185 | # 1.0.12.0 (26 March 2019)
186 | - [#260](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/260) - Fix for Nullable Enum filter contributed by [StefH](https://github.com/StefH)
187 | - [#258](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/258) - Filter by enum column with parameters throws exception [bug]
188 |
189 | # 1.0.11.0 (28 February 2019)
190 | - [#249](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/249) - Add support for OfType, Is, As and Cast [feature] contributed by [StefH](https://github.com/StefH)
191 | - [#250](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/250) - Wrap all constant expressions to fix Parameterized SQL (#247) [bug, feature] contributed by [StefH](https://github.com/StefH)
192 | - [#251](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/251) - Add NetCoreApp target & include DefaultDynamicLinqCustomTypeProvider [feature] contributed by [StefH](https://github.com/StefH)
193 | - [#253](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/253) - OfType Function contributed by [StefH](https://github.com/StefH)
194 | - [#254](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/254) - Resolve types by simple name #252 [feature] contributed by [StefH](https://github.com/StefH)
195 | - [#255](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/255) - Fix SonarScanner in build [bug] contributed by [StefH](https://github.com/StefH)
196 | - [#247](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/247) - Parameterized SQL doesn't work for Contains, StartsWith, and EndsWith
197 | - [#248](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/248) - Add IQueryable.OfType support to ExpressionParser.
198 | - [#252](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/252) - Implement ResolveTypesBySimpleName [feature]
199 |
200 | # 1.0.10.1 (05 February 2019)
201 | - [#223](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/223) - Add 'np(...)' Null Propagating function [feature] contributed by [StefH](https://github.com/StefH)
202 | - [#98](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/98) - Feature: Add the "?." operator (null-conditional operator) to support navigation properties with null values [feature]
203 | - [#182](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/182) - Error when navigation property which named "Parent"
204 | - [#243](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/243) - EF Core 2.2 - cannot use Where operator
205 |
206 | # 1.0.9.2 (10 January 2019)
207 | - [#239](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/239) - SingleOrDefaultAsync [feature] contributed by [StefH](https://github.com/StefH)
208 | - [#238](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/238) - Missing SingleOrDefaultAsync for EntityFrameworkCore [feature]
209 |
210 | # 1.0.10.1 (07 January 2019)
211 | - [#210](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/210) - Set up CI with Azure Pipelines contributed by [azure-pipelines[bot]](https://github.com/apps/azure-pipelines)
212 | - [#211](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/211) - ParameterExpressionRenamer contributed by [StefH](https://github.com/StefH)
213 | - [#212](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/212) - Make ExpressionPromoter plugable contributed by [david-garcia-garcia](https://github.com/david-garcia-garcia)
214 | - [#213](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/213) - Generating Parameterized SQL (by sspekinc) contributed by [StefH](https://github.com/StefH)
215 | - [#214](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/214) - UseParameterizedNamesInDynamicQuery=false contributed by [StefH](https://github.com/StefH)
216 | - [#216](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/216) - Add sourcelink contributed by [StefH](https://github.com/StefH)
217 | - [#217](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/217) - Use GitHubReleaseNotes contributed by [StefH](https://github.com/StefH)
218 | - [#218](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/218) - Codecov integration contributed by [StefH](https://github.com/StefH)
219 | - [#221](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/221) - Add docs folder for hosting documentation pages on github. [feature] contributed by [StefH](https://github.com/StefH)
220 | - [#222](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/222) - GenerateConditional will cast to nullable valuetype if needed [feature] contributed by [StefH](https://github.com/StefH)
221 | - [#228](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/228) - Issue215 [bug, feature] contributed by [david-garcia-garcia](https://github.com/david-garcia-garcia)
222 | - [#229](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/229) - Override is linq to objects [feature] contributed by [david-garcia-garcia](https://github.com/david-garcia-garcia)
223 | - [#231](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/231) - Make ParsingConfig mandatory contributed by [StefH](https://github.com/StefH)
224 | - [#237](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/237) - Performance Fix [bug] contributed by [StefH](https://github.com/StefH)
225 | - [#71](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/71) - Issue: Increase code-coverage [feature]
226 | - [#119](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/119) - Feature: How to keep parameter input name of query [feature]
227 | - [#145](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/145) - Question : Performance and 'System.IO.FileNotFoundException' in System.Private.CoreLib.dll
228 | - [#152](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/152) - Multiple assemblies with equivalent identity have been imported
229 | - [#179](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/179) - Feature: Implement SourceLink
230 | - [#184](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/184) - Feature: Generate Parameterized SQL [feature]
231 | - [#204](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/204) - Cannot GroupJoin when source is Linq-To-Entities
232 | - [#209](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/209) - Feature: use Azure Pipelines for building
233 | - [#215](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/215) - Issue: DynamicClassFactory fails to create dynamic type without properties [bug]
234 | - [#234](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/234) - Does this support Json data
235 | - [#236](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/236) - Massive performance hit when upgrading from 1.0.8.18 to 1.0.9
236 |
237 | # 1.0.9.0 (19 October 2018)
238 | - [#208](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/208) - Fix New() support for Type + Fix GroupJoin() not working when using Linq-To-Entities (2) contributed by [StefH](https://github.com/StefH)
239 | - [#136](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/136) - Expressions on dynamic objects
240 | - [#147](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/147) - Question: Making some queries dynamic possible
241 | - [#173](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/173) - Error when trying to access an object declared on another lambda
242 | - [#181](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/181) - Question: QueryValidator
243 | - [#199](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/199) - Feature: Add EvaluateGroupByAtDatabase logic to Join and GroupJoin
244 | - [#203](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/203) - How to query complex entities
245 | - [#205](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/205) - Documentation of supported operations
246 | - [#206](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/206) - Issue: new() expression cannot handle complex types
247 |
248 | # 1.0.8.18 (04 September 2018)
249 | - [#201](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/201) - Fix Parsing Config not passed down to expression parser in JOIN contributed by [david-garcia-garcia](https://github.com/david-garcia-garcia)
250 | - [#165](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/165) - Consider fit the rule of AnonymousTypes for EFCore2.1? [feature]
251 | - [#202](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/202) - Feature: support Explicit cast Operator [feature]
252 |
253 | # 1.0.8.17 (27 August 2018)
254 | - [#200](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/200) - Fix for parsing Guid and string in the same condition contributed by [OlegNadymov](https://github.com/OlegNadymov)
255 | - [#191](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/191) - Feature: re-enable support for uap10
256 |
257 | # 1.0.8.16 (19 August 2018)
258 | - [#198](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/198) - re-enable UAP10 support contributed by [StefH](https://github.com/StefH)
259 |
260 | # 1.0.8.15 (17 August 2018)
261 | - [#197](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/197) - Added EvaluateGroupByAtDatabase For EF Core 2.1 contributed by [StefH](https://github.com/StefH)
262 |
263 | # 1.0.8.14 (14 August 2018)
264 | - [#190](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/190) - Add SonarCloud (#186) contributed by [StefH](https://github.com/StefH)
265 | - [#193](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/193) - Fix for ParseLambda with itType and resultType: correct order of arguments contributed by [OlegNadymov](https://github.com/OlegNadymov)
266 | - [#195](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/195) - Fix the problem with inner double quotes contributed by [OlegNadymov](https://github.com/OlegNadymov)
267 | - [#186](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/186) - Feature: include SonarCloud code checks [feature]
268 | - [#187](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/187) - Add custom static classes for parsing
269 |
270 | # 1.0.8.12 (27 July 2018)
271 | - [#177](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/177) - Feature: Remove built-in references from netstandard2.0 target contributed by [hazzik](https://github.com/hazzik)
272 | - [#189](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/189) - Fix conversion from a non-nullable value type to the nullable value type contributed by [StefH](https://github.com/StefH)
273 | - [#178](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/178) - Question: No generic method 'Contains' on type 'System.Linq.Enumerable
274 | - [#180](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/180) - Question: GroupBy fails for field named SHORT
275 | - [#188](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/188) - Issue: Implicitly conversion from a non-nullable value type to the nullable form of that value type is broken?
276 |
277 | # 1.0.8.11 (06 June 2018)
278 | - [#172](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/172) - Issue: DynamicQueryableExtensions.OrderBy extension method not using ParsingConfig parameter
279 |
280 | # 1.0.8.10 (05 June 2018)
281 | - [#143](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/143) - Question : How to orderby an attribute of a List
282 | - [#170](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/170) - Question: Support to build Expressions besides LambdaExpressions
283 |
284 | # 1.0.8.9 (26 May 2018)
285 | - [#166](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/166) - Feature: Added support for implicit type conversions contributed by [arjenvrh](https://github.com/arjenvrh)
286 |
287 | # 1.0.8.8 (21 May 2018)
288 | - [#168](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/168) - Fixed ConstantExpressionHelper.cs (#167) contributed by [StefH](https://github.com/StefH)
289 | - [#167](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/167) - Issue: Memory leak in `ConstantExpressionHelper.cs` [bug]
290 |
291 | # 1.0.8.7 (09 May 2018)
292 | - [#156](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/156) - Fix parsing config contributed by [jogibear9988](https://github.com/jogibear9988)
293 |
294 | # 1.0.8.6 (28 April 2018)
295 | - [#158](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/158) - Fix157 contributed by [jogibear9988](https://github.com/jogibear9988)
296 | - [#157](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/157) - Issue : SkipWhile Method not found in mono [bug]
297 | - [#161](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/161) - Error (1.0.8.3 to 1.0.8.4 on EF 6.2) "No generic method 'OrderBy' on type System.Linq.Queryable"
298 |
299 | # 1.0.8.4 (25 April 2018)
300 | - [#159](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/159) - Performance fix (#153) contributed by [StefH](https://github.com/StefH)
301 | - [#151](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/151) - Parse Query Syntax like Code
302 | - [#153](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/153) - Issue: Performance while working with EF core
303 |
304 | # 1.0.8.3 (30 March 2018)
305 | - [#137](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/137) - Feature: Add support for querying a IQueryable<dynamic> contributed by [NickDarvey](https://github.com/NickDarvey)
306 | - [#150](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/150) - Feature: Support Binary & For String and Int [feature] contributed by [jogibear9988](https://github.com/jogibear9988)
307 | - [#139](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/139) - Question: How to get related entities only one field
308 | - [#141](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/141) - Question: Is there TryParseLambda
309 |
310 | # 1.0.8.2 (09 January 2018)
311 | - [#138](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/138) - Solved issue 130 contributed by [StefH](https://github.com/StefH)
312 | - [#130](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/130) - BUG: Dynamic new in Where() causes NRE
313 |
314 | # 1.0.8.1 (05 January 2018)
315 | - [#135](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/135) - Add DbGeography to predefined types to allow advanced spatial queries. contributed by [czielin](https://github.com/czielin)
316 | - [#95](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/95) - Has no assembly version number.
317 | - [#126](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/126) - How to make a request with Collate in order to get Accent Insensitive results?
318 | - [#129](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/129) - ToDynamicList/ToDynamicArray cannot actually cast to specified type in .net core 2 [bug]
319 | - [#131](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/131) - Adding LIKE operator for EF6
320 | - [#132](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/132) - System.Linq.Dynamic.Core.Exceptions.ParseException in IQueryable<object> filled with anonymous type
321 | - [#133](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/133) - Possibility to parse an Expression<T, bool> to a valid expression string
322 | - [#134](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/134) - Accessing DbGeography methods/properties
323 |
324 | # 1.0.8.0 (16 December 2017)
325 | - [#127](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/127) - Refactored Parser contributed by [StefH](https://github.com/StefH)
326 |
327 | # 1.0.7.1.13 (29 November 2017)
328 | - [#117](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/117) - New features contributed by [jogibear9988](https://github.com/jogibear9988)
329 | - [#123](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/123) - appveyor contributed by [StefH](https://github.com/StefH)
330 | - [#114](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/114) - Dynamic Linq Query not usable with ORM Provider [bug]
331 | - [#120](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/120) - Error with parsing
332 | - [#122](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/122) - Join with int list
333 | - [#124](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/124) - OrderBy produces error.
334 | - [#125](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/125) - Not compatable with dotnet Core 2. [bug]
335 |
336 | # 1.0.7.1.12 (09 November 2017)
337 | - [#115](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/115) - Dynamic Linq Query not usable with ORM Provider (fix for #114) contributed by [jogibear9988](https://github.com/jogibear9988)
338 | - [#116](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/116) - Bugfix DynamicLinq when using IQueryable contributed by [jogibear9988](https://github.com/jogibear9988)
339 | - [#108](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/108) - [Question] Nullable property inside Join statement
340 | - [#109](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/109) - Not able to build with VS2017
341 | - [#111](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/111) - [Bug] Incorrect Nullable<> parsing [bug]
342 | - [#112](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/112) - Support NETStandard 2.0 [feature]
343 | - [#113](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/113) - .pdb is missing in nuget [bug]
344 |
345 | # 1.0.7.1.10 (27 October 2017)
346 | - [#8](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/8) - Remove useless dependences [feature] contributed by [yyjdelete](https://github.com/yyjdelete)
347 | - [#37](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/37) - Support strings as Enum Parameter Objects contributed by [jogibear9988](https://github.com/jogibear9988)
348 | - [#38](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/38) - Support more comparisons with strings contributed by [jogibear9988](https://github.com/jogibear9988)
349 | - [#39](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/39) - Exception friendly Type loading contributed by [jogibear9988](https://github.com/jogibear9988)
350 | - [#47](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/47) - * Add unit test and fix public methods access. contributed by [jotab123](https://github.com/jotab123)
351 | - [#55](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/55) - Fix Nullable Enums from String contributed by [jogibear9988](https://github.com/jogibear9988)
352 | - [#56](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/56) - Create .editorconfig contributed by [jogibear9988](https://github.com/jogibear9988)
353 | - [#68](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/68) - Work on #66 -> Should work now. Tests will follow on VS2017 support! contributed by [jogibear9988](https://github.com/jogibear9988)
354 | - [#69](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/69) - Fix - when method has object parameter and ValueType value is passed into this method, result is exception in System.Dynamic.Utils.ExpressionUtils.ValidateOneArgument. contributed by [DavidCizek](https://github.com/DavidCizek)
355 | - [#76](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/76) - Fix - shift operators work only for int, short, ushort, byte, sbyte. contributed by [DavidCizek](https://github.com/DavidCizek)
356 | - [#77](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/77) - New features: Hexadecimal integers and array initializers contributed by [DavidCizek](https://github.com/DavidCizek)
357 | - [#78](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/78) - New feature: GroupJoin [feature] contributed by [ghost](https://github.com/ghost)
358 | - [#80](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/80) - [Feature] Usage of cached Lambda Expressions contributed by [jogibear9988](https://github.com/jogibear9988)
359 | - [#85](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/85) - [Fix] Guid? == null comparison contributed by [jogibear9988](https://github.com/jogibear9988)
360 | - [#86](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/86) - [Fix] Fixed null in Parameter and added functionality Binary And and Or with different Types contributed by [jogibear9988](https://github.com/jogibear9988)
361 | - [#92](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/92) - [Feature] Adds support for decimal qualifiers. Resolves #91 contributed by [pferraris](https://github.com/pferraris)
362 | - [#93](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/93) - [Bug] Fix uap10 build in appveyor contributed by [StefH](https://github.com/StefH)
363 | - [#99](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/99) - Added DynamicEnumerable Async extension methods contributed by [StefH](https://github.com/StefH)
364 | - [#100](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/100) - Feature: NullPropagation operator contributed by [StefH](https://github.com/StefH)
365 | - [#103](https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/103) - support group by with 2 parameters, add tolist contributed by [jogibear9988](https://github.com/jogibear9988)
366 | - [#1](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/1) - SymbolTable.DoesMethodHaveParameterArray throws exception when accessing a dynamic created property
367 | - [#2](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/2) - UnitTest : GroupByAndSelect_TestDynamicSelectMember fails [bug]
368 | - [#3](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/3) - Add "SelectMany" [feature]
369 | - [#4](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/4) - Illegal one-byte branch at position: 9. Requested branch was: 143
370 | - [#5](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/5) - Only parameterless constructors and initializers are supported in LINQ to Entities [bug]
371 | - [#6](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/6) - Add support for dotnet5.4 framework [feature]
372 | - [#7](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/7) - Add SelectMany with resultSelector [feature]
373 | - [#9](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/9) - Add Null-coalescing operator support [feature]
374 | - [#10](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/10) - Support explicit integer qualifiers [feature]
375 | - [#11](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/11) - IN does not support negative and parse of negative integers with qualifiers. [bug]
376 | - [#12](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/12) - parsing negative float or double with qualifier [feature]
377 | - [#13](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/13) - Add isnull sql function "isnull(a, b)" [feature]
378 | - [#14](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/14) - Ampersand can be used both as logical And or as vb-like concatenation operator [feature]
379 | - [#15](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/15) - Add Skip, Take to ExpressionParser [feature]
380 | - [#16](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/16) - Add Paging support [feature]
381 | - [#17](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/17) - Windows 10 uwp support
382 | - [#18](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/18) - SelectMany over an Array throws System.IndexOutOfRangeException [bug]
383 | - [#19](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/19) - NotEqual filter not working with DateTime [bug]
384 | - [#20](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/20) - Can't install using nuget in Asp.Net 4.0 Web Pages project
385 | - [#21](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/21) - Question: why is Distinct not supported? [feature]
386 | - [#22](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/22) - DynamicExpression accessibility [feature]
387 | - [#23](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/23) - Cannot work with property which in base class. [bug]
388 | - [#24](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/24) - FirstOrDefaultAsync method is missing
389 | - [#25](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/25) - DynamicExpression gone in version 1.0.3.4
390 | - [#26](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/26) - Calling ToString on a nullable column throws error
391 | - [#27](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/27) - UWP version
392 | - [#28](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/28) - Dynamic Queries seem to lose "Include()"s
393 | - [#29](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/29) - An another project ?
394 | - [#30](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/30) - Move to .NET Core RTM
395 | - [#31](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/31) - Group by multiple columns? [bug]
396 | - [#32](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/32) - When same dynamic class is first used in Linq2Entities, it's reused for Linq2Sql [bug]
397 | - [#33](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/33) - Package 1.0.6.3 install fails for UWP App [bug]
398 | - [#36](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/36) - CreateClass Equivalent? [feature]
399 | - [#40](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/40) - Add strong naming from library [feature]
400 | - [#42](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/42) - Microsoft.EntityFrameworkCore.DynamicLinq - ToListAsync()?
401 | - [#43](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/43) - Join with dependent subquery?
402 | - [#44](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/44) - Casting a int to a nullable int will throw an error when using linq to entities"Only parameterless constructors and initializers are supported in LINQ to Entities"
403 | - [#45](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/45) - Take() and Skip() lose ElementType [bug]
404 | - [#46](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/46) - Methods on type are not accessible error
405 | - [#48](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/48) - Add an overload to the "ToDynamicList" method which accepts a Type [feature]
406 | - [#49](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/49) - .Contains("") operation Exception
407 | - [#50](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/50) - Add functionality to optimize your queries using Linq.Expression.Optimizer [feature]
408 | - [#51](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/51) - [Question] How can I format a datetime (nullable) field value in select?
409 | - [#52](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/52) - Can I convert int to string type?
410 | - [#57](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/57) - Issue finding indexer [bug]
411 | - [#60](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/60) - Issue with nested Calls
412 | - [#62](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/62) - OrderBy Chaining [bug, feature]
413 | - [#63](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/63) - Syntax IN dont work with Enums
414 | - [#65](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/65) - Support embedded quotes in string literal [feature]
415 | - [#66](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/66) - Is there Way to enter a Complex query
416 | - [#67](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/67) - Convert Project to VS2017 [feature]
417 | - [#70](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/70) - Move all tests into 1 test project [feature]
418 | - [#72](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/72) - [Bug] Re-enable support for uap10.0 [bug]
419 | - [#73](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/73) - [Feature] Extend OrderBy functionality [feature]
420 | - [#74](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/74) - Join on nullable and not nullable type throws exception [bug]
421 | - [#75](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/75) - GroupBy clause add an "Item" property when projects the query
422 | - [#79](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/79) - DynamicExpressionParser does not allow empty parameter lists. [bug]
423 | - [#81](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/81) - [Question] Create new nuget?
424 | - [#82](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/82) - [Feature] Add DefaultIfEmpty [feature]
425 | - [#84](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/84) - [Bug] DynamicClassFactory not caching generated types [bug]
426 | - [#90](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/90) - [Bug] ParseIntegerLiteral Int16 [bug]
427 | - [#91](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/91) - [Bug] Support for decimal qualifiers 'M' & 'm' [bug]
428 | - [#94](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/94) - [Bug] ParseException: Operator '==' incompatible with operand types 'ObjectId' and 'ObjectId' [bug]
429 | - [#96](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/96) - Async support for ToDynamicList() [feature]
430 | - [#102](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/102) - Aggregate method does not work with Average function
431 | - [#104](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/104) - Add PDB to nuget package [feature]
432 | - [#106](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/106) - Using both System.Linq and System.Linq.Dynamic.Core
433 | - [#107](https://github.com/zzzprojects/System.Linq.Dynamic.Core/issues/107) - Type conversions generated in cases where they're not needed. [bug]
434 |
435 |
--------------------------------------------------------------------------------
/examples/System.Linq.Dynamic.Core.txt:
--------------------------------------------------------------------------------
1 | --path "C:\Users\StefHeyenrath\Documents\Github\System.Linq.Dynamic.Core" --output ../../../../../examples/System.Linq.Dynamic.Core.md --skip-empty-releases --exclude-labels invalid question --language en --version v1.2.5
--------------------------------------------------------------------------------
/examples/WireMock.Net.txt:
--------------------------------------------------------------------------------
1 | --path "C:\Users\azurestef\Documents\Github\WireMock.Net" --output ../../../../../examples/WireMock.Net.md --skip-empty-releases --exclude-labels question invalid doc --language en --version 1.3.6
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefH/GitHubReleaseNotes/d0358d062c0623cd2aac111c9b564cb99850f204/icon.png
--------------------------------------------------------------------------------
/src/GitHubReleaseNotes.Logic/Configuration.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Globalization;
3 |
4 | namespace GitHubReleaseNotes.Logic;
5 |
6 | public class Configuration : IConfiguration
7 | {
8 | public string RepositoryPath { get; set; } = null!;
9 |
10 | public string? OutputFile { get; set; }
11 |
12 | public string Version { get; set; } = "next";
13 |
14 | public CultureInfo Culture { get; set; } = CultureInfo.CurrentCulture;
15 |
16 | public bool SkipEmptyReleases { get; set; }
17 |
18 | public string? TemplatePath { get; set; }
19 |
20 | public string? Login { get; set; }
21 |
22 | public string? Password { get; set; }
23 |
24 | public string? Token { get; set; }
25 |
26 | public IEnumerable? ExcludeLabels { get; set; }
27 | }
--------------------------------------------------------------------------------
/src/GitHubReleaseNotes.Logic/Extensions/RepositoryExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using GitHubReleaseNotes.Logic.Models;
6 | using GitReader;
7 | using GitReader.Primitive;
8 | using GitReader.Structures;
9 |
10 | namespace GitHubReleaseNotes.Logic.Extensions;
11 |
12 | internal static class RepositoryExtensions
13 | {
14 | public static async Task> GetOrderedReleaseInfosAsync(this StructuredRepository repo, string version)
15 | {
16 | var orderedReleaseInfos = new List();
17 |
18 | var getCommitTasks = new Dictionary>();
19 |
20 | foreach (var tag in repo.Tags)
21 | {
22 | var getCommitTask = repo.GetCommitAsync(tag.Value.ObjectHash);
23 | getCommitTasks.Add(tag.Key, getCommitTask);
24 | }
25 |
26 | await Task.WhenAll(getCommitTasks.Values);
27 |
28 | foreach (var tag in getCommitTasks)
29 | {
30 | var tagVersion = GetVersionAsLong(tag.Key);
31 | if (tagVersion == null)
32 | {
33 | // Skip invalid versions
34 | continue;
35 | }
36 |
37 | var commit = tag.Value.Result;
38 | if (commit == null)
39 | {
40 | throw new InvalidOperationException($"Tag {tag.Key} has no commit.");
41 | }
42 |
43 | var releaseInfo = new ReleaseInfo
44 | {
45 | Version = tagVersion.Value,
46 | FriendlyName = tag.Key,
47 | When = commit.Committer.Date
48 | };
49 | orderedReleaseInfos.Add(releaseInfo);
50 | }
51 |
52 | orderedReleaseInfos = orderedReleaseInfos.OrderBy(tag => tag.Version).ToList();
53 |
54 | // Add the `next` version
55 | orderedReleaseInfos.Add(new ReleaseInfo
56 | {
57 | Version = long.MaxValue,
58 | FriendlyName = version,
59 | When = DateTimeOffset.Now
60 | });
61 |
62 | return orderedReleaseInfos;
63 | }
64 |
65 | private static long? GetVersionAsLong(string friendlyName)
66 | {
67 | var versionAsString = new string(friendlyName.Where(c => char.IsDigit(c) || c == '.').ToArray());
68 | if (Version.TryParse(versionAsString, out var version))
69 | {
70 | return version.Major * 1000000000L + version.Minor * 1000000L + (version.Build > 0 ? version.Build : 0) * 1000L + (version.Revision > 0 ? version.Revision : 0);
71 | }
72 |
73 | return null;
74 | }
75 | }
--------------------------------------------------------------------------------
/src/GitHubReleaseNotes.Logic/Generator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Threading.Tasks;
4 |
5 | namespace GitHubReleaseNotes.Logic;
6 |
7 | public class Generator
8 | {
9 | private readonly IConfiguration _configuration;
10 | private readonly RepositoryHelper _repositoryHelper;
11 | private readonly HandleBarsHelper _handleBarsHelper;
12 |
13 | public Generator(IConfiguration configuration)
14 | {
15 | _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
16 |
17 | _repositoryHelper = new RepositoryHelper(configuration);
18 | _handleBarsHelper = new HandleBarsHelper(configuration);
19 | }
20 |
21 | public async Task GenerateAsync()
22 | {
23 | try
24 | {
25 | var releaseInfos = await _repositoryHelper.GetReleaseInfoAsync().ConfigureAwait(false);
26 |
27 | string result = _handleBarsHelper.Generate(releaseInfos);
28 |
29 | if (!string.IsNullOrEmpty(_configuration.OutputFile))
30 | {
31 | Console.WriteLine($"Release Notes written to '{new FileInfo(_configuration.OutputFile!).FullName}'");
32 | File.WriteAllText(_configuration.OutputFile!, result);
33 | }
34 | else
35 | {
36 | Console.WriteLine(result);
37 | }
38 | }
39 | catch (Exception ex)
40 | {
41 | Console.WriteLine(ex.Message);
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/src/GitHubReleaseNotes.Logic/GitHubClientFactory.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Octokit;
3 |
4 | namespace GitHubReleaseNotes.Logic;
5 |
6 | internal static class GitHubClientFactory
7 | {
8 | private static readonly TimeSpan RequestTimeout = TimeSpan.FromMinutes(5);
9 |
10 | private const string AppName = "GitHubReleaseNotes";
11 |
12 | public static IGitHubClient CreateClient(IConfiguration configuration, string owner)
13 | {
14 | if (configuration == null)
15 | {
16 | throw new ArgumentNullException(nameof(configuration));
17 | }
18 |
19 | var product = !string.IsNullOrEmpty(owner) ? owner : AppName;
20 | var client = new GitHubClient(new ProductHeaderValue(product));
21 |
22 | if (!string.IsNullOrEmpty(configuration.Token))
23 | {
24 | client.Credentials = new Credentials(configuration.Token);
25 | }
26 | else if (!string.IsNullOrEmpty(configuration.Login) && !string.IsNullOrEmpty(configuration.Password))
27 | {
28 | client.Credentials = new Credentials(configuration.Login, configuration.Password);
29 | }
30 |
31 | client.SetRequestTimeout(RequestTimeout);
32 |
33 | return client;
34 | }
35 | }
--------------------------------------------------------------------------------
/src/GitHubReleaseNotes.Logic/GitHubReleaseNotes.Logic.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net48;net6.0
5 | {B6269AAC-170A-43D0-8B9B-579DED3D9A99}
6 | icon.png
7 | enable
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | all
20 | runtime; build; native; contentfiles; analyzers; buildtransitive
21 |
22 |
23 | all
24 | runtime; build; native; contentfiles; analyzers; buildtransitive
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/GitHubReleaseNotes.Logic/HandleBarsHelper.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Reflection;
5 | using GitHubReleaseNotes.Logic.Models;
6 | using HandlebarsDotNet;
7 |
8 | namespace GitHubReleaseNotes.Logic;
9 |
10 | internal class HandleBarsHelper
11 | {
12 | private const string TemplateFilename = "GitHubReleaseNotes.Logic.Template.txt";
13 |
14 | private readonly IConfiguration _configuration;
15 |
16 | public HandleBarsHelper(IConfiguration configuration)
17 | {
18 | _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
19 | }
20 |
21 | internal string Generate(IEnumerable releaseInfos)
22 | {
23 | RegisterHelpers();
24 |
25 | var template = Handlebars.Compile(GetTemplateAsString());
26 |
27 | return template(new { releaseInfos });
28 | }
29 |
30 | private string GetTemplateAsString()
31 | {
32 | // If provided, read custom Template
33 | if (!string.IsNullOrEmpty(_configuration.TemplatePath))
34 | {
35 | return File.ReadAllText(_configuration.TemplatePath);
36 | }
37 |
38 | // Use default embedded Template
39 | var assembly = typeof(HandleBarsHelper).GetTypeInfo().Assembly;
40 | using var stream = assembly.GetManifestResourceStream(TemplateFilename)!;
41 | using var reader = new StreamReader(stream);
42 |
43 | return reader.ReadToEnd();
44 | }
45 |
46 | private void RegisterHelpers()
47 | {
48 | Handlebars.RegisterHelper("join", (writer, context, arguments) =>
49 | {
50 | if (arguments[0] is IEnumerable