Changelog
- 0c57b0c Merge branch 'feat/log-filter-pipeline' into next
- 043a8e8 Merge branch 'feat/security-dashboard' into next
- d71d317 Merge branch 'main' into feat/log-filter-pipeline
- 6eb8358 Merge branch 'main' into feat/security-dashboard
- 281fb7f Merge branch 'main' into next
- 6cf9703 feat(logs): 't' hotkey opens --since duration prompt
- e3dc0a5 feat(logs): BuildLogHistogram + LogHistogramView
- 0b65316 feat(logs): DetectJSONLine + lruJSONCache
- 0a39a3a feat(logs): FieldRule + FieldOp + MatchesJSON
- 59130c2 feat(logs): FieldRule in FilterChain + preset serialisation
- 825078b feat(logs): H hotkey toggles histogram strip
- f991ca6 feat(logs): J hotkey toggles JSON pretty-print (Phase 4B)
- 5c660a1 feat(logs): JSON pretty-printer (PrettyPrintJSON + expansion helper)
- b7d1b33 feat(logs): R hotkey toggles relative timestamps
- 2094a02 feat(logs): add advanced log filtering
- 7176549 feat(logs): parse .field=value syntax in filter input
- 076c614 feat(logs): parseLogLineTimestamp + formatRelativeTimestamp helpers
- edb31dd feat(logs): parseLogSinceDuration helper
- b179e0b feat(logs): persist filter rules across tab switches (Phase J)
- d63897b feat(logs): warm JSON cache on stream / history
- d293cc9 feat: add watch interval option #19
- 210df11 feat: better support for NO_COLOR mode #20 #21
- a2f3f9d fix(logs): convert "d" suffix to hours before passing to kubectl --since
- b867a97 fix(logs): move --since hotkey from
tto Shift+T