Skip to content

Conversation

@QaidVoid
Copy link
Member

@QaidVoid QaidVoid commented Dec 23, 2025

πŸ€– New release

  • soar-core: 0.8.1 -> 0.9.0 (⚠ API breaking changes)
  • soar-cli: 0.8.1 -> 0.8.2

⚠ soar-core breaking changes

--- failure constructible_struct_adds_field: externally-constructible struct adds field ---

Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field InstallTarget.pinned in /tmp/.tmpy0v9N6/soar/crates/soar-core/src/package/install.rs:74
  field Package.recurse_provides in /tmp/.tmpy0v9N6/soar/crates/soar-core/src/database/models.rs:69

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/enum_missing.ron

Failed in:
  enum soar_core::package::formats::PackageFormat, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/mod.rs:17
  enum soar_core::database::packages::FilterCondition, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/models.rs:6
  enum soar_core::error::ConfigError, previously in file /tmp/.tmp3cOjXd/soar-core/src/error.rs:5
  enum soar_core::database::packages::LogicalOp, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/models.rs:31
  enum soar_core::database::packages::SortDirection, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/models.rs:24
  enum soar_core::database::migration::DbKind, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/migration.rs:16
  enum soar_core::database::packages::ProvideStrategy, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/models.rs:53

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/enum_variant_added.ron

Failed in:
  variant SoarError:FileSystemError in /tmp/.tmpy0v9N6/soar/crates/soar-core/src/error.rs:30
  variant SoarError:HashError in /tmp/.tmpy0v9N6/soar/crates/soar-core/src/error.rs:34
  variant SoarError:PathError in /tmp/.tmpy0v9N6/soar/crates/soar-core/src/error.rs:38
  variant SoarError:UreqError in /tmp/.tmpy0v9N6/soar/crates/soar-core/src/error.rs:68
  variant SoarError:PackageError in /tmp/.tmpy0v9N6/soar/crates/soar-core/src/error.rs:76
  variant SoarError:RegexError in /tmp/.tmpy0v9N6/soar/crates/soar-core/src/error.rs:137

--- failure enum_variant_missing: pub enum variant removed or renamed ---

Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/enum_variant_missing.ron

Failed in:
  variant SoarError::RusqliteError, previously in file /tmp/.tmp3cOjXd/soar-core/src/error.rs:64
  variant SoarError::ReqwestError, previously in file /tmp/.tmp3cOjXd/soar-core/src/error.rs:70
  variant SoarError::PlatformError, previously in file /tmp/.tmp3cOjXd/soar-core/src/error.rs:76
  variant SoarError::SquishyError, previously in file /tmp/.tmp3cOjXd/soar-core/src/error.rs:79
  variant SoarError::ImageError, previously in file /tmp/.tmp3cOjXd/soar-core/src/error.rs:82
  variant SoarError::ConfigAlreadyExists, previously in file /tmp/.tmp3cOjXd/soar-core/src/error.rs:103
  variant SoarError::InvalidProfile, previously in file /tmp/.tmp3cOjXd/soar-core/src/error.rs:112

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/function_missing.ron

