Files
pidcat-repl/CHANGELOG.md
T
imcarlost 0cb6331afc Bump version to 2.3.0
Adds Esc-to-quit, working scroll (keys + mouse wheel), and click-to-jump
in the interactive filter UI.
2026-07-20 11:07:20 -04:00

4.3 KiB

Change Log

Version 2.3.0 (2026-07-20)

  • New: Esc quits the interactive UI. A bare Escape keypress exits; Escape sequences (arrow keys, mouse reports) are still parsed normally.
  • Fix: Scrolling the interactive UI now works. Up/Down, Page Up/Down, Home/End, and the mouse wheel scroll the retained scrollback; new lines no longer yank you back to the tail while you're scrolled up.
  • New: Clicking a line in the interactive UI clears the filter, unfilters the log, and scrolls to that line in the full history.

Version 2.2.0 (2026-07-20)

  • New: Interactive full-screen filter UI, on by default when both stdin and stdout are a terminal. Logs render above a bottom prompt line; typing live-filters the scrollback to lines containing every typed word, case-insensitively. --plain restores the previous streaming output; piped usage is unaffected.
  • Fix: print(linebuf.encode('utf-8')) printed the Python 3 bytes repr of every line instead of the line itself.
  • Fix: named_processes was still a lazily-exhausted map() object after the Python 3 port wrapped catchall_package in list().
  • Fix: piping adb logcat into pidcat crashed under Python 3, since FakeStdinProcess read sys.stdin (str) where the rest of the script expected bytes.
  • Fix: indent_wrap could hang given a non-positive wrap area, e.g. an unsized terminal.
  • Fix: shebang invoked python, which no longer exists on systems that only ship python3.

Version 2.1.0 (2016-09-07)

  • New: Explicitly run adb in 'brief' mode to ensure proper parsing.
  • New: -a / --all flag shows all logs.
  • Fix: Setting a tag width to 0 now correctly removes tags.

Version 2.0.0 (2015-05-25)

  • New: Display package and process name in birth & death messages.
  • New: Process can be matched in addition to package. For example com.android.chrome will match all of Chrome's processes, com.android.chrome: will match only its main process, and com.android.chrome:sandboxed_process1 will match that specific process name.
  • New: -c option clears log before reading logs.
  • New: If data is piped to pidcat it will be used as the log source instead of adb.
  • New: -t / --tag option allows filtering by tag name (regex supported).
  • New: -i / --ignore-tag option allows filtering out tags from the logs by name (regex supported).
  • New: --version option reports Pidcat's version.
  • New: Obtain unknown process IDs of currently-running apps.
  • New: --current option uses the package of the currently visible app for filtering.
  • New: Bash completion support for package names and device names. Requires manual installation of file in bash_completion.d/.
  • Fix: Properly match process birth & death from secondary processes.
  • Fix: Support leading spaces in PID numbers.
  • Fix: Default maximum tag length is now 23 (Android's maximum length).
  • Fix: Properly parse Android 5.1+ birth & death messages.

Version 1.4.1 (2014-01-09)

  • Fix: Ignore manufacturer-added invalid tag levels.

Version 1.4.0 (2013-10-12)

  • Add '--always-display-tags' argument for improved grepping.
  • Ignore bad UTF-8 data.
  • Replace tab characters in log message with four spaces.
  • Package name is now optional.

Version 1.3.1 (2013-07-12)

  • Add fatal to log level filtering.
  • Add '-e' and '-d' arguments for quickly selecting the emulator or device.
  • Improve removal of 'nativeGetEnabledTags' log spam.

Version 1.3.0 (2013-06-19)

  • Add support for Python 3.
  • Add '-s' argument for specifying device serial.
  • UTF-8 decode log messages.

Version 1.2.1 (2013-06-14)

  • Add support for 'fatal' log level.

Version 1.2.0 (2013-06-13)

  • Allow multiple packages to be specified.
  • Add argument to filter output based on log level.

Version 1.1.0 (2013-06-12)

  • De-duplicate tag name in output.
  • Color strict mode violations and optionally GC messages.
  • Support multiple processes for a package.

Version 1.0.0 (2013-06-11)

Initial version.