Releases: pkgforge/soar
nightly-61c0efb
feat(packages): add arch_map for custom arch name mapping
Soar v0.12.0
Breaking Changes
- Repository consolidation:
bincacheandpkgcacherepositories have been replaced with the unified soarpkgs repository. The old repositories are no longer updated.- Not all packages have been ported to soarpkgs yet. If you need packages that haven't been migrated:
- Option 1: Use an older version of soar that still supports the old repositories
- Option 2: Request the package to be added to soarpkgs
- Old repository metadata may not work correctly with this version of soar.
- Not all packages have been ported to soarpkgs yet. If you need packages that haven't been migrated:
- Public key configuration: Repository
pubkeynow expects a direct public key value instead of a URL. Update your custom repository configurations accordingly.
To use old repositories, configure these in config (replace x86_64 with correct arch):
[[repositories]]
name = "bincache"
url = "https://meta.pkgforge.dev/bincache/x86_64-Linux.sdb.zstd"
desktop_integration = false
pubkey = "RWSWp/oBUfND5B2fSmDlYaBXPimGV+r2s9skVRYTQ5cJ+7i6ff/1Nxcr"
enabled = true
signature_verification = true
sync_interval = "3h"
[[repositories]]
name = "pkgcache"
url = "https://meta.pkgforge.dev/pkgcache/x86_64-Linux.sdb.zstd"
desktop_integration = true
pubkey = "RWSWp/oBUfND5B2fSmDlYaBXPimGV+r2s9skVRYTQ5cJ+7i6ff/1Nxcr"
Also, don't forget to re-sync the repositories with soar sync.
⛰️ Features
- (cli) Add subcommand to convert json to sqlite db - (16fdeca)
- (lock) Add locking for concurrent process safety (#154) - (e3bef6a)
- (provides) Add @ prefix to symlink packages directly to bin - (cc8458a)
🐛 Bug Fixes
- (clippy) Apply clippy suggestions - (7b85532)
- (provides) Remove provides filter and add bin_symlink_names helper - (5ed1951)
- (substitute) Normalize package version - (c66c4c2)
🚜 Refactor
- (cli) Use operations from shared crate (#158) - (2a2f1be)
- (db) Add pkg_family, drop recurse_provides - (1d97b6d)
- (download) Remove proxy api - (1d3e0ac)
- (pubkey) Use inline key string instead of fetching from URL - (f2f3e5c)
- (repositories) Add soarpkgs, drop bincache and pkgcache - (d07d602)
- (system) Add per-context system mode support - (10544ac)
📚 Documentation
- (readme) Update readme - (4fc58a7)
⚙️ Miscellaneous Tasks
- (manifest) Remove deprecated authors field - (0bf1231)
Contributors
Soar v0.11.0
⛰️ Features
- (config) Allow setting path for desktop files - (50c0335)
- (nest) [breaking] Remove nest functionality - (dc21853)
- (self) Add release notes display and improve update UX - (e63648c)
🐛 Bug Fixes
- (config) Fix default repositories detection - (22c121e)
🚜 Refactor
- (config) Remove --external flag - (3b53b8b)
Soar v0.10.3
Soar v0.10.2
🐛 Bug Fixes
- (system) [breaking] Change system install path to /opt/soar - (e694e30)
Soar v0.10.1
🐛 Bug Fixes
- (system) Fix sudo escalation - (91f9715)
Soar v0.10.0
⛰️ Features
- (apply) Allow applying ghcr packages - (06e2b73)
- (cli) Add system-wide package management (#141) - (f8d4f1c)
- (install) Add entrypoint option and executable discovery fallbacks - (b77cffd)
- (packages) Add snapshot version support with URL placeholders - (099f96c)
- (packages) Add github/gitlab as first-class package sources (#142) - (2fc3c3b)
- (packages) Add hooks, build commands, and sandbox support (#140) - (a776d61)
- (sandbox) Add landlock for sandboxing - (32687c6)
- (update) Allow updating remote URL packages (#137) - (af13bb6)
🐛 Bug Fixes
- (clippy) Apply clippy suggestions - (1b45180)
- (packages) Skip version fetching when installed version matches (#143) - (4325206)
🚜 Refactor
- (db) Drop with_pkg_id - (fa99208)
- (error) Don't override error messages - (e44342f)
- (query) Update query field icons - (695a427)
Contributors
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)