Failed in:
  function soar_core::utils::home_path, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:31
  function soar_core::metadata::fetch_public_key, previously in file /tmp/.tmp3cOjXd/soar-core/src/metadata.rs:193
  function soar_core::utils::calculate_dir_size, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:270
  function soar_core::toml::annotate_toml_table, previously in file /tmp/.tmp3cOjXd/soar-core/src/toml.rs:55
  function soar_core::package::formats::common::symlink_desktop, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/common.rs:97
  function soar_core::utils::home_data_path, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:49
  function soar_core::package::formats::appimage::integrate_appimage, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/appimage.rs:12
  function soar_core::config::set_current_profile, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:259
  function soar_core::package::formats::common::setup_portable_dir, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/common.rs:225
  function soar_core::utils::parse_size, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:100
  function soar_core::utils::icons_dir, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:258
  function soar_core::toml::append_docs_as_toml_comments, previously in file /tmp/.tmp3cOjXd/soar-core/src/toml.rs:18
  function soar_core::package::formats::wrappe::setup_wrappe_portable_dir, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/wrappe.rs:7
  function soar_core::utils::calc_magic_bytes, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:160
  function soar_core::utils::home_config_path, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:41
  function soar_core::database::migration::run_nests, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/migration.rs:107
  function soar_core::utils::parse_duration, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:294
  function soar_core::config::get_config, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:238
  function soar_core::utils::process_dir, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:201
  function soar_core::package::formats::common::integrate_remote, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/common.rs:146
  function soar_core::utils::build_path, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:54
  function soar_core::database::nests::repository::list, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/nests/repository.rs:15
  function soar_core::utils::apply_sig_variants, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:325
  function soar_core::config::generate_default_config, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:581
  function soar_core::repositories::get_platform_repositories, previously in file /tmp/.tmp3cOjXd/soar-core/src/repositories.rs:15
  function soar_core::utils::calculate_checksum, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:125
  function soar_core::utils::get_platform, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:266
  function soar_core::config::init, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:224
  function soar_core::utils::create_symlink, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:171
  function soar_core::package::formats::common::symlink_icon, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/common.rs:65
  function soar_core::utils::home_cache_path, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:45
  function soar_core::database::nests::repository::add, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/nests/repository.rs:7
  function soar_core::metadata::fetch_metadata, previously in file /tmp/.tmp3cOjXd/soar-core/src/metadata.rs:222
  function soar_core::utils::default_install_patterns, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:313
  function soar_core::config::get_current_profile, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:252
  function soar_core::toml::annotate_toml_array_of_tables, previously in file /tmp/.tmp3cOjXd/soar-core/src/toml.rs:104
  function soar_core::package::formats::common::create_portable_link, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/common.rs:203
  function soar_core::package::formats::get_file_type, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/mod.rs:26
  function soar_core::utils::format_bytes, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:87
  function soar_core::database::nests::repository::remove, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/nests/repository.rs:30
  function soar_core::metadata::fetch_nest_metadata, previously in file /tmp/.tmp3cOjXd/soar-core/src/metadata.rs:38
  function soar_core::utils::desktop_dir, previously in file /tmp/.tmp3cOjXd/soar-core/src/utils.rs:254
  function soar_core::package::formats::common::integrate_package, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/common.rs:296

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/inherent_method_missing.ron

Failed in:
  PackageQuery::apply_filters, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/query.rs:19

--- failure module_missing: pub module removed or renamed ---

Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/module_missing.ron

Failed in:
  mod soar_core::config, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:1
  mod soar_core::database::nests::repository, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/nests/repository.rs:1
  mod soar_core::package::formats::common, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/common.rs:1
  mod soar_core::package::formats, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/mod.rs:1
  mod soar_core::database::statements, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/statements.rs:1
  mod soar_core::database::nests::models, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/nests/models.rs:1
  mod soar_core::package::formats::appimage, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/appimage.rs:1
  mod soar_core::database::repository, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/repository.rs:1
  mod soar_core::toml, previously in file /tmp/.tmp3cOjXd/soar-core/src/toml.rs:1
  mod soar_core::metadata, previously in file /tmp/.tmp3cOjXd/soar-core/src/metadata.rs:1
  mod soar_core::database::nests, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/nests/mod.rs:1
  mod soar_core::package::formats::wrappe, previously in file /tmp/.tmp3cOjXd/soar-core/src/package/formats/wrappe.rs:1
  mod soar_core::database::packages, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/mod.rs:1
  mod soar_core::database::migration, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/migration.rs:1
  mod soar_core::repositories, previously in file /tmp/.tmp3cOjXd/soar-core/src/repositories.rs:1

--- failure pub_module_level_const_missing: pub module-level const is missing ---

Description:
A public const is missing or renamed
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/pub_module_level_const_missing.ron

Failed in:
  RUNIMAGE_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:6
  CORE_MIGRATIONS in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:20
  SVG_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:10
  ZST_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:14
  APPIMAGE_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:4
  METADATA_MIGRATIONS in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:19
  WRAPPE_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:7
  NESTS_MIGRATIONS_DIR in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:21
  FLATIMAGE_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:5
  PNG_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:9
  SQLITE_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:13
  ELF_MAGIC_BYTES in file /tmp/.tmp3cOjXd/soar-core/src/constants.rs:3

--- failure pub_static_missing: pub static is missing ---

Description:
A public static is missing, renamed, or made private.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/pub_static_missing.ron

Failed in:
  CONFIG_PATH in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:215
  CONFIG in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:212
  CURRENT_PROFILE in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:213

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/struct_missing.ron

