Skip to content

Regenerate README detection lists and automate future updates - #104

Merged
totpero merged 1 commit into
masterfrom
update-readme-detection-lists
Jul 30, 2026
Merged

Regenerate README detection lists and automate future updates#104
totpero merged 1 commit into
masterfrom
update-readme-detection-lists

Conversation

@totpero

@totpero totpero commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • Regenerated the "What Device Detector is able to detect" section in README.md from the library's current data (operating systems, browsers, engines, libraries, media players, mobile apps, PIMs, feed readers, bots), bumped the "Last update" date, and added the previously-missing "List of brands with detected devices" section.
  • Fixed two porting bugs found while building the generator:
    • AbstractClientParser.GetAvailableClients() leaked MobileApp-only placeholder names (e.g. "Podkicker$1", "radio.$1", "Microsoft Office $1", "$2") into Libraries, Media Players, PIMs and Feed Readers, and didn't filter out names containing $1/$2 the way the PHP original does.
    • EngineParser was missing "ArkWeb", which is present in PHP's Engine.php.
  • Added tools/DeviceDetector.NET.ReadmeGen, a checked-in console tool mirroring device-detector's misc/updateReadme.php, and .github/workflows/update-readme.yml, which runs it on every new GitHub release (core package only) and opens a PR with the resulting README changes — so this stays fresh automatically going forward.

Test plan

  • dotnet test tests/DeviceDetector.NET.Tests/DeviceDetector.NET.Tests.csproj -c Release --nologo — 210/210 passed
  • Diffed every regenerated list section against the previous README to confirm no unintended removals, only expected additions (Lightpanda, Grok, QuickBooks, Yandex AI, ArkWeb, various new bots, etc.)
  • Ran tools/DeviceDetector.NET.ReadmeGen manually end-to-end and confirmed idempotent, BOM-preserving output

Refreshes the "What Device Detector is able to detect" section in
README.md from the library's current data (OS, browsers, engines,
libraries, media players, mobile apps, PIMs, feed readers, bots), and
adds the previously-missing "List of brands with detected devices"
section.

While building the generator, found and fixed two porting bugs:
- AbstractClientParser.GetAvailableClients() leaked MobileApp-only
  placeholder names (e.g. "Podkicker$1", "radio.$1") into Libraries,
  Media Players, PIMs and Feed Readers, and didn't filter names
  containing "$1"/"$2" like the PHP original does.
- EngineParser was missing "ArkWeb", present in PHP's Engine.php.

Adds tools/DeviceDetector.NET.ReadmeGen, a checked-in console tool
mirroring device-detector's misc/updateReadme.php, plus a GitHub
Actions workflow that runs it on every new release and opens a PR
with the resulting README changes.
@totpero
totpero merged commit 9e5cd0d into master Jul 30, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant