发布

  • hotfix: v3.6.20 — fix OnceLock reentrancy deadlock (#301)
    Release / Build aarch64-apple-darwin (push) Has been cancelled
    Release / Build x86_64-apple-darwin (push) Has been cancelled
    Release / Build aarch64-unknown-linux-musl (push) Has been cancelled
    Release / Build aarch64-unknown-linux-gnu (push) Has been cancelled
    Release / Build x86_64-unknown-linux-musl (push) Has been cancelled
    Release / Build x86_64-pc-windows-gnu (push) Has been cancelled
    Release / Build x86_64-unknown-linux-gnu (push) Has been cancelled
    Release / Build x86_64-pc-windows-msvc (push) Has been cancelled
    Release / Create Release (push) Has been cancelled
    Release / Publish to crates.io (push) Has been cancelled
    Release / Publish to npm (push) Has been cancelled
    Release / Update Homebrew (push) Has been cancelled

    frostbyte_neo 发布于 2026-05-27 05:29:52 +00:00

    active_profile_name() in v3.6.19 called Config::load(), creating a
    circular dependency: Config::load() → find_project_root() →
    OnceLock::get_or_init() → SessionState::load_latest() →
    normalize_loaded_session() → active_profile() → active_profile_name()
    → Config::load() (deadlock).

    Fix A: profile_name_from_config_file() reads config.toml directly
    without Config::load(), breaking the primary cycle.

    Fix B: normalize_loaded_session() defaults compression_level to "off"
    instead of calling active_profile() during Config init.

    Co-authored-by: Cursor cursoragent@cursor.com

    下载附件