pkgforge/soar
A fast, modern package manager for Static Binaries, Portable Formats (AppImage|AppBundle|FlatImage|Runimage) & More [maintainer=@QaidVoid]
✨ ⛰️ Features
- *(install)* Install packages from a local file path - ([20ce381](https://github.com/pkgforge/soar/commit/20ce38171ac2fd58862ba862f304fb1757cdbaf2))
✨ ⛰️ Features
- *(install)* Implicit-trust model for user-declared sources + checksum pinning ([#171](https://github.com/pkgforge/soar/pull/171)) - ([d395448](https://github.com/pkgforge/soar/commit/d395448ffd10a54f28287fefe86380bbda71c674))
📦 Contributors
- @QaidVoid
✨ ⛰️ Features
- *(cli)* Add shell completions command - ([401fb04](https://github.com/pkgforge/soar/commit/401fb0466844bd05acdb5d847e19d0dcd5d4141b))
- *(sandbox)* Add enabled flag and global defaults - ([a3a4431](https://github.com/pkgforge/soar/commit/a3a4431873a79da17e1c4026846ebd44ea24ab71))
🐛 🐛 Bug Fixes
- *(dl)* Verify download integrity ([#168](https://github.com/pkgforge/soar/pull/168)) - ([336f2dd](https://github.com/pkgforge/soar/commit/336f2dde6cb8d1c112f4f558129ed53bf0888d03))
- *(progress)* Emit build/hook events to clear spinner during build - ([306f001](https://github.com/pkgforge/soar/commit/306f00120e23834658d17b82bfc3eec6f22280d3))
📦 Contributors
- @QaidVoid
✨ ⛰️ Features
- *(cli)* Add `soar repo` subcommand for repository management - ([08d7c18](https://github.com/pkgforge/soar/commit/08d7c18697ff7a8467c5d60475877db1dff45636))
- *(packages)* Add arch_map for custom arch name mapping - ([61c0efb](https://github.com/pkgforge/soar/commit/61c0efb1e95127bde2574480a3971ff2f57e125a))
- *(repo)* Add repository management operations (add, update, remove) - ([fc76b6f](https://github.com/pkgforge/soar/commit/fc76b6f9b97d3ae53b760d33fd1a2cf258eb165a))
- *(search)* Add fuzzy search and "did you mean?" suggestions - ([934b0ff](https://github.com/pkgforge/soar/commit/934b0ffe6f9014a833f9c9bbe1b41772298932c5))
⚡ ⚡ Performance
- *(dl,core)* Fix mutex contention in parallel downloads and database - ([084979d](https://github.com/pkgforge/soar/commit/084979d848174c23fde6b59669f75e58adbc36f3))
💥 Breaking Changes
- Repository consolidation: `bincache` and `pkgcache` repositories have been replaced with the unified [soarpkgs](https://github.com/pkgforge/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](https://github.com/pkgforge/soarpkgs/issues/new/choose) to be added to soarpkgs
- Old repository metadata may not work correctly with this version of soar.
- Public key configuration: Repository `pubkey` now 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):
- ```
- + 15 more
✨ ⛰️ Features
- *(cli)* Add subcommand to convert json to sqlite db - ([16fdeca](https://github.com/pkgforge/soar/commit/16fdecae0898c1e15c5d0ca1ea67c5b414ef7c76))
- *(lock)* Add locking for concurrent process safety ([#154](https://github.com/pkgforge/soar/pull/154)) - ([e3bef6a](https://github.com/pkgforge/soar/commit/e3bef6a09435e83a524b719f7b9f3e0d133c6b64))
- *(provides)* Add @ prefix to symlink packages directly to bin - ([cc8458a](https://github.com/pkgforge/soar/commit/cc8458ab722f4287315fee7a457be0191c10a19d))
🐛 🐛 Bug Fixes
- *(clippy)* Apply clippy suggestions - ([7b85532](https://github.com/pkgforge/soar/commit/7b85532d78baa32ee9541a2d764242656a8c07ba))
- *(provides)* Remove provides filter and add bin_symlink_names helper - ([5ed1951](https://github.com/pkgforge/soar/commit/5ed1951c71c47e12098e6485c607fd5c315fb5a4))
- *(substitute)* Normalize package version - ([c66c4c2](https://github.com/pkgforge/soar/commit/c66c4c23ff9f68c7926c3ffb81ac18553f9ce604))
♻️ 🚜 Refactor
- *(cli)* Use operations from shared crate ([#158](https://github.com/pkgforge/soar/pull/158)) - ([2a2f1be](https://github.com/pkgforge/soar/commit/2a2f1be5db831de95c2d99e114d02c80870f2165))
- *(db)* Add pkg_family, drop recurse_provides - ([1d97b6d](https://github.com/pkgforge/soar/commit/1d97b6d0f9dc230a306fee936dc6571a0a658be3))
- *(download)* Remove proxy api - ([1d3e0ac](https://github.com/pkgforge/soar/commit/1d3e0acc8346834009711cb9f1ad4fbd3454849e))
- *(pubkey)* Use inline key string instead of fetching from URL - ([f2f3e5c](https://github.com/pkgforge/soar/commit/f2f3e5c1190fd79d18732ea2efb4b668d8130f03))
- *(repositories)* Add soarpkgs, drop bincache and pkgcache - ([d07d602](https://github.com/pkgforge/soar/commit/d07d602dc9e972944b7516ac798036e5ddcc689f))
- *(system)* Add per-context system mode support - ([10544ac](https://github.com/pkgforge/soar/commit/10544ac8a2bd896152448f79650c6d98db0d960a))
📝 📚 Documentation
- *(readme)* Update readme - ([4fc58a7](https://github.com/pkgforge/soar/commit/4fc58a774b4c968db8f4d69f7f809378573b4145))
📦 ⚙️ Miscellaneous Tasks
- *(manifest)* Remove deprecated authors field - ([0bf1231](https://github.com/pkgforge/soar/commit/0bf123139798f2efb1674c8a14eaaf4f4640dc2a))
📦 Contributors
- @QaidVoid
✨ ⛰️ Features
- *(config)* Allow setting path for desktop files - ([50c0335](https://github.com/pkgforge/soar/commit/50c033592d5611f4a982c20c45a0242b4826e93d))
- *(nest)* [breaking] Remove nest functionality - ([dc21853](https://github.com/pkgforge/soar/commit/dc21853a2506d93d5ade9e2c4015c3a12b24c199))
- *(self)* Add release notes display and improve update UX - ([e63648c](https://github.com/pkgforge/soar/commit/e63648c0ded70e694a89ab16a65c10649692adf7))
🐛 🐛 Bug Fixes
- *(config)* Fix default repositories detection - ([22c121e](https://github.com/pkgforge/soar/commit/22c121ed2f134274a1edca9a174a4efa076b91c9))
♻️ 🚜 Refactor
- *(config)* Remove --external flag - ([3b53b8b](https://github.com/pkgforge/soar/commit/3b53b8bd91e322df21f7e4466f7d7640330fb613))
✨ ⛰️ Features
- *(config)* Add placeholder support and remove update field - ([824d060](https://github.com/pkgforge/soar/commit/824d0600b342ad5c921fffb3677102377f74ec47))
- *(config)* Make link_as optional and add glob support in binary maps - ([c3945ee](https://github.com/pkgforge/soar/commit/c3945ee556b00713d9f71eb5119a7580d19d6ce1))
🐛 🐛 Bug Fixes
- *(dl)* Handle ureq StatusCode in fallback logic - ([27f5738](https://github.com/pkgforge/soar/commit/27f5738e78f5eb9e83eda9dc99879c2ae2381087))
🐛 🐛 Bug Fixes
- *(system)* [breaking] Change system install path to /opt/soar - ([e694e30](https://github.com/pkgforge/soar/commit/e694e305958fb5def3c5e06946e4e8fa4c625b1a))
🐛 🐛 Bug Fixes
- *(system)* Fix sudo escalation - ([91f9715](https://github.com/pkgforge/soar/commit/91f97159132c82b2433cb83e9df967d640e865bb))
✨ ⛰️ Features
- *(apply)* Allow applying ghcr packages - ([06e2b73](https://github.com/pkgforge/soar/commit/06e2b73fce7f4189527b8868bb9adfe14d0600cc))
- *(cli)* Add system-wide package management ([#141](https://github.com/pkgforge/soar/pull/141)) - ([f8d4f1c](https://github.com/pkgforge/soar/commit/f8d4f1c4e0e230427cd037355ba4a23da5b28a6b))
- *(install)* Add entrypoint option and executable discovery fallbacks - ([b77cffd](https://github.com/pkgforge/soar/commit/b77cffdd6cbdfd66518c1613313d53e1c102a7a2))
- *(packages)* Add snapshot version support with URL placeholders - ([099f96c](https://github.com/pkgforge/soar/commit/099f96c2dea4a559b47cad6da98dd0ee10633a02))
- *(packages)* Add github/gitlab as first-class package sources ([#142](https://github.com/pkgforge/soar/pull/142)) - ([2fc3c3b](https://github.com/pkgforge/soar/commit/2fc3c3b4f8e08dd9eac828dbf4f77128f186c91f))
- *(packages)* Add hooks, build commands, and sandbox support ([#140](https://github.com/pkgforge/soar/pull/140)) - ([a776d61](https://github.com/pkgforge/soar/commit/a776d61c7e7f57567a05b18c1baf683c96f08dff))
- *(sandbox)* Add landlock for sandboxing - ([32687c6](https://github.com/pkgforge/soar/commit/32687c67cce0f880d44d407376b5cb7b57b75f48))
- *(update)* Allow updating remote URL packages ([#137](https://github.com/pkgforge/soar/pull/137)) - ([af13bb6](https://github.com/pkgforge/soar/commit/af13bb637c8c4c4a89cfdac451e39b105e7ee378))
🐛 🐛 Bug Fixes
- *(clippy)* Apply clippy suggestions - ([1b45180](https://github.com/pkgforge/soar/commit/1b45180380790576d50f5c2430038efb0ca6d3a5))
- *(packages)* Skip version fetching when installed version matches ([#143](https://github.com/pkgforge/soar/pull/143)) - ([4325206](https://github.com/pkgforge/soar/commit/4325206829ddc161b9243782bedbb0b47a612c28))
♻️ 🚜 Refactor
- *(db)* Drop with_pkg_id - ([fa99208](https://github.com/pkgforge/soar/commit/fa99208ec1132c720c0065c7ab3eb235db187d34))
- *(error)* Don't override error messages - ([e44342f](https://github.com/pkgforge/soar/commit/e44342f3c23b9cdbe23df2739bcf04bde4138025))
- *(query)* Update query field icons - ([695a427](https://github.com/pkgforge/soar/commit/695a427ef6a4874cb212cdceed192f94150c5548))
📦 Contributors
- @QaidVoid
🐛 🐛 Bug Fixes
- *(apply)* Allow tracking versioning with URL packages ([#129](https://github.com/pkgforge/soar/pull/129)) - ([0b7deb6](https://github.com/pkgforge/soar/commit/0b7deb6733cbfe390cf7f3b5de670fc2010dc260))
- *(install)* Use deterministic hash for package without checksum - ([7a7a060](https://github.com/pkgforge/soar/commit/7a7a06049c61ba38a52921c51cb90b57aee4b809))
- *(install)* Handle removed packages, always show selection with --show - ([2b72975](https://github.com/pkgforge/soar/commit/2b72975c3f1dfc10d1e991cae73c267a8d5580cb))
- *(install)* Fix force reinstall cleanup and resume file corruption - ([c6150f7](https://github.com/pkgforge/soar/commit/c6150f72855249bd048194514dd3bdbca1beb21c))
📦 Contributors
- @Opposite34
📦 Declarative Package Management
- You can now define your packages in a TOML file and let Soar handle the rest.
- Create `~/.config/soar/packages.toml`:
- ```toml
- [packages]
- curl = "*" # latest version
- jq = "1.7.1" # pinned to specific version
- neovim = { pkg_id = "neovim-appimage", repo = "bincache" }
- ```
- + 8 more
📦 Install from URLs
- No more waiting for packages to land in a repository:
- ```bash
- soar install https://github.com/user/repo/releases/download/v1.0/tool-linux-amd64
- ```
- Soar 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 support
- `soar-db` — database layer
- `soar-config` — configuration parsing
- `soar-registry` — package metadata
- `soar-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-progress` flag 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](https://github.com/pkgforge/soar/pull/108)) - ([135af26](https://github.com/pkgforge/soar/commit/135af260d83f009d1edb42f28599ba097280874a))
- *(install)* Allow remote package install - ([e060033](https://github.com/pkgforge/soar/commit/e060033ed1da14a9370650c5eddce6fc1f771c8d))
- *(packages)* Add declarative installation - ([1e95aca](https://github.com/pkgforge/soar/commit/1e95acabf2e6940c4012d49eb5f09d918fdd1983))
- *(progress)* Allow disabling progress bar - ([29e04ff](https://github.com/pkgforge/soar/commit/29e04ff5c41cad2aa55140a5ea938c278debb69d))
🐛 🐛 Bug Fixes
- *(install)* Handle resume on package install - ([f92350f](https://github.com/pkgforge/soar/commit/f92350fb2f57dc84ee4df06881e17a9d59a28eee))
- *(update)* Resolve random package install on update - ([eaa0058](https://github.com/pkgforge/soar/commit/eaa0058548462f987e290e5f883927691ff9fb3c))
♻️ 🚜 Refactor
- *(integration)* Integrate soar with modular crates ([#123](https://github.com/pkgforge/soar/pull/123)) - ([2d340e5](https://github.com/pkgforge/soar/commit/2d340e54ac79fd31087370712f4e189b3391bd16))
- *(log)* Add more debug logs - ([96f5ac9](https://github.com/pkgforge/soar/commit/96f5ac927f7eefdebead243841dc71efd9825c65))
- *(log)* Add debug logs - ([cdbf808](https://github.com/pkgforge/soar/commit/cdbf8085f78d31518686b7be65772d70eb0108dc))
- *(package)* Improve install/remove user experience - ([df8ad1c](https://github.com/pkgforge/soar/commit/df8ad1cd895b224c582d7d56583182594e0ae200))
⚡ ⚡ Performance
- *(list)* Use minimal struct for listing packages - ([71570c7](https://github.com/pkgforge/soar/commit/71570c7c48f9225db7007e52860d4d55a9f41901))
📦 ⚙️ Miscellaneous Tasks
- *(ci)* Ignore libsqlite-sys from machete - ([ca0f988](https://github.com/pkgforge/soar/commit/ca0f988df9973df521e73f50fb5ef1745f2295ea))
- *(crate)* Downgrade crates to ready for publishing - ([3ef7b12](https://github.com/pkgforge/soar/commit/3ef7b12caced8ca5ffee427b2b881ea1154ae2a3))
- *(docs)* Update readme, bump msrv - ([5158af0](https://github.com/pkgforge/soar/commit/5158af067ecf3981585aad4f3097d675f65331d1))
- *(docs)* Fix readme - ([90d8abb](https://github.com/pkgforge/soar/commit/90d8abb9206a304be4c3d8cd5d11ae40584242d6))
🐛 🐛 Bug Fixes
- *(sql)* Fix sql syntax - ([58b3a05](https://github.com/pkgforge/soar/commit/58b3a05460fa6ee29873736c278f6be2abd0dac8))
📦 ⚙️ Miscellaneous Tasks
- *(cli)* Remove bi-directional conflicts_with - ([ff0b62f](https://github.com/pkgforge/soar/commit/ff0b62fd4203bd49e61a7fb2f9a255b6b61a9d27))
✨ ⛰️ Features
- *(portable_cache)* Add support for creating portable cache dir - ([09787c2](https://github.com/pkgforge/soar/commit/09787c24b0a4cd6dedc9647a74d8318b1bb8e7dc))
🐛 🐛 Bug Fixes
- *(nest)* Show error if no nest is removed - ([e157596](https://github.com/pkgforge/soar/commit/e157596bbebdfa0aa21e391d42ab844055011274))
♻️ 🚜 Refactor
- *(cli)* [breaking] Reorder nest add args to *<name\> <url\>* - ([8c63b78](https://github.com/pkgforge/soar/commit/8c63b782cb35b6b905d98cde7b7d330fd7b4596f))
📝 📚 Documentation
- *(readme)* Simplify readme - ([9b09e1f](https://github.com/pkgforge/soar/commit/9b09e1f92eba35edb4c97cd7f280de755ce78deb))
📦 ⚙️ Miscellaneous Tasks
- *(migrations)* Merge database migrations - ([53229ea](https://github.com/pkgforge/soar/commit/53229eac6a145b2f8b90c558d871c6412c5b379a))
✨ ⛰️ Features
- *(nest)* Add sync interval for nest, parallelize fetch nest metadata - ([ccffd4c](https://github.com/pkgforge/soar/commit/ccffd4cef92bd8185e0b9d314938f909895bfda7))
- *(nest)* Implement initial nest support - ([278a20c](https://github.com/pkgforge/soar/commit/278a20c95a7b56a28de809d1ff10cd0e50abf6d3))
🐛 🐛 Bug Fixes
- *(update)* Fix package fetch query on update - ([3757750](https://github.com/pkgforge/soar/commit/3757750aee8f3980f43e8d807e84c819f7c8ec8f))
✨ ⛰️ Features
- *(cli)* Make --yes also apply to file overwrites - ([082e37e](https://github.com/pkgforge/soar/commit/082e37e13c9a3a999113200793755d65141e5ac1))
- *(install)* Allow skipping checksum verification - ([c3d0f72](https://github.com/pkgforge/soar/commit/c3d0f7277c7693b83ca83661af1db6c5cc55ceda))
🐛 🐛 Bug Fixes
- *(install)* Correctly handle partial or broken installations - ([9280467](https://github.com/pkgforge/soar/commit/92804674fc616676990e6d0f83d4f19f3cad60b2))
- *(portable)* Improve portable directory handling - ([dd88b3b](https://github.com/pkgforge/soar/commit/dd88b3bb02c71722297aab550b2f13cd6a41dfdc))
♻️ 🚜 Refactor
- *(self)* Make self feature optional - ([2c2016d](https://github.com/pkgforge/soar/commit/2c2016d000a26be07cdb9715228f4ae052b9e1be))
🐛 🐛 Bug Fixes
- *(checksum)* Handle checksum verification for direct downloads - ([db48108](https://github.com/pkgforge/soar/commit/db481080c7ac1d8f8542b4c2ca5a3559f97203c0))
- *(clippy)* Apply clippy suggestions - ([18e4a51](https://github.com/pkgforge/soar/commit/18e4a51cf50481d674d9480c36a97451007a9215))
♻️ 🚜 Refactor
- *(search)* Sort search results by name - ([6672d91](https://github.com/pkgforge/soar/commit/6672d914ff982dc59c41a3b33703f2365d361581))
✨ ⛰️ Features
- *(repositories)* Enable repositories based on platform - ([b865447](https://github.com/pkgforge/soar/commit/b865447667f7ed536a7a6b39f05ba5233a9f08f0))
- *(repositories)* Add new repositories - ([a6e0a7d](https://github.com/pkgforge/soar/commit/a6e0a7d59b06be31202ff185101e4da91b9a7739))
♻️ 🚜 Refactor
- *(repositories)* Make repositories list maintainable and flexible - ([a3752ec](https://github.com/pkgforge/soar/commit/a3752ece95933eca7d7f95945f5c7127613dc992))
📝 📚 Documentation
- *(readme)* Add refs on hosts, redistribution & sponsors ([#67](https://github.com/pkgforge/soar/pull/67)) - ([50b2011](https://github.com/pkgforge/soar/commit/50b2011c0b58f18fd82f966132d829800127ce71))
📦 ⚙️ Miscellaneous Tasks
- Add CI attestations, cross-rs, and improve install script ([#75](https://github.com/pkgforge/soar/pull/75)) - ([8fae192](https://github.com/pkgforge/soar/commit/8fae19287124b9f1c25c8971919aa7d2ea9d7132))
📦 Contributors
- @Azathothas
✨ ⛰️ Features
- *(install)* Support soar_syms directory - ([cb71c1d](https://github.com/pkgforge/soar/commit/cb71c1d55c3be9cf44d38176aa4ef75f203aced6))
- *(repository)* Handle recurse provides - ([10878a7](https://github.com/pkgforge/soar/commit/10878a786a22897864dafdfcab82e4f46732e7f7))
🐛 🐛 Bug Fixes
- *(install)* Handle alias provide strategy - ([319940c](https://github.com/pkgforge/soar/commit/319940c251b6c00d9de6b6e0f50b94f6de7f08f9))
- *(install)* Don't check if the file inside SOAR_SYMS dir is ELF - ([cf020c8](https://github.com/pkgforge/soar/commit/cf020c83da17e4a227d1eff446d4dfde92421da2))
- *(metadata)* Filter non-existing repos and prevent empty db creation - ([3353ab5](https://github.com/pkgforge/soar/commit/3353ab55699251aea8f8541a690ce417087c8e3e))
♻️ 🚜 Refactor
- *(checksum)* Save checksum from metadata as is for installed package - ([55b1f34](https://github.com/pkgforge/soar/commit/55b1f34911543743f52d92fd5618d1e47134896c))
🐛 🐛 Bug Fixes
- *(database)* Update package insert statement - ([7c3ab9d](https://github.com/pkgforge/soar/commit/7c3ab9dec424dd69ba419809adb5cdc49831c464))
✨ ⛰️ Features
- *(config)* Allow selectively enabling repos for default config - ([6acab85](https://github.com/pkgforge/soar/commit/6acab852eb04f7c37584f80f475bf773d2241d74))
- *(config)* Add global overrides for repo config - ([9f15193](https://github.com/pkgforge/soar/commit/9f151931da874b8edd6e6c1eb2df1af2849e5f25))
- *(config)* Allow env vars, add comments on default config - ([6799a70](https://github.com/pkgforge/soar/commit/6799a70ef7f83c3b7434776089716ecd8bda7183))
- *(config)* Allow stealth mode (skip reading config file) - ([6ee0954](https://github.com/pkgforge/soar/commit/6ee0954a2dc8a62fd6121323e3a8a52f387560c6))
- *(package)* Support portable share dir - ([57bd08d](https://github.com/pkgforge/soar/commit/57bd08d7b0cd8e1878f76853a4d29eda6209e269))
- *(package)* Symlink all binaries in install dir if no provides - ([8defec2](https://github.com/pkgforge/soar/commit/8defec279d33e78fb8b2a772a94b14b500e0a4e5))
- *(package)* Add support for extracting archives - ([cc139cb](https://github.com/pkgforge/soar/commit/cc139cb64b35fe74f624c4b2bbf7faf99f8ed71d))
- *(request)* Add ability to set custom proxy, header and user-agent - ([4d403b8](https://github.com/pkgforge/soar/commit/4d403b8b9db2582a8c43690d31deaa248a6e3355))
- + 1 more
🐛 🐛 Bug Fixes
- *(package)* Handle provides condition to keep both - ([f46e90e](https://github.com/pkgforge/soar/commit/f46e90e0604b48fccf5d26c1a2ff1ce7800a662c))
- *(package)* Handle provide without target - ([6ff23b7](https://github.com/pkgforge/soar/commit/6ff23b76c36ef40091d0be5b7a46d19834ddf662))
- *(package)* Apply sig variant patterns automatically - ([25ee70e](https://github.com/pkgforge/soar/commit/25ee70e93bc497e4e2a4b665969af963f79515a9))
- *(query)* Include all columns in default database query - ([be82784](https://github.com/pkgforge/soar/commit/be82784e473831820a044c7bbc0fd68a229f3862))
- *(run)* Support full package syntax - ([f2a9b19](https://github.com/pkgforge/soar/commit/f2a9b19d7ac23d8a8e43688f90ed024afe72d08f))
- *(signature)* Skip signature verification if original file doesn't exist - ([cf0da95](https://github.com/pkgforge/soar/commit/cf0da95961dbd5ab263ba66d0a2b2334ea3f1abf))
- *(update)* Prevent updating partially installed packages - ([b4b718d](https://github.com/pkgforge/soar/commit/b4b718d30acd1b29a2d8c962eaaf7a3d73bfb7bf))
♻️ 🚜 Refactor
- *(metadata)* Update metadata database fields - ([0d8dc7f](https://github.com/pkgforge/soar/commit/0d8dc7f3b703ba815290e5228e0c2403f3f483b1))
📝 📚 Documentation
- *(readme)* Refactor readme & install script ([#49](https://github.com/pkgforge/soar/pull/49)) - ([63594c3](https://github.com/pkgforge/soar/commit/63594c37f93fa402e4ab899178c5c1fd34d88352))
📦 Contributors
- @Azathothas
✨ ⛰️ Features
- *(ask)* Support ask flag for install/update - ([228cb76](https://github.com/pkgforge/soar/commit/228cb7630553a5e5340d937ba7960127c39f0a92))
- *(info)* Add count flag to show unique installed package count only - ([e4fcf89](https://github.com/pkgforge/soar/commit/e4fcf895d5797045224276a34bc1caa3b7a08522))
🐛 🐛 Bug Fixes
- *(config)* Reload config after setting custom config path - ([18128ba](https://github.com/pkgforge/soar/commit/18128bab86214b151aa5057363a0c27c4b39b726))
- *(provides)* Only allow provides with link to pkg_name - ([2be5dee](https://github.com/pkgforge/soar/commit/2be5dee941ef425d33327b9e2170d2a6c84ccf1b))
♻️ 🚜 Refactor
- *(list)* Improve package list output - ([1118025](https://github.com/pkgforge/soar/commit/111802552c9bc7608d2cd1bf126954163fdfac03))
- *(stable)* Remove use of unstable features - ([4084db5](https://github.com/pkgforge/soar/commit/4084db5041d788c1c6cf319b4a77cd5ede256699))
✨ ⛰️ Features
- *(install)* Show installed path and symlinks - ([ab22401](https://github.com/pkgforge/soar/commit/ab22401832b9855ca8edbfb3b1df38636d2bb380))
🐛 🐛 Bug Fixes
- *(clean)* Remove package entirely on clean broken package - ([03d67be](https://github.com/pkgforge/soar/commit/03d67be974c9bade1bad6ec3a5f124d31473eb7f))
- *(clippy)* Apply clippy suggestions - ([0be9c71](https://github.com/pkgforge/soar/commit/0be9c71c4e3c9917ea35c92bc02a2a1b4a98cf33))
- *(fs)* Remove filtering from process_dir, delegate to caller - ([e60139b](https://github.com/pkgforge/soar/commit/e60139bc5dafbcfd485df102d1feda57faae4393))
- *(integration)* Fix check for no desktop integration note - ([1344248](https://github.com/pkgforge/soar/commit/1344248942d87dae379fcac84de631978d29f95b))
✨ ⛰️ Features
- *(health)* Check if bin is in PATH - ([2c06017](https://github.com/pkgforge/soar/commit/2c06017a11e409b9207d55d86292e984ab105715))
- *(install)* Add partial support for excluding files on install - ([f496bf5](https://github.com/pkgforge/soar/commit/f496bf5f67dc9c71fab1c61d53e33f8047cab862))
- *(package)* Track excluded package installation files - ([a7ca6c0](https://github.com/pkgforge/soar/commit/a7ca6c01301784cf6f06c3a31b6bf47f174f39df))
- *(package)* Handle multiple desktop/icon integration - ([c5b6e4a](https://github.com/pkgforge/soar/commit/c5b6e4aeb8235372b77281b532dfdee7c3b73e79))
- *(package)* Handle replaced pkg_id - ([61a47fb](https://github.com/pkgforge/soar/commit/61a47fb0aa52e47719c845e21d94e524fa26466e))
🐛 🐛 Bug Fixes
- *(args)* Make top level flags global - ([2b6d14b](https://github.com/pkgforge/soar/commit/2b6d14b5b0a90342920c15f5e3d638a4319457f7))
- *(self_update)* Fix channel switch - ([aff38ec](https://github.com/pkgforge/soar/commit/aff38ec43d6448fc87e9f1e261c551ff7b60270a))
🐛 🐛 Bug Fixes
- *(self_update)* Use semver version comparison - ([96af984](https://github.com/pkgforge/soar/commit/96af984560e9924f63a75f0c65d2b4868c03afd5))
✨ ⛰️ Features
- *(health)* Add basic health functionality - ([b5ba25b](https://github.com/pkgforge/soar/commit/b5ba25b090daf36023ff752bd06a4592a445030a))
🐛 🐛 Bug Fixes
- *(config)* Handle bin and repositories path - ([e7537de](https://github.com/pkgforge/soar/commit/e7537de771d9540ea0838b873d2f903ca4055c05))
- *(metadata)* Prevent crash on metadata fetch failure - ([42cf13f](https://github.com/pkgforge/soar/commit/42cf13f8375895121bb8d295a8d8a1fb0b568b28))
📦 Contributors
- @QaidVoid
🐛 🐛 Bug Fixes
- *(deps)* Update soar-dl to resolve append bug - ([65d56ce](https://github.com/pkgforge/soar/commit/65d56ceee940d905df346c4e8e1c9dd079af0a95))
- *(exe)* Fix self executable path - ([2918a57](https://github.com/pkgforge/soar/commit/2918a576ba72401e3d698f3ed683a32f0e83eb58))
- *(run)* Make soar flags passable after package name - ([c35e7d0](https://github.com/pkgforge/soar/commit/c35e7d0fecc6a0de87ba6c5abb4e258c8241f81e))
📦 ⚙️ Miscellaneous Tasks
- *(script)* Improve install script (#24) - ([d83eb6e](https://github.com/pkgforge/soar/commit/d83eb6eb0e472ebb2d9e38b0a29e88c72192e0d9))
- <!-- generated by git-cliff -->
