This release has entirely been made possible by contributors! A huge thank-you to:
- Solène Rapenne (@rapenne-s), who added gotop to Nix
- Anatol Pomozov (@anatol) for:
- simplifying and improving the *nix `getTemps()` logic.
- LOC: 9075 -> 9056
- ABC: 4367 -> 4359
- Fixing the nvme temps for Kelvins to Celsius
- Stanisław Pitucha (@viraptor), for noticing that a gopsutil introduced a build
issue on OSX and needed another bump.
- sitiom, for noticing that gotop is available via scoop, on Windows
- Heimen Stoffels (@vistaus) for the Dutch (nl) translation
- Clayton Townsend II (@ctII) for the page-up/page-down process scrolling patch
-@kqzz, for adding sort-by-command, and especially for being so patient for the
merge.
Because of the UI control changes, it gets a minor version bump.
### Added
- Packages for gotop are available in Nix and scoop ()
- Dutch (nl) translation
- page-up/page-down for process scrolling
- sort-by-command in the processes (hotkey: n)
### Changes
- Code improvements to `getTemps()`
### Fixes
- A gopsutil bump had affected Darwin builds
- nvme temps were (incorrectly) displayed
- Sorting of labels had been broken at some point; in the process of fixing
this, I re-wrote the `Less()` logic, which is now a solid 10% faster.
## [4.1.4] 2022-07-15
Lots of push requests (relatively, for gotop) in this release! The contributions are appreciated.
### Added
- Metrics from SMART subsystems have been added for Linux and Darwin; it's temperatures right now, but the opportunity to report other metrics is now more easily added. Note that there may be issues with this, as it's a new source of metrics, and there may be bugs in (e.g.) the temperature scale, or some devices not being identified. Thanks a bunch to @rare-magma and @anatol for working on the contribution.
- The network widget now shows different colors for the upload and download lines (#174, thanks @quantonganh!)
- A `PACKAGERS.md` document has been added that explains how to simulate the github cross-compiling build process locally -- without having to push changes upstream. This helps with finding compile-time cross-compile issues.
### Changed
-@droundy accepted a patch for the parseargs library, so removed the dependency on my fork
- Some `gopsutils` warnings that provided no value were being reported; they've been silenced (thanks @ars.xda!)
### Fixed
- zh-CN updated (#205, thanks @tigerfyj!)
- Put the manpage in a more appropriate place
- When the RPM and DEB builds were re-enabled, the version format was giving the packages indigestion; in particular, the dpkgs would not install. This resulted in several tickets -- all of which should be fixed. (#212, #206, #209)
- I misspelled "Celsius" yet again. It really upsets people when I do this. (#207)
- Unit tests were not running on Darwin
- Trying to use the `@latest` keyword was causing problems in github actions
- ru_RU text fixes (thanks @ivanignatenko28!)
- The nvidia and nvidiarefresh parameters were not being loaded from the config file (#217)
Several issues pushed back to 4.1.4 to allow this one to go out.
### Added
- htop layout
-`no-X` options to disable flags (thanks @mjshariati98)
-#158, adds a man page. This can be generated with `gotop --create-manpage`; it's installed in Arch, RPM, and DEB packages.
### Changed
- Replaced `opflag` (a fork of `ogier/pflag`) library with `droundy/goopt`. This *should* be backwards compatible, but it's possible there may be some differences. `goopt` has built-in support for generating man pages, and supports anti-flags -- both items that were in the todo list.
### Fixed
- More doc typo fixes (thanks @vabshere)
-#200, colorschemes in config file were causing a crash
The minor version bump reflects the addition of I18N. If you are using one of the languages that has a translation, and your environment is set to that language, the UI will be different. Translations are very welcome!
Thanks to the people who submitted PRs and translations to this release.
### Added
- Adds multilingual support. German, Chinese (zh_CN), Esperanto (#120)
### Changed
- The uploaded license was a 2-clause BSD, which is functionally equivalent; however, since the contributor agreement was for MIT, to make it clean the uploaded license file was changed to the Festival variant of MIT. (#147)
- Per-process CPU use was averaged over the entire process lifetime. While more of a semantic difference than a bug, it was a unintuitive and not particularly useful. CPU averages are now weighted moving averages over time, with more recent use having more weight.
- iSMC was still in the code; iSMC violates the MIT license, and this has been cleaned out.
- Versions are now embedded during the package build, rather than being hard-coded. More info in #140
### Fixed
- No temperatures displayed (#130), a recurring issue.
- Cannot show the CPU usages of the processes (#135)
- Prometheus client replaced by [VictoriaMetrics/metrics](https://github.com/VictoriaMetrics/metrics). This eliminated 6 indirect package dependencies and saved 3.5MB (25%) of the compiled binary size.
- configdir, logdir, and logfile options in the config file are no longer used. gotop looks for a configuration file, layouts, and colorschemes in the following order: command-line; `pwd`; user-home, and finally a system-wide path. The paths depend on the OS and whether XDG is in use.
- Eliminate repeated logging about missing sensor data on FreeBSD VMs (#97)
- Investigated #14, a report about gotop's memory not matching `top`'s numbers, and came to the conclusions that (a) `gotop` is more correct in some cases (swap) than `top`, and (b) that the metric `gotop` is using (`hw.physmem`) is probably correct -- or that there's no obviously superior metric. So no change.
The version jump from 3.3.x is due to some work in the build automation that necessitated a number of bumps to test the build/release, and testing compiling plugins from github repositories.
allows adding functionality without adding bulk. See the [plugins decision wiki section](https://github.com/xxxserxxx/gotop/wiki/Plugins-in-gotop) for more information.