0.12.1 - 2026-04-10
- (cli) Add
soar reposubcommand for repository management - (08d7c18) - (packages) Add arch_map for custom arch name mapping - (61c0efb)
- (repo) Add repository management operations (add, update, remove) - (fc76b6f)
- (search) Add fuzzy search and "did you mean?" suggestions - (934b0ff)
- (dl,core) Fix mutex contention in parallel downloads and database - (084979d)
0.12.0 - 2026-02-24
- (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)
- (clippy) Apply clippy suggestions - (7b85532)
- (provides) Remove provides filter and add bin_symlink_names helper - (5ed1951)
- (substitute) Normalize package version - (c66c4c2)
- (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)
- (readme) Update readme - (4fc58a7)
- (manifest) Remove deprecated authors field - (0bf1231)
0.11.0 - 2026-02-04
- (config) Allow setting path for desktop files - (50c0335)
- (nest) [breaking] Remove nest functionality - (dc21853)
- (self) Add release notes display and improve update UX - (e63648c)
- (config) Fix default repositories detection - (22c121e)
- (config) Remove --external flag - (3b53b8b)
0.10.3 - 2026-01-24
- (config) Add placeholder support and remove update field - (824d060)
- (config) Make link_as optional and add glob support in binary maps - (c3945ee)
- (dl) Handle ureq StatusCode in fallback logic - (27f5738)
0.10.2 - 2026-01-17
- (system) [breaking] Change system install path to /opt/soar - (e694e30)
0.10.1 - 2026-01-17
- (system) Fix sudo escalation - (91f9715)
0.10.0 - 2026-01-17
- (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)
- (clippy) Apply clippy suggestions - (1b45180)
- (packages) Skip version fetching when installed version matches (#143) - (4325206)
- (db) Drop with_pkg_id - (fa99208)
- (error) Don't override error messages - (e44342f)
- (query) Update query field icons - (695a427)
0.9.1 - 2025-12-28
- (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)
0.9.0 - 2025-12-26
- (crate) Init soar-config crate (#108) - (135af26)
- (install) Allow remote package install - (e060033)
- (packages) Add declarative installation - (1e95aca)
- (progress) Allow disabling progress bar - (29e04ff)
- (install) Handle resume on package install - (f92350f)
- (update) Resolve random package install on update - (eaa0058)
- (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)
- (list) Use minimal struct for listing packages - (71570c7)
- (ci) Ignore libsqlite-sys from machete - (ca0f988)
- (crate) Downgrade crates to ready for publishing - (3ef7b12)
- (docs) Update readme, bump msrv - (5158af0)
- (docs) Fix readme - (90d8abb)
0.8.1 - 2025-09-19
- (sql) Fix sql syntax - (58b3a05)
- (cli) Remove bi-directional conflicts_with - (ff0b62f)
0.8.0 - 2025-09-17
- (portable_cache) Add support for creating portable cache dir - (09787c2)
- (nest) Show error if no nest is removed - (e157596)
- (cli) [breaking] Reorder nest add args to - (8c63b78)
- (readme) Simplify readme - (9b09e1f)
- (migrations) Merge database migrations - (53229ea)
0.7.0 - 2025-08-23
- (nest) Add sync interval for nest, parallelize fetch nest metadata - (ccffd4c)
- (nest) Implement initial nest support - (278a20c)
- (update) Fix package fetch query on update - (3757750)
0.6.6 - 2025-08-17
- (cli) Make --yes also apply to file overwrites - (082e37e)
- (install) Allow skipping checksum verification - (c3d0f72)
- (install) Correctly handle partial or broken installations - (9280467)
- (portable) Improve portable directory handling - (dd88b3b)
- (self) Make self feature optional - (2c2016d)
0.6.5 - 2025-07-12
- (checksum) Handle checksum verification for direct downloads - (db48108)
- (clippy) Apply clippy suggestions - (18e4a51)
- (search) Sort search results by name - (6672d91)
0.6.4 - 2025-06-26
- (repositories) Enable repositories based on platform - (b865447)
- (repositories) Add new repositories - (a6e0a7d)
- (repositories) Make repositories list maintainable and flexible - (a3752ec)
0.6.3 - 2025-06-12
- (install) Handle alias provide strategy - (319940c)
- (install) Don't check if the file inside SOAR_SYMS dir is ELF - (cf020c8)
- (metadata) Filter non-existing repos and prevent empty db creation - (3353ab5)
0.6.2 - 2025-06-03
- (checksum) Save checksum from metadata as is for installed package - (55b1f34)
0.6.1 - 2025-06-02
- (database) Update package insert statement - (7c3ab9d)
0.6.0 - 2025-06-01
- (config) Allow selectively enabling repos for default config - (6acab85)
- (config) Add global overrides for repo config - (9f15193)
- (config) Allow env vars, add comments on default config - (6799a70)
- (config) Allow stealth mode (skip reading config file) - (6ee0954)
- (package) Support portable share dir - (57bd08d)
- (package) Symlink all binaries in install dir if no provides - (8defec2)
- (package) Add support for extracting archives - (cc139cb)
- (request) Add ability to set custom proxy, header and user-agent - (4d403b8)
- (runimage) Support portable dir for runimages - (a084b19)
- (package) Handle provides condition to keep both - (f46e90e)
- (package) Handle provide without target - (6ff23b7)
- (package) Apply sig variant patterns automatically - (25ee70e)
- (query) Include all columns in default database query - (be82784)
- (run) Support full package syntax - (f2a9b19)
- (signature) Skip signature verification if original file doesn't exist - (cf0da95)
- (update) Prevent updating partially installed packages - (b4b718d)
- (metadata) Update metadata database fields - (0d8dc7f)
0.5.15 - 2025-05-04
- (ask) Support ask flag for install/update - (228cb76)
- (info) Add count flag to show unique installed package count only - (e4fcf89)
- (config) Reload config after setting custom config path - (18128ba)
- (provides) Only allow provides with link to pkg_name - (2be5dee)
0.5.14 - 2025-03-22
- (install) Show installed path and symlinks - (ab22401)
- (clean) Remove package entirely on clean broken package - (03d67be)
- (clippy) Apply clippy suggestions - (0be9c71)
- (fs) Remove filtering from process_dir, delegate to caller - (e60139b)
- (integration) Fix check for no desktop integration note - (1344248)
0.5.13 - 2025-03-10
- (health) Check if bin is in PATH - (2c06017)
- (install) Add partial support for excluding files on install - (f496bf5)
- (package) Track excluded package installation files - (a7ca6c0)
- (package) Handle multiple desktop/icon integration - (c5b6e4a)
- (package) Handle replaced pkg_id - (61a47fb)
0.5.12 - 2025-03-02
0.5.11 - 2025-03-01
- (self_update) Use semver version comparison - (96af984)
0.5.10 - 2025-03-01
- (health) Add basic health functionality - (b5ba25b)
- (config) Handle bin and repositories path - (e7537de)
- (metadata) Prevent crash on metadata fetch failure - (42cf13f)
- @QaidVoid
0.5.9 - 2025-02-26
- (deps) Update soar-dl to resolve append bug - (65d56ce)
- (exe) Fix self executable path - (2918a57)
- (run) Make soar flags passable after package name - (c35e7d0)
- (script) Improve install script (#24) - (d83eb6e)
0.5.8 - 2025-02-25
- (integration) Create parent dir if doesn't exist - (c450fae)
- (yes) Handle auto-select first package in download - (89aaa73)
- (run) Improve run performance for cached binary - (b4178b3)
0.5.7 - 2025-02-17
- (download) Try downloading package if url is invalid - (6bd2a34)
- (config) Print default config if config file doesn't exist - (3ba2a63)
- (metadata) Fix metadata sync interval handling - (c2de6a7)
- (query) Handle full package query - (bb944c0)
0.5.6 - 2025-02-15
- (signature) Add minisign signature verification - (afe39a6)
- (sync) Add option to set sync interval for each repository - (06c7b64)
- (wrappe) Add wrappe desktop integration support - (a8d362f)
- (env) Use info instead of warn for
envcommand output note - (0cb5874) - (run) Use ghcr_blob to pull the binary - (322cc01)
- (size) Calculate directory size for installed packages info - (0698f0f)
0.5.5 - 2025-02-11
- (config) Add subcommand to print or edit config - (e2e6687)
- (config) Add ability to use custom config path and set custom root for default config - (04d2e9b)
- (list) Optimise package search and list - (81576e8)
0.5.4 - 2025-02-11
- (inspect) Read logs and build script from existing install - (5ee8912)
- (install) Track portable dirs - (6daca67)
- (install) Add flag to suppress install notes - (8b4ae6f)
- (repos) Allow setting up external repos - (6ef67bf)
- (download) Retry on GHCR rate limit - (393df6a)
- (repos) Use platform specific external repos - (cc017b5)
- (error) Improve config errors - (c8f39ab)
- (install) Show package notes after installation - (55b5526)
- (type) Loosen up package types - (41acaea)
- (workflow) Update github workflows - (baffeff)
0.5.3 - 2025-02-04
- (metadata) Add support for zstd compressed sqlite database - (1cae955)
- (self) Allow switching soar release channels - (25acb9c)
- (install) Use ghcr size, switch to official ghcr API - (58b812c)
- (nightly) Fix nightly version - (9f7bd79)
- (metadata) Parallelize metadata fetch, use gzip on request - (3863707)
- (config) Update default repository URLs to use sdb.zstd format - (b76127e)
0.5.2 - 2025-01-30
- (icon) Fix desktop icon integration - (7d09ff4)
- (integration) Skip desktop integration for static/dynamic package - (0d10c12)
- (remove) Ignore error if package path is already removed - (58cb283)
- (self_update) Fix version check - (86d02cc)
- (remove) Don't load metadata databases on package removal - (229e265)
- (state) Lazy load databases - (823dea4)
- (script) Update install script - (126e5d4)
0.5.1 - 2025-01-27
- (update) Handle multi-profile update - (569347f)
- (cargo) Update cargo manifest - (ad18d0c)
0.5.0 - 2025-01-27
- (color) Add no-color support - (0d66b76)
- (ghcr) Use ghcr as default download source for package - (671fa9b)
- (install) Implement install with pkg_id - (f8573a1)
- (json_where) Add json array condition support - (0b84535)
- (package) Enhance pkg_id handling for install/update - (63cf070)
- (profile) Add profile support - (45c6c97)
- (provides) Add provides support - (937a447)
- (soar-db) Initialize soar-db - (be59788)
- (use-package) Implement use package and improve installation - (723bf3b)
- (install) Fix installation error handling - (8b540d4)
- (path) Fix home path - (b4d3a53)
- (script) Fix install script - (115056f)
- (struct) Fix database and package struct to use new metadata - (322af28)
- (update) Fix package update functionality - (c6bf461)
- (db) Use builder pattern for queries and map using column names - (b2827f7)
- (db) Simplify database migration - (1975da5)
- (db) Simplify database query builders - (82b20b9)
- (ghcr) Use pkgforge ghcr api - (f745fff)
- (project) Rewrite and switch to sqlite - (6c3d5f5)
- (run) Enhance run capability - (58d49a1)
- (readme) Update README (#13) - (25a3947)
- (query) Optimize packages list SQL query - (826f343)
- (readme) Add gif, new doc links, community chat & more (#8) - (cfe7341)
- (workflow) Employ @pkgforge-bot to auto respond to Issues & Discussions (#7) - (8bda58b)
- @Azathothas made their first contribution in #13
0.4.8 - 2024-11-25
- (builder) Add initial support for build scripts - (39acf1a)
- (download) Add gitlab support - (4a34c82)
- (download) Use pkgforge api to fetch github assets - (9a20792)
- (download) Support comma-separated keywords in filters - (38a4eb1)
- (github) Accept GITHUB_TOKEN for github downloads - (d6c2b57)
- (self) Add self update - (e4ba2af)
- (config) Override config using env, make inner paths optional - (58f5a17)
- (download) Fix github regex - (cd6e048)
- (package) Sort package selection order - (7b6c490)
0.4.7 - 2024-11-13
- (download) Fix github regex pattern and make filter case-insensitive - (546cb62)
- (flatimage) Fix flatimage portable config symlink path - (37075ec)
- Read config, allow stdin anywhere, ignore invalid package - (0a8d1bd)
0.4.6 - 2024-11-12
- (args) Fix clap responses - (af655eb)
0.4.5 - 2024-11-12
- (cli) Allow stdin input as args - (5e1fcaf)
- (download) Add ergonomic flags for github asset matching - (e47083d)
- (download) Allow regex filter for github asset - (85736a6)
- (download) Allow specifying tagname for github downloads - (fcf5ba4)
- (download) Add support for downloading github release - (9ca101d)
- (readme) Add autoplay videos - (80cfceb)
- (workflow) Update release workflow - (e0b9a58)
0.4.4 - 2024-11-09
- (env) Add environment variables support - (426c380)
- (log) Add tracing, verbosity, json output - (424b0e3)
- (log) Write info to stdout - (295d6f7)
- (install) Use filename as binary name for local install - (ff004ae)
0.4.3 - 2024-11-08
- (install) Fix package case handling & replacement - (5af3cfc)
- (install) Add constraints to local installs binary name - (bfe004f)
- (search) Add description search and limit - (4bbe1f3)
0.4.2 - 2024-11-05
- (install) Implement local package install - (457f117)
- (flatimage) Handle flatimage portable config and non-existent desktop - (33448e2)
- (config) Move default soar dir, use without config file - (ca7437b)
0.4.1 - 2024-11-04
- (sigpipe) Terminate if pipe is broken - (bc50076)
- (cargo) Update package name - (381dd66)
0.4.0 - 2024-11-04
- (download) Add progressbar & output file path support - (f7dcea8)
- (download) Fallback to download package if invalid URL - (eccbb87)
- (flatimage) Integrate flatimage using remote files - (e94d480)
- (inspect) Add inspect command to view build script - (bcef36c)
- (progress) Re-implement installation progress bar - (89ed804)
- (yes) Skip prompts and select first value - (286743e)
- (download) Don't hold downloads in memory - (baf33d9)
- (health) Check fusermount3 and use fusermount as fallback - (3cef007)
- (image) Fix image rendering - (b190bd0)
- (package) Fix multi-repo install handling - (8654fbb)
- (remove) Improve package removal - (3f0307a)
- (update) Fix update progressbar - (948a42e)
- (health) Separate user namespaces and fuse issues - (4b7fd4f)
- (image) Reduce image handling complexity - (39e9c1b)
- (list) Sort list output - (2c8d894)
- (project) Minor refactor - (0b0bd06)
- (script) Update install script - (a18cba3)
- (script) Add install script - (7bea339)
- (workflow) Remove existing nightly before publishing new - (e1171af)
0.3.1 - 2024-10-26
- (config) Fix default config url - (1862a7e)
0.3.0 - 2024-10-26
- (appimage) Allow providing portable home/config dir for appimage - (446958e)
- (appimage) Implement appimage integration - (3d7fbe1)
- (collection) Allow dynamic collection names - (d37bad0)
- (color) Implement colorful logging - (61d9ceb)
- (health) Include fuse check - (ee9d3b7)
- (health) Add health check command - (293960f)
- (image) Add halfblock image support - (a1e2dc3)
- (image) Add sixel support - (88433d3)
- (image) Kitty graphics protocol image support for query - (fb1da68)
- (pkg) Fetch remote image/desktop file if pkg is not appimage - (2e5b15e)
- (appimage) Sanity checks for kernel features & user namespace - (b8dd511)
- (appimage) Prevent creating portable dirs by default - (cc66cd3)
- (appimage) Set default portable path if arg is not provided - (5a34205)
- (appimage) Use path check for ownership - (7181629)
- (appimage) Handle symlinks and use proper icon path - (aee9282)
- (fetch) Fetch default icons only when fetcher is called - (fdefcd5)
- (image) Fetch default fallback image - (bc92204)
- (registry) Update outdated local registry - (6a967df)
- (userns-check) Check clone_newuser support - (2e1cf13)
- (wrap) Fix text wrapping - (e7b6d71)
- (collection) Rename root_path to collection - (a480c85)
- (color) Update colors in query - (adc257b)
- (package) Reduce hard-coded collections - (041e824)
- (readme) Update Readme - (8f43a68)
- (workflow) Run nightly on every commit - (42ddf90)
- (workflow) Add nightly workflow - (f697a5f)
- @dependabot[bot] made their first contribution in #1
0.2.0 - 2024-10-11
- (download) Introduce ability to download arbitrary files - (7f7339a)
- (run) Run remote binary without metadata - (695e0da)
- (inspect) Show error if log can't be fetched, and warn if log too large - (82785fb)
- (run) Fix run command - (c2409fe)
- (output) Update command outputs - (0967773)
- (cli) Implement CLI commands structure - (11f6214)
- (config) Implement config loading - (abbaaf6)
- (info) Implement display installed package info - (a79e9dd)
- (inspect) Add command to inspect CI logs - (50d6b60)
- (install) Track and implement installed packages list - (51e2f96)
- (install) Implement package install - (aaf1c89)
- (list) List available packages - (17a50b7)
- (query) Query detailed package info - (0f6facd)
- (remove) Implement packages removal - (e676064)
- (run) Run packages without installing them - (16e820a)
- (search) Implement package search feature - (313c2a5)
- (symlink) Implement ownership check for binary symlinks - (6575072)
- (update) Implement update package - (c58269b)
- (use) Add ability to switch package variants - (de2264d)
- (install) Use case-sensitive package name - (1abd650)
- (parse) Fix remote registry parser - (b8175c5)
- (update) Resolve update deadlock - (e8c56bc)
- (command) Update commands and cleanup on sync - (555737c)
- (package) Use binary checksum in install path - (4a6e3c4)
- (project) Re-organize whole codebase - (2705168)
- (project) Update data types and improve readability - (ac4a93a)
- (project) Reduce complexity - (cfc5962)
- @QaidVoid made their first contribution