Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Version 6.0.4 - #5995

#5995
Merged
snakefoot merged 1 commit into
NLog:devNLog/NLog:devfrom
snakefoot:devsnakefoot/NLog:devCopy head branch name to clipboard
Sep 11, 2025
Merged

Version 6.0.4#5995
snakefoot merged 1 commit into
NLog:devNLog/NLog:devfrom
snakefoot:devsnakefoot/NLog:devCopy head branch name to clipboard

Conversation

@snakefoot

@snakefoot snakefoot commented Sep 7, 2025

Copy link
Copy Markdown
Contributor

@snakefoot snakefoot added this to the 6.0.4 milestone Sep 7, 2025
@coderabbitai

coderabbitai Bot commented Sep 7, 2025

Copy link
Copy Markdown

Walkthrough

Added 6.0.4 release notes and package release-note metadata, and bumped build versionPrefix from 6.0.3 to 6.0.4. Changelog lists 21 Improvement entries (FileTarget, ColoredConsoleTarget, fluent API, condition/layout/rendering tweaks, and repository extractions). No code or public API changes.

Changes

Cohort / File(s) Summary
Release notes & metadata
CHANGELOG.md, src/NLog/NLog.csproj
Added Version 6.0.4 release notes containing 21 improvement entries (FileTarget archive/wildcard/sequence/birthtime changes, InternalLogger output, ColoredConsoleTarget fixes, WithAutoFlush simplification, boxing fixes for condition methods, NotNullIfNotNull implicit operators, MessageLayoutRenderer AOT handling, Append4DigitsZeroPadded Span optimization, and extraction of several targets to separate repositories). Updated PackageReleaseNotes block. No public API changes.
Build / versioning
build.ps1
Bumped $versionPrefix from "6.0.3" to "6.0.4"; no other logic or packaging changes.

Sequence Diagram(s)

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The current title concisely and accurately describes the primary change, which is the release or bump to version 6.0.4 of the project.
Description Check ✅ Passed The description is directly related to the primary content of the changeset by pointing to a preview of the updated changelog, which aligns with the modifications made.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

I thump the ground: 6.0.4 arrives,
Carrots stacked and changelog thrives.
Metadata hopped, the version grows,
No code disturbed — just tidy rows.
I twitch my nose and celebrate, who knows? 🥕


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
build.ps1 (2)

9-16: PR builds: ProductVersion misses PR suffix due to compute order.
$versionProduct is composed before $versionSuffix is set for PRs, so BuildVersion for NLog.proj won’t include -PR<nr>. Recompute after the PR block.

Apply:

- $versionProduct = $versionPrefix;
-if (-Not $versionSuffix.Equals(""))
-	{ $versionProduct = $versionProduct + "-" + $versionSuffix }
+ # Compute ProductVersion after potential PR-suffix update
+ $versionProduct = $versionPrefix
+ if (-Not [string]::IsNullOrEmpty($versionSuffix)) { $versionProduct = "$versionProduct-$versionSuffix" }

26-28: Use clearer exit-code checks.
-Not $LastExitCode -eq 0 is hard to read and can confuse precedence. Prefer -ne 0.

-if (-Not $LastExitCode -eq 0)
+if ($LastExitCode -ne 0)
 	{ exit $LastExitCode }

 ...
-	if (-Not $LastExitCode -eq 0)
+	if ($LastExitCode -ne 0)
 		{ exit $LastExitCode }

Also applies to: 33-35

src/NLog/NLog.csproj (1)

44-45: Tiny wording polish for two bullets (optional).
Improve clarity of user-facing text.

