Skip to content

v2.2-alpha

Choose a tag to compare

@Valinwolf Valinwolf released this 07 Nov 20:58
· 8 commits to main since this release
86c843b

New Features:
• Automatic Update System
• Added integrated GitHub update checker that detects new tags/releases from the configured repository.
• Supports forking by allowing a custom UPDATE_URL value in /usr/local/etc/sush/env.
• Only checks once per run to minimize network usage.
• Prompts the user to update if a newer version is available.
• Granular Update Installer
• Downloads and installs only the files listed in files.txt from the remote repository—no full repo cloning required.
• Preserves file ownership and permissions for existing files.
• Creates new files using safe defaults (0644 for regular files, 0755 for executables).
• Fetches and installs Python dependencies from requirements.txt (if present) using pip.
• Retains files.txt locally at /usr/local/etc/sush/files.txt for system integrity tracking.
• All operations use sudo -A with the existing curses-based askpass system for secure, non-interactive privilege elevation.

Configuration Changes:
• Added new environment variable UPDATE_URL to /usr/local/etc/sush/env to specify the repository used for updates.
• Moved the version string to the top of the main script as VERSION = “2.2-alpha”.
• PROMPT_OVERRIDE remains configurable via the same file.

Dependency Updates:
• Added packaging (PyPI) for version parsing and comparison.

File Map (files.txt):
r /etc/sush/env
x /bin/sush
x /bin/sush-askpass

Summary:
This release introduces a fully automated, secure update mechanism with fine-grained file management and repository flexibility—laying the groundwork for stable release channels and user-maintained forks.