ChangeLog 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204
  1. What's new in version 3.4.0
  2. * More expressive version tag generated for development versions (htop --version, help screen)
  3. * Improve Darwin support for ARM-based systems
  4. * Fix static linking with libsystemd
  5. * Various build fixes for DragonFlyBSD, Darwin, NetBSD, OpenBSD & Solaris
  6. * Fix running task display (count)
  7. * Fix sort order handling in tree mode
  8. * Add warning when exiting with a signal (not saving .htoprc)
  9. * Add Disk I/O and Network I/O meter for DragonFlyBSD
  10. * Improve handling of invalid Unicode strings
  11. * Disable basename checking for kernel tasks
  12. * Updated documentation for pcp-htop
  13. * Disable FOCUS_IN/FOCUS_OUT event handling
  14. * Add GPU meter for Linux and PCP
  15. * Add colum for GPU time per process on Linux and PCP
  16. * Avoid glibc FILE API voodoo
  17. * Ignore previously unhandled signals USR1 and USR2
  18. * Force locating the config file to only use absolute paths
  19. * Prefer reading htoprc from ~/.config/htop/htoprc over legacy ~/.htoprc
  20. * Force writing the configuration to a regular file
  21. * Use distinct config files for htop and pcp-htop
  22. * Link libnl3 at runtime
  23. * Gather permitted capabilities via capget(2)
  24. * Avoid fetching certain process information for each thread on Linux (speed up)
  25. * Improved handling for invalid data in /proc/tty/drivers on Linux
  26. * Various changes to avoid memory allocations inside signal handlers
  27. * Add single column header layout
  28. * Fix DivByZero bug on startup on Darwin
  29. * Include thread information on Darwin
  30. * Show process state on Darwin
  31. * Update compat check for C23 compilers
  32. * Improved detail in help screen
  33. * Unicode support for CGROUP, CCGROUP, CONTAINER and SECATTR columns
  34. * Mark newline characters in the process command line display
  35. * Resolve nested derived metrics for PCP
  36. * Make supported modes/styles specific to each meter
  37. * Refined checks for terminals supporting to redefine keys
  38. * Fix handling of the NICE value on FreeBSD
  39. * Fix display of CPU utilization on FreeBSD
  40. * Honour update interval adjustments properly without restart
  41. * Force rebuild of display table after item removals
  42. * Reworked handling for various temperature sensors
  43. * Fix high CPU load when the strace'd process exits prematurely
  44. * Document --drop-capabilities to require a compile time support
  45. * Always call PKG_PROG_PKG_CONFIG in configure
  46. * Make configure warn when pkg.m4 is absent
  47. * Rewrite curses/terminfo detection code in configure
  48. * Keep following a process when resuming process updates (Z key)
  49. * Normalize Disk I/O usage and allow utilization above 100%
  50. * Plug several memory leaks and improve performance for information parsing
  51. * Allow to show or hide cache and buffers in memory usage meter
  52. * Visibility hint and UX improvements in status bar of display options panel
  53. * Remove IOKit / IOMainPort / IOMMasterPort logic for Darwin builds
  54. * Replace BCC with metrics from BPF for pcp-htop
  55. What's new in version 3.3.0
  56. * Multiple refactorings and code improvements
  57. * Shorten docker container IDs to 12 characters
  58. * Settings: preserve empty header
  59. * Fix execlp() argument without pointer cast
  60. * OpenFilesScreen: Make column sizing dynamic for file size, offset and inode
  61. * Add support for "truss" (FreeBSD equivalent of "strace")
  62. * Darwin: add NetworkIOMeter support
  63. * HeaderLayout: add "3 columns - 40/30/30", "... 30/40/30" & "... 30/30/40"
  64. * Meter: use correct unicode characters for digit '9'
  65. * Note in manual re default memory units of KiB
  66. * Add column for process container name
  67. * Add logic to filter the container name (+type) from the CGroup name
  68. * Change NetworkIOMeter value unit from KiB/s to bytes/second
  69. * Cap DiskIOMeter "utilisation" percentage at 100%
  70. * PCP platform implementation of frontswap and zswap accounting
  71. * Shorten podman/libpod container IDs to 12 characters
  72. * Write configuration to temporary file first
  73. * Incorporate shared memory in bar text
  74. * Move shared memory next to used memory
  75. * Correct order of memory meter in help
  76. * Add recalculate to Ctrl-L refresh
  77. * Update process list on thread visibility toggling
  78. * Support dynamic screens with 'top-most' entities beyond processes
  79. * Introduce Row and Table classes for screens beyond top-processes
  80. * Rework ZramMeter and remove MeterClass.comprisedValues
  81. * More robust logic for CPU process percentages (Linux & PCP)
  82. * Show year as start time for processes older than a year
  83. * Short-term fix for docker container detection
  84. * default color preset: use bold blue for better visibility
  85. * Document 'O' keyboard shortcut
  86. * Implement logic for '--max-iterations'
  87. * Update F5 key label on tab switch (Tree <-> List)
  88. * Force re-sorting of the process list view after switching between list/treeview mode
  89. * Linux: (hack) work around the fact that Zswapped pages may be SwapCached
  90. * Linux: implement zswap support
  91. * {Memory,Swap}Meter: add "compressed memory" metrics
  92. * Darwin: add DiskIOMeter support
  93. * Fix scroll relative to followed process
  94. * ZramMeter: update bar mode
  95. * Use shared real memory on FreeBSD
  96. * Increase Search and Filter max string length to 128
  97. * Improve CPU computation code
  98. * Remove LXC special handling for the CPU count
  99. * Create new File Descriptor meter
  100. * PCP: add IRQ PSI meter
  101. * Linux: add IRQ PSI meter
  102. * Linux: highlight username if process has elevated privileges
  103. * Add support for scheduling policies
  104. * Add a systemd user meter to monitor user units.
  105. * FreeBSD: remove duplicate zfs ARC size subtraction
  106. What's new in version 3.2.2
  107. * CPUMeter now can show frequency in text mode
  108. * Add option to render distribution path prefixes shadowed
  109. * DiskIOMeter converts to bytes per second (not per interval)
  110. * DiskIOMeter uses complete units, including missing "iB/s"
  111. * DiskIOMeter indicates read and write in meter mode
  112. * NetworkIOMeter converts to packets per second, shows packet rate
  113. * Allow continued process following when changing display settings
  114. * Update the panel header when changing to another tab
  115. * Drop margin around the header if there are no meters
  116. * Use Unicode replacement character for non-printable characters
  117. * Default color preset uses bold blue for better visibility
  118. * Update the Panel header on sort order inversions ('I')
  119. * Toggle the header meters with pound key
  120. * Fix ScreenPanel to handle quitting the panel while renaming
  121. * Add fallback for HOME environment variable using passwd database
  122. * Replace meaningless ID column with FD column in lock screen
  123. * Use device format in the lock screen matching the files screen
  124. * On Linux, improvements to file-descriptor lock detection
  125. * On Linux, further distinguish systemd states in the SystemdMeter
  126. * On Linux, improvements to cgroup and container identification
  127. * On Linux, support openat(2) without readlinkat(2) platforms
  128. * On Darwin, fix current process buffer handling for busy systems
  129. * On DragonFly BSD, fix incorrect processor time of processes
  130. * On FreeBSD, fix an issue with the memory graph not showing correctly
  131. * On FreeBSD, add support for displaying shared memory usage
  132. * On PCP, use pmLookupDescs(3) if available for efficiency
  133. * On PCP, normalize generic columns values for consistent display
  134. * On PCP, changes preparing for configurable, dynamic screens
  135. * Handle invalid process columns from the configuration file
  136. * Avoid undefined behaviour with deeply nested processes
  137. * Fix crash when removing the currently active screen
  138. * Prevent possible crash on a very early error path
  139. * Include automake for Debian/Ubuntu
  140. * Restore non-mouse support
  141. * Reject unsupported command line arguments
  142. * Document idle process state
  143. * Clarify M_TRS/M_DRS columns
  144. What's new in version 3.2.1
  145. * Fix setting to show all branches collapsed by default
  146. * Restore functionality of stripExeFromCmdline setting
  147. * Fix some command line display settings not being honored without restart
  148. * Display single digit precision for CPU% greater than 99.9%
  149. * On Linux, FreeBSD and PCP consider only shrinkable ZFS ARC as cache
  150. * On Linux, increase field width of CPUD% and SWAPD% columns
  151. * Colorize process state characters in help screen
  152. * Use mousemask(3X) to enable and disable mouse control
  153. * Fix heap buffer overflow in Vector_compact
  154. * On Solaris, fix a process time scaling error
  155. * On Solaris, fix the build
  156. * On NetBSD, OpenBSD and Solaris ensure env buffer size is sufficient
  157. * On Linux, resolve processes exiting interfering with sampling
  158. * Fix ProcessTable quadratic removal when scanning processes
  159. * Under LXC, limit CPU count to that given by /proc/cpuinfo
  160. * Improve container detection for LXC
  161. * Some minor documentation fixes
  162. What's new in version 3.2.0
  163. * Support for displaying multiple tabs in the user interface
  164. * Allow multiple filter and search terms (logical OR, separate by "|")
  165. * Set correct default sorting direction (defaultSortDesc)
  166. * Improve performance for process lookup and update
  167. * Rework the IOMeters initial display
  168. * Removed duplicate sections on COMM and EXE
  169. * Highlight process UNINTERRUPTIBLE_WAIT state (D)
  170. * Show only integer value when CPU% more than 99.9%
  171. * Handle rounding ambiguity between 99.9 and 100.0%
  172. * No longer leaves empty the last column in header
  173. * Fix header layout and meters reset if a header column is empty
  174. * Fix PID and UID column widths off-by-one error
  175. * On Linux, read generic sysfs batteries
  176. * On Linux, do not collect LRS per thread (it is process-wide)
  177. * On Linux, dynamically adjust the SECATTR and CGROUP column widths
  178. * On Linux, fix a crash in LXD
  179. * On FreeBSD, add support for showing process emulation
  180. * On Darwin, lazily set process TTY name
  181. * Always set SIGCHLD to default handling
  182. * Avoid zombie processes on signal races
  183. * Ensure last line is cleared when SIGINT is received
  184. * Instead of SIGTERM, pre-select the last sent signal
  185. * Internal Hashtable performance and sizing improvements
  186. * Add heuristics for guessing LXC or Docker from /proc/1/mounts
  187. * Force elapsed time display to zero if process started in the future
  188. * Avoid extremely large year values when printing time
  189. * Fix division by zero when calculating IO rates
  190. * Fix out of boundary writes in XUtils
  191. * Fix custom thread name display issue
  192. * Use AC_CANONICAL_HOST, not AC_CANONICAL_TARGET in configure.ac
  193. * Support libunwind of LLVM
  194. What's new in version 3.1.2
  195. * Bugfix for crash when storing modified settings at exit
  196. * Generate xz-compressed source tarball (with configure) using github actions
  197. * Allow -u UID with numerical value as argument
  198. * Added documentation for obsolete/state libraries/program files highlighting
  199. * Some obsolete/stale library highlighting refinements
  200. * Column width issues resolved
  201. * Dynamic UID column sizing improved
  202. * Discard stale information from Disk and Network I/O meters
  203. * Refined Linux kernel thread detection
  204. * Reworked process state handling
  205. * New CCGROUP column showing abbreviated cgroup name
  206. * New OFFSET column in the list of open files screen
  207. What's new in version 3.1.1
  208. * Update license headers to explicitly say GPLv2+
  209. * Document minimum version for libcap (thanks to James Brown)
  210. * Fix mouse wheel collision with autogroups nice adjustment
  211. * Adjust Makefile.am macro definitions for older automake versions
  212. * Ensure consistent reporting of MemoryMeter 'used' memory
  213. * Report hugepage memory as real and used memory (as before)
  214. * Handle procExeDeleted, usesDeletedLib without mergedCommandline mode
  215. * Validate meter configuration before proceeding beyond htoprc parsing
  216. * Properly release memory on partially read configuration
  217. * Handle interrupted sampling from within libpcp PDU transfers
  218. * On Linux, provide O_PATH value if not defined
  219. * On Linux, always compute procExeDeleted if already set
  220. * Workaround for Rosetta 2 on Darwin (thanks to Alexander Momchilov)
  221. * Fix FreeBSD cmdline memory leak in Process_updateCmdline, and
  222. * Plug a Disk I/O meter memory leak on FreeBSD (thanks to Ximalas)
  223. What's new in version 3.1.0
  224. * Updated COPYING file to remove the PLPA exemption (appendix 2)
  225. With this change the license is now GPLv2 without any additional wording.
  226. * Improved default sort ordering
  227. Note for users: This may lead to an inverted sort order on startup of
  228. htop 3.1.0 compared to previous versions.
  229. This is due to what is stored in your htoprc file. Solution: Press I
  230. (to invert sort order).
  231. This changed setting will be saved by htop on exit as long as it can
  232. write to your htoprc file.
  233. * The compile-time option to cater specifically for running htop as
  234. setuid has been removed
  235. * Add read-only option
  236. This allows htop to be run in an non-intrusive fashion where it acts only
  237. as a process viewer disabling all functions to manipulate system state.
  238. Note: This is not a security feature!
  239. * Move the code for handling the command line formatting related tasks
  240. to be shared across all platforms
  241. This means important features like stale binary/library highlighting
  242. can now be available on all supported platforms.
  243. * Make the EXE and COMM columns available on all platforms
  244. All supported platforms have the name of the executable (EXE) and a
  245. self-chosen thread/command name (COMM) available one way or the other.
  246. Moving this column to be handled as a platform-independently available
  247. information simplifies the markup of the command line.
  248. * Introduce configuration file versioning and config_reader_min_version
  249. Starting with this version the configuration file contains a version
  250. identifying the minimum version of the configuration parser needed to
  251. fully understand the configuration file format.
  252. Old configuration file formats are automatically upgraded when
  253. saving the config file (htoprc).
  254. * Make the configuration parser friendlier to users (thanks to Bart Bakker)
  255. With this change only settings that cannot be parsed properly are
  256. reset to their defaults.
  257. * Improve default display for systems with many CPUs
  258. * Add the process ELAPSED time column
  259. * Improve the process STATE column sorting
  260. * Reworked handling resize and redrawing of the UI
  261. * Fixed an issue where the LED meter mode could overflow allotted space
  262. * Allow text mode Meters to span empty neighbors to the right
  263. * Rescale graph meters when value of total changes
  264. (thanks to Michael Schönitzer)
  265. * Update generic process field display
  266. Usually "uninteresting" values in columns like 1 thread, nice value
  267. of 0, CPU and memory of 0%, idle/sleeping state, etc. are shown with
  268. reduced intensity (dark grey)
  269. * Option and key ("*") to collapse / expand all branches under PID 1
  270. (and PID 2 if kernel threads are shown) (thanks to Krishna Chaitanya)
  271. * Keep following a process when inverting the sort order, displaying
  272. the help screen or hiding/unhiding userland threads.
  273. If a thread is currently selected the selection is updated to point
  274. to the thread's parent process. (thanks to Gonzalo, et.al.)
  275. * Reorder process scanning to be performed before updating the display
  276. of the meters in the header
  277. * Always check the user for a process for any changes.
  278. This affects multiple platforms that previously didn't correctly handle
  279. the user field for a process to change at runtime (e.g. due to seteuid
  280. or similar syscalls).
  281. * Disable mouse option when support is unavailable
  282. * Support curses libraries without ncurses mouse support
  283. (thanks to Santhosh Raju)
  284. * Support offline and hot-swapping of CPUs on all platforms
  285. * Fix the CPU Meter for machines with more than 256 CPUs
  286. * Supplemented the "show updated/deleted executables" feature (red basename)
  287. to indicate when linked libraries were updated (yellow basename)
  288. * Apply the stale binary highlighting for the EXE column in addition to
  289. the command line field
  290. * Add new combined Memory and Swap meter
  291. * Implement bar and graph mode for NetworkIO Meter
  292. (thanks to Michael F. Schönitzer)
  293. * Rework TTY column to be more consistent across platforms
  294. * Make the CWD column generally available on all platforms
  295. (thanks to Santhosh Raju et. al.)
  296. * Add Performance Co-Pilot (PCP) platform support
  297. This is added via a separate pcp-htop(1) binary which provides remote host
  298. analysis, new Meters for any PCP metric and new Columns for any PCP process
  299. metric - see the pcp-htop(5) man page for further details.
  300. (thanks to Sohaib Mohamed)
  301. * Add Linux columns and key bindings for process autogroup identifier
  302. and nice value
  303. * Change available and used memory reporting on Linux to be based on
  304. MemAvailable (Kernel 3.14+) (thanks to Chris Cheney and Tomas Wido)
  305. * Add a new SysArchMeter showing kernel and platform information
  306. (thanks to ahgamut)
  307. * Linux memory usage explicitly treats tmpfs memory usage as shared memory
  308. This is to make memory used by tmpfs visible as this cannot be freed
  309. unlike normal filesystem cache data.
  310. * Exclude zram devices when calculating DiskIO on Linux
  311. * Use PATH lookup for systemctl in systemd meter (thanks to Scott Olson)
  312. * Add native platform support for NetBSD
  313. This allows htop to run on NetBSD without the need for active Linux
  314. emulation of the procfs filesystem.
  315. (thanks to Santhosh Raju and Nia Alarie)
  316. * Add NetworkIO, DiskIO, CPU frequency, and battery meter support on NetBSD
  317. (thanks to Nia Alarie)
  318. * Fix NetBSD display of in-use and cached memory (thanks to Nia Alarie)
  319. * Rework NetBSD CPU and memory accounting (thanks to Santhosh Raju)
  320. * Fix NetBSD accounting of user and kernel threads (thanks to Santhosh Raju)
  321. * Initial work to allow building with default libcurses on NetBSD
  322. (thanks to Santhosh Raju)
  323. * FreeBSD updates - implement process majflt and processor column values
  324. * Add FreeBSD support for CPU frequency and temperature
  325. * Fixes and cleanups for ZFS Meters and metrics
  326. * Correctly color the ZFS ARC ratio (thanks to Ross Williams)
  327. * Bugfixes related to CPU time display/calculations for darwin on M1 systems
  328. (thanks to Alexander Momchilov)
  329. * Harmonize the handling of multiple batteries across different platforms.
  330. The system is now considered to run on AC if at least one power supply
  331. marked as AC is found in the system.
  332. Battery capacity is summed up over all batteries found.
  333. This also changes the old behavior that batteries reported by the
  334. system after the first AC adapter where sometimes ignored.
  335. * Correctly handle multiple batteries on Darwin.
  336. Resolves a possible memory leak on systems with multiple batteries.
  337. * Handle Linux Shmem being part of Cached in the MemoryMeter
  338. * Add SwapCached to the Linux swap meter (thanks to David Zarzycki)
  339. * Convert process time to days if applicable (thanks to David Zarzycki)
  340. * Always show the number of threads in the TaskMeter, even when threads
  341. are not shown in the process list
  342. * Fix Linux --drop-capabilities option handling
  343. * Correctly detect failure to initialize Linux boottime
  344. * Overhaul the Linux memory fields to partition them like free(1) now does
  345. * Improve the Linux process I/O column values
  346. * Rework the libsensors parsing on Linux
  347. * Update the MemoryMeter to display shared memory
  348. * Update OpenBSD platform - implement additional columns, scan LWP,
  349. proper markup for STATE, show CPU frequency
  350. * Fix the tree view on OpenBSD when hiding kernel threads
  351. * Remove old InfoScreen lines before re-scanning (thanks to Øystein Hiåsen)
  352. * Document historic naming of Light-Weight Processes column aka threads
  353. * Improve user interaction when the last process entry is selected
  354. * Draw the panel header on the TraceScreen (thanks to Youngjae Lee)
  355. * Add mouse wheel scroll and fix mouse selection on the InfoScreen
  356. (thanks to Youngjae Lee)
  357. * Add a HugepageMeter and subtract hugepages from normal memory
  358. * Display wide characters in LED meters and restore non-wide ncurses support
  359. * Add command line option to drop Linux capabilities
  360. * Support scheduler affinity on platforms beyond Linux
  361. * Report on any failure to write the configuration file
  362. * Cache stderr to be able to print assert messages.
  363. These messages are shown in case htop terminates unexpectedly.
  364. * Print current settings on crash
  365. * Reset signal handlers on program exit
  366. * Add configure script option to create a static htop binary
  367. * Resolved longer-standing compilation issues on Solaris/Illumos
  368. * Check for availability of set_escdelay in configure
  369. (thanks to Stefan Polluks)
  370. * Build system updates for autotools 2.70
  371. What's new in version 3.0.5
  372. * BUGFIX / SECURITY: InfoScreen: fix uncontrolled format string
  373. * BUGFIX: Improve white text in the Light Terminal colour scheme
  374. (both of the above thanks to V)
  375. * Enable the function bar on the main screen to be hidden (see Setup -> Display options)
  376. * BUGFIX: Reduce layout issues esp. around printing wide characters (not complete yet)
  377. * BUGFIX: Make the follow function exit cleanly after followed process died
  378. * Solaris: make Process callbacks static
  379. * Update help and man page for improved -t / -s options
  380. * Drop usage of formatted error messages from <err.h>
  381. * Show arrow indicating order of sorted process column
  382. * Lots of plumbing around the internal Hashtable, hardening and code cleanups
  383. * LibSensors: add support for Ryzen CPUs
  384. (thanks to Matej Dian)
  385. * BUGFIX: Fix CPU percentage on M1 silicon Macs
  386. (thanks to Luke Groeninger)
  387. * LoadMeter: dynamically adjust color and total of bar
  388. * Find libsensors.so.4 for Fedora and friends
  389. * Add support to display CPU frequencies on Solarish platforms
  390. (thanks to Dominik Hassler)
  391. * Enable going back to previous search matches (Shift-F3)
  392. * Added keybind 'N' for sorting by PID (drops 'n'/'N' as not used before much)
  393. (thanks to Jake Mannens)
  394. What's new in version 3.0.4
  395. * Separate tree and list sort orders
  396. * Invert Process_compare so that superclass matches run first
  397. (thanks to Hisham Muhammad)
  398. * Unhardcode Mac OS tick-to-milliseconds conversion
  399. (thanks to Alexander Momchilov)
  400. * Check if clock_gettime needs linking of librt
  401. * Define O_PATH if not already defined
  402. (thanks to Chris Burr)
  403. * Add column on Mac for processes running under translation
  404. (thanks to Dániel Bakai)
  405. * Configure check for additional linker flags for keypad(3)
  406. * PSI Meter: constant width and only print ten-duration as bar
  407. * Sort in paused mode after inverting sort order
  408. * Handle absence of package CPU temperature
  409. * Meter: restore non-wide-character build
  410. * LibSensors: restore temperature for Raspberry Pi
  411. * MainPanel: do not reset hideProcessSelection on KEY_SHUFFLE
  412. * BarMeter: rework text padding
  413. * Panel: rework drawing of FunctionBar
  414. * Meter: fix artifacts with very tiny width
  415. * DragonFlyBSD updates
  416. * BUGFIX: Fix dlopen issue for libsensors5 for some platforms
  417. * BUGFIX: Fix broken tree display on inverted sort order
  418. * BUGFIX: Fix pause mode ("Z") in tree view
  419. * BUGFIX: Correct timebase for non-x86 CPUs on Darwin
  420. * BUGFIX: Avoid NULL dereference on zombie processes
  421. * Document dynamic bindings and assumed external configuration
  422. * Update key mapping documentation for sorting
  423. What's new in version 3.0.3
  424. * Process sorting in 'tree' mode
  425. (thanks to Maxim Zhiburt)
  426. * Improved command display/sort functionality
  427. (thanks to Narendran Gopalakrishnan)
  428. * Add screen for active file locks
  429. (thanks to Fynn J. Wulf)
  430. * Calculate library size (M_LRS column) from maps file
  431. (thanks to Fynn J. Wulf)
  432. * Add a Zram meter
  433. (thanks to Murloc Knight)
  434. * Add Linux cwd process column
  435. * Dynamically load libsensors at runtime
  436. * Improve PressureStall Meter display strings
  437. * Hide process selection on ESC
  438. * Fully support non-ascii characters in Meter-Bar
  439. * Add support to change numeric options in settings screen
  440. * Rename virtual memory column from M_SIZE to M_VIRT
  441. * Add process column for normalized CPU usage
  442. * Show CPU temperature in CPU meter
  443. * Drop hideThreads Setting
  444. * Add a systemd meter
  445. * Add a network IO meter
  446. * Add a SELinux meter
  447. * Compress size of default FunctionBar
  448. * Updates to the OpenFiles screen
  449. * Continue updating header data in paused mode
  450. * BUGFIX: Handle data wraparounds in IO meters
  451. * BUGFIX: Update InfoScreen content on resize
  452. * Add security attribute process column
  453. * Add DiskIOMeter for IO read/write usage
  454. * Read CPU frequency from sysfs by default
  455. * Add Linux process column for context switches
  456. * Several FreeBSD and Mac OS X platform updates
  457. (thanks to Christian Göttsche)
  458. * Add process environment for FreeBSD
  459. (thanks to Ross Williams)
  460. * Parse POWER_SUPPLY_CAPACITY for Linux Battery meter
  461. (thanks to Jan Palus)
  462. * Add octuple-column CPU meters.
  463. * BUGFIX: On Linux consider ZFS ARC to be cache
  464. (thanks to @multi)
  465. * BUGFIX: Limit screen title length to window width
  466. * Show selected command wrapped in a separate window
  467. (thanks to @ryenus)
  468. * Allow to pass '/' for item search
  469. * Document implicit incremental search
  470. * Handle 'q' as quit if first character
  471. * Avoid expensive build of process tree when not using it
  472. * Include documentation for COMM and EXE
  473. * Distinguish display of no permissions for reading M_LRS
  474. * Only calculate M_LRS size every 2 seconds
  475. * Improvements to comm / cmdline display functionality
  476. * Merged view for COMM, EXE and cmdline
  477. (thanks to Narendran Gopalakrishnan and Benny Baumann)
  478. * Consistent kernel thread display for COMM/EXE columns
  479. * Central fault handling for all platforms
  480. * Handle parsing envID & VPid from process status file
  481. * Use threshold for display of guest/steal/irq meters
  482. * Enhance highlighting of semi-large and large numbers
  483. * Documentation on the repository style guide
  484. (thanks to Benny Baumann)
  485. * Align processor identifier to the right
  486. (thanks to Christian Hesse)
  487. * Document M_PSS, M_PSSWP, M_SWAP in man page
  488. * Add Date and DateTime meters
  489. (thanks to Michael F. Schönitzer)
  490. * BUGFIX: Fix Solaris 11.4 due to missing ZFS ARC kstats
  491. (thanks to @senjan)
  492. * Code hardening, speedups, fd and memory leak fixes
  493. (thanks to Christian Göttsche and Benny Baumann)
  494. * Number CPUs from zero by default
  495. (thanks to Zev Weiss)
  496. * Remove residual python checks during the build process
  497. (thanks to Stephen Gregoratto)
  498. What's new in version 3.0.2
  499. * BUGFIX: Drop 'vim_mode' - several issues, needs rethink
  500. * BUGFIX: fix regression in -u optional-argument handling
  501. * Build system rework to remove python, header generation
  502. (thanks to Zev Weiss and Hugo Musso Gualandi)
  503. * BUGFIX: report nice level correctly on Solaris
  504. (thanks to Dominik Hassler)
  505. * CI, code quality improvements
  506. (thanks to Tobias Kortkamp, Christian Hesse, Benny Baumann)
  507. What's new in version 3.0.1
  508. * Coverity fixes, CI improvements, documentation updates
  509. * BUGFIX: Fix early exit with longer sysfs battery paths
  510. * BUGFIX: Improve OOM output, fix sorting
  511. (thanks to Christian Göttsche)
  512. * Rework check buttons and tree open/closed
  513. (thanks to Bert Wesarg)
  514. * Add -U/--no-unicode option to disable unicode
  515. (thanks to Christian Hesse)
  516. * Improvements to the affinity panel
  517. (thanks to Bert Wesarg)
  518. What's new in version 3.0.0
  519. * New maintainers - after a prolonged period of inactivity
  520. from Hisham, the creator and original maintainer, a team
  521. of community maintainers have volunteered to take over a
  522. fork at https://htop.dev and https://github.com/htop-dev
  523. to keep the project going.
  524. * Support ZFS ARC statistics
  525. (thanks to Ross Williams)
  526. * Support more than 2 smaller CPU meter columns
  527. (thanks to Christoph Budziszewski)
  528. * Support Linux proportional set size metrics
  529. (thanks to @linvinus, @ntninja and @himikof)
  530. * Support Linux pressure stall information metrics
  531. (thanks to Ran Benita)
  532. * New display option to show CPU frequency in CPU meters
  533. (thanks to Arnav Singh)
  534. * Update Linux sysfs battery discovery for recent kernels
  535. (thanks to @smattie)
  536. * Add hardware topology information in the affinity panel
  537. (thanks to Bert Wesarg)
  538. * Add timestamp reporting to the strace screen
  539. (thanks to Mario Harjac)
  540. * Add simple, optional vim key mapping mode
  541. (thanks to Daniel Flanagan)
  542. * Added an option to disable the mouse
  543. (thanks to MartinJM)
  544. * Add Solaris11 compatibility
  545. (thanks to Jan Senolt)
  546. * Without an argument -u uses $USER value automatically
  547. (thanks to @solanav)
  548. * Support less(1) search navigation shortcuts
  549. (thanks to @syrrim)
  550. * Update the FreeBSD maximum PID to match FreeBSD change
  551. (thanks to @multiplexd)
  552. * Report values larger than 100 terabytes
  553. (thanks to @adrien1018)
  554. * Widen ST_UID (UID) column to allow for UIDs > 9999
  555. (thanks to DLange)
  556. * BUGFIX: fix makefiles for building with clang
  557. (thanks to Jorge Pereira)
  558. * BUGFIX: fix <sys/sysmacros.h> major() usage
  559. (thanks to @wataash and Kang-Che Sung)
  560. * BUGFIX: fix the STARTTIME column on FreeBSD
  561. (thanks to Rob Crowston)
  562. * BUGFIX: truncate overwide jail names on FreeBSD
  563. (thanks to Rob Crowston)
  564. * BUGFIX: fix reported memory values on FreeBSD
  565. (thanks to Tobias Kortkamp)
  566. * BUGFIX: fix reported CPU meter values on OpenBSD
  567. (thanks to @motet-a)
  568. * BUGFIX: correctly identify other types of zombie process
  569. (thanks to @joder)
  570. * BUGFIX: improve follow-process handling in some situations
  571. (thanks to @wangqr)
  572. * BUGFIX: fix custom meters reverting to unexpected setting
  573. (thanks to @wangqr)
  574. * BUGFIX: close pipe after running lsof(1)
  575. (thanks to Jesin)
  576. * BUGFIX: meters honour setting of counting CPUs from 0/1
  577. (thanks to @rnsanchez)
  578. What's new in version 2.2.0
  579. * Solaris/Illumos/OpenIndiana support
  580. (thanks to Guy M. Broome)
  581. * -t/--tree flag for starting in tree-view mode
  582. (thanks to Daniel Flanagan)
  583. * macOS: detects High Sierra version to avoid OS bug
  584. (thanks to Pierre Malhaire)
  585. * OpenBSD: read battery data
  586. (thanks to @nerd972)
  587. * Various automake and build improvements
  588. (thanks to Kang-Che Sung)
  589. * Check for pkg-config when building with --enable-delayacct
  590. (thanks to @florian2833z for the report)
  591. * Avoid some bashisms in configure script
  592. (thanks to Jesin)
  593. * Use CFLAGS from ncurses*-config if present
  594. (thanks to Michael Klein)
  595. * Header generator supports non-UTF-8 environments
  596. (thanks to @volkov-am)
  597. * Linux: changed detection of kernel threads
  598. * Collapse current subtree pressing Backspace
  599. * BUGFIX: fix behavior of SYSCR column
  600. (thanks to Marc Kleine-Budde)
  601. * BUGFIX: obtain exit code of lsof correctly
  602. (thanks to @wangqr)
  603. * BUGFIX: fix crash with particular keycodes
  604. (thanks to Wellington Torrejais da Silva for the report)
  605. * BUGFIX: fix issue with small terminals
  606. (thanks to Daniel Elf for the report)
  607. * BUGFIX: fix terminal color issues
  608. (thanks to Kang-Che Sung for the report)
  609. * BUGFIX: preserve LDFLAGS when building
  610. (thanks to Lance Frederickson for the report)
  611. * BUGFIX: fixed overflow for systems with >= 100 signals
  612. What's new in version 2.1.0
  613. * Linux: Delay accounting metrics
  614. (thanks to André Carvalho)
  615. * DragonFlyBSD support
  616. (thanks to Diederik de Groot)
  617. * Support for real-time signals
  618. (thanks to Kang-Che Sung)
  619. * 'c' key now works with threads as well
  620. * Session column renamed from SESN to SID
  621. (thanks to Kamyar Rasta)
  622. * Improved UI for meter style selection
  623. (thanks to Kang-Che Sung)
  624. * Improved code for constructing process tree
  625. (thanks to wangqr)
  626. * Compile-time option to disable setuid
  627. * Error checking of various standard library operations
  628. * Replacement of sprintf with snprintf
  629. (thanks to Tomasz Kramkowski)
  630. * Linux: performance improvements in battery meter
  631. * Linux: update process TTY device
  632. * Linux: add support for sorting TASK_IDLE
  633. (thanks to Vladimir Panteleev)
  634. * Linux: add upper-bound to running process counter
  635. (thanks to Lucas Correia Villa Real)
  636. * BUGFIX: avoid crash when battery is removed
  637. (thanks to Jan Chren)
  638. * BUGFIX: macOS: fix infinite loop in tree view
  639. (thanks to Wataru Ashihara)
  640. What's new in version 2.0.2
  641. * Mac OS X: stop trying when task_for_pid fails for a process,
  642. stops spamming logs with errors.
  643. * Add Ctrl+A and Ctrl+E to go to beginning and end of line
  644. * FreeBSD: fixes for CPU calculation
  645. (thanks to Tim Creech, Andy Pilate)
  646. * Usability: auto-follow process after a search.
  647. * Use Linux backend on GNU Hurd
  648. * Improvement for reproducible builds.
  649. * BUGFIX: Fix behavior of Alt-key combinations
  650. (thanks to Kang-Che Sung)
  651. * Various code tweaks and cleanups
  652. (thanks to Kang-Che Sung)
  653. What's new in version 2.0.1
  654. * OpenBSD: Various fixes and improvements
  655. (thanks to Michael McConville and Juan Francisco Cantero Hurtado)
  656. * FreeBSD: fix CPU and memory readings
  657. (thanks to Tim Creech, Hung-Yi Chen, Bernard Spil, Greg V)
  658. * FreeBSD: add battery support
  659. (thanks to Greg V)
  660. * Linux: Retain last-obtained name of a zombie process
  661. * Mac OS X: Improve portability for OS X versions
  662. (thanks to Michael Klein)
  663. * Mac OS X: Fix reading command-line arguments and basename
  664. * Mac OS X: Fix process state information
  665. * Mac OS X: Fix tree view collapsing/expanding
  666. * Mac OS X: Fix tree organization
  667. * Mac OS X: Fix memory accounting
  668. * Fix crash when emptying a column of meters
  669. * Make Esc key more responsive
  670. What's new in version 2.0.0
  671. * Platform abstraction layer
  672. * Initial FreeBSD support
  673. * Initial Mac OS X support
  674. (thanks to David Hunt)
  675. * Swap meter for Mac OSX
  676. (thanks to Ștefan Rusu)
  677. * OpenBSD port
  678. (thanks to Michael McConville)
  679. * FreeBSD support improvements
  680. (thanks to Martin Misuth)
  681. * Support for NCurses 6 ABI, including mouse wheel support
  682. * Much improved mouse responsiveness
  683. * Process environment variables screen
  684. (thanks to Michael Klein)
  685. * Higher-resolution UTF-8 based Graph mode
  686. (Thanks to James Hall from vtop for the idea!)
  687. * Show program path settings
  688. (thanks to Tobias Geerinckx-Rice)
  689. * BUGFIX: Fix crash when scrolling an empty filtered list.
  690. * Use dynamic units for text display, and several fixes
  691. (thanks to Christian Hesse)
  692. * BUGFIX: fix error caused by overflow in usertime calculation.
  693. (thanks to Patrick Marlier)
  694. * Catch all memory allocation errors
  695. (thanks to Michael McConville for the push)
  696. * Several tweaks and bugfixes
  697. (See the Git log for details and contributors!)
  698. What's new in version 1.0.3
  699. * Tag all children ('c' key)
  700. * Fixes in accounting of guest time when using virtualization
  701. (thanks to Patrick Marlier)
  702. * Performance improvements
  703. (thanks to Jann Horn)
  704. * Further performance improvements due to conditional parsing
  705. of IO data depending on selected fields.
  706. * Better consistency in coloring.
  707. * Increase limit of buffer when tracing a deep nested process tree.
  708. * Display pagefault stats.
  709. * BUGFIX: Fix crash when adding meters and toggling detailed CPU time.
  710. (thanks to Dawid Gajownik)
  711. * Add column to track the OOM-killer score of processes
  712. (thanks to Leigh Simpson)
  713. What's new in version 1.0.2
  714. * Add IO priority support ('i' key)
  715. * Avoid deleting .htoprc if it is a symlink
  716. * Fail gracefully when /proc is not mounted
  717. (thanks to Philipp Hagemeister)
  718. * Option to update process names on every refresh
  719. (thanks to Rob Hoelz)
  720. * BUGFIX: Fix crashes when process list is empty
  721. What's new in version 1.0.1
  722. * Move .htoprc to XDG-compliant path ~/.config/htop/htoprc,
  723. respecting $XDG_CONFIG_HOME
  724. (thanks to Hadzhimurad Ustarkhan for the suggestion.)
  725. * Safer behavior on the kill screen, to make it harder to kill the wrong process.
  726. * Fix for building in FreeBSD 8.2
  727. (thanks to Trond Endrestol)
  728. * BUGFIX: behavior of 'F' (follow) key was broken, also affecting the
  729. persistence of mouse selections.
  730. * BUGFIX: keep main panel up-to-date when running the screen manager,
  731. to fix crash when processes die while on the F9/Kill screen.
  732. What's new in version 1.0
  733. * Performance improvements
  734. * Support for splitting CPU meters into two or four columns
  735. (thanks to Wim Heirman)
  736. * Switch from PLPA, which is now deprecated, to HWLOC.
  737. * Bring back support for native Linux sched_setaffinity,
  738. so we don't have to use HWLOC where we don't need to.
  739. * Support for typing in user names and column fields in selection panels.
  740. * Support for UTF-8 tree drawing
  741. (thanks to Bin Guo)
  742. * Option for counting CPUs from zero
  743. (thanks to Sean Noonan)
  744. * Meters update in every screen (no longer halting while on Setup, etc.)
  745. * Stricter checks for command-line options
  746. (thanks to Sebastian Pipping)
  747. * Incremental filtering
  748. (thanks to Seth Heeren for the idea and initial implementation)
  749. * Try harder to find the ncurses header
  750. (thanks to Moritz Barsnick)
  751. * Man page updates
  752. (thanks to Vincent Launchbury)
  753. * BUGFIX: Support larger numbers for process times.
  754. (thanks to Tristan Nakagawa for the report.)
  755. * BUGFIX: Segfault in BarMeterMode_draw() for small terminal widths
  756. (patch by Sebastian Pipping)
  757. What's new in version 0.9
  758. * Add support for "steal"/guest CPU time measurement
  759. in virtualization environments
  760. * Expand and collapse subtrees using '+' and '-' when in tree-view
  761. * Support for cgroups
  762. (thanks to Guillaume Zitta and Daniel Lezcano)
  763. * Show custom thread names
  764. (thanks to Anders Torger)
  765. * Add support for STARTTIME field
  766. * Upgrade PLPA to version 1.3.2
  767. * Fix license terms with regard to PLPA
  768. (thanks to Tom Callaway)
  769. * getopt-based long options and --no-color
  770. (thanks to Vincent Launchbury)
  771. * BUGFIX: Fix display of nan% in CPU meters
  772. (thanks to Steven Hampson)
  773. * BUGFIX: Fix memory leak
  774. (thanks to Pavol Rusnak)
  775. * Add Bash/emacs style navigation keys
  776. (thanks to Daniel Schuler)
  777. * Improve battery meter support
  778. (thanks to Richard W.)
  779. * BUGFIX: Fix IO-wait color in "Black on White" scheme
  780. * BUGFIX: Fix search by process name when list is filtered by user.
  781. (thanks to Sergej Pupykin for the report.)
  782. * BUGFIX: Fix alignment for display of memory values above 100G (sign of the times!)
  783. (thanks to Jan van Haarst for the report.)
  784. What's new in version 0.8.3
  785. * BUGFIX: Fix crash on F6 key
  786. (thanks to Rainer Suhm)
  787. * BUGFIX: Fix a minor bug which affected the build process.
  788. What's new in version 0.8.2
  789. * Integrated lsof (press 'l')
  790. * Fix display of gigabyte-sized values
  791. (thanks to Andika Triwidada)
  792. * Option to display hostname in the meters area
  793. * Rename VEID to CTID in OpenVZ systems
  794. (thanks to Thorsten Schifferdecker)
  795. * Corrections to the desktop entry file
  796. (thanks by Samuli Suominen)
  797. * BUGFIX: Correct page size calculation for FreeBSD systems
  798. (thanks to Andrew Paulsen)
  799. * Allow compilation without PLPA on systems that don't support it
  800. (thanks to Timothy Redaelli)
  801. * BUGFIX: Fix missing tree view when userland threads are hidden
  802. (thanks to Josh Stone)
  803. * BUGFIX: Fix for VPID on OpenVZ systems
  804. (thanks to Wolfgang Frisch)
  805. What's new in version 0.8.1
  806. * Linux-VServer support
  807. (thanks to Jonathan Sambrook and Benedikt Bohm)
  808. * Battery meter
  809. (thanks to Ian Page Hands)
  810. * BUGFIX: Fix collection of IO stats in multithreaded processes
  811. (thanks to Gerhard Heift)
  812. * Remove assertion that fails on hardened kernels
  813. (thanks to Wolfram Schlich for the report)
  814. What's new in version 0.8
  815. * Ability to change sort column with the mouse by
  816. clicking column titles (click again to invert order)
  817. * Add support for Linux per-process IO statistics,
  818. enabled with the --enable-taskstats flag, which
  819. requires a kernel compiled with taskstats support.
  820. (thanks to Tobias Oetiker)
  821. * Add Unicode support, enabled with the --enable-unicode
  822. flag, which requires libncursesw.
  823. (thanks to Sergej Pupykin)
  824. * BUGFIX: Fix display of CPU count for threaded processes.
  825. When user threads are hidden, process now shows the
  826. sum of processor usage for all processors. When user
  827. threads are displayed, each thread shows its own
  828. processor usage, including the root thread.
  829. (thanks to Bert Wesarg for the report)
  830. * BUGFIX: avoid crashing when using many meters
  831. (thanks to David Cho for the report)
  832. What's new in version 0.7
  833. * CPU affinity configuration ('a' key)
  834. * Improve display of tree view, properly nesting
  835. threads of the same app based on TGID.
  836. * IO-wait time now counts as idle time, which is a more
  837. accurate description. It is still available in
  838. split time, now called detailed CPU time.
  839. (thanks to Samuel Thibault for the report)
  840. * BUGFIX: Correct display of TPGID field
  841. * Add TGID field
  842. * BUGFIX: Don't crash with invalid command-line flags
  843. (thanks to Nico Golde for the report)
  844. * Fix GCC 4.3 compilation issues
  845. (thanks to Martin Michlmayr for the report)
  846. * OpenVZ support, enabled at compile-time with
  847. the --enable-openvz flag.
  848. (thanks to Sergey Lychko)
  849. What's new in version 0.6.6
  850. * Add support of NLWP field
  851. (thanks to Bert Wesarg)
  852. * BUGFIX: Fix use of configurable /proc location
  853. (thanks to Florent Thoumie)
  854. * Fix memory percentage calculation and make it saner
  855. (thanks to Olev Kartau for the report)
  856. * Added display of DRS, DT, LRS and TRS
  857. (thanks to Matthias Lederhofer)
  858. * BUGFIX: LRS and DRS memory values were flipped
  859. (thanks to Matthias Lederhofer)
  860. * BUGFIX: Don't crash on very high UIDs
  861. (thanks to Egmont Koblinger)
  862. What's new in version 0.6.5
  863. * Add hardened-debug flags for debugging with Hardened GCC
  864. * BUGFIX: Handle error condition when a directory vanishes
  865. from /proc
  866. * BUGFIX: Fix leak of process command line
  867. * BUGFIX: Collect orphaned items when arranging the tree view.
  868. (thanks to Wolfram Schlich for assistance with debugging)
  869. * Separate proc and memory debugging into separate #defines.
  870. * BUGFIX: Fix message when configure fails due to
  871. missing libraries
  872. (thanks to Jon)
  873. * BUGFIX: Don't truncate value when displaying a very large
  874. process
  875. (thanks to Bo Liu)
  876. What's new in version 0.6.4
  877. * Add an option to split the display of kernel time
  878. in the CPU meter into system, IO-wait, IRQ and soft-IRQ.
  879. (thanks to Philipp Richter)
  880. * --sort-key flag in the command-line, overriding the
  881. saved setting in .htoprc for the session.
  882. (thanks to Rodolfo Borges)
  883. * BUGFIX: Fixed string overflow on uptime display.
  884. (thanks to Marc Cahalan)
  885. What's new in version 0.6.3
  886. * Performance improvements: uses much less CPU than the
  887. previous release with the default setup.
  888. * Use 64-bit values when storing processor times to
  889. avoid overflow.
  890. * Memory consumption improvements, compensating storage
  891. of 64-bit values.
  892. * Internal change: rename TypedVector to Vector and
  893. ListBox (and related classes) to Panel.
  894. * Have configure actually fail when needed libraries or
  895. headers are not found.
  896. * Horizontally scroll in larger increments when on the
  897. Linux console because of slow update of unaccelerated fb
  898. * No longer untag processes after sending a signal
  899. (useful for when SIGTERM fails and one wants to try again
  900. with SIGKILL). All processes can be untagged at once with 'U'.
  901. (thanks to A. Costa for the suggestion)
  902. What's new in version 0.6.2
  903. * BUGFIX: Fixed crash when using some .htoprc files from 0.6
  904. (thanks to Wolfram Schlich and John Thomas for the reports)
  905. * BUGFIX: Ensure changes to color scheme are saved
  906. * BUGFIX: Make configure behave correctly with --with-proc
  907. * Minor addition to .desktop file.
  908. What's new in version 0.6.1
  909. * New meter type: "All CPUs", which dynamically adjusts
  910. to the number of CPUs present in the machine. Note that
  911. because of this, older versions of htop may crash when
  912. using an .htoprc file modified my the newer version.
  913. * Accept --with-proc=<dir> in configure, to specify
  914. alternative procfs locations (making htop friendlier
  915. to the Linux compatibility layer in FreeBSD)
  916. * Included icon .desktop and desktop entry
  917. (thanks to Peter Hyman)
  918. * Added a check to make sure that a root-user htop closes
  919. when its parent non-root terminal is closed.
  920. (thanks to Ilya Evseev for the report)
  921. * BUGFIX: does not crash anymore when $HOME is not set
  922. (thanks to Henning Schild for the report)
  923. * Wait for strace child process to die properly.
  924. (thanks to Marcus Fritzsch)
  925. * Support $HTOPRC
  926. (thanks to Luis Limon)
  927. What's new in version 0.6
  928. * Configuration of columns merged into the Setup screen
  929. * Integrated strace (press 's')
  930. (thanks to Marinho Barcellos for the help)
  931. * BUGFIX: some fixes, aided by Valgrind
  932. (thanks to Wolfram Schlich for the report)
  933. * BUGFIX: fixed bug when switching meter modes
  934. (thanks to Eduardo Righes for the report)
  935. * Show processes of a single user
  936. * "SortBy" function now menu-based
  937. * Improved mouse handling
  938. * ...and on top of that reduced memory consumption!
  939. What's new in version 0.5.4
  940. * Color schemes
  941. * -d flag, to configure delay between updates.
  942. Note that the delay value is saved in ~/.htoprc.
  943. * BUGFIX: Update of meters was halting after help screen.
  944. (thanks to Matt Moore)
  945. * BUGFIX: No longer display incorrect information
  946. in first frame.
  947. * BUGFIX: Fix auto-detection of /proc/stat,
  948. correcting CPU usage information on multiprocessor
  949. systems.
  950. What's new in version 0.5.3
  951. * Read new field "steal" on newer /proc/stat files
  952. * Auto-detects format of /proc/stat, to cope
  953. with patched 2.4 kernels which display 2.6-style
  954. information (most notably those on RHEL 3)
  955. (thanks to Fernando Dotta for the report)
  956. * Support $HOME_ETC initiative
  957. (see http://www.pld-linux.org/Docs/home-etc)
  958. (thanks to Roman Barczynski for the tip)
  959. * The configure script now tests for /proc, so
  960. that it fails early on unsupported platforms
  961. instead of during compilation/execution.
  962. * Made presentation of the function keys in the
  963. status bar consistent across views
  964. (thanks to David Mathog for the report)
  965. * Minor changes to make the codebase more friendly
  966. to possible future ports
  967. (thanks to Jari Aalto and David Mathog for the reports)
  968. What's new in version 0.5.2
  969. * BUGFIX: Correct display of user field
  970. (thanks to Marcin Miroslaw for the report)
  971. * Keyboard support improvements
  972. (thanks to Aury Fink Filho for the report)
  973. What's new in version 0.5.1
  974. * BUGFIX: Correctly displays NPTL threads from
  975. /proc/<pid>/task subdirectories
  976. (thanks to Mike Pot for the report)
  977. * BUGFIX: Fixes key handling on Signals listbox
  978. (thanks to Ondrej Vlach)
  979. * Renicing no longer displays temporary illegal values
  980. (thanks to Ondrej Vlach)
  981. * 'Hide userland threads' feature for NPTL threads
  982. What's new in version 0.5
  983. * Tree view
  984. * New column, TIME (user + system time,
  985. like in top, 'T' switches to "sort by time")
  986. * Major reorganization of the underlying code of the
  987. setup screen, to manage setup pages
  988. * New setup page: Display options
  989. * Hide kernel threads ('K' key)
  990. * Colorized memory numbers
  991. * Vastly improved support for monochromatic terminals
  992. * Shadow processes that do not belong to user ('U' key)
  993. * Header margin configuration accessible via setup screen
  994. * Visual feedback on failing incremental search
  995. * BUGFIX: fixed keyboard input issues on 64-bit machines
  996. * BUGFIX: hopefully fixed the incorrect values
  997. that show on status bars in some systems
  998. * BUGFIX: doesn't mess with fields list anymore when
  999. canceling after changing the number of items
  1000. * Uptime meter no longer says "1 days" ;)
  1001. What's new in version 0.4.1
  1002. * BUGFIX: compiles on 64-bit architectures again
  1003. (thanks to Bartosz Fenski for the report)
  1004. * BUGFIX: multi-processor support fixed on kernels 2.6
  1005. (thanks to Wolfram Schlich for the report)
  1006. What's new in version 0.4
  1007. * Support for multiple processors!
  1008. * Basic mouse support
  1009. * Modular header based on configurable meters;
  1010. supports 4 view modes: bar, text, LED, graph
  1011. * Uptime, load average meters
  1012. (thanks to Marc Calahan)
  1013. * Meters setup screen; should eventually evolve into a
  1014. general setup screen, with column setup, keybindings, etc.
  1015. * Thread hiding toggleable
  1016. (press 'T' to hide the nonstandard dotfiles in /proc)
  1017. * BUGFIX: Do not flicker screen on column configuration screen
  1018. * Clock and load average meters
  1019. (thanks to Marc Calahan)
  1020. * BUGFIX: numeric swap indicator was printing bogus value
  1021. * BUGFIX: internal fixes on Panel widget
  1022. * Clear the bottom line when exiting
  1023. * Press "F3" during search to walk through the results
  1024. * Improved navigation on column configuration screen
  1025. * BUGFIX: fix segfault on kernels with restricted /proc
  1026. enabled
  1027. * BUGFIX: a few last-minute bugfixes in the setup UI
  1028. (thanks to Gaspare Bruno for the reports)
  1029. What's new in version 0.3.3
  1030. * Saves column and sorting configuration in ~/.htoprc
  1031. * Displays "hidden" threads on RedHat 9
  1032. (Thanks to Leonardo Godinho)
  1033. * BUGFIX: supports process names with spaces
  1034. (Thanks to Marc Calahan)
  1035. * BUGFIX: ...and parentheses :)
  1036. * BUGFIX: long process names overflowed RichString
  1037. (Thanks to Marc Calahan)
  1038. What's new in version 0.3.2
  1039. * Performance and memory usage improvements, aided by gprof
  1040. * BUGFIX: quite a few fixes, aided by Valgrind
  1041. * Header preview on column configuration screen
  1042. (Thanks to Marc Calahan)
  1043. What's new in version 0.3.1
  1044. * BUGFIX: crash fixes related to process list handling
  1045. (thanks to Marc Calahan)
  1046. * Man page
  1047. (thanks to Bartosz Fenski)
  1048. * Tag processes with the space bar
  1049. * Kill multiple process based on tag
  1050. * BUGFIX: corrected processing order of updates in list
  1051. * Screen refresh function on Ctrl-L
  1052. * Large numbers are shown in MB/GB notation in order to fit screen
  1053. (thanks to Marc Calahan)
  1054. * Realtime priority is correctly displayed
  1055. (thanks to Marc Calahan)
  1056. * Preliminary support for configurable columns, with 'C'
  1057. (thanks to Marc Calahan)
  1058. -- not all columns display properly yet
  1059. What's new in version 0.3
  1060. * BUGFIX: no dirt left on screen on horizontal scrolling
  1061. * Signal selection on "kill" command
  1062. * Color-coding for users, nice and process status
  1063. * "Follow" function
  1064. * Fully selectable sort order
  1065. * Function bar on last line
  1066. * Build system now uses autotools
  1067. What's new in version 0.2.1
  1068. * Sorting by process or memory usage ('P' and 'M', like top)
  1069. * Quicker default update (1.5 second, not yet configurable)
  1070. * Now the order of the elements in the process list stay
  1071. 'locked' for a while after you move the cursor to ease
  1072. selecting a process
  1073. * Corrected the installation instructions in README
  1074. (Thanks to Jeremy Eglen)
  1075. * Should now compile cleanly on Conectiva 9 and similar systems
  1076. (Thanks to Adriano Frare for the report)
  1077. * Friendlier Makefile
  1078. * Help screen ('h')
  1079. What's new in version 0.2
  1080. * Memory indicators in header now show used and total, in MB
  1081. * Preliminary support for sorting (CPU% only)
  1082. * Memory percentage field (resident memory / used memory)
  1083. * BUGFIX: identified source of spurious crashes
  1084. * Can search names containing numbers
  1085. (Thanks to Rafael Jeffman)
  1086. * Correctly calculates memory page size
  1087. (Thanks to Rafael Jeffman)
  1088. What's new in version 0.13
  1089. * Handles terminal resize
  1090. * Display all user names (not only those in /etc/passwd)
  1091. (Thanks to Julio Biason)
  1092. What's new in version 0.12
  1093. * Support for 2.6 kernels
  1094. * Uses terminal default colors as a background
  1095. What's new in version 0.11
  1096. * BUGFIX: does not crash when UID is not in /etc/passwd
  1097. What's new in version 0.1
  1098. * Everything!