summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog1148
1 files changed, 1148 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..b4cdf6a
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,1148 @@
+What's new in version 3.3.0
+
+* Multiple refactorings and code improvements
+* Shorten docker container IDs to 12 characters
+* Settings: preserve empty header
+* Fix execlp() argument without pointer cast
+* OpenFilesScreen: Make column sizing dynamic for file size, offset and inode
+* Add support for "truss" (FreeBSD equivalent of "strace")
+* Darwin: add NetworkIOMeter support
+* HeaderLayout: add "3 columns - 40/30/30", "... 30/40/30" & "... 30/30/40"
+* Meter: use correct unicode characters for digit '9'
+* Note in manual re default memory units of KiB
+* Add column for process container name
+* Add logic to filter the container name (+type) from the CGroup name
+* Change NetworkIOMeter value unit from KiB/s to bytes/second
+* Cap DiskIOMeter "utilisation" percentage at 100%
+* PCP platform implementation of frontswap and zswap accounting
+* Shorten podman/libpod container IDs to 12 characters
+* Write configuration to temporary file first
+* Incorporate shared memory in bar text
+* Move shared memory next to used memory
+* Correct order of memory meter in help
+* Add recalculate to Ctrl-L refresh
+* Update process list on thread visibility toggling
+* Support dynamic screens with 'top-most' entities beyond processes
+* Introduce Row and Table classes for screens beyond top-processes
+* Rework ZramMeter and remove MeterClass.comprisedValues
+* More robust logic for CPU process percentages (Linux & PCP)
+* Show year as start time for processes older than a year
+* Short-term fix for docker container detection
+* default color preset: use bold blue for better visibility
+* Document 'O' keyboard shortcut
+* Implement logic for '--max-iterations'
+* Update F5 key label on tab switch (Tree <-> List)
+* Force re-sorting of the process list view after switching between list/treeview mode
+* Linux: (hack) work around the fact that Zswapped pages may be SwapCached
+* Linux: implement zswap support
+* {Memory,Swap}Meter: add "compressed memory" metrics
+* Darwin: add DiskIOMeter support
+* Fix scroll relative to followed process
+* ZramMeter: update bar mode
+* Use shared real memory on FreeBSD
+* Increase Search and Filter max string length to 128
+* Improve CPU computation code
+* Remove LXC special handling for the CPU count
+* Create new File Descriptor meter
+* PCP: add IRQ PSI meter
+* Linux: add IRQ PSI meter
+* Linux: highlight username if process has elevated privileges
+* Add support for scheduling policies
+* Add a systemd user meter to monitor user units.
+* FreeBSD: remove duplicate zfs ARC size subtraction
+
+What's new in version 3.2.2
+
+* CPUMeter now can show frequency in text mode
+* Add option to render distribution path prefixes shadowed
+* DiskIOMeter converts to bytes per second (not per interval)
+* DiskIOMeter uses complete units, including missing "iB/s"
+* DiskIOMeter indicates read and write in meter mode
+* NetworkIOMeter converts to packets per second, shows packet rate
+* Allow continued process following when changing display settings
+* Update the panel header when changing to another tab
+* Drop margin around the header if there are no meters
+* Use Unicode replacement character for non-printable characters
+* Default color preset uses bold blue for better visibility
+* Update the Panel header on sort order inversions ('I')
+* Toggle the header meters with pound key
+* Fix ScreenPanel to handle quitting the panel while renaming
+* Add fallback for HOME environment variable using passwd database
+* Replace meaningless ID column with FD column in lock screen
+* Use device format in the lock screen matching the files screen
+* On Linux, improvements to file-descriptor lock detection
+* On Linux, further distinguish systemd states in the SystemdMeter
+* On Linux, improvements to cgroup and container identification
+* On Linux, support openat(2) without readlinkat(2) platforms
+* On Darwin, fix current process buffer handling for busy systems
+* On DragonFly BSD, fix incorrect processor time of processes
+* On FreeBSD, fix an issue with the memory graph not showing correctly
+* On FreeBSD, add support for displaying shared memory usage
+* On PCP, use pmLookupDescs(3) if available for efficiency
+* On PCP, normalize generic columns values for consistent display
+* On PCP, changes preparing for configurable, dynamic screens
+* Handle invalid process columns from the configuration file
+* Avoid undefined behaviour with deeply nested processes
+* Fix crash when removing the currently active screen
+* Prevent possible crash on a very early error path
+* Include automake for Debian/Ubuntu
+* Restore non-mouse support
+* Reject unsupported command line arguments
+* Document idle process state
+* Clarify M_TRS/M_DRS columns
+
+What's new in version 3.2.1
+
+* Fix setting to show all branches collapsed by default
+* Restore functionality of stripExeFromCmdline setting
+* Fix some command line display settings not being honored without restart
+* Display single digit precision for CPU% greater than 99.9%
+* On Linux, FreeBSD and PCP consider only shrinkable ZFS ARC as cache
+* On Linux, increase field width of CPUD% and SWAPD% columns
+* Colorize process state characters in help screen
+* Use mousemask(3X) to enable and disable mouse control
+* Fix heap buffer overflow in Vector_compact
+* On Solaris, fix a process time scaling error
+* On Solaris, fix the build
+* On NetBSD, OpenBSD and Solaris ensure env buffer size is sufficient
+* On Linux, resolve processes exiting interfering with sampling
+* Fix ProcessTable quadratic removal when scanning processes
+* Under LXC, limit CPU count to that given by /proc/cpuinfo
+* Improve container detection for LXC
+* Some minor documentation fixes
+
+What's new in version 3.2.0
+
+* Support for displaying multiple tabs in the user interface
+* Allow multiple filter and search terms (logical OR, separate by "|")
+* Set correct default sorting direction (defaultSortDesc)
+* Improve performance for process lookup and update
+* Rework the IOMeters initial display
+* Removed duplicate sections on COMM and EXE
+* Highlight process UNINTERRUPTIBLE_WAIT state (D)
+* Show only integer value when CPU% more than 99.9%
+* Handle rounding ambiguity between 99.9 and 100.0%
+* No longer leaves empty the last column in header
+* Fix header layout and meters reset if a header column is empty
+* Fix PID and UID column widths off-by-one error
+* On Linux, read generic sysfs batteries
+* On Linux, do not collect LRS per thread (it is process-wide)
+* On Linux, dynamically adjust the SECATTR and CGROUP column widths
+* On Linux, fix a crash in LXD
+* On FreeBSD, add support for showing process emulation
+* On Darwin, lazily set process TTY name
+* Always set SIGCHLD to default handling
+* Avoid zombie processes on signal races
+* Ensure last line is cleared when SIGINT is received
+* Instead of SIGTERM, pre-select the last sent signal
+* Internal Hashtable performance and sizing improvements
+* Add heuristics for guessing LXC or Docker from /proc/1/mounts
+* Force elapsed time display to zero if process started in the future
+* Avoid extremely large year values when printing time
+* Fix division by zero when calculating IO rates
+* Fix out of boundary writes in XUtils
+* Fix custom thread name display issue
+* Use AC_CANONICAL_HOST, not AC_CANONICAL_TARGET in configure.ac
+* Support libunwind of LLVM
+
+What's new in version 3.1.2
+
+* Bugfix for crash when storing modified settings at exit
+* Generate xz-compressed source tarball (with configure) using github actions
+* Allow -u UID with numerical value as argument
+* Added documentation for obsolete/state libraries/program files highlighting
+* Some obsolete/stale library highlighting refinements
+* Column width issues resolved
+* Dynamic UID column sizing improved
+* Discard stale information from Disk and Network I/O meters
+* Refined Linux kernel thread detection
+* Reworked process state handling
+* New CCGROUP column showing abbreviated cgroup name
+* New OFFSET column in the list of open files screen
+
+What's new in version 3.1.1
+
+* Update license headers to explicitly say GPLv2+
+* Document minimum version for libcap (thanks to James Brown)
+* Fix mouse wheel collision with autogroups nice adjustment
+* Adjust Makefile.am macro definitions for older automake versions
+* Ensure consistent reporting of MemoryMeter 'used' memory
+* Report hugepage memory as real and used memory (as before)
+* Handle procExeDeleted, usesDeletedLib without mergedCommandline mode
+* Validate meter configuration before proceeding beyond htoprc parsing
+* Properly release memory on partially read configuration
+* Handle interrupted sampling from within libpcp PDU transfers
+* On Linux, provide O_PATH value if not defined
+* On Linux, always compute procExeDeleted if already set
+* Workaround for Rosetta 2 on Darwin (thanks to Alexander Momchilov)
+* Fix FreeBSD cmdline memory leak in Process_updateCmdline, and
+* Plug a Disk I/O meter memory leak on FreeBSD (thanks to Ximalas)
+
+What's new in version 3.1.0
+
+* Updated COPYING file to remove the PLPA exemption (appendix 2)
+ With this change the license is now GPLv2 without any additional wording.
+* Improved default sort ordering
+ Note for users: This may lead to an inverted sort order on startup of
+ htop 3.1.0 compared to previous versions.
+ This is due to what is stored in your htoprc file. Solution: Press I
+ (to invert sort order).
+ This changed setting will be saved by htop on exit as long as it can
+ write to your htoprc file.
+* The compile-time option to cater specifically for running htop as
+ setuid has been removed
+* Add read-only option
+ This allows htop to be run in an non-intrusive fashion where it acts only
+ as a process viewer disabling all functions to manipulate system state.
+ Note: This is not a security feature!
+* Move the code for handling the command line formatting related tasks
+ to be shared across all platforms
+ This means important features like stale binary/library highlighting
+ can now be available on all supported platforms.
+* Make the EXE and COMM columns available on all platforms
+ All supported platforms have the name of the executable (EXE) and a
+ self-chosen thread/command name (COMM) available one way or the other.
+ Moving this column to be handled as a platform-independently available
+ information simplifies the markup of the command line.
+* Introduce configuration file versioning and config_reader_min_version
+ Starting with this version the configuration file contains a version
+ identifying the minimum version of the configuration parser needed to
+ fully understand the configuration file format.
+ Old configuration file formats are automatically upgraded when
+ saving the config file (htoprc).
+* Make the configuration parser friendlier to users (thanks to Bart Bakker)
+ With this change only settings that cannot be parsed properly are
+ reset to their defaults.
+* Improve default display for systems with many CPUs
+* Add the process ELAPSED time column
+* Improve the process STATE column sorting
+* Reworked handling resize and redrawing of the UI
+* Fixed an issue where the LED meter mode could overflow allotted space
+* Allow text mode Meters to span empty neighbors to the right
+* Rescale graph meters when value of total changes
+ (thanks to Michael Schönitzer)
+* Update generic process field display
+ Usually "uninteresting" values in columns like 1 thread, nice value
+ of 0, CPU and memory of 0%, idle/sleeping state, etc. are shown with
+ reduced intensity (dark grey)
+* Option and key ("*") to collapse / expand all branches under PID 1
+ (and PID 2 if kernel threads are shown) (thanks to Krishna Chaitanya)
+* Keep following a process when inverting the sort order, displaying
+ the help screen or hiding/unhiding userland threads.
+ If a thread is currently selected the selection is updated to point
+ to the thread's parent process. (thanks to Gonzalo, et.al.)
+* Reorder process scanning to be performed before updating the display
+ of the meters in the header
+* Always check the user for a process for any changes.
+ This affects multiple platforms that previously didn't correctly handle
+ the user field for a process to change at runtime (e.g. due to seteuid
+ or similar syscalls).
+* Disable mouse option when support is unavailable
+* Support curses libraries without ncurses mouse support
+ (thanks to Santhosh Raju)
+* Support offline and hot-swapping of CPUs on all platforms
+* Fix the CPU Meter for machines with more than 256 CPUs
+* Supplemented the "show updated/deleted executables" feature (red basename)
+ to indicate when linked libraries were updated (yellow basename)
+* Apply the stale binary highlighting for the EXE column in addition to
+ the command line field
+* Add new combined Memory and Swap meter
+* Implement bar and graph mode for NetworkIO Meter
+ (thanks to Michael F. Schönitzer)
+* Rework TTY column to be more consistent across platforms
+* Make the CWD column generally available on all platforms
+ (thanks to Santhosh Raju et. al.)
+* Add Performance Co-Pilot (PCP) platform support
+ This is added via a separate pcp-htop(1) binary which provides remote host
+ analysis, new Meters for any PCP metric and new Columns for any PCP process
+ metric - see the pcp-htop(5) man page for further details.
+ (thanks to Sohaib Mohamed)
+* Add Linux columns and key bindings for process autogroup identifier
+ and nice value
+* Change available and used memory reporting on Linux to be based on
+ MemAvailable (Kernel 3.14+) (thanks to Chris Cheney and Tomas Wido)
+* Add a new SysArchMeter showing kernel and platform information
+ (thanks to ahgamut)
+* Linux memory usage explicitly treats tmpfs memory usage as shared memory
+ This is to make memory used by tmpfs visible as this cannot be freed
+ unlike normal filesystem cache data.
+* Exclude zram devices when calculating DiskIO on Linux
+* Use PATH lookup for systemctl in systemd meter (thanks to Scott Olson)
+* Add native platform support for NetBSD
+ This allows htop to run on NetBSD without the need for active Linux
+ emulation of the procfs filesystem.
+ (thanks to Santhosh Raju and Nia Alarie)
+* Add NetworkIO, DiskIO, CPU frequency, and battery meter support on NetBSD
+ (thanks to Nia Alarie)
+* Fix NetBSD display of in-use and cached memory (thanks to Nia Alarie)
+* Rework NetBSD CPU and memory accounting (thanks to Santhosh Raju)
+* Fix NetBSD accounting of user and kernel threads (thanks to Santhosh Raju)
+* Initial work to allow building with default libcurses on NetBSD
+ (thanks to Santhosh Raju)
+* FreeBSD updates - implement process majflt and processor column values
+* Add FreeBSD support for CPU frequency and temperature
+* Fixes and cleanups for ZFS Meters and metrics
+* Correctly color the ZFS ARC ratio (thanks to Ross Williams)
+* Bugfixes related to CPU time display/calculations for darwin on M1 systems
+ (thanks to Alexander Momchilov)
+* Harmonize the handling of multiple batteries across different platforms.
+ The system is now considered to run on AC if at least one power supply
+ marked as AC is found in the system.
+ Battery capacity is summed up over all batteries found.
+ This also changes the old behavior that batteries reported by the
+ system after the first AC adapter where sometimes ignored.
+* Correctly handle multiple batteries on Darwin.
+ Resolves a possible memory leak on systems with multiple batteries.
+* Handle Linux Shmem being part of Cached in the MemoryMeter
+* Add SwapCached to the Linux swap meter (thanks to David Zarzycki)
+* Convert process time to days if applicable (thanks to David Zarzycki)
+* Always show the number of threads in the TaskMeter, even when threads
+ are not shown in the process list
+* Fix Linux --drop-capabilities option handling
+* Correctly detect failure to initialize Linux boottime
+* Overhaul the Linux memory fields to partition them like free(1) now does
+* Improve the Linux process I/O column values
+* Rework the libsensors parsing on Linux
+* Update the MemoryMeter to display shared memory
+* Update OpenBSD platform - implement additional columns, scan LWP,
+ proper markup for STATE, show CPU frequency
+* Fix the tree view on OpenBSD when hiding kernel threads
+* Remove old InfoScreen lines before re-scanning (thanks to Øystein Hiåsen)
+* Document historic naming of Light-Weight Processes column aka threads
+* Improve user interaction when the last process entry is selected
+* Draw the panel header on the TraceScreen (thanks to Youngjae Lee)
+* Add mouse wheel scroll and fix mouse selection on the InfoScreen
+ (thanks to Youngjae Lee)
+* Add a HugepageMeter and subtract hugepages from normal memory
+* Display wide characters in LED meters and restore non-wide ncurses support
+* Add command line option to drop Linux capabilities
+* Support scheduler affinity on platforms beyond Linux
+* Report on any failure to write the configuration file
+* Cache stderr to be able to print assert messages.
+ These messages are shown in case htop terminates unexpectedly.
+* Print current settings on crash
+* Reset signal handlers on program exit
+* Add configure script option to create a static htop binary
+* Resolved longer-standing compilation issues on Solaris/Illumos
+* Check for availability of set_escdelay in configure
+ (thanks to Stefan Polluks)
+* Build system updates for autotools 2.70
+
+What's new in version 3.0.5
+
+* BUGFIX / SECURITY: InfoScreen: fix uncontrolled format string
+* BUGFIX: Improve white text in the Light Terminal colour scheme
+ (both of the above thanks to V)
+* Enable the function bar on the main screen to be hidden (see Setup -> Display options)
+* BUGFIX: Reduce layout issues esp. around printing wide characters (not complete yet)
+* BUGFIX: Make the follow function exit cleanly after followed process died
+* Solaris: make Process callbacks static
+* Update help and man page for improved -t / -s options
+* Drop usage of formatted error messages from <err.h>
+* Show arrow indicating order of sorted process column
+* Lots of plumbing around the internal Hashtable, hardening and code cleanups
+* LibSensors: add support for Ryzen CPUs
+ (thanks to Matej Dian)
+* BUGFIX: Fix CPU percentage on M1 silicon Macs
+ (thanks to Luke Groeninger)
+* LoadMeter: dynamically adjust color and total of bar
+* Find libsensors.so.4 for Fedora and friends
+* Add support to display CPU frequencies on Solarish platforms
+ (thanks to Dominik Hassler)
+* Enable going back to previous search matches (Shift-F3)
+* Added keybind 'N' for sorting by PID (drops 'n'/'N' as not used before much)
+ (thanks to Jake Mannens)
+
+What's new in version 3.0.4
+
+* Separate tree and list sort orders
+* Invert Process_compare so that superclass matches run first
+ (thanks to Hisham Muhammad)
+* Unhardcode Mac OS tick-to-milliseconds conversion
+ (thanks to Alexander Momchilov)
+* Check if clock_gettime needs linking of librt
+* Define O_PATH if not already defined
+ (thanks to Chris Burr)
+* Add column on Mac for processes running under translation
+ (thanks to Dániel Bakai)
+* Configure check for additional linker flags for keypad(3)
+* PSI Meter: constant width and only print ten-duration as bar
+* Sort in paused mode after inverting sort order
+* Handle absence of package CPU temperature
+* Meter: restore non-wide-character build
+* LibSensors: restore temperature for Raspberry Pi
+* MainPanel: do not reset hideProcessSelection on KEY_SHUFFLE
+* BarMeter: rework text padding
+* Panel: rework drawing of FunctionBar
+* Meter: fix artifacts with very tiny width
+* DragonFlyBSD updates
+* BUGFIX: Fix dlopen issue for libsensors5 for some platforms
+* BUGFIX: Fix broken tree display on inverted sort order
+* BUGFIX: Fix pause mode ("Z") in tree view
+* BUGFIX: Correct timebase for non-x86 CPUs on Darwin
+* BUGFIX: Avoid NULL dereference on zombie processes
+* Document dynamic bindings and assumed external configuration
+* Update key mapping documentation for sorting
+
+What's new in version 3.0.3
+
+* Process sorting in 'tree' mode
+ (thanks to Maxim Zhiburt)
+* Improved command display/sort functionality
+ (thanks to Narendran Gopalakrishnan)
+* Add screen for active file locks
+ (thanks to Fynn J. Wulf)
+* Calculate library size (M_LRS column) from maps file
+ (thanks to Fynn J. Wulf)
+* Add a Zram meter
+ (thanks to Murloc Knight)
+* Add Linux cwd process column
+* Dynamically load libsensors at runtime
+* Improve PressureStall Meter display strings
+* Hide process selection on ESC
+* Fully support non-ascii characters in Meter-Bar
+* Add support to change numeric options in settings screen
+* Rename virtual memory column from M_SIZE to M_VIRT
+* Add process column for normalized CPU usage
+* Show CPU temperature in CPU meter
+* Drop hideThreads Setting
+* Add a systemd meter
+* Add a network IO meter
+* Add a SELinux meter
+* Compress size of default FunctionBar
+* Updates to the OpenFiles screen
+* Continue updating header data in paused mode
+* BUGFIX: Handle data wraparounds in IO meters
+* BUGFIX: Update InfoScreen content on resize
+* Add security attribute process column
+* Add DiskIOMeter for IO read/write usage
+* Read CPU frequency from sysfs by default
+* Add Linux process column for context switches
+* Several FreeBSD and Mac OS X platform updates
+ (thanks to Christian Göttsche)
+* Add process environment for FreeBSD
+ (thanks to Ross Williams)
+* Parse POWER_SUPPLY_CAPACITY for Linux Battery meter
+ (thanks to Jan Palus)
+* Add octuple-column CPU meters.
+* BUGFIX: On Linux consider ZFS ARC to be cache
+ (thanks to @multi)
+* BUGFIX: Limit screen title length to window width
+* Show selected command wrapped in a separate window
+ (thanks to @ryenus)
+* Allow to pass '/' for item search
+* Document implicit incremental search
+* Handle 'q' as quit if first character
+* Avoid expensive build of process tree when not using it
+* Include documentation for COMM and EXE
+* Distinguish display of no permissions for reading M_LRS
+* Only calculate M_LRS size every 2 seconds
+* Improvements to comm / cmdline display functionality
+* Merged view for COMM, EXE and cmdline
+ (thanks to Narendran Gopalakrishnan and Benny Baumann)
+* Consistent kernel thread display for COMM/EXE columns
+* Central fault handling for all platforms
+* Handle parsing envID & VPid from process status file
+* Use threshold for display of guest/steal/irq meters
+* Enhance highlighting of semi-large and large numbers
+* Documentation on the repository style guide
+ (thanks to Benny Baumann)
+* Align processor identifier to the right
+ (thanks to Christian Hesse)
+* Document M_PSS, M_PSSWP, M_SWAP in man page
+* Add Date and DateTime meters
+ (thanks to Michael F. Schönitzer)
+* BUGFIX: Fix Solaris 11.4 due to missing ZFS ARC kstats
+ (thanks to @senjan)
+* Code hardening, speedups, fd and memory leak fixes
+ (thanks to Christian Göttsche and Benny Baumann)
+* Number CPUs from zero by default
+ (thanks to Zev Weiss)
+* Remove residual python checks during the build process
+ (thanks to Stephen Gregoratto)
+
+What's new in version 3.0.2
+
+* BUGFIX: Drop 'vim_mode' - several issues, needs rethink
+* BUGFIX: fix regression in -u optional-argument handling
+* Build system rework to remove python, header generation
+ (thanks to Zev Weiss and Hugo Musso Gualandi)
+* BUGFIX: report nice level correctly on Solaris
+ (thanks to Dominik Hassler)
+* CI, code quality improvements
+ (thanks to Tobias Kortkamp, Christian Hesse, Benny Baumann)
+
+What's new in version 3.0.1
+
+* Coverity fixes, CI improvements, documentation updates
+* BUGFIX: Fix early exit with longer sysfs battery paths
+* BUGFIX: Improve OOM output, fix sorting
+ (thanks to Christian Göttsche)
+* Rework check buttons and tree open/closed
+ (thanks to Bert Wesarg)
+* Add -U/--no-unicode option to disable unicode
+ (thanks to Christian Hesse)
+* Improvements to the affinity panel
+ (thanks to Bert Wesarg)
+
+What's new in version 3.0.0
+
+* New maintainers - after a prolonged period of inactivity
+ from Hisham, the creator and original maintainer, a team
+ of community maintainers have volunteered to take over a
+ fork at https://htop.dev and https://github.com/htop-dev
+ to keep the project going.
+* Support ZFS ARC statistics
+ (thanks to Ross Williams)
+* Support more than 2 smaller CPU meter columns
+ (thanks to Christoph Budziszewski)
+* Support Linux proportional set size metrics
+ (thanks to @linvinus, @ntninja and @himikof)
+* Support Linux pressure stall information metrics
+ (thanks to Ran Benita)
+* New display option to show CPU frequency in CPU meters
+ (thanks to Arnav Singh)
+* Update Linux sysfs battery discovery for recent kernels
+ (thanks to @smattie)
+* Add hardware topology information in the affinity panel
+ (thanks to Bert Wesarg)
+* Add timestamp reporting to the strace screen
+ (thanks to Mario Harjac)
+* Add simple, optional vim key mapping mode
+ (thanks to Daniel Flanagan)
+* Added an option to disable the mouse
+ (thanks to MartinJM)
+* Add Solaris11 compatibility
+ (thanks to Jan Senolt)
+* Without an argument -u uses $USER value automatically
+ (thanks to @solanav)
+* Support less(1) search navigation shortcuts
+ (thanks to @syrrim)
+* Update the FreeBSD maximum PID to match FreeBSD change
+ (thanks to @multiplexd)
+* Report values larger than 100 terabytes
+ (thanks to @adrien1018)
+* Widen ST_UID (UID) column to allow for UIDs > 9999
+ (thanks to DLange)
+* BUGFIX: fix makefiles for building with clang
+ (thanks to Jorge Pereira)
+* BUGFIX: fix <sys/sysmacros.h> major() usage
+ (thanks to @wataash and Kang-Che Sung)
+* BUGFIX: fix the STARTTIME column on FreeBSD
+ (thanks to Rob Crowston)
+* BUGFIX: truncate overwide jail names on FreeBSD
+ (thanks to Rob Crowston)
+* BUGFIX: fix reported memory values on FreeBSD
+ (thanks to Tobias Kortkamp)
+* BUGFIX: fix reported CPU meter values on OpenBSD
+ (thanks to @motet-a)
+* BUGFIX: correctly identify other types of zombie process
+ (thanks to @joder)
+* BUGFIX: improve follow-process handling in some situations
+ (thanks to @wangqr)
+* BUGFIX: fix custom meters reverting to unexpected setting
+ (thanks to @wangqr)
+* BUGFIX: close pipe after running lsof(1)
+ (thanks to Jesin)
+* BUGFIX: meters honour setting of counting CPUs from 0/1
+ (thanks to @rnsanchez)
+
+What's new in version 2.2.0
+
+* Solaris/Illumos/OpenIndiana support
+ (thanks to Guy M. Broome)
+* -t/--tree flag for starting in tree-view mode
+ (thanks to Daniel Flanagan)
+* macOS: detects High Sierra version to avoid OS bug
+ (thanks to Pierre Malhaire)
+* OpenBSD: read battery data
+ (thanks to @nerd972)
+* Various automake and build improvements
+ (thanks to Kang-Che Sung)
+* Check for pkg-config when building with --enable-delayacct
+ (thanks to @florian2833z for the report)
+* Avoid some bashisms in configure script
+ (thanks to Jesin)
+* Use CFLAGS from ncurses*-config if present
+ (thanks to Michael Klein)
+* Header generator supports non-UTF-8 environments
+ (thanks to @volkov-am)
+* Linux: changed detection of kernel threads
+* Collapse current subtree pressing Backspace
+* BUGFIX: fix behavior of SYSCR column
+ (thanks to Marc Kleine-Budde)
+* BUGFIX: obtain exit code of lsof correctly
+ (thanks to @wangqr)
+* BUGFIX: fix crash with particular keycodes
+ (thanks to Wellington Torrejais da Silva for the report)
+* BUGFIX: fix issue with small terminals
+ (thanks to Daniel Elf for the report)
+* BUGFIX: fix terminal color issues
+ (thanks to Kang-Che Sung for the report)
+* BUGFIX: preserve LDFLAGS when building
+ (thanks to Lance Frederickson for the report)
+* BUGFIX: fixed overflow for systems with >= 100 signals
+
+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=<dir> in configure, to specify
+ alternative procfs locations (making htop friendlier
+ to the Linux compatibility layer in FreeBSD)
+* Included icon .desktop and desktop entry
+ (thanks to Peter Hyman)
+* Added a check to make sure that a root-user htop closes
+ when its parent non-root terminal is closed.
+ (thanks to Ilya Evseev for the report)
+* BUGFIX: does not crash anymore when $HOME is not set
+ (thanks to Henning Schild for the report)
+* Wait for strace child process to die properly.
+ (thanks to Marcus Fritzsch)
+* Support $HTOPRC
+ (thanks to Luis Limon)
+
+What's new in version 0.6
+
+* Configuration of columns merged into the Setup screen
+* Integrated strace (press 's')
+ (thanks to Marinho Barcellos for the help)
+* BUGFIX: some fixes, aided by Valgrind
+ (thanks to Wolfram Schlich for the report)
+* BUGFIX: fixed bug when switching meter modes
+ (thanks to Eduardo Righes for the report)
+* Show processes of a single user
+* "SortBy" function now menu-based
+* Improved mouse handling
+* ...and on top of that reduced memory consumption!
+
+What's new in version 0.5.4
+
+* Color schemes
+* -d flag, to configure delay between updates.
+ Note that the delay value is saved in ~/.htoprc.
+* BUGFIX: Update of meters was halting after help screen.
+ (thanks to Matt Moore)
+* BUGFIX: No longer display incorrect information
+ in first frame.
+* BUGFIX: Fix auto-detection of /proc/stat,
+ correcting CPU usage information on multiprocessor
+ systems.
+
+What's new in version 0.5.3
+
+* Read new field "steal" on newer /proc/stat files
+* Auto-detects format of /proc/stat, to cope
+ with patched 2.4 kernels which display 2.6-style
+ information (most notably those on RHEL 3)
+ (thanks to Fernando Dotta for the report)
+* Support $HOME_ETC initiative
+ (see http://www.pld-linux.org/Docs/home-etc)
+ (thanks to Roman Barczynski for the tip)
+* The configure script now tests for /proc, so
+ that it fails early on unsupported platforms
+ instead of during compilation/execution.
+* Made presentation of the function keys in the
+ status bar consistent across views
+ (thanks to David Mathog for the report)
+* Minor changes to make the codebase more friendly
+ to possible future ports
+ (thanks to Jari Aalto and David Mathog for the reports)
+
+What's new in version 0.5.2
+
+* BUGFIX: Correct display of user field
+ (thanks to Marcin Miroslaw for the report)
+* Keyboard support improvements
+ (thanks to Aury Fink Filho for the report)
+
+What's new in version 0.5.1
+
+* BUGFIX: Correctly displays NPTL threads from
+ /proc/<pid>/task subdirectories
+ (thanks to Mike Pot for the report)
+* BUGFIX: Fixes key handling on Signals listbox
+ (thanks to Ondrej Vlach)
+* Renicing no longer displays temporary illegal values
+ (thanks to Ondrej Vlach)
+* 'Hide userland threads' feature for NPTL threads
+
+What's new in version 0.5
+
+* Tree view
+* New column, TIME (user + system time,
+ like in top, 'T' switches to "sort by time")
+* Major reorganization of the underlying code of the
+ setup screen, to manage setup pages
+* New setup page: Display options
+* Hide kernel threads ('K' key)
+* Colorized memory numbers
+* Vastly improved support for monochromatic terminals
+* Shadow processes that do not belong to user ('U' key)
+* Header margin configuration accessible via setup screen
+* Visual feedback on failing incremental search
+* BUGFIX: fixed keyboard input issues on 64-bit machines
+* BUGFIX: hopefully fixed the incorrect values
+ that show on status bars in some systems
+* BUGFIX: doesn't mess with fields list anymore when
+ canceling after changing the number of items
+* Uptime meter no longer says "1 days" ;)
+
+What's new in version 0.4.1
+
+* BUGFIX: compiles on 64-bit architectures again
+ (thanks to Bartosz Fenski for the report)
+* BUGFIX: multi-processor support fixed on kernels 2.6
+ (thanks to Wolfram Schlich for the report)
+
+What's new in version 0.4
+
+* Support for multiple processors!
+* Basic mouse support
+* Modular header based on configurable meters;
+ supports 4 view modes: bar, text, LED, graph
+* Uptime, load average meters
+ (thanks to Marc Calahan)
+* Meters setup screen; should eventually evolve into a
+ general setup screen, with column setup, keybindings, etc.
+* Thread hiding toggleable
+ (press 'T' to hide the nonstandard dotfiles in /proc)
+* BUGFIX: Do not flicker screen on column configuration screen
+* Clock and load average meters
+ (thanks to Marc Calahan)
+* BUGFIX: numeric swap indicator was printing bogus value
+* BUGFIX: internal fixes on Panel widget
+* Clear the bottom line when exiting
+* Press "F3" during search to walk through the results
+* Improved navigation on column configuration screen
+* BUGFIX: fix segfault on kernels with restricted /proc
+ enabled
+* BUGFIX: a few last-minute bugfixes in the setup UI
+ (thanks to Gaspare Bruno for the reports)
+
+
+What's new in version 0.3.3
+
+* Saves column and sorting configuration in ~/.htoprc
+* Displays "hidden" threads on RedHat 9
+ (Thanks to Leonardo Godinho)
+* BUGFIX: supports process names with spaces
+ (Thanks to Marc Calahan)
+* BUGFIX: ...and parentheses :)
+* BUGFIX: long process names overflowed RichString
+ (Thanks to Marc Calahan)
+
+What's new in version 0.3.2
+
+* Performance and memory usage improvements, aided by gprof
+* BUGFIX: quite a few fixes, aided by Valgrind
+* Header preview on column configuration screen
+ (Thanks to Marc Calahan)
+
+What's new in version 0.3.1
+
+* BUGFIX: crash fixes related to process list handling
+ (thanks to Marc Calahan)
+* Man page
+ (thanks to Bartosz Fenski)
+* Tag processes with the space bar
+* Kill multiple process based on tag
+* BUGFIX: corrected processing order of updates in list
+* Screen refresh function on Ctrl-L
+* Large numbers are shown in MB/GB notation in order to fit screen
+ (thanks to Marc Calahan)
+* Realtime priority is correctly displayed
+ (thanks to Marc Calahan)
+* Preliminary support for configurable columns, with 'C'
+ (thanks to Marc Calahan)
+ -- not all columns display properly yet
+
+What's new in version 0.3
+
+* BUGFIX: no dirt left on screen on horizontal scrolling
+* Signal selection on "kill" command
+* Color-coding for users, nice and process status
+* "Follow" function
+* Fully selectable sort order
+* Function bar on last line
+* Build system now uses autotools
+
+What's new in version 0.2.1
+
+* Sorting by process or memory usage ('P' and 'M', like top)
+* Quicker default update (1.5 second, not yet configurable)
+* Now the order of the elements in the process list stay
+ 'locked' for a while after you move the cursor to ease
+ selecting a process
+* Corrected the installation instructions in README
+ (Thanks to Jeremy Eglen)
+* Should now compile cleanly on Conectiva 9 and similar systems
+ (Thanks to Adriano Frare for the report)
+* Friendlier Makefile
+* Help screen ('h')
+
+What's new in version 0.2
+
+* Memory indicators in header now show used and total, in MB
+* Preliminary support for sorting (CPU% only)
+* Memory percentage field (resident memory / used memory)
+* BUGFIX: identified source of spurious crashes
+* Can search names containing numbers
+ (Thanks to Rafael Jeffman)
+* Correctly calculates memory page size
+ (Thanks to Rafael Jeffman)
+
+What's new in version 0.13
+
+* Handles terminal resize
+* Display all user names (not only those in /etc/passwd)
+ (Thanks to Julio Biason)
+
+What's new in version 0.12
+
+* Support for 2.6 kernels
+* Uses terminal default colors as a background
+
+What's new in version 0.11
+
+* BUGFIX: does not crash when UID is not in /etc/passwd
+
+What's new in version 0.1
+
+* Everything!