Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package bottom for openSUSE:Factory checked in at 2026-07-10 17:48:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bottom (Old) and /work/SRC/openSUSE:Factory/.bottom.new.1991 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bottom" Fri Jul 10 17:48:35 2026 rev:36 rq:1364910 version:0.14.4 Changes: -------- --- /work/SRC/openSUSE:Factory/bottom/bottom.changes 2026-07-02 20:15:15.677445915 +0200 +++ /work/SRC/openSUSE:Factory/.bottom.new.1991/bottom.changes 2026-07-10 17:50:19.371630969 +0200 @@ -1,0 +2,8 @@ +Fri Jul 10 09:30:18 UTC 2026 - Martin Hauke <[email protected]> + +- Update to version 0.14.4: + * bug: actually fix capitalized 'q' not exiting (#2137). + * bug: accept process column aliases advertised by the config + schema (#2131). + +------------------------------------------------------------------- Old: ---- bottom-0.14.3.obscpio New: ---- bottom-0.14.4.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bottom.spec ++++++ --- /var/tmp/diff_new_pack.r8gNqX/_old 2026-07-10 17:50:22.351732203 +0200 +++ /var/tmp/diff_new_pack.r8gNqX/_new 2026-07-10 17:50:22.351732203 +0200 @@ -18,7 +18,7 @@ Name: bottom -Version: 0.14.3 +Version: 0.14.4 Release: 0 Summary: Yet another graphical process/system monitor License: Apache-2.0 AND MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.r8gNqX/_old 2026-07-10 17:50:22.411734242 +0200 +++ /var/tmp/diff_new_pack.r8gNqX/_new 2026-07-10 17:50:22.419734513 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/ClementTsang/bottom.git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="scm">git</param> - <param name="revision">0.14.3</param> + <param name="revision">0.14.4</param> <param name="match-tag">*</param> <param name="versionrewrite-pattern">(\d+\.\d+\.\d+)</param> <param name="versionrewrite-replacement">\1</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.r8gNqX/_old 2026-07-10 17:50:22.447735465 +0200 +++ /var/tmp/diff_new_pack.r8gNqX/_new 2026-07-10 17:50:22.451735601 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/ClementTsang/bottom.git</param> - <param name="changesrevision">f17a83e90ba45dac387e77ead5a215f7dc20075b</param></service></servicedata> + <param name="changesrevision">435369fd93b399eaa5fe6bc8a18d87186f2cb6bb</param></service></servicedata> (No newline at EOF) ++++++ bottom-0.14.3.obscpio -> bottom-0.14.4.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/.all-contributorsrc new/bottom-0.14.4/.all-contributorsrc --- old/bottom-0.14.3/.all-contributorsrc 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/.all-contributorsrc 2026-07-09 23:55:42.000000000 +0200 @@ -755,6 +755,15 @@ "contributions": [ "code" ] + }, + { + "login": "upuddu", + "name": "Umberto Puddu", + "avatar_url": "https://avatars.githubusercontent.com/u/125773480?v=4", + "profile": "https://github.com/upuddu", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/AI_POLICY.md new/bottom-0.14.4/AI_POLICY.md --- old/bottom-0.14.3/AI_POLICY.md 1970-01-01 01:00:00.000000000 +0100 +++ new/bottom-0.14.4/AI_POLICY.md 2026-07-09 23:55:42.000000000 +0200 @@ -0,0 +1,28 @@ +# AI Policy + +The use of AI (i.e., LLMs) for coding is welcome. However, there is a high bar for any contribution to this project, +and as such, contributors are responsible for any code they publish. + +**AI should not be used to entirely generate comments when communicating with maintainers.** We expect comments on +our projects to be written by humans. Comments we believe are entirely AI-generated may be hidden without notice. + +**If you are opening an issue, we expect you to at least describe the problem in your own words.** Issues must still +follow the specified template. Issues that are unproductive and appear to be entirely AI-driven may be closed without +notice. + +**If you are opening a pull request, you are expected to explain the proposed changes in your own words, as well as to +respond to questions.** You are also expected to have tested the changes if applicable, and follow the PR template and +checklist. **Do not copy responses from AI when replying to questions from maintainers.** Pull requests that violate these +polices may be closed without notice. + +If you wish to include context from an interaction with AI in your comments, it must be in a quote block (e.g., using `>`) +and disclosed as such. It must be accompanied by human commentary explaining the relevance and implications of the context. +Do not share long snippets/walls of text. + +It is also acknowledged that AI is very useful for communicating if one is not fluent in English. If you are using AI to +edit your comments for this purpose (e.g. grammar, spelling), please take the time to make it so it still reflects your +own voice and ideas. If you're using AI tooling for translation purposes, then it's recommended to write in your native +language and include the translation in a quote block. + +This policy was inspired by [ripgrep's AI policy](https://github.com/BurntSushi/ripgrep/blob/4857d6fa67db69a95cd4b6f2adda5d807d4d0119/AI_POLICY.md) +and [uv's AI policy](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/CHANGELOG.md new/bottom-0.14.4/CHANGELOG.md --- old/bottom-0.14.3/CHANGELOG.md 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/CHANGELOG.md 2026-07-09 23:55:42.000000000 +0200 @@ -20,9 +20,18 @@ --- +## 0.14.4 - 2026-07-09 + +### Bug Fixes + +- [#2131](https://github.com/ClementTsang/bottom/pull/2131): Fix the config not accepting `Memory`, `Memory%`, `Total Read`, and `Total Write` process column aliases that the config schema advertised. +- [#2132](https://github.com/ClementTsang/bottom/pull/2132): Fix 'Q' not working as a quit shortcut. + ## 0.14.3 - 2026-07-01 -- [2119](https://github.com/ClementTsang/bottom/pull/2119): Workaround change for draw behaviour that caused Kitty with `cursor_trail` to occasionally use more CPU. +### Other + +- [#2119](https://github.com/ClementTsang/bottom/pull/2119): Add workaround for draw behaviour that caused Kitty with `cursor_trail` to occasionally use more CPU. ## 0.14.2 - 2026-06-27 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/CONTRIBUTING.md new/bottom-0.14.4/CONTRIBUTING.md --- old/bottom-0.14.3/CONTRIBUTING.md 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/CONTRIBUTING.md 2026-07-09 23:55:42.000000000 +0200 @@ -31,8 +31,6 @@ Some other things related to making changes or pull requests: - Please review your code _yourself_ and test your changes before you create the PR and ask for a review. - - I'm fine with AI assistance, but I expect you to still review the changes before creating the PR. - - I also expect to be talking with a human if I have questions or comments - if I wanted to talk to an AI agent to make a change, I can do that myself. - If you are adding or changing any dependency, a justification on why this is necessary must be included. - Please ensure that any changes made are compatible with the license of bottom. @@ -46,3 +44,7 @@ If you want to become a package maintainer, see [here](https://bottom.pages.dev/nightly/contribution/packaging-and-distribution/) for details on how to build bottom, how to generate/obtain completion files and manpages, and how to add installation instructions for the package to the README. + +## AI Policy + +Note that any contribution, whether it be opening an issue, PRs, or commenting, should follow the [AI policy](./AI_POLICY.md). Contributions that do not follow this may be closed/hidden. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/Cargo.lock new/bottom-0.14.4/Cargo.lock --- old/bottom-0.14.3/Cargo.lock 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/Cargo.lock 2026-07-09 23:55:42.000000000 +0200 @@ -19,9 +19,9 @@ [[package]] name = "anstream" -version = "0.6.21" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -40,9 +40,9 @@ [[package]] name = "anstyle-parse" -version = "0.2.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] @@ -132,7 +132,7 @@ [[package]] name = "bottom" -version = "0.14.3" +version = "0.14.4" dependencies = [ "anyhow", "assert_cmd", @@ -232,9 +232,9 @@ [[package]] name = "clap" -version = "4.5.57" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", "clap_derive", @@ -242,9 +242,9 @@ [[package]] name = "clap_builder" -version = "4.5.57" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -255,9 +255,9 @@ [[package]] name = "clap_complete" -version = "4.5.65" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "430b4dc2b5e3861848de79627b2bedc9f3342c7da5173a14eaa5d0f8dc18ae5d" +checksum = "db8b397918185f0161ff3d6fcaa9e4bfc09b8367caf6e1d4a2848e5477ed027b" dependencies = [ "clap", ] @@ -274,9 +274,9 @@ [[package]] name = "clap_complete_nushell" -version = "4.5.10" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685bc86fd34b7467e0532a4f8435ab107960d69a243785ef0275e571b35b641a" +checksum = "fbb9e9715d29a754b468591be588f6b926f5b0a1eb6a8b62acabeb66ff84d897" dependencies = [ "clap", "clap_complete", @@ -284,9 +284,9 @@ [[package]] name = "clap_derive" -version = "4.5.55" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck", "proc-macro2", @@ -296,15 +296,15 @@ [[package]] name = "clap_lex" -version = "0.7.7" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "clap_mangen" -version = "0.2.31" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ea63a92086df93893164221ad4f24142086d535b3a0957b9b9bea2dc86301" +checksum = "d82842b45bf9f6a3be090dd860095ac30728042c08e0d6261ca7259b5d850f07" dependencies = [ "clap", "roff", @@ -396,12 +396,12 @@ [[package]] name = "ctrlc" -version = "3.5.1" +version = "3.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" dependencies = [ "dispatch2", - "nix 0.30.1", + "nix 0.31.3", "windows-sys 0.61.2", ] @@ -705,12 +705,12 @@ [[package]] name = "indexmap" -version = "2.13.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.16.1", + "hashbrown 0.17.1", ] [[package]] @@ -903,18 +903,6 @@ [[package]] name = "nix" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" -dependencies = [ - "bitflags 2.13.0", - "cfg-if", - "cfg_aliases 0.2.1", - "libc", -] - -[[package]] -name = "nix" version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" @@ -1117,9 +1105,9 @@ [[package]] name = "plist" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" +checksum = "7da1d65da6dd5d1e44199ac0f58712d241c0f439f80adea8924d832384087f85" dependencies = [ "base64", "indexmap", @@ -1202,18 +1190,18 @@ [[package]] name = "quick-xml" -version = "0.38.4" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" dependencies = [ "memchr", ] [[package]] name = "quote" -version = "1.0.44" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" dependencies = [ "proc-macro2", ] @@ -1327,9 +1315,9 @@ [[package]] name = "regex" -version = "1.12.3" +version = "1.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "f1292b7759ae1cb9ec195452d1390a074f0cd8541ab7a5a8c31cd6db45d4a6ba" dependencies = [ "aho-corasick", "memchr", @@ -1350,21 +1338,21 @@ [[package]] name = "regex-syntax" -version = "0.8.9" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "roff" -version = "0.2.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" +checksum = "323c417e1d9665a65b263ec744ba09030cfb277e9daa0b018a4ab62e57bc8189" [[package]] name = "rustc-hash" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" [[package]] name = "rustc_version" @@ -1575,9 +1563,9 @@ [[package]] name = "starship-battery" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2aa96d3dc4e9714cd8d068e0848b1502c2ed24ae68bdb6ec31b1fb7aef1e42f" +checksum = "e919b7ecd99f2d5ed9efdc8d242ae93d91684181a782dadcbcd72079930155f9" dependencies = [ "cfg-if", "lazycell", @@ -1648,9 +1636,9 @@ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422" dependencies = [ "proc-macro2", "quote", @@ -1840,9 +1828,9 @@ [[package]] name = "unicode-ellipsis" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ec3504d2729e4af5b282712c11b29e25bb694ab6b46a7c418f4ddcc1f95ad4" +checksum = "c251ff0046b0e49918e1ef2b4804ae850ba113ae65ed5c6a1e2925a829e86e8c" dependencies = [ "unicode-segmentation", "unicode-width", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/Cargo.toml new/bottom-0.14.4/Cargo.toml --- old/bottom-0.14.3/Cargo.toml 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/Cargo.toml 2026-07-09 23:55:42.000000000 +0200 @@ -1,6 +1,6 @@ [package] name = "bottom" -version = "0.14.3" +version = "0.14.4" repository = "https://github.com/ClementTsang/bottom" license = "MIT" description = "A customizable cross-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows." @@ -68,13 +68,13 @@ [dependencies] anyhow = "1.0.101" -clap = { version = "4.5.57", features = ["default", "cargo", "wrap_help", "derive"] } +clap = { version = "4.6.1", features = ["default", "cargo", "wrap_help", "derive"] } concat-string = "1.0.1" crossterm = "0.29.0" -ctrlc = { version = "3.5.0", features = ["termination"] } +ctrlc = { version = "3.5.2", features = ["termination"] } dirs = "6.0.0" humantime = "2.3.0" -indexmap = "2.13.0" +indexmap = "2.14.0" indoc = "2.0.7" itertools = "0.15.0" nvml-wrapper = { version = "0.12.1", optional = true, features = ["legacy-functions"] } @@ -84,14 +84,14 @@ "crossterm", ] } ratatui-core = "0.1.2" -regex = "1.12.3" -rustc-hash = "2.1.2" +regex = "1.12.4" +rustc-hash = "2.1.3" serde = { version = "1.0.228", features = ["derive"] } -starship-battery = { version = "0.11.0", optional = true } +starship-battery = { version = "0.11.1", optional = true } sysinfo = "=0.39.5" timeless = "0.0.14-alpha" toml_edit = { version = "0.25.12", features = ["serde"] } -unicode-ellipsis = "0.5.0" +unicode-ellipsis = "0.6.0" unicode-segmentation = "1.13.3" unicode-width = "0.2.2" @@ -140,11 +140,11 @@ portable-pty = "0.9.0" [build-dependencies] -clap = { version = "4.5.57", features = ["default", "cargo", "wrap_help", "derive"] } -clap_complete = "4.5.62" -clap_complete_nushell = "4.5.10" +clap = { version = "4.6.1", features = ["default", "cargo", "wrap_help", "derive"] } +clap_complete = "4.6.7" +clap_complete_nushell = "4.6.0" clap_complete_fig = "4.5.2" -clap_mangen = "0.2.31" +clap_mangen = "0.3.0" indoc = "2.0.7" # Compile dependencies with optimizations enabled, even in debug mode. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/README.md new/bottom-0.14.4/README.md --- old/bottom-0.14.3/README.md 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/README.md 2026-07-09 23:55:42.000000000 +0200 @@ -595,6 +595,7 @@ <td align="center" valign="top" width="14.28%"><a href="https://linktr.ee/chrisjr404"><img src="https://avatars.githubusercontent.com/u/11917633?v=4?s=100" width="100px;" alt="ChrisJr404"/><br /><sub><b>ChrisJr404</b></sub></a><br /><a href="https://github.com/ClementTsang/bottom/commits?author=ChrisJr404" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/gepbird"><img src="https://avatars.githubusercontent.com/u/29818440?v=4?s=100" width="100px;" alt="Gergő Gutyina"/><br /><sub><b>Gergő Gutyina</b></sub></a><br /><a href="https://github.com/ClementTsang/bottom/commits?author=gepbird" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/puneetdixit200"><img src="https://avatars.githubusercontent.com/u/236133619?v=4?s=100" width="100px;" alt="Puneet Dixit"/><br /><sub><b>Puneet Dixit</b></sub></a><br /><a href="https://github.com/ClementTsang/bottom/commits?author=puneetdixit200" title="Code">💻</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/upuddu"><img src="https://avatars.githubusercontent.com/u/125773480?v=4?s=100" width="100px;" alt="Umberto Puddu"/><br /><sub><b>Umberto Puddu</b></sub></a><br /><a href="https://github.com/ClementTsang/bottom/commits?author=upuddu" title="Code">💻</a></td> </tr> </tbody> </table> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/docs/content/contribution/documentation.md new/bottom-0.14.4/docs/content/contribution/documentation.md --- old/bottom-0.14.3/docs/content/contribution/documentation.md 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/docs/content/contribution/documentation.md 2026-07-09 23:55:42.000000000 +0200 @@ -55,3 +55,8 @@ 3. Once you have your documentation changes done, submit it as a pull request. For more information regarding that, refer to [Issues, Pull Requests, and Discussions](issues-and-pull-requests.md). + +## AI Policy + +Documentation should _never_ be generated by AI. The point of documentation in this project is to communicate things between humans. Follow the [AI policy](https://github.com/ClementTsang/bottom/blob/main/AI_POLICY.md); changes that do not follow it +may be closed or hidden. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/docs/content/contribution/issues-and-pull-requests.md new/bottom-0.14.4/docs/content/contribution/issues-and-pull-requests.md --- old/bottom-0.14.3/docs/content/contribution/issues-and-pull-requests.md 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/docs/content/contribution/issues-and-pull-requests.md 2026-07-09 23:55:42.000000000 +0200 @@ -37,7 +37,9 @@ Some other things related to making changes or pull requests: - Please review your code _yourself_ and test your changes before you create the PR and ask for a review. - - I'm fine with AI assistance, but I expect you to still review the changes before creating the PR. - - I also expect to be talking with a human if I have questions or comments - if I wanted to talk to an AI agent to make a change, I can do that myself. - If you are adding or changing any dependency, a justification on why this is necessary must be included. - Please ensure that any changes made are compatible with the license of bottom. + +## AI Policy + +Note that any contribution, whether it be opening an issue, PRs, or commenting, should follow the [AI policy](https://github.com/ClementTsang/bottom/blob/main/AI_POLICY.md). Contributions that do not follow this may be closed/hidden. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/docs/content/usage/general-usage.md new/bottom-0.14.4/docs/content/usage/general-usage.md --- old/bottom-0.14.3/docs/content/usage/general-usage.md 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/docs/content/usage/general-usage.md 2026-07-09 23:55:42.000000000 +0200 @@ -41,7 +41,7 @@ | Binding | Action | | ------------------------------------------------------------ | ------------------------------------------------------------ | -| ++q++ , ++ctrl+c++ | Quit | +| ++q++, ++Q++, ++ctrl+c++ | Quit | | ++esc++ | Close dialog windows, search, widgets, or exit expanded mode | | ++ctrl+r++ | Reset display and any collected data | | ++f++ | Freeze/unfreeze updating with new data | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/src/canvas/components/time_series/vendored.rs new/bottom-0.14.4/src/canvas/components/time_series/vendored.rs --- old/bottom-0.14.3/src/canvas/components/time_series/vendored.rs 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/src/canvas/components/time_series/vendored.rs 2026-07-09 23:55:42.000000000 +0200 @@ -990,13 +990,7 @@ (actual, expected) => { if actual.area != expected.area { panic!( - indoc::indoc!( - " - buffer areas not equal - expected: {:?} - actual: {:?}" - ), - expected, actual + "buffer areas not equal - expected: {expected:?} - actual: {actual:?}", ); } let diff = expected.diff(&actual); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/src/constants.rs new/bottom-0.14.4/src/constants.rs --- old/bottom-0.14.3/src/constants.rs 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/src/constants.rs 2026-07-09 23:55:42.000000000 +0200 @@ -28,7 +28,7 @@ // TODO [Help]: Move to using tables for easier formatting? pub(crate) const GENERAL_HELP_TEXT: [&str; 24] = [ "1 - General", - "q, Ctrl-c Quit", + "q, Q, Ctrl-c Quit", "Esc Close dialog windows, search, widgets, or exit expanded mode", "Ctrl-r Reset display and any collected data", "f Freeze/unfreeze updating with new data", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/src/event.rs new/bottom-0.14.4/src/event.rs --- old/bottom-0.14.3/src/event.rs 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/src/event.rs 2026-07-09 23:55:42.000000000 +0200 @@ -57,7 +57,7 @@ if event.modifiers.is_empty() { match event.code { - KeyCode::Char('q' | 'Q') if !app.is_in_any_search() => return true, + KeyCode::Char('q') | KeyCode::Char('Q') if !app.is_in_any_search() => return true, KeyCode::End => app.skip_to_last(), KeyCode::Home => app.skip_to_first(), KeyCode::Up => app.on_up_key(), @@ -128,6 +128,7 @@ KeyCode::Right => app.move_widget_selection(&WidgetDirection::Right), KeyCode::Up => app.move_widget_selection(&WidgetDirection::Up), KeyCode::Down => app.move_widget_selection(&WidgetDirection::Down), + KeyCode::Char('Q') if !app.is_in_any_search() => return true, KeyCode::Char(caught_char) => app.on_char_key(caught_char), _ => {} } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/src/lib.rs new/bottom-0.14.4/src/lib.rs --- old/bottom-0.14.3/src/lib.rs 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/src/lib.rs 2026-07-09 23:55:42.000000000 +0200 @@ -97,7 +97,7 @@ eprintln!( "Warning: bottom is not being output to a terminal. Things might not work properly." ); - eprintln!("If you're stuck, press 'q' or 'Ctrl-c' to quit the program."); + eprintln!("If you're stuck, press 'q', 'Q', or 'Ctrl-c' to quit the program."); stderr().flush().expect("should succeed in flushing stderr"); thread::sleep(Duration::from_secs(1)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/src/options/args.rs new/bottom-0.14.4/src/options/args.rs --- old/bottom-0.14.3/src/options/args.rs 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/src/options/args.rs 2026-07-09 23:55:42.000000000 +0200 @@ -23,6 +23,7 @@ const USAGE: &str = "btm [OPTIONS]"; +// Can't use an unwrap here at the moment since it's const. const VERSION: &str = match option_env!("NIGHTLY_VERSION") { Some(nightly_version) => nightly_version, None => crate_version!(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/src/options/config/process.rs new/bottom-0.14.4/src/options/config/process.rs --- old/bottom-0.14.3/src/options/config/process.rs 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/src/options/config/process.rs 2026-07-09 23:55:42.000000000 +0200 @@ -175,4 +175,31 @@ vec![ProcWidgetColumn::WritePerSecond; 3] ); } + + /// The generated JSON schema advertises additional column name aliases + /// (via `ProcColumn::get_schema_names`) that the deserializer must also + /// accept, otherwise valid configs are rejected at runtime. + #[test] + fn valid_process_column_config_schema_aliases() { + let config = r#"columns = ["Memory", "Memory%"]"#; + let generated: ProcessesConfig = toml_edit::de::from_str(config).unwrap(); + assert_eq!( + to_columns(generated.columns), + vec![ProcWidgetColumn::Mem; 2] + ); + + let config = r#"columns = ["Total Read"]"#; + let generated: ProcessesConfig = toml_edit::de::from_str(config).unwrap(); + assert_eq!( + to_columns(generated.columns), + vec![ProcWidgetColumn::TotalRead] + ); + + let config = r#"columns = ["Total Write"]"#; + let generated: ProcessesConfig = toml_edit::de::from_str(config).unwrap(); + assert_eq!( + to_columns(generated.columns), + vec![ProcWidgetColumn::TotalWrite] + ); + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/src/options.rs new/bottom-0.14.4/src/options.rs --- old/bottom-0.14.3/src/options.rs 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/src/options.rs 2026-07-09 23:55:42.000000000 +0200 @@ -235,20 +235,19 @@ match create_config_at_path(path) { Ok(cfg) => Ok(cfg), Err(err) => { + let path = path.display(); if config_path.is_some() { Err(err.context(format!( - "bottom could not create a new config file at '{}'.", - path.display() + "bottom could not create a new config file at '{path}'.", ))) } else { indoc::eprintdoc!( - "Note: bottom couldn't create a default config file at '{}', and the \ + "Note: bottom couldn't create a default config file at '{path}', and the \ application has fallen back to the default configuration. Caused by: {err} ", - path.display() ); Ok(Config::default()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/src/widgets/process_table/process_columns.rs new/bottom-0.14.4/src/widgets/process_table/process_columns.rs --- old/bottom-0.14.3/src/widgets/process_table/process_columns.rs 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/src/widgets/process_table/process_columns.rs 2026-07-09 23:55:42.000000000 +0200 @@ -207,7 +207,7 @@ pub fn parse_column_name(name: &str) -> Option<Self> { match name.to_lowercase().as_str() { "cpu%" => Some(ProcColumn::CpuPercent), - "mem" | "mem%" => Some(ProcColumn::MemPercent), + "mem" | "mem%" | "memory" | "memory%" => Some(ProcColumn::MemPercent), "virt" | "virtual" | "virtmem" | "virtual memory" => Some(ProcColumn::VirtualMem), "pid" => Some(ProcColumn::Pid), "count" => Some(ProcColumn::Count), @@ -215,8 +215,8 @@ "command" => Some(ProcColumn::Command), "read" | "r/s" | "rps" => Some(ProcColumn::ReadPerSecond), "write" | "w/s" | "wps" => Some(ProcColumn::WritePerSecond), - "tread" | "t.read" => Some(ProcColumn::TotalRead), - "twrite" | "t.write" => Some(ProcColumn::TotalWrite), + "tread" | "t.read" | "total read" => Some(ProcColumn::TotalRead), + "twrite" | "t.write" | "total write" => Some(ProcColumn::TotalWrite), "state" => Some(ProcColumn::State), "user" => Some(ProcColumn::User), "time" => Some(ProcColumn::Time), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottom-0.14.3/tools/schema_gen/Cargo.lock new/bottom-0.14.4/tools/schema_gen/Cargo.lock --- old/bottom-0.14.3/tools/schema_gen/Cargo.lock 2026-07-01 06:31:12.000000000 +0200 +++ new/bottom-0.14.4/tools/schema_gen/Cargo.lock 2026-07-09 23:55:42.000000000 +0200 @@ -111,7 +111,7 @@ [[package]] name = "bottom" -version = "0.14.3" +version = "0.14.4" dependencies = [ "anyhow", "clap", @@ -210,9 +210,9 @@ [[package]] name = "clap_complete" -version = "4.6.5" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7a9bfdb35811f9e59832f0f05975114d2251b415fb534108e6f34060fd772" +checksum = "db8b397918185f0161ff3d6fcaa9e4bfc09b8367caf6e1d4a2848e5477ed027b" dependencies = [ "clap", ] @@ -257,9 +257,9 @@ [[package]] name = "clap_mangen" -version = "0.2.33" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e30ffc187e2e3aeafcd1c6e2aa416e29739454c0ccaa419226d5ecd181f2d78" +checksum = "d82842b45bf9f6a3be090dd860095ac30728042c08e0d6261ca7259b5d850f07" dependencies = [ "clap", "roff", @@ -990,9 +990,9 @@ [[package]] name = "plist" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" +checksum = "7da1d65da6dd5d1e44199ac0f58712d241c0f439f80adea8924d832384087f85" dependencies = [ "base64", "indexmap", @@ -1024,9 +1024,9 @@ [[package]] name = "quick-xml" -version = "0.38.4" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" dependencies = [ "memchr", ] @@ -1184,9 +1184,9 @@ [[package]] name = "rustc-hash" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" [[package]] name = "rustc_version" @@ -1383,9 +1383,9 @@ [[package]] name = "starship-battery" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2aa96d3dc4e9714cd8d068e0848b1502c2ed24ae68bdb6ec31b1fb7aef1e42f" +checksum = "e919b7ecd99f2d5ed9efdc8d242ae93d91684181a782dadcbcd72079930155f9" dependencies = [ "cfg-if", "lazycell", @@ -1629,9 +1629,9 @@ [[package]] name = "unicode-ellipsis" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ec3504d2729e4af5b282712c11b29e25bb694ab6b46a7c418f4ddcc1f95ad4" +checksum = "c251ff0046b0e49918e1ef2b4804ae850ba113ae65ed5c6a1e2925a829e86e8c" dependencies = [ "unicode-segmentation", "unicode-width", ++++++ bottom.obsinfo ++++++ --- /var/tmp/diff_new_pack.r8gNqX/_old 2026-07-10 17:50:23.227761962 +0200 +++ /var/tmp/diff_new_pack.r8gNqX/_new 2026-07-10 17:50:23.247762642 +0200 @@ -1,5 +1,5 @@ name: bottom -version: 0.14.3 -mtime: 1782880272 -commit: f17a83e90ba45dac387e77ead5a215f7dc20075b +version: 0.14.4 +mtime: 1783634142 +commit: 435369fd93b399eaa5fe6bc8a18d87186f2cb6bb ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/bottom/vendor.tar.zst /work/SRC/openSUSE:Factory/.bottom.new.1991/vendor.tar.zst differ: char 7, line 1
