2 |
3 | # nvrs
4 | 🚦 fast new version checker for software releases 🦀
5 |
6 | [](https://github.com/The-Grindhouse/guidelines)
7 |  [](#documentation)
8 | [](https://github.com/adamperkowski/nvrs/graphs/contributors)  
9 |
10 | 
11 |
12 |
13 |
14 | ## Features
15 | ### [nvchecker](https://github.com/lilydjwg/nvchecker) compatibility
16 | check the [release notes](https://github.com/adamperkowski/nvrs/releases) and [configuration docs](#configuration) for compatibility updates and instructions.
17 |
18 | ### Speed
19 |
20 |
21 | | command | time per **updated** package | details |
22 | |---------------|------------------------------|--------------------------------------------------------|
23 | | `nvrs` | ~ 0.03s | **API requests included** depends on internet speed |
24 | | `nvrs --cmp` | ~ 0.0008s | depends on disk speed |
25 | | `nvrs --take` | ~ 0.001s | depends on disk speed |
26 |
27 | ### Sources
28 | - `aur`
29 | - `cratesio`
30 | - `gitea`
31 | - `github`
32 | - `gitlab` (with custom hosts)
33 | - `website` (regex)
34 |
35 | ### QOL improvements
36 | - `ALL` argument for the `--take` command
37 | - `--no-fail` flag to prevent exiting on recoverable errors
38 | - `--nuke` command to delete packages from all files
39 | - `--list-sources` command to list all available sources
40 |
41 | ## Installation
42 |
43 |
44 | see the [installation guide](https://nvrs.adamperkowski.dev/installation.html) for instructions on how to install nvrs.
45 |
46 | ## Usage
47 | nvrs relies on a configuration file. see [configuration](https://nvrs.adamperkowski.dev/configuration.html).
48 |
49 |
50 |
51 | the core commands are:
52 | - `nvrs` - fetches latest versions of defined packages
53 | - `nvrs --cmp` - compares newver with oldver and displays differences
54 | - `nvrs --take` - automatically updates oldver. takes in a comma-separated list of package names (`ALL` for all packages)
55 | - `nvrs --nuke` - deletes packages from all files. takes in a comma-separated list of names (yes, just like a hitman)
56 | - the `--no-fail` flag - as the name suggests, specifying this will make nvrs not exit on recoverable errors
57 |
58 | ### Example usage
59 | ```sh
60 | # download the example configuration file
61 | curl -L 'https://github.com/adamperkowski/nvrs/raw/main/nvrs.toml' -o nvrs.toml
62 |
63 | # fetch latest package versions (should return `NONE -> version` for all packages)
64 | nvrs --no-fail
65 |
66 | # compare them to latest known versions (should also return `NONE -> version`)
67 | nvrs -c
68 |
69 | # update the known versions
70 | nvrs -t ALL
71 | ```
72 |
73 | for all available commands, options and flags, see `nvrs --help` and the [manual page](/man/nvrs.1).
74 |
75 | ## Documentation
76 | full documentation can be found at [nvrs.adamperkowski.dev](https://nvrs.adamperkowski.dev).
77 | nvrs library documentation can be found at [docs.rs/nvrs](https://docs.rs/nvrs/latest/nvrs)
78 |
79 | ## Contributing
80 | if you want to contribute to the project, please read the [Contributing Guidelines](/CONTRIBUTING.md) before doing so.
81 |
82 | if you find any parts of the code or the documentation unclear, or have any suggestions, feel free to [open an issue](https://github.com/adamperkowski/nvrs/issues/new/choose) or a [pull request](https://github.com/adamperkowski/nvrs/pull/new).
83 |
84 | ## Credits
85 | - [依云](https://github.com/lilydjwg) | the original [nvchecker](https://github.com/lilydjwg/nvchecker)
86 | - [orhun](https://github.com/orhun) | the idea
87 |
88 |
89 |
90 | Copyright (c) 2025 Adam Perkowski see [LICENSE](/LICENSE)
91 |
92 |