- - [#5992] MessageLayoutRenderer - Handle Exception ToString can throw with AOT. (@snakefoot)
- - [#5983] Append4DigitsZeroPadded - Apply Span instead of multiple StringBuilder Append. (@snakefoot)
+ - [#5992] MessageLayoutRenderer - Handle that Exception.ToString() can throw under AOT. (@snakefoot)
+ - [#5983] Append4DigitsZeroPadded - Use Span instead of multiple StringBuilder.Append calls. (@snakefoot)
CHANGELOG.md (1)

21-22: Mirror the same minor wording polish as in the .csproj (optional).
Keeps phrasing consistent across artifacts.

- - [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle Exception ToString can throw with AOT. (@snakefoot)
- - [#5983](https://github.com/NLog/NLog/pull/5983) Append4DigitsZeroPadded - Apply Span instead of multiple StringBuilder Append. (@snakefoot)
+ - [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle that Exception.ToString() can throw under AOT. (@snakefoot)
+ - [#5983](https://github.com/NLog/NLog/pull/5983) Append4DigitsZeroPadded - Use Span instead of multiple StringBuilder.Append calls. (@snakefoot)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cf8a7ca and 8bb6e52.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • build.ps1 (1 hunks)
  • src/NLog/NLog.csproj (1 hunks)
🔇 Additional comments (4)
build.ps1 (1)

5-5: Bump to 6.0.4 — LGTM.
No functional changes; version prefix updated correctly.

src/NLog/NLog.csproj (1)

33-45: Release notes content — LGTM.
Items match CHANGELOG and are scoped to metadata only.

CHANGELOG.md (2)

7-8: Verify release date before merge.
Header says “2025/09/11” while this PR was opened on 2025/09/07. Confirm final date and adjust if needed.


9-22: Quick check: notes parity between CHANGELOG and .csproj.
Run to ensure bullets are identical across both files for 6.0.4.

#!/bin/bash
set -euo pipefail

# Extract 6.0.4 bullets from CHANGELOG
awk '/^### Version 6\.0\.4/{flag=1;next}/^### Version/{flag=0}flag' CHANGELOG.md \
  | sed -n 's/^- \[\#/[#]/p' | sort > /tmp/chlog.txt

# Extract bullets from PackageReleaseNotes in csproj
python - <<'PY'
import re, sys
from pathlib import Path
txt = Path('src/NLog/NLog.csproj').read_text(encoding='utf-8', errors='ignore')
m = re.search(r'<PackageReleaseNotes>(.*?)</PackageReleaseNotes>', txt, re.S)
block = m.group(1) if m else ''
for line in block.splitlines():
    line=line.strip()
    if line.startswith('- [#'):
        print(line.replace('- [#','[#']))
PY
 | sort > /tmp/csproj.txt

diff -u /tmp/chlog.txt /tmp/csproj.txt || { echo "Mismatch found"; exit 1; }
echo "OK: CHANGELOG.md matches NLog.csproj for 6.0.4."

@snakefoot
snakefoot force-pushed the dev branch 2 times, most recently from b9f1079 to 436ceeb Compare September 7, 2025 13:26

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
src/NLog/NLog.csproj (2)

33-33: Polish release-note wording for consistency and clarity.

Minor nits: hyphenation, tense, and phrasing. Suggested tweaks below.

- - [#5979] FileTarget - Fixed file-wildcard for archive cleanup. (@snakefoot)
+ - [#5979] FileTarget - Fixed file wildcard for archive cleanup. (@snakefoot)

- - [#5968] Simplify WithAutoFlush-method for fluent config API. (@snakefoot)
+ - [#5968] Simplify WithAutoFlush method for fluent config API. (@snakefoot)

- - [#5970] Fix boxing for registration of builtin condition methods. (@snakefoot)
+ - [#5970] Fixed boxing for registration of built-in condition methods. (@snakefoot)

- - [#5977] ConditionExpression - Implicit operator with NotNullIfNotNull-attribute. (@GREsau)
- - [#5982] SimpleLayout - Implicit operator with NotNullIfNotNull-attribute. (@snakefoot)
+ - [#5977] ConditionExpression - Implicit operator with NotNullIfNotNull attribute. (@GREsau)
+ - [#5982] SimpleLayout - Implicit operator with NotNullIfNotNull attribute. (@snakefoot)

- - [#5992] MessageLayoutRenderer - Handle Exception.ToString() can throw with AOT. (@snakefoot)
- - [#5983] Append4DigitsZeroPadded - Apply Span instead of multiple StringBuilder.Append(). (@snakefoot)
+ - [#5992] MessageLayoutRenderer - Handle that Exception.ToString() can throw under AOT. (@snakefoot)
+ - [#5983] Append4DigitsZeroPadded - Use Span instead of multiple StringBuilder.Append calls. (@snakefoot)

Also applies to: 40-40, 41-41, 42-43, 45-46


46-52: Confirm tags/docs reflect extraction of targets into separate repos.

Since multiple targets were extracted (Trace, ConcurrentFile, Database, Mail, WebService, Network, WindowsRegistry), ensure:

  • NuGet tags/README for the core package don’t imply these targets still ship here.
  • Cross-links to the new packages/repos exist in README and docs.

I can draft a short “Where did X target go?” section for the README if helpful.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b9f1079 and 436ceeb.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • build.ps1 (1 hunks)
  • src/NLog/NLog.csproj (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • build.ps1

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
CHANGELOG.md (2)

24-29: De-duplicate repetitive [#5985] bullets or verify all extractions were in one PR.

Seven lines reference the same PR for different repo extractions. If accurate, consider grouping for brevity; otherwise, correct PR numbers.

Example grouping:

-- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.WindowsRegistry to own git repository. (@snakefoot)
-- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Trace to own git repository. (@snakefoot)
-- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.ConcurrentFile to own git repository. (@snakefoot)
-- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Database to own git repository. (@snakefoot)
-- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Mail to own git repository. (@snakefoot)
-- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.WebService to own git repository. (@snakefoot)
-- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Network to own git repository. (@snakefoot)
+- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted to own git repositories: NLog.WindowsRegistry, NLog.Targets.Trace, NLog.Targets.ConcurrentFile, NLog.Targets.Database, NLog.Targets.Mail, NLog.Targets.WebService, NLog.Targets.Network. (@snakefoot)

9-10: markdownlint MD036 warning (bold-as-heading).

If markdownlint runs in CI, either accept the existing convention for this file and suppress the rule for CHANGELOG.md, or change to a level-4 heading (#### Improvements).

src/NLog/NLog.csproj (1)

46-52: Optional: collapse repetitive [#5985] entries.

Same nit as CHANGELOG—consider a single grouped bullet to reduce verbosity in NuGet gallery view.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 436ceeb and 43a68ec.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • build.ps1 (1 hunks)
  • src/NLog/NLog.csproj (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • build.ps1
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md

9-9: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (2)
CHANGELOG.md (1)

7-7: Confirm or mark the release date as "planned/unreleased".

Heading shows 2025/09/11, which is in the future (today is 2025/09/07). Either confirm this will go out on that date at merge/tag time or mark it as planned/unreleased until the release is cut.

Optionally adjust:

-### Version 6.0.4 (2025/09/11)
+### Version 6.0.4 (2025/09/11) [planned]
src/NLog/NLog.csproj (1)

33-52: Keep PackageReleaseNotes in sync with CHANGELOG.

Content matches the changelog items; after fixing the “Use/Üse” typo in CHANGELOG, verify phrasing/order remain identical to avoid drift between NuGet notes and CHANGELOG.

Comment thread CHANGELOG.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
CHANGELOG.md (1)

22-22: Typo fix from earlier review confirmed

“Üse” → “Use” has been corrected in this entry. Looks good.

🧹 Nitpick comments (2)
CHANGELOG.md (2)

12-14: Polish wording and hyphenation for consistency

Minor grammar/consistency nits across bullets.

Apply:

- [#5981](https://github.com/NLog/NLog/pull/5981) FileTarget - Strict wildcard check only possible when single wildcard. (@snakefoot)
+ [#5981](https://github.com/NLog/NLog/pull/5981) FileTarget - Strict wildcard check only possible with a single wildcard. (@snakefoot)
- [#5987](https://github.com/NLog/NLog/pull/5987) FileTarget - Improve archive cleanup with dynamic seq-no. (@snakefoot)
+ [#5987](https://github.com/NLog/NLog/pull/5987) FileTarget - Improve archive cleanup with dynamic sequence number. (@snakefoot)
- [#5988](https://github.com/NLog/NLog/pull/5988) FileTarget - Avoid parsing archive sequence number when other digits. (@snakefoot)
+ [#5988](https://github.com/NLog/NLog/pull/5988) FileTarget - Avoid parsing the archive sequence number when other digits are present. (@snakefoot)
- [#5968](https://github.com/NLog/NLog/pull/5968) Simplify WithAutoFlush-method for fluent config API. (@snakefoot)
+ [#5968](https://github.com/NLog/NLog/pull/5968) Simplify WithAutoFlush method for fluent config API. (@snakefoot)
- [#5970](https://github.com/NLog/NLog/pull/5970) Fix boxing for registration of builtin condition methods. (@snakefoot)
+ [#5970](https://github.com/NLog/NLog/pull/5970) Fix boxing for registration of built-in condition methods. (@snakefoot)
- [#5977](https://github.com/NLog/NLog/pull/5977) ConditionExpression - Implicit operator with NotNullIfNotNull-attribute. (@GREsau)
+ [#5977](https://github.com/NLog/NLog/pull/5977) ConditionExpression - Implicit operator with NotNullIfNotNull attribute. (@GREsau)
- [#5982](https://github.com/NLog/NLog/pull/5982) SimpleLayout - Implicit operator with NotNullIfNotNull-attribute. (@snakefoot)
+ [#5982](https://github.com/NLog/NLog/pull/5982) SimpleLayout - Implicit operator with NotNullIfNotNull attribute. (@snakefoot)
- [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle Exception.ToString() can throw with AOT. (@snakefoot)
+ [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle that Exception.ToString() can throw under AOT. (@snakefoot)

Also applies to: 17-21


23-29: Option: consolidate repository extraction bullets

To reduce noise, consider a single bullet summarizing all extractions under PR #5985.

Proposed:

- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.WindowsRegistry to own git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Trace to own git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.ConcurrentFile to own git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Database to own git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Mail to own git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.WebService to own git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Network to own git repository. (@snakefoot)
+ [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.WindowsRegistry, NLog.Targets.Trace, NLog.Targets.ConcurrentFile, NLog.Targets.Database, NLog.Targets.Mail, NLog.Targets.WebService, and NLog.Targets.Network to their own repositories. (@snakefoot)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 43a68ec and 77d7d16.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • build.ps1 (1 hunks)
  • src/NLog/NLog.csproj (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • build.ps1
  • src/NLog/NLog.csproj
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md

9-9: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (1)
CHANGELOG.md (1)

7-7: Confirm release date before merge

The header says 2025/09/11, which is in the future relative to the PR creation (2025/09/07). Please update to the actual release/tag date at cut time.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
CHANGELOG.md (2)

12-29: Polish a few wording nits for consistency and clarity.

Low-impact grammar/style tweaks; feel free to skip if you prefer existing house style.

- FileTarget - Strict wildcard check only possible when single wildcard. (@snakefoot)
+ FileTarget - Strict wildcard check only when a single wildcard is present. (@snakefoot)

- FileTarget - Avoid parsing archive sequence number when other digits. (@snakefoot)
+ FileTarget - Avoid parsing archive sequence number when other digits are present. (@snakefoot)

- Simplify WithAutoFlush-method for fluent config API. (@snakefoot)
+ Simplify WithAutoFlush method for fluent config API. (@snakefoot)

- Fix boxing for registration of builtin condition methods. (@snakefoot)
+ Fix boxing for registration of built-in condition methods. (@snakefoot)

- ConditionExpression - Implicit operator with NotNullIfNotNull-attribute. (@GREsau)
+ ConditionExpression - Implicit operator with NotNullIfNotNull attribute. (@GREsau)

- SimpleLayout - Implicit operator with NotNullIfNotNull-attribute. (@snakefoot)
+ SimpleLayout - Implicit operator with NotNullIfNotNull attribute. (@snakefoot)

- MessageLayoutRenderer - Handle Exception.ToString() can throw with AOT. (@snakefoot)
+ MessageLayoutRenderer - Handle Exception.ToString() throwing under AOT. (@snakefoot)

- Extracted NLog.WindowsRegistry to own git repository. (@snakefoot)
+ Extracted NLog.WindowsRegistry to own Git repository. (@snakefoot)
- Extracted NLog.Targets.Trace to own git repository. (@snakefoot)
+ Extracted NLog.Targets.Trace to own Git repository. (@snakefoot)
- Extracted NLog.Targets.ConcurrentFile to own git repository. (@snakefoot)
+ Extracted NLog.Targets.ConcurrentFile to own Git repository. (@snakefoot)
- Extracted NLog.Targets.Database to own git repository. (@snakefoot)
+ Extracted NLog.Targets.Database to own Git repository. (@snakefoot)
- Extracted NLog.Targets.Mail to own git repository. (@snakefoot)
+ Extracted NLog.Targets.Mail to own Git repository. (@snakefoot)
- Extracted NLog.Targets.WebService to own git repository. (@snakefoot)
+ Extracted NLog.Targets.WebService to own Git repository. (@snakefoot)
- Extracted NLog.Targets.Network to own git repository. (@snakefoot)
+ Extracted NLog.Targets.Network to own Git repository. (@snakefoot)

9-9: markdownlint MD036 (emphasis as heading).

The “Improvements” line uses bold instead of a heading. The file consistently uses this pattern elsewhere; either:

  • keep as-is and suppress MD036 for CHANGELOG.md in markdownlint config, or
  • convert all such section markers across the file to proper headings.

Given history, recommend suppressing MD036 for this file.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 77d7d16 and f36bbc3.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • build.ps1 (1 hunks)
  • src/NLog/NLog.csproj (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • build.ps1
  • src/NLog/NLog.csproj
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md

9-9: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (2)
CHANGELOG.md (2)

7-30: LGTM: 6.0.4 section reads clearly and matches repo style.

List structure, PR links, authors, and date format align with previous entries. No blocking issues.


7-7: Release date sanity-check.

The entry shows “Version 6.0.4 (2025/09/11)”. Today is 2025/09/09 and the PR is still open; confirm the date before tagging to avoid a mismatch between CHANGELOG, csproj release notes, and the GitHub release.

@snakefoot
snakefoot force-pushed the dev branch 2 times, most recently from 7c77633 to b1a2ba1 Compare September 10, 2025 05:40

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
CHANGELOG.md (3)

12-14: Polish phrasing for clarity (wildcards/sequence-number).

Tighten wording and avoid the “seq-no.” abbreviation.

- - [#5981](https://github.com/NLog/NLog/pull/5981) FileTarget - Strict wildcard check only possible when single wildcard. (@snakefoot)
+ - [#5981](https://github.com/NLog/NLog/pull/5981) FileTarget - Perform strict wildcard checks only when a single wildcard is present. (@snakefoot)
- - [#5987](https://github.com/NLog/NLog/pull/5987) FileTarget - Improve archive cleanup with dynamic seq-no. (@snakefoot)
+ - [#5987](https://github.com/NLog/NLog/pull/5987) FileTarget - Improve archive cleanup with dynamic sequence number. (@snakefoot)
- - [#5988](https://github.com/NLog/NLog/pull/5988) FileTarget - Avoid parsing archive sequence number when other digits. (@snakefoot)
+ - [#5988](https://github.com/NLog/NLog/pull/5988) FileTarget - Avoid parsing the archive sequence number when other digits are present. (@snakefoot)

17-21: Consistent terminology and grammar.

Hyphenation and phrasing tweaks.

- - [#5968](https://github.com/NLog/NLog/pull/5968) Simplify WithAutoFlush-method for fluent config API. (@snakefoot)
+ - [#5968](https://github.com/NLog/NLog/pull/5968) Simplify WithAutoFlush method for the fluent configuration API. (@snakefoot)
- - [#5970](https://github.com/NLog/NLog/pull/5970) Fix boxing for registration of builtin condition methods. (@snakefoot)
+ - [#5970](https://github.com/NLog/NLog/pull/5970) Fix boxing for registration of built-in condition methods. (@snakefoot)
- - [#5977](https://github.com/NLog/NLog/pull/5977) ConditionExpression - Implicit operator with NotNullIfNotNull-attribute. (@GREsau)
+ - [#5977](https://github.com/NLog/NLog/pull/5977) ConditionExpression - Implicit operator with NotNullIfNotNull attribute. (@GREsau)
- - [#5982](https://github.com/NLog/NLog/pull/5982) SimpleLayout - Implicit operator with NotNullIfNotNull-attribute. (@snakefoot)
+ - [#5982](https://github.com/NLog/NLog/pull/5982) SimpleLayout - Implicit operator with NotNullIfNotNull attribute. (@snakefoot)
- - [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle Exception.ToString() can throw with AOT. (@snakefoot)
+ - [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle Exception.ToString() potentially throwing under AOT. (@snakefoot)

23-29: Capitalize “Git” and use possessive form.

Improves consistency and readability.

- - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.WindowsRegistry to own git repository. (@snakefoot)
+ - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.WindowsRegistry to its own Git repository. (@snakefoot)
- - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Trace to own git repository. (@snakefoot)
+ - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Trace to its own Git repository. (@snakefoot)
- - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.ConcurrentFile to own git repository. (@snakefoot)
+ - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.ConcurrentFile to its own Git repository. (@snakefoot)
- - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Database to own git repository. (@snakefoot)
+ - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Database to its own Git repository. (@snakefoot)
- - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Mail to own git repository. (@snakefoot)
+ - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Mail to its own Git repository. (@snakefoot)
- - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.WebService to own git repository. (@snakefoot)
+ - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.WebService to its own Git repository. (@snakefoot)
- - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Network to own git repository. (@snakefoot)
+ - [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Network to its own Git repository. (@snakefoot)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7c77633 and b1a2ba1.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • build.ps1 (1 hunks)
  • src/NLog/NLog.csproj (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/NLog/NLog.csproj
  • build.ps1
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md

9-9: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (1)
CHANGELOG.md (1)

7-7: Confirm release date before merge.

Date is set to 2025/09/11; ensure this matches the actual publish date or update on tag creation.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
CHANGELOG.md (4)

12-13: Tighten grammar for clarity in a few bullets.

Minor wording fixes to read more naturally.

- [#5981](https://github.com/NLog/NLog/pull/5981) FileTarget - Strict wildcard check only possible when single wildcard. (@snakefoot)
+ [#5981](https://github.com/NLog/NLog/pull/5981) FileTarget - Strict wildcard check only when a single wildcard is present. (@snakefoot)
- [#5987](https://github.com/NLog/NLog/pull/5987) FileTarget - Improve archive cleanup with dynamic seq-no. (@snakefoot)
+ [#5987](https://github.com/NLog/NLog/pull/5987) FileTarget - Improve archive cleanup with dynamic sequence number. (@snakefoot)
- [#5988](https://github.com/NLog/NLog/pull/5988) FileTarget - Avoid parsing archive sequence number when other digits. (@snakefoot)
+ [#5988](https://github.com/NLog/NLog/pull/5988) FileTarget - Avoid parsing the archive sequence number when other digits are present. (@snakefoot)
- [#5996](https://github.com/NLog/NLog/pull/5996) FileTarget - Better fallback logic when missing file system birthtime. (@snakefoot)
+ [#5996](https://github.com/NLog/NLog/pull/5996) FileTarget - Better fallback logic when the file system BirthTime is missing. (@snakefoot)
- [#5968](https://github.com/NLog/NLog/pull/5968) Simplify WithAutoFlush-method for fluent config API. (@snakefoot)
+ [#5968](https://github.com/NLog/NLog/pull/5968) Simplify WithAutoFlush method for the fluent config API. (@snakefoot)

Also applies to: 15-16, 18-18


22-22: Polish phrasing for AOT note.

Reads a bit awkward; suggest clearer wording.

- [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle Exception.ToString() can throw with AOT. (@snakefoot)
+ [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle that Exception.ToString() can throw under AOT. (@snakefoot)

24-30: Capitalize “Git” and consider consolidating repeated PR entries.

  • Capitalize “Git” for consistency with common style.
  • Optional: Combine these into a single bullet listing all extracted repos to reduce repetition.
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.WindowsRegistry to own git repository. (@snakefoot)
+ [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.WindowsRegistry to its own Git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Trace to own git repository. (@snakefoot)
+ [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Trace to its own Git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.ConcurrentFile to own git repository. (@snakefoot)
+ [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.ConcurrentFile to its own Git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Database to own git repository. (@snakefoot)
+ [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Database to its own Git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Mail to own git repository. (@snakefoot)
+ [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Mail to its own Git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.WebService to own git repository. (@snakefoot)
+ [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.WebService to its own Git repository. (@snakefoot)
- [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Network to own git repository. (@snakefoot)
+ [#5985](https://github.com/NLog/NLog/pull/5985) Extracted NLog.Targets.Network to its own Git repository. (@snakefoot)

Alternative single bullet (optional):

  • [#5985] Extracted NLog.WindowsRegistry, NLog.Targets.Trace, ConcurrentFile, Database, Mail, WebService, and Network into their own Git repositories. (@snakefoot)

9-9: markdownlint MD036 warning (emphasis used as heading).

Your style uses bold “Improvements” site-wide. Either:

  • change to a heading, e.g., “#### Improvements”, or
  • configure markdownlint to ignore MD036 for this file/pattern.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b1a2ba1 and cba99d4.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • build.ps1 (1 hunks)
  • src/NLog/NLog.csproj (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • build.ps1
  • src/NLog/NLog.csproj
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md

9-9: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (2)
CHANGELOG.md (2)

7-7: Release date is set in the future — please verify.

Today is 2025/09/10; entry says 2025/09/11. Use the actual release date or “Unreleased” until the tag is cut.


7-31: Overall: clear, well-scoped 6.0.4 notes.

Consistent with prior sections; links and scope look good.

@sonarqubecloud

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
CHANGELOG.md (2)

22-22: Nit: clarify AOT phrasing.

“Handle Exception.ToString() can throw with AOT” reads a bit awkward. Consider this tweak:

-- [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle Exception.ToString() can throw with AOT. (@snakefoot)
+- [#5992](https://github.com/NLog/NLog/pull/5992) MessageLayoutRenderer - Handle that Exception.ToString() may throw under AOT. (@snakefoot)

13-14: Nit: use consistent term for “sequence number”.

Line 13 uses “seq-no” while Line 14 spells out “sequence number”. Prefer one form across entries; e.g., spell out “sequence number”.

- - [#5987](https://github.com/NLog/NLog/pull/5987) FileTarget - Improve archive cleanup with dynamic seq-no. (@snakefoot)
+ - [#5987](https://github.com/NLog/NLog/pull/5987) FileTarget - Improve archive cleanup with dynamic sequence number. (@snakefoot)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cba99d4 and a03c487.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • build.ps1 (1 hunks)
  • src/NLog/NLog.csproj (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • build.ps1
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md

9-9: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (3)
CHANGELOG.md (1)

7-7: Verify release date before merging/tagging.

The header says “Version 6.0.4 (2025/09/11)”. Today is 2025-09-10 and the PR was opened on 2025-09-07; please confirm this is the intended publish date or adjust right before release.

src/NLog/NLog.csproj (2)

33-53: Release notes block matches CHANGELOG 6.0.4. LGTM.

The 21 items mirror the changelog in content and order.


33-53: Keep csproj notes in lockstep with CHANGELOG at tag time.

If you tweak wording (e.g., AOT phrasing or “sequence number” consistency) in CHANGELOG.md before release, mirror the same edits here to avoid drift on NuGet.

@snakefoot
snakefoot merged commit 0f63723 into NLog:dev Sep 11, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Morty Proxy This is a proxified and sanitized view of the page, visit original site.