Skip to content

v26.4.22.1179

Pre-release
Pre-release

Choose a tag to compare

@jschick04 jschick04 released this 22 Apr 19:54

What's New in v26.4.22.1179

Features

  • Light mode is now available, with an option to follow the system theme
  • Column drag-and-drop reordering in the event table, with persistent column sizing and ordering across sessions
  • Details pane height is now remembered as a user preference
  • XML resolution no longer requires the toggle — XML is automatically available, but only resolved when a filter actually needs it
  • Improved keyboard navigation in the event table with refactored event selection
  • Support for exported LocaleMetaData folders when resolving events from exported .evtx files
  • DbTool now supports MTA files for provider details
  • Added missing severity levels so more events display the correct level
  • Added additional event types and EvtVariantTypes for broader event coverage
  • Title bar now shows app name and version before the log names

Improvements

  • Faster event table loading with batch loading and improved indexing performance
  • Better performance when opening multiple logs (channels + semaphore-throttled threading)
  • Filtering automatically switches to parallel processing above a threshold
  • Smoother UI updates — the event table and status bar only refresh when values actually change
  • Added a rotating cache for NTStatus and HResult lookups
  • Caches are now instance-based so they release at end of life cycle
  • Reduced memory usage and optimized hot paths throughout the app (string cache, keyword display, property/format caching, sort-in-place, IReadOnlyList)
  • Refactored logger to allocate only when an event is actually logged; uses a temp file instead of in-memory buffering
  • Refactored async patterns: removed FireAndForget in favor of InvokeAsync, converted async void to async Task, wrapped InvokeAsync calls with exception handlers
  • Simplified provider lock pattern and refactored event resolver
  • Improved event template matching when multiple potential templates exist
  • Refactored filtering references to keyword display name
  • Unified State naming across the app for consistency
  • Release notes now render properly as Markdown on GitHub
  • Removed unused HTML/navigation since the app does not use page navigation
  • Removed aria-expanded from the Razor side (handled in JS now)
  • Created a GitHub PR pipeline and removed unused legacy pipelines
  • Hardened the release workflow to run with least required permissions
  • Treat warnings as errors and cleaned up remaining warnings
  • Added additional debug logging for event debugging

Bug Fixes

  • Fixed index out of range errors when event messages contain a trailing %n or use 0 as a terminator
  • Fixed variant type mismatch that could cause event resolution issues
  • Fixed issue reading a log file after it was deleted
  • Fixed temp file creation failure when encryption was involved (now uses a file stream directly)
  • Fixed dispose method on the DB event resolver and a watcher constructor bug
  • Fixed logger DI issue
  • Fixed several smaller bugs and applied optimizations to ValueSelect dropdowns
  • Fixed CI issue related to needs-upgrade checks
  • Added a failure path when Deserialize returns null
  • Added IDisposable to several components to prevent leaks; cleaned up unneeded dispose patterns