par-term-update
Self-update and update-check system for the par-term terminal emulator.
This crate handles GitHub release polling, in-place binary replacement for standalone installs, installation type detection, SHA256 asset verification, and bundled asset manifest tracking for shaders and shell integration scripts.
What This Crate Provides
update_checker— polls the GitHub releases API to detect available updates, with configurable check frequency (daily, weekly, manual) and cooldown enforcementself_updater— in-place binary replacement for standalone installs; downloads the platform-appropriate asset, verifies its SHA256 checksum, and replaces the running binaryinstall_methods— detects whether par-term is installed via Homebrew,cargo install, a macOS.appbundle, or as a standalone binary; provides platform-specific upgrade pathsbinary_ops— asset name resolution, download URL construction, and SHA256 verificationmanifest— tracks installed bundled assets (shaders, shell integration scripts) for upgrade and rollbackhttp— shared HTTP utilities for release API and asset download requests
Key Types
| Type | Purpose |
|---|---|
UpdateChecker |
Polls GitHub releases API with frequency control |
UpdateCheckResult |
Outcome: UpToDate, UpdateAvailable, Disabled, Skipped, Error |
UpdateCheckInfo |
Available update details: version, release notes, URL |
These types are also available via par-term-settings-ui re-exports used by the settings
UI to display update status and trigger installation.
Security Note
SHA256 checksums are verified against .sha256 release assets before installation. When no
checksum asset is present, installation proceeds with a warning. See SECURITY.md
for the full security policy on self-updates.
Workspace Position
Layer 2 in the dependency graph. Depends on par-term-config for update frequency and
skipped-version settings. Used directly by the root par-term crate.
Related Documentation
- Self-Update — update configuration and installation methods
- Config Reference — update configuration options
- Security Policy — checksum verification and update security
- Crate Structure — dependency layers