Releases: pkgforge/soar
nightly-e44342f
refactor(error): don't override error messages
Soar v0.9.1
🐛 Bug Fixes
- (apply) Allow tracking versioning with URL packages (#129) - (0b7deb6)
- (install) Use deterministic hash for package without checksum - (7a7a060)
- (install) Handle removed packages, always show selection with --show - (2b72975)
- (install) Fix force reinstall cleanup and resume file corruption - (c6150f7)
Contributors
Soar v0.9.0
This release completely restructures the internals and adds two features: declarative package management and installing directly from URLs.
Declarative Package Management
You can now define your packages in a TOML file and let Soar handle the rest.
Create ~/.config/soar/packages.toml:
[packages]
curl = "*" # latest version
jq = "1.7.1" # pinned to specific version
neovim = { pkg_id = "neovim-appimage", repo = "bincache" }Then run:
soar apply # install/update to match the file
soar apply --prune # also remove packages not in the file
soar apply --dry-run # see what would changeDefine once, apply anywhere.
You can get fancier with it too: pin versions, specify repositories, configure portable directories, exclude files. Run soar defpackages to generate an annotated template.
Install from URLs
No more waiting for packages to land in a repository:
soar install https://github.com/user/repo/releases/download/v1.0/tool-linux-amd64Soar figures out the package name and type from the URL. If it gets it wrong, override with --name, --pkg-type, etc.
Under the Hood
The codebase is now split into independent crates:
soar-dl— downloads with resume supportsoar-db— database layersoar-config— configuration parsingsoar-registry— package metadatasoar-package— format handling (AppImage, archives, etc.)soar-utils— shared utilities
This doesn't change anything for users, but it makes the code easier to work on. Each crate is versioned independently.
Smaller Things
--no-progressflag to suppress progress bars (useful for scripts/CI)- Fixed a bug where interrupted downloads wouldn't resume properly
- Package listing is faster now
- Better debug logging throughout
⛰️ Features
- (crate) Init soar-config crate (#108) - (135af26)
- (install) Allow remote package install - (e060033)
- (packages) Add declarative installation - (1e95aca)
- (progress) Allow disabling progress bar - (29e04ff)
🐛 Bug Fixes
- (install) Handle resume on package install - (f92350f)
- (update) Resolve random package install on update - (eaa0058)
🚜 Refactor
- (integration) Integrate soar with modular crates (#123) - (2d340e5)
- (log) Add more debug logs - (96f5ac9)
- (log) Add debug logs - (cdbf808)
- (package) Improve install/remove user experience - (df8ad1c)
⚡ Performance
- (list) Use minimal struct for listing packages - (71570c7)
⚙️ Miscellaneous Tasks
Soar v0.8.1
Note
If your first installed version was v0.8.0, then you likely have a corrupted database. If you can't install any program with this version, please clear the database file at ~/.local/share/soar/db/soar.db.
🐛 Bug Fixes
- (sql) Fix sql syntax - (58b3a05)
⚙️ Miscellaneous Tasks
- (cli) Remove bi-directional conflicts_with - (ff0b62f)
Soar v0.8.0
⛰️ Features
- (portable_cache) Add support for creating portable cache dir - (09787c2)
🐛 Bug Fixes
- (nest) Show error if no nest is removed - (e157596)
🚜 Refactor
- (cli) [breaking] Reorder nest add args to <name> <url> - (8c63b78)
📚 Documentation
- (readme) Simplify readme - (9b09e1f)
⚙️ Miscellaneous Tasks
- (migrations) Merge database migrations - (53229ea)
Soar v0.7.0
Soar v0.6.6
⛰️ Features
- (cli) Make --yes also apply to file overwrites - (082e37e)
- (install) Allow skipping checksum verification - (c3d0f72)
🐛 Bug Fixes
- (install) Correctly handle partial or broken installations - (9280467)
- (portable) Improve portable directory handling - (dd88b3b)
🚜 Refactor
- (self) Make self feature optional - (2c2016d)