A Rust library that checks for new versions of CLI/GUI applications on Crates.io, GitHub, Npm, and PyPI.
Update-informer is a Rust library that helps developers notify users when new versions of their applications are available. It provides a lightweight, configurable solution for version checking across multiple package registries, improving user experience by ensuring they stay up-to-date with the latest features and fixes.
Rust developers building CLI tools, applications, or libraries that need to inform users about available updates. It's particularly useful for maintainers of open-source projects distributed via registries like Crates.io, GitHub, Npm, or PyPI.
Developers choose Update-informer for its multi-registry support, minimal dependencies, and flexible configuration, including custom check intervals, caching, and extensibility for custom registries or HTTP clients, avoiding the complexity of building update-checking from scratch.
Update informer for CLI/GUI applications written in Rust 🦀
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Crates.io, GitHub, Npm, and PyPI out of the box, allowing developers to check updates across multiple platforms without custom code, as highlighted in the README's registry features.
Allows setting custom check intervals, timeouts, and caching behavior, demonstrated with examples for adjusting intervals to hourly or disabling caching with Duration::ZERO.
Enables implementing custom registries or using alternative HTTP clients, with code snippets in the README showing how to define your own registry or integrate clients like isahc.
Keeps the dependency footprint small by relying only on core crates like serde and semver, with optional features for specific HTTP clients, reducing bloat in projects.
Enabling support for additional registries or HTTP clients requires managing feature flags in Cargo.toml, which can be error-prone and increase configuration overhead, as noted in the features table.
The default 24-hour interval for checks means users might not be notified of updates promptly, which could be a drawback for rapidly updating applications or those needing immediate alerts.
Update-informer only provides the version check; developers must implement their own logic for displaying or acting on update notifications, adding extra integration effort and code.