Skip to content

EQ2Parser 0.5.3

Choose a tag to compare

@github-actions github-actions released this 06 Sep 14:56
· 3 commits to main since this release
feat(diagnostics): session journal + WER dumps + startup post-mortem

A 0.5.x user's app dies with NOTHING in the crashes folder — a death the
CLR never saw (native crash, stack overflow, OOM kill, or an antivirus
terminating the process). CrashLog already covers every managed escape
route; this adds the nets for the rest, all best-effort and silent on
failure:

- SessionJournal (%LocalAppData%\EQ2Parser\session.log): startup-stage
  breadcrumbs, source add marks, raid-command-file writes, a mark BEFORE
  every native TTS synthesis call (prime unmanaged suspect), and a
  once-a-minute heartbeat with working-set/GC numbers (OOM creep shows
  as a marching trend). Ends with a clean-exit mark.
- WER LocalDumps self-registration (HKCU, no admin): Windows writes a
  minidump to crashes\dumps on native crashes and stack overflows.
- Startup post-mortem: a previous session.log without the clean-exit
  mark means the last run died silently — its journal is copied into
  crashes\postmortem-<ts>.txt together with any EQ2Parser-related
  Application Error / .NET Runtime / WER event-log entries from the
  last 48h. Empty harvest + no dump = external kill (antivirus).

Verified end-to-end: run + taskkill /F + restart produces the postmortem
with the journal tail and the "(none found — consistent with an external
process kill)" verdict; the WER key lands with DumpType=1, DumpCount=5.
Support flow is now just "send the crashes folder".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>