-
Added Gpu Support Linux | @romner-set | PR #529
-
Added platform support for OpenBSD | @joske | PR #607
-
Enable macos clang | @muneebmahmed | PR #666
-
Fix Apple Silicon CPUs misprinted | @masiboss | PR #679
-
Cmake support for MacOS | @imwints | PR #675
-
Elementarish theme: color update according to Elementary palette | @stradicat | PR #660
-
Add alternative key codes for Delete, Insert, Home, End | @ivanp7 | PR #659
-
Fix scrollbar not clearing sometimes. | @DecklynKern | PR #643
-
Add keybind for toggling memory display mode in PROC box | @rahulaggarwal965 | PR #623
-
Minor string initialization improvement | @imwints | PR #636
-
Made disks statvfs logic asynchronous. | @crestfallnatwork | PR #633
-
Fix signal list on non-linux/weird linux platforms | @lvxnull | PR #630
-
Add option to accumulate a child's resources in parent in tree-view | @imwints | PR #618
-
Add CMake support for Linux | @imwints | PR #589
-
Horizon theme | @SidVeld | PR #610
-
Fix short conversion of 1000-1023 *iB | @scorpion-26 | #609
-
Fix integer overflows in btop_collect.cpp | @dorrellmw | #546
-
Support compiling with LLVM | @imwints | #510
-
Fix getting zfs pool name with '.' char in freebsd | @jfouquart | #602
-
[macos/freebsd] support gcc13 | @joske | #600
-
FreeBSD swap info | @rrveex | #560
-
Create adwaita.theme | @flipflop133 | #485
-
Try get terminal size of "/dev/tty" if stdout fails | @imwints | PR #627
-
Refresh rate program argument | @imwints | PR #640
-
Improved error handling when determining the config directory | @imwints | #652
-
Use native POSIX polling syscalls to read input | @lvxnull | #624
-
Conditional compile on Big Sur and up | @joske | PR #690
- Various fixes by @imwints, @simplepad, @joske, @gwena, @cpalv, @iambeingtracked, @mattico, @NexAdn
-
Makefile: VERBOSE=true flag for Makefile to display all compiler commands and fixed so already set CXXFLAGS and LDFLAGS are displayed.
-
Makefile: Added autodetection for gcc12 to make compiling on macos Ventura easier.
-
Changed: Reverted back to sysconf(_SC_NPROCESSORS_ONLN) for Cpu core count ant let the new dynamic update fix if cores are turned on later
-
Fixed: Ignore disks that fails in statvfs64() to avoid slowdowns and possible crashes.
-
Fixed: Moved up get_cpuHz() in the execution order to get better cpu clock reading.
-
Added: proc tree view: if there's more than 40 width left, try to print full cmd, by @Superty
-
Fixed: Show the first IP of the interface in NET box instead of the last, by @correabuscar
-
Changed: Replace getnameinfo with inet_ntop [on Linux], by @correabuscar
-
Fixed: Not picking up last username from /etc/passwd
-
Fixed: Process nice value underflowing, issue #461
-
Changed: Replace getnameinfo with inet_ntop [on FreeBSD], by @correabuscar
-
Changed: Replace getnameinfo with inet_ntop [on macos], by @correabuscar
- Added: Dynamic updating of max number of CPU cores.
- Fixed: Number of cores wrongly detected for Ryzen in rare cases.
-
Fixed: Process tree filtering not case insensitive
-
Added: Paper theme, by @s6muel
-
Fixed: Extra checks to avoid crash on trying to replace empty strings in tree mode
-
Fixed: Crashing when cores are offline
-
Fixed: Cpu::collect() core count counter...
-
Changed: Using sysconf(_SC_NPROCESSORS_CONF) for number of cores instead of sysconf(_SC_NPROCESSORS_ONLN)
-
Maintenance: Code cleanup, by @stefanos82
-
Fixed: Memory values not clearing properly when not in graph mode in mem box
-
Changed: kyli0x theme color update, by @kyli0x
-
Added: Elementarish theme, by @dennismayr
-
Added: key "?" to see help, by @mohi001
-
Added: solarized_light theme, by @Fingerzam
-
Changed: Made ZFS stats collection compatible with zfs_pools_only option, by @simplepad
-
Changed: Rewrite of process sorting and tree generation including fixes for tree sorting and mouse support
-
Added: Option to hide the small cpu graphs for processes
-
Changed: Small graphs now show colors for each character
-
Fixed: Getting selfpath on macos (fix for finding theme folder)
-
Added: Support for ZFS pool io stats monitoring, by @simplepad
-
Added: Filtering of kernel processes, by @0xJoeMama
-
Added: New theme everforest-dark-hard, by @iambeingtracked
-
Added: New theme tomorrow-night, by @appuchias
-
Changed: Disable battery monitoring if it fails instead of exiting
-
Fixed: Disk IO stats for individual partitions instead of whole disk (Linux)
-
Added: Case insensitive process filtering, by @abrasumente233
-
Added: Include ZFS ARC in cached/available memory on Linux, by @mattico
-
Added: Desktop entry and icons, by @yonatan8070
-
Fixed: Net sync scale bug
-
Added: tokyo-night & tokyo-storm themes, by @Schievel1
-
Fixed: Wrong memory unit when shorten and size is less than 10, by @mohi001
-
Fixed: Use cpu cores avarage temp if missing cpu package temp for FreeBSD
-
Changed: Enter symbol to a more common variant
-
Fixed: Fallback to less accurate UTF8 char count if conversion to wstring fails
-
Fixed: Small ui fixes for mem and disks
-
Added: New theme HotPurpleTrafficLight, by @pallebone
-
Fixed: title_left symbol between auto and zero in the net box is not displayed, by @mrdotx
-
Fixed: Mouse mappings for net box
-
Optimization: Proc::draw()
-
Fixed: Ignore duplicate disks with same mountpoint
-
Changed: Restrict command line for processes to 1000 characters to fix utf8 conversion errors
-
Added: add "g" and "G" to vim keys, by @mohi001
-
Changed: floating_humanizer() now show fractions when shortened and value is < 10
-
Fixed: Process tree not redrawing properly
-
Fixed: string to wstring conversion crash when string is too big
-
Changed: Reverted uncolor() back to using regex to fix delay in opening menu when compiled with musl
-
Added: Toggle for showing free disk space for privileged or normal users
-
Added: Clarification on signal screen that number can be manually entered
-
Added: Arrow only after use of "f" when filtering processes, by @NavigationHazard
-
Fixed: Fx::uncolor not removing all escapes
-
Fixed: Text alignment for popup boxes
-
Fixed: Terminal resize warning getting stuck
-
Removed: Unnecessary counter for atomic_lock
-
Added: Percentage progress to Makefile
-
Fixed: Alignment of columns in proc box when wide UTF8 characters are used
-
Fixed: Battery meter draw fix
-
Added: Support for FreeBSD, by @joske and @aristocratos
-
Fixed (again): Account for system rolling over net speeds in Net::collect()
-
Added: Theme gruvbox_material_dark, by @marcoradocchia
-
Added: Option for base 10 bytes/bits
- Fixed: Account for system rolling over net speeds in Net::collect()
-
Fixed: Create dependency files in build directory when compiling, by @stwnt
-
Fixed: fix CPU temp fallback on macOS, by @joske
-
Changed: From rng::sort() to rng::stable_sort() for more stability
-
Fixed: in_avail() can always be zero, by @pg83
-
Added: New theme ayu, by @AlphaNecron
-
Added: New theme gruvbox_dark_v2, by @pietryszak
-
Fixed: Macos cpu coretemp for Intel, by @joske
-
Added: New theme OneDark, by @vtmx
-
Fixed: Fixed network graph scale int rollover
-
Fixed: Suspected possibility of very rare stall in Input::clear()
-
Fixed: SISEGV on macos Mojave, by @mgradowski
-
Fixed: Small optimizations and fixes to Mem::collect() and Input::get()
-
Fixed: Wrong unit for net_upload and net_download in config menu
-
Fixed: UTF-8 detection on macos
-
Fixed: coretemp iteration due to missing tempX_input, by @KFilipek
-
Fixed: coretemp ordering
-
Added: Partial static build (libgcc, libstdc++) for macos
-
Changed: Continuous build macos switched to OSX 11.6 (Big Sur) and partial static build
-
Changed: Release binaries for macos switched to OSX 12 (Monterey) and partial static build
- Added: Support for OSX, by @joske and @aristocratos
-
Changed: Collection ordering
-
Fixed: Restore all escape seq mouse modes on exit
-
Fixed: SIGINT not cleaning up on exit
-
Fixed: Config parser missing first value when not including version header
-
Fixed: Vim keys menu lists selection
-
Fixed: Stall when clearing input queue on exit and queue is >1
-
Fixed: Inconsistent behaviour of "q" key in the menus
- Fixed: Bad values for disks and network on 32-bit
-
Fixed: Removed extra spaces in cpu name
-
Added: / as alternative bind for filter
-
Fixed: Security issue when running with SUID bit set
-
Added: Improved cpu sensor detection for Ryzen Mobile, by @adnanpri
-
Changed: Updated makefile
-
Changed: Regex for Fx::uncolor() changed to string search and replace
-
Changed: Removed all use of regex with dedicated string functions
- Fixed: Makefile now tests compiler flag compatibility
- Fixed: Makefile g++ -dumpmachine failure to get platform on some distros
-
Changed: Reverted mutexes back to custom atomic bool based locks
-
Added: Static binaries switched to building with musl + more platforms, by @jan-guenter
-
Fixed: Improved battery detection, by @jan-guenter
-
Added: Displayed battery selectable in options menu
-
Fixed: Battery error if non existent battery named is entered
-
Fixed: atomic_wait() and atomic_lock{} use cpu pause instructions instead of thread sleep
-
Fixed: Swapped from atomic bool spinlocks to mutexes to fix rare deadlock
-
Added: Continuous Build workflow for OSX branch, by @ShrirajHegde
-
Changed: Reverted thread mutex lock to atomic bool with wait and timeout
-
Changed: Removed unnecessary async threads in Runner thread
-
Added: Try to restart secondary thread in case of stall and additional error checks for ifstream in Proc::collect()
-
Fixed: change [k]ill to [K]ill when enabling vim keys, by @jlopezcur
-
Fixed: Extra "root" partition when running in snap
-
Changed: Limit atomic_wait() to 1000ms to fix rare stall
-
Fixed: Removed unneeded lock in Runner::run()
-
Added: Toggle in options for enabling directional vim keys "h,j,k,l"
-
Changed: Total system memory is checked at every update instead of once at start
-
Added: Continuous Build workflow, by @ShrirajHegde
-
Fixed: Uid -> User fallback to getpwuid() if failure for non static builds
-
Fixed: snap root disk and changed to compiler flags instead of env variables for detection
-
Added: Development branch for OSX, by @joske
- Changed: Graph empty symbol is now regular whitespace
-
Fixed: Exception handling for faulty net download/upload speed
-
Fixed: Cpu percent formatting if over 10'000
-
Changed: atomic_wait to use while loop instead of wait() because of rare stall when a signal handler is triggered while waiting
-
Fixed: Get real / mountpoint when running inside snap
-
Fixed: UTF8 set LANG and LC_ALL to empty before UTF8 search and fixed empty error msg on exit before signal handler init
-
Changed: Init will continue with a warning if UTF-8 locale are detected and it fails to set the locale
-
Added: Wait for terminal size properties to be available at start
-
Changed: Stop second thread before updating terminal size variables
-
Changed: Moved check for valid terminal dimensions to before platform init
-
Added: Check for empty percentage deques
-
Changed: Cpu temp values check for existing values
-
Fixed: Cpu percent cutting off above 1000 percent and added scaling with "k" prefix above 10'000
-
Fixed: Crash when rapidly resizing terminal at start
-
Added: ifstream check and try-catch for stod() in Tools::system_uptime()
-
Fixed: Freeze on cin.ignore()
-
Fixed: Additional NULL checks in UTF-8 detection
-
Changed: Makefile: Only look for g++-11 if CXX=g++
-
Fixed: Missing NULL check for ttyname
-
Changed: Only log tty name if known
-
Fixed: Crash when opening menu at too small size
-
Fixed: Cores not constrained to cpu box and core numbers above 100 cut off
-
Fixed: Scrollbar position incorrect in small lists and selection not working when filtering
-
Fixed: Check that getenv("LANG") is not NULL in UTF-8 check
-
Fixed: Processes not completely hidden when collapsed in tree mode
-
Fixed: Changed wrong filename error.log to btop.log
-
Fixed: Load AVG sizing when hiding temperatures
-
Fixed: Sizing constraints bug on start and boxes can be toggled from size error screen
-
Fixed: UTF-8 check crashing if LANG was set to non existant locale
- Fixed: Use /proc/pid/statm if RSS memory from /proc/pid/stat is faulty
- Fixed: stoi 0 literal pointer to nullptr and added more clamping for gradient array access
-
Fixed: ARCH detection in Makefile
-
Fixed: Color gradient array out of bounds, added clamp 0-100 for cpu percent values
-
Fixed: Menu size and preset size issues and added warnings for small terminal size
-
Fixed: Options menu page selection alignment
-
Fixed: UTF-8 check to include UTF8
-
Fixed: Added thread started check before joining in clean_quit()
-
Fix documentation of --utf-force in README and --help. by @purinchu
- First release for Linux