What's new in version 2.1.0 * Linux: Delay accounting metrics (thanks to André Carvalho) * DragonFlyBSD support (thanks to Diederik de Groot) * Support for real-time signals (thanks to Kang-Che Sung) * 'c' key now works with threads as well * Session column renamed from SESN to SID (thanks to Kamyar Rasta) * Improved UI for meter style selection (thanks to Kang-Che Sung) * Improved code for constructing process tree (thanks to wangqr) * Compile-time option to disable setuid * Error checking of various standard library operations * Replacement of sprintf with snprintf (thanks to Tomasz Kramkowski) * Linux: performance improvements in battery meter * Linux: update process TTY device * Linux: add support for sorting TASK_IDLE (thanks to Vladimir Panteleev) * Linux: add upper-bound to running process counter (thanks to Lucas Correia Villa Real) * BUGFIX: avoid crash when battery is removed (thanks to Jan Chren) * BUGFIX: macOS: fix infinite loop in tree view (thanks to Wataru Ashihara) What's new in version 2.0.2 * Mac OS X: stop trying when task_for_pid fails for a process, stops spamming logs with errors. * Add Ctrl+A and Ctrl+E to go to beginning and end of line * FreeBSD: fixes for CPU calculation (thanks to Tim Creech, Andy Pilate) * Usability: auto-follow process after a search. * Use Linux backend on GNU Hurd * Improvement for reproducible builds. * BUGFIX: Fix behavior of Alt-key combinations (thanks to Kang-Che Sung) * Various code tweaks and cleanups (thanks to Kang-Che Sung) What's new in version 2.0.1 * OpenBSD: Various fixes and improvements (thanks to Michael McConville and Juan Francisco Cantero Hurtado) * FreeBSD: fix CPU and memory readings (thanks to Tim Creech, Hung-Yi Chen, Bernard Spil, Greg V) * FreeBSD: add battery support (thanks to Greg V) * Linux: Retain last-obtained name of a zombie process * Mac OS X: Improve portability for OS X versions (thanks to Michael Klein) * Mac OS X: Fix reading command-line arguments and basename * Mac OS X: Fix process state information * Mac OS X: Fix tree view collapsing/expanding * Mac OS X: Fix tree organization * Mac OS X: Fix memory accounting * Fix crash when emptying a column of meters * Make Esc key more responsive What's new in version 2.0.0 * Platform abstraction layer * Initial FreeBSD support * Initial Mac OS X support (thanks to David Hunt) * Swap meter for Mac OSX (thanks to Ștefan Rusu) * OpenBSD port (thanks to Michael McConville) * FreeBSD support improvements (thanks to Martin Misuth) * Support for NCurses 6 ABI, including mouse wheel support * Much improved mouse responsiveness * Process environment variables screen (thanks to Michael Klein) * Higher-resolution UTF-8 based Graph mode (Thanks to James Hall from vtop for the idea!) * Show program path settings (thanks to Tobias Geerinckx-Rice) * BUGFIX: Fix crash when scrolling an empty filtered list. * Use dynamic units for text display, and several fixes (thanks to Christian Hesse) * BUGFIX: fix error caused by overflow in usertime calculation. (thanks to Patrick Marlier) * Catch all memory allocation errors (thanks to Michael McConville for the push) * Several tweaks and bugfixes (See the Git log for details and contributors!) What's new in version 1.0.3 * Tag all children ('c' key) * Fixes in accounting of guest time when using virtualization (thanks to Patrick Marlier) * Performance improvements (thanks to Jann Horn) * Further performance improvements due to conditional parsing of IO data depending on selected fields. * Better consistency in coloring. * Increase limit of buffer when tracing a deep nested process tree. * Display pagefault stats. * BUGFIX: Fix crash when adding meters and toggling detailed CPU time. (thanks to Dawid Gajownik) * Add column to track the OOM-killer score of processes (thanks to Leigh Simpson) What's new in version 1.0.2 * Add IO priority support ('i' key) * Avoid deleting .htoprc if it is a symlink * Fail gracefully when /proc is not mounted (thanks to Philipp Hagemeister) * Option to update process names on every refresh (thanks to Rob Hoelz) * BUGFIX: Fix crashes when process list is empty What's new in version 1.0.1 * Move .htoprc to XDG-compliant path ~/.config/htop/htoprc, respecting $XDG_CONFIG_HOME (thanks to Hadzhimurad Ustarkhan for the suggestion.) * Safer behavior on the kill screen, to make it harder to kill the wrong process. * Fix for building in FreeBSD 8.2 (thanks to Trond Endrestol) * BUGFIX: behavior of 'F' (follow) key was broken, also affecting the persistence of mouse selections. * BUGFIX: keep main panel up-to-date when running the screen manager, to fix crash when processes die while on the F9/Kill screen. What's new in version 1.0 * Performance improvements * Support for splitting CPU meters into two or four columns (thanks to Wim Heirman) * Switch from PLPA, which is now deprecated, to HWLOC. * Bring back support for native Linux sched_setaffinity, so we don't have to use HWLOC where we don't need to. * Support for typing in user names and column fields in selection panels. * Support for UTF-8 tree drawing (thanks to Bin Guo) * Option for counting CPUs from zero (thanks to Sean Noonan) * Meters update in every screen (no longer halting while on Setup, etc.) * Stricter checks for command-line options (thanks to Sebastian Pipping) * Incremental filtering (thanks to Seth Heeren for the idea and initial implementation) * Try harder to find the ncurses header (thanks to Moritz Barsnick) * Man page updates (thanks to Vincent Launchbury) * BUGFIX: Support larger numbers for process times. (thanks to Tristan Nakagawa for the report.) * BUGFIX: Segfault in BarMeterMode_draw() for small terminal widths (patch by Sebastian Pipping) What's new in version 0.9 * Add support for "steal"/guest CPU time measurement in virtualization environments * Expand and collapse subtrees using '+' and '-' when in tree-view * Support for cgroups (thanks to Guillaume Zitta and Daniel Lezcano) * Show custom thread names (thanks to Anders Torger) * Add support for STARTTIME field * Upgrade PLPA to version 1.3.2 * Fix license terms with regard to PLPA (thanks to Tom Callaway) * getopt-based long options and --no-color (thanks to Vincent Launchbury) * BUGFIX: Fix display of nan% in CPU meters (thanks to Steven Hampson) * BUGFIX: Fix memory leak (thanks to Pavol Rusnak) * Add Bash/emacs style navigation keys (thanks to Daniel Schuler) * Improve battery meter support (thanks to Richard W.) * BUGFIX: Fix IO-wait color in "Black on White" scheme * BUGFIX: Fix search by process name when list is filtered by user. (thanks to Sergej Pupykin for the report.) * BUGFIX: Fix alignment for display of memory values above 100G (sign of the times!) (thanks to Jan van Haarst for the report.) What's new in version 0.8.3 * BUGFIX: Fix crash on F6 key (thanks to Rainer Suhm) * BUGFIX: Fix a minor bug which affected the build process. What's new in version 0.8.2 * Integrated lsof (press 'l') * Fix display of gigabyte-sized values (thanks to Andika Triwidada) * Option to display hostname in the meters area * Rename VEID to CTID in OpenVZ systems (thanks to Thorsten Schifferdecker) * Corrections to the desktop entry file (thanks by Samuli Suominen) * BUGFIX: Correct page size calculation for FreeBSD systems (thanks to Andrew Paulsen) * Allow compilation without PLPA on systems that don't support it (thanks to Timothy Redaelli) * BUGFIX: Fix missing tree view when userland threads are hidden (thanks to Josh Stone) * BUGFIX: Fix for VPID on OpenVZ systems (thanks to Wolfgang Frisch) What's new in version 0.8.1 * Linux-VServer support (thanks to Jonathan Sambrook and Benedikt Bohm) * Battery meter (thanks to Ian Page Hands) * BUGFIX: Fix collection of IO stats in multithreaded processes (thanks to Gerhard Heift) * Remove assertion that fails on hardened kernels (thanks to Wolfram Schlich for the report) What's new in version 0.8 * Ability to change sort column with the mouse by clicking column titles (click again to invert order) * Add support for Linux per-process IO statistics, enabled with the --enable-taskstats flag, which requires a kernel compiled with taskstats support. (thanks to Tobias Oetiker) * Add Unicode support, enabled with the --enable-unicode flag, which requires libncursesw. (thanks to Sergej Pupykin) * BUGFIX: Fix display of CPU count for threaded processes. When user threads are hidden, process now shows the sum of processor usage for all processors. When user threads are displayed, each thread shows its own processor usage, including the root thread. (thanks to Bert Wesarg for the report) * BUGFIX: avoid crashing when using many meters (thanks to David Cho for the report) What's new in version 0.7 * CPU affinity configuration ('a' key) * Improve display of tree view, properly nesting threads of the same app based on TGID. * IO-wait time now counts as idle time, which is a more accurate description. It is still available in split time, now called detailed CPU time. (thanks to Samuel Thibault for the report) * BUGFIX: Correct display of TPGID field * Add TGID field * BUGFIX: Don't crash with invalid command-line flags (thanks to Nico Golde for the report) * Fix GCC 4.3 compilation issues (thanks to Martin Michlmayr for the report) * OpenVZ support, enabled at compile-time with the --enable-openvz flag. (thanks to Sergey Lychko) What's new in version 0.6.6 * Add support of NLWP field (thanks to Bert Wesarg) * BUGFIX: Fix use of configurable /proc location (thanks to Florent Thoumie) * Fix memory percentage calculation and make it saner (thanks to Olev Kartau for the report) * Added display of DRS, DT, LRS and TRS (thanks to Matthias Lederhofer) * BUGFIX: LRS and DRS memory values were flipped (thanks to Matthias Lederhofer) * BUGFIX: Don't crash on very high UIDs (thanks to Egmont Koblinger) What's new in version 0.6.5 * Add hardened-debug flags for debugging with Hardened GCC * BUGFIX: Handle error condition when a directory vanishes from /proc * BUGFIX: Fix leak of process command line * BUGFIX: Collect orphaned items when arranging the tree view. (thanks to Wolfram Schlich for assistance with debugging) * Separate proc and memory debugging into separate #defines. * BUGFIX: Fix message when configure fails due to missing libraries (thanks to Jon) * BUGFIX: Don't truncate value when displaying a very large process (thanks to Bo Liu) What's new in version 0.6.4 * Add an option to split the display of kernel time in the CPU meter into system, IO-wait, IRQ and soft-IRQ. (thanks to Philipp Richter) * --sort-key flag in the command-line, overriding the saved setting in .htoprc for the session. (thanks to Rodolfo Borges) * BUGFIX: Fixed string overflow on uptime display. (thanks to Marc Cahalan) What's new in version 0.6.3 * Performance improvements: uses much less CPU than the previous release with the default setup. * Use 64-bit values when storing processor times to avoid overflow. * Memory consumption improvements, compensating storage of 64-bit values. * Internal change: rename TypedVector to Vector and ListBox (and related classes) to Panel. * Have configure actually fail when needed libraries or headers are not found. * Horizontally scroll in larger increments when on the Linux console because of slow update of unaccelerated fb * No longer untag processes after sending a signal (useful for when SIGTERM fails and one wants to try again with SIGKILL). All processes can be untagged at once with 'U'. (thanks to A. Costa for the suggestion) What's new in version 0.6.2 * BUGFIX: Fixed crash when using some .htoprc files from 0.6 (thanks to Wolfram Schlich and John Thomas for the reports) * BUGFIX: Ensure changes to color scheme are saved * BUGFIX: Make configure behave correctly with --with-proc * Minor addition to .desktop file. What's new in version 0.6.1 * New meter type: "All CPUs", which dynamically adjusts to the number of CPUs present in the machine. Note that because of this, older versions of htop may crash when using an .htoprc file modified my the newer version. * Accept --with-proc=