From 10eea2ab1bae2a8ec159d81c0446fd8061b33e2b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 21:58:07 +0200 Subject: Adding upstream version 3.3.0. Signed-off-by: Daniel Baumann --- ChangeLog | 1148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1148 insertions(+) create mode 100644 ChangeLog (limited to 'ChangeLog') 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 +* 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 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= 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//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! -- cgit v1.2.3