Failed in:
  struct soar_core::database::repository::PackageRepository, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/repository.rs:6
  struct soar_core::database::packages::PackageQueryBuilder, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/query.rs:14
  struct soar_core::database::connection::Database, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/connection.rs:14
  struct soar_core::config::Repository, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:81
  struct soar_core::database::statements::DbStatements, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/statements.rs:3
  struct soar_core::database::migration::MigrationManager, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/migration.rs:11
  struct soar_core::database::packages::QueryFilter, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/models.rs:37
  struct soar_core::repositories::DefaultRepositoryInfo, previously in file /tmp/.tmp3cOjXd/soar-core/src/repositories.rs:2
  struct soar_core::config::Config, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:145
  struct soar_core::database::migration::Migration, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/migration.rs:6
  struct soar_core::database::nests::models::Nest, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/nests/models.rs:6
  struct soar_core::database::packages::PaginatedResponse, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/models.rs:44
  struct soar_core::database::packages::PackageProvide, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/packages/models.rs:71
  struct soar_core::database::models::RemotePackage, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:302
  struct soar_core::config::Profile, previously in file /tmp/.tmp3cOjXd/soar-core/src/config.rs:30

--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---

Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/struct_pub_field_missing.ron

Failed in:
  field rank of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:37
  field pkg of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:38
  field shasum of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:57
  field download_count of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:74
  field download_count_month of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:75
  field download_count_week of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:76
  field bundle of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:79
  field bundle_type of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:80
  field external of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:84
  field installable of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:85
  field trusted of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:87
  field version_latest of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:88
  field version_outdated of struct Package, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:89
  field pkg of struct InstalledPackage, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:188

--- failure trait_missing: pub trait removed or renamed ---

Description:
A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/trait_missing.ron

Failed in:
  trait soar_core::database::models::FromRow, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:27
  trait soar_core::database::models::PackageExt, previously in file /tmp/.tmp3cOjXd/soar-core/src/database/models.rs:20
Changelog

soar-core

0.9.0 - 2025-12-23

⛰️ Features

  • (install) Allow remote package install - (e060033)

πŸ› Bug Fixes

  • (install) Handle resume on package install - (f92350f)

🚜 Refactor

  • (integration) Integrate soar with modular crates (#123) - (2d340e5)

βš™οΈ Miscellaneous Tasks

  • (ci) Ignore libsqlite-sys from machete - (ca0f988)
  • (docs) Update readme, bump msrv - (5158af0)
  • (docs) Fix readme - (90d8abb)

soar-cli

0.8.2 - 2025-12-23

⛰️ Features

  • (install) Allow remote package install - (e060033)
  • (packages) Add declarative installation - (1e95aca)

πŸ› Bug Fixes

  • (install) Handle resume on package install - (f92350f)

🚜 Refactor

  • (integration) Integrate soar with modular crates (#123) - (2d340e5)
  • (package) Improve install/remove user experience - (df8ad1c)

βš™οΈ Miscellaneous Tasks

  • (ci) Ignore libsqlite-sys from machete - (ca0f988)
  • (docs) Update readme, bump msrv - (5158af0)
  • (docs) Fix readme - (90d8abb)


This PR was generated with release-plz.

Summary by CodeRabbit

  • New Features

    • Added remote package installation support
    • Introduced declarative installation method
  • Bug Fixes

    • Fixed resume functionality during package installation
  • Refactor

    • Improved install and remove user experience
    • Integrated modular crates architecture
  • Documentation

    • Updated readme and CI configuration

✏️ Tip: You can customize this high-level summary in your review settings.

@QaidVoid QaidVoid added the release New Release (Probably Automated) label Dec 23, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 23, 2025

Walkthrough

This change updates package versions and adds changelog entries: crates/soar-cli bumped 0.8.1 β†’ 0.8.2; crates/soar-core bumped 0.8.1 β†’ 0.9.0; new changelog sections were added to the top-level and core crate changelogs.

Changes

Cohort / File(s) Summary
Top-level changelog
CHANGELOG.md
Added 0.8.2 entry documenting features (remote package install; declarative installation), bugfix, refactor notes, and miscellaneous tasks.
Crate changelogs
crates/soar-core/CHANGELOG.md
Added 0.9.0 entry with Features (remote package install), Bug Fixes (resume on install), Refactor (modular crates integration), and Misc. updates.
Cargo manifests (version bumps)
crates/soar-cli/Cargo.toml, crates/soar-core/Cargo.toml
Bumped package versions: crates/soar-cli 0.8.1 β†’ 0.8.2; crates/soar-core 0.8.1 β†’ 0.9.0. No dependency or API changes.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'chore: release' is a generic, non-descriptive term that doesn't convey the main changes in the changeset (version bumps from 0.8.1 to 0.9.0 for soar-core and 0.8.2 for soar-cli with feature additions). Consider a more descriptive title such as 'chore: release soar-core 0.9.0 and soar-cli 0.8.2' or 'release: bump versions and update changelogs' to better reflect the changeset scope.
βœ… Passed checks (2 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch release-plz-2025-12-23T06-39-18Z

πŸ“œ Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 8d83330 and b6a9466.

β›” Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
πŸ“’ Files selected for processing (4)
  • CHANGELOG.md
  • crates/soar-cli/Cargo.toml
  • crates/soar-core/CHANGELOG.md
  • crates/soar-core/Cargo.toml
🚧 Files skipped from review as they are similar to previous changes (2)
  • crates/soar-core/Cargo.toml
  • crates/soar-cli/Cargo.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: coverage
  • GitHub Check: test
πŸ”‡ Additional comments (1)
CHANGELOG.md (1)

2-23: βœ… Changelog entry well-structured.

The 0.8.2 release entry for soar-cli is properly formatted with clear sections, commit hashes, and cross-references to the underlying work (PR #123 for modular crates integration).


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Dec 23, 2025

Codecov Report

βœ… All modified and coverable lines are covered by tests.

πŸ“’ Thoughts on this report? Let us know!

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

πŸ“œ Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 1e95aca and 23430d1.

β›” Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
πŸ“’ Files selected for processing (4)
  • CHANGELOG.md
  • crates/soar-cli/Cargo.toml
  • crates/soar-core/CHANGELOG.md
  • crates/soar-core/Cargo.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: coverage
  • GitHub Check: test
πŸ”‡ Additional comments (3)
crates/soar-cli/Cargo.toml (1)

3-3: LGTM: Patch version bump is appropriate.

The version bump from 0.8.1 to 0.8.2 aligns with the non-breaking changes documented in the changelog (declarative installation feature, integration refactor, and documentation fixes).

CHANGELOG.md (1)

2-15: LGTM: Changelog entry is well-structured.

The 0.8.2 changelog entry properly documents the declarative installation feature, integration refactor, and documentation fixes with appropriate commit references and PR links.

crates/soar-core/CHANGELOG.md (1)

2-11: LGTM: Changelog entry is consistent and complete.

The 0.9.0 changelog entry appropriately documents the modular crates integration refactor and documentation fixes. The entry format is consistent with the existing changelog structure.

[package]
name = "soar-core"
version = "0.8.1"
version = "0.9.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for documentation files related to breaking changes, migration guides, changelog, etc.

echo "=== Looking for documentation files ==="
find . -maxdepth 3 -type f \( -iname "*changelog*" -o -iname "*migration*" -o -iname "*breaking*" -o -iname "*upgrade*" -o -iname "*release*notes*" \) 2>/dev/null | head -20

echo ""
echo "=== Checking root directory for common doc files ==="
ls -la . | grep -i -E "(changelog|migration|breaking|upgrade|release|readme|doc)"

echo ""
echo "=== Searching for 0.9.0 version mentions in documentation ==="
fd -t f -e md . | xargs rg "0\.9\.0" 2>/dev/null | head -20

echo ""
echo "=== Checking crates/soar-core directory structure ==="
ls -la crates/soar-core/ 2>/dev/null | head -30

echo ""
echo "=== Looking for CHANGELOG or similar in soar-core directory ==="
find crates/soar-core -maxdepth 2 -type f \( -iname "*changelog*" -o -iname "*migration*" -o -iname "*breaking*" \) 2>/dev/null

Repository: pkgforge/soar

Length of output: 1033


🏁 Script executed:

#!/bin/bash
# Read the soar-core CHANGELOG.md to check the 0.9.0 release notes

echo "=== Content of crates/soar-core/CHANGELOG.md (focusing on 0.9.0) ==="
sed -n '/## \[0.9.0\]/,/## \[0.8.1\]/p' crates/soar-core/CHANGELOG.md | head -100

Repository: pkgforge/soar

Length of output: 696


🏁 Script executed:

#!/bin/bash
# Search for migration guide, additional docs, or references to breaking changes

echo "=== Checking for migration/upgrade guide files ==="
find . -type f -name "*.md" | xargs rg -l "migration|upgrade|breaking change" | head -10

echo ""
echo "=== Looking at root CHANGELOG to see if there's 0.9.0 info there ==="
sed -n '/## \[0.9.0\]/,/## \[0.8/p' CHANGELOG.md | head -50

echo ""
echo "=== Checking if there's a docs directory with API changes ==="
find . -maxdepth 3 -type d -name "docs" -o -name "doc" | head -5

echo ""
echo "=== Searching for any mention of 'breaking' in documentation files ==="
fd -t f -e md . | xargs rg -i "breaking" 2>/dev/null | head -20

Repository: pkgforge/soar

Length of output: 531


Document breaking changes in the 0.9.0 release notes and provide a migration guide.

The CHANGELOG.md entry for 0.9.0 currently lacks detail about the breaking changes. The refactor commit "Integrate soar with modular crates" is too vague for downstream consumers to understand which APIs were removed or renamed. Expand the 0.9.0 CHANGELOG entry to explicitly document:

  • Removed/renamed enums, functions, and structs
  • Required code changes for users updating from 0.8.1
  • A link or reference to a migration guide if one exists

This helps downstream users quickly identify and fix breaking changes in their code.

πŸ€– Prompt for AI Agents
In crates/soar-core/Cargo.toml around line 3 (version = "0.9.0"), the release
bumped to 0.9.0 but CHANGELOG.md lacks explicit breaking-change details; update
the 0.9.0 changelog entry (and add a migration guide file or section) to
enumerate exactly which enums, structs, and functions were removed or renamed,
provide concrete code migration steps for users upgrading from 0.8.1
(before/after code snippets or call replacements), and include a link/reference
to the migration guide or PR that introduced the refactor so downstream
consumers can apply fixes quickly.

@QaidVoid QaidVoid force-pushed the release-plz-2025-12-23T06-39-18Z branch 2 times, most recently from 9391b9d to e499aa4 Compare December 23, 2025 10:15
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

πŸ“œ Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 9391b9d and e499aa4.

β›” Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
πŸ“’ Files selected for processing (4)
  • CHANGELOG.md
  • crates/soar-cli/Cargo.toml
  • crates/soar-core/CHANGELOG.md
  • crates/soar-core/Cargo.toml
🚧 Files skipped from review as they are similar to previous changes (3)
  • CHANGELOG.md
  • crates/soar-core/Cargo.toml
  • crates/soar-cli/Cargo.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: coverage
  • GitHub Check: test

Comment on lines 2 to 21
## [0.9.0](https://github.com/pkgforge/soar/compare/soar-core-v0.8.1...soar-core-v0.9.0) - 2025-12-23

### ⛰️ Features

- *(install)* Allow remote package install - ([e060033](https://github.com/pkgforge/soar/commit/e060033ed1da14a9370650c5eddce6fc1f771c8d))

### 🚜 Refactor

- *(integration)* Integrate soar with modular crates ([#123](https://github.com/pkgforge/soar/pull/123)) - ([2d340e5](https://github.com/pkgforge/soar/commit/2d340e54ac79fd31087370712f4e189b3391bd16))

### βš™οΈ Miscellaneous Tasks

- *(ci)* Ignore libsqlite-sys from machete - ([ca0f988](https://github.com/pkgforge/soar/commit/ca0f988df9973df521e73f50fb5ef1745f2295ea))
- *(docs)* Update readme, bump msrv - ([5158af0](https://github.com/pkgforge/soar/commit/5158af067ecf3981585aad4f3097d675f65331d1))
- *(docs)* Fix readme - ([90d8abb](https://github.com/pkgforge/soar/commit/90d8abb9206a304be4c3d8cd5d11ae40584242d6))

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# Find and examine the full CHANGELOG.md file
find . -name "CHANGELOG.md" -path "*soar-core*" -type f

Repository: pkgforge/soar

Length of output: 88


🏁 Script executed:

# Check git log for the v0.9.0 release or related commits
git log --oneline --all | grep -i "0.9.0\|release" | head -20

Repository: pkgforge/soar

Length of output: 777


🏁 Script executed:

# Look for any breaking changes documentation in the repo
rg -i "breaking.*change|migration.*guide" --type md | head -20

Repository: pkgforge/soar

Length of output: 39


🏁 Script executed:

# Search for cargo-semver-checks configuration
fd -e "cargo.*\|\.toml" | xargs rg -l "semver" 2>/dev/null | head -10

Repository: pkgforge/soar

Length of output: 143


🏁 Script executed:

# Read the full CHANGELOG.md file
cat -n ./crates/soar-core/CHANGELOG.md | head -100

Repository: pkgforge/soar

Length of output: 5678


🏁 Script executed:

# Check soar-core Cargo.toml for version
cat ./crates/soar-core/Cargo.toml | grep -A 5 "^\[package\]"

Repository: pkgforge/soar

Length of output: 207


🏁 Script executed:

# Look for PR #123 reference in git history
git log --all --oneline --grep="#123\|modular" | head -10

Repository: pkgforge/soar

Length of output: 129


🏁 Script executed:

# Check if there's any semver-checks output or CI config mentioning it
fd -e "yml\|yaml\|toml" | xargs rg -l "semver-check" 2>/dev/null

Repository: pkgforge/soar

Length of output: 41


🏁 Script executed:

# Examine the actual commit for breaking changes
git show 2d340e5 --stat | head -50

Repository: pkgforge/soar

Length of output: 2978


🏁 Script executed:

# Look for any lib.rs public API exports or major structural changes
git show 2d340e5 -- "*/lib.rs" | head -100

Repository: pkgforge/soar

Length of output: 3475


🏁 Script executed:

# Check if there's a PR template or discussion about breaking changes
fd -e "md" | xargs rg -l "PR #123\|pr.*123" 2>/dev/null

Repository: pkgforge/soar

Length of output: 41


🏁 Script executed:

# Look at version history to see if major bumps (0.x.0) have breaking changes sections in past
cat ./crates/soar-core/CHANGELOG.md | grep -A 20 "## \[0.8.0\]"

Repository: pkgforge/soar

Length of output: 934


🏁 Script executed:

# Check if there's a contributing guide or changelog template
fd -e "md" -i contributing | head -5

Repository: pkgforge/soar

Length of output: 72


🏁 Script executed:

# Check CONTRIBUTING guide for changelog conventions
cat ./CONTRIBUTING.md

Repository: pkgforge/soar

Length of output: 3292


🏁 Script executed:

# Check soar-db's old vs new public API by looking at the full error module changes
git show 2d340e5 -- "crates/soar-db/src/error.rs" "soar-db/src/error.rs" 2>/dev/null | head -150

Repository: pkgforge/soar

Length of output: 2811


🏁 Script executed:

# Look for any migration guides or breaking change documentation elsewhere
fd -e "md" | xargs rg -l "migrat|breaking|breaking.*change" -i 2>/dev/null | head -10

Repository: pkgforge/soar

Length of output: 99


🏁 Script executed:

# Check if there are Cargo.toml version constraints that would require semver checks
rg "soar-core|soar-db|soar-config" Cargo.toml | grep -E "version|path" | head -20

Repository: pkgforge/soar

Length of output: 182


🏁 Script executed:

# Final check: Look at soar-core specifically for actual breaking changes evidence
git show 2d340e5 -- "crates/soar-core/src/error.rs" "crates/soar-core/src/lib.rs" 2>/dev/null | grep -A 5 "^+\|^-" | head -80

Repository: pkgforge/soar

Length of output: 2399


🏁 Script executed:

# Check if soar-core is itself a library that other crates depend on
rg "soar-core.*=" crates/*/Cargo.toml | grep -E "path|version"

Repository: pkgforge/soar

Length of output: 39


Add Breaking Changes section for major version bump.

The 0.9.0 release bumps the major version and includes API-breaking changes (e.g., soar-db API restructured with new connection/repository/error modules). The changelog lacks a dedicated "Breaking Changes" section to inform users migrating from 0.8.1 what broke and how to update their code.

Per semantic versioning conventions, breaking changes should be explicitly documented. At minimum, include a high-level summary of affected public APIs and migration guidance.

πŸ€– Prompt for AI Agents
In crates/soar-core/CHANGELOG.md around lines 2 to 17, add a top-level "Breaking
Changes" section for v0.9.0 that succinctly lists the API-breaking changes
(e.g., soar-db restructured into connection/, repository/, and error/ modules),
describes the impact on public APIs, and provides concise migration guidance for
consumers (what to replace/import and any behavior changes), reference the
relevant commits/PR/issue links, and note any required minimum MSRV or runtime
expectations so users can update their code when migrating from 0.8.1 to 0.9.0.

@QaidVoid QaidVoid force-pushed the release-plz-2025-12-23T06-39-18Z branch from e499aa4 to 8d83330 Compare December 23, 2025 14:39
@QaidVoid QaidVoid force-pushed the release-plz-2025-12-23T06-39-18Z branch from 8d83330 to b6a9466 Compare December 23, 2025 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release New Release (Probably Automated)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants