Skip to content

Releases

v0.28.0

Choose a tag to compare

@github-actions github-actions released this 10 Nov 13:39

v0.28.0 (2026-11-10)

This release is published under the MIT License.

Bug Fixes

  • license: Skip copy when license is already in the target directory (d51723f)

  • plugin: Keep the execute bit of archive entries without a file type (d4e066d)

  • plugin: Keep the execute permission of extracted plugin files (d442a62)

  • update: Detect the install method and offer to upgrade from PyPI (482665e)

Documentation

  • Generate a CLI reference page from the Click help text (85b6605)

  • docker: Build natively on ARM64 and pass the API key as a build secret (7a01e2d)

  • docker: Pass the license ID as a build secret (afce9ba)

  • docker: Print usage from the example entrypoint (d6a65fe)

  • env: Drop the HCLI_CONFIG_NAMESPACE row (c17a365)

  • env: Drop the IDA links section, shorten HCLI_DEBUG, and align tables (d3f8e2d)

  • env: Remove HCLI_LOG_LEVEL and document the missing variables (f76946a)

  • mcp: Describe the mcp group instead of an action it does not do (81279c0)

  • plugin: Document plugin settings and install/status options (ac545d7)

  • plugin: Tell plugin authors to check ignored-urls.txt (b61f31e)

Features

  • plugin: Skip archives listed in an ignored-URLs file when indexing GitHub (17f00ae)

Refactoring

  • plugin: Log rejected archives instead of writing the ignored-URLs list (31310d0)

  • plugin: Tidy the ignored-URLs handling of the GitHub indexer (e4e381b)

  • update: Reuse the shell quoting helper and add a changelog entry (065ea10)

Testing

  • plugin: Run the execute permission tests on all platforms (8de4784)

  • plugin: Test index_plugin_archive directly instead of with a fake GitHub (2fb7e54)


Detailed Changes: v0.27.3...v0.28.0

v0.27.3

Choose a tag to compare

@github-actions github-actions released this 29 Oct 09:16

v0.27.3 (2026-10-29)

This release is published under the MIT License.

Continuous Integration

  • style: Fail on auto-fixable ruff violations (#430, 3f97543)

Features

  • api: Allow download_file to bypass the download cache (#434, 222ae2b)

Detailed Changes: v0.27.2...v0.27.3

v0.27.2

Choose a tag to compare

@github-actions github-actions released this 27 Oct 17:32

v0.27.2 (2026-10-27)

This release is published under the MIT License.

Bug Fixes

Continuous Integration

  • Test against the IDA 9.5 release instead of beta 1 (c1b77a6)

Testing

  • ke: Give ke_url_handler a private clock instead of patching time.sleep (527c1cd)

Detailed Changes: v0.27.1...v0.27.2

v0.27.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:07

v0.27.1 (2026-10-23)

This release is published under the MIT License.

Bug Fixes

  • license get: Skip the IDA 9.0 license file format (2314a11)

Testing

  • license get: Remove the license download tests (3498e9d)

Detailed Changes: v0.27.0...v0.27.1

v0.27.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 13:17

v0.27.0 (2026-10-23)

This release is published under the MIT License.

Bug Fixes

  • Treat an empty boolean environment variable as unset (e026aac)

  • Treat an unreadable whoami answer as an invalid API key again (c84dbce)

  • Verify TLS against the system certificate store and explain certificate errors (af33d17)

  • ida python: Add IDAPYTHON_VENV_EXECUTABLE to $GITHUB_ENV in GitHub Actions (95f7ff4)

  • plugin install: Show pip failures in one line and end with a status line (44b31b7)

Features

  • ida python: Warn about a global Python, reject an unwritable one (831ef79)

Refactoring

  • Raise TLSVerificationError from APIClient instead of inspecting raw httpx errors (489c83a)

  • ida install: Import the Python environment check at module level (21d89ba)

Testing

  • Remove the tests that monkeypatch functions (c5fab1b)

Detailed Changes: v0.26.4...v0.27.0

v0.26.4

Choose a tag to compare

@github-actions github-actions released this 22 Oct 14:58

v0.26.4 (2026-10-22)

This release is published under the MIT License.

Bug Fixes

  • Detect the running IDA in-process when hcli runs inside IDA (#384, 1458c9e)

  • Explain plugins that cannot install with the current IDA version (#381, e0578a8)

  • Group plugin versions rejected for the same reason in resolution errors (#381, e0578a8)

  • Include installer output when the IDA installer fails (#382, fdd3003)

  • Keep --install_python 0 for non-Free IDA 9.4 installers (#382, fdd3003)

  • Never pass --install_python to IDA Free installers (#382, fdd3003)

  • Omit --install_python for IDA 9.4+ Windows installers (#382, fdd3003)

  • Omit --install_python for IDA Free Windows installers (#382, fdd3003)

  • Reject empty and relative ida-install-dir values (#400, dea3206)

  • Report a missing IDA installation or idat in python doctor and explain-environment (1e915be)

  • Report an installed suite as already installed instead of as component collisions (#380, c6b5695)

  • Run a Linux installer the user cannot make executable (#397, e25e6b6)

  • ida install: Do not write the installer debug trace to the current directory (cb8b6ce)

  • ida install: Exit 1 when the install dir exists without IDA (af4d7f4)

  • ida install: Make --dry-run actions match the real install (#399, 20e9ec7)

  • license install: Handle a missing IDA_DIR without a terminal (833ca0d)

  • plugin bundle: Download bundle wheels with uv, without IDA (13b42b2)

  • plugin install: Pass Python dependencies of installed plugins to pip as constraints (0e102d4)

  • plugin lint: Exit nonzero when lint reports errors (295358f)

  • plugin search: Qualify the install hint for a colliding plugin name (02ed142)

Code Style

  • Annotate context managers with Generator for ruff 0.16 (#381, e0578a8)

  • Annotate context managers with Generator for ruff 0.16 (#382, fdd3003)

  • Annotate context managers with Generator for ruff context-manager-iterator (#380, c6b5695)

  • Annotate context-manager generators as Generator (#384, 1458c9e)

Continuous Integration

  • Add IDA 9.5 beta 1 to test matrix (021c540)

  • Install IDA Free 9.2, 9.3, and 9.4 on Linux, Windows, and macOS (#382, fdd3003)

  • Install IDA Free 9.4 on Windows (#382, fdd3003)

Documentation

  • Add changelog entry and explain grouped incompatibility reasons (#381, e0578a8)

  • Add changelog entry for reinstalling an installed suite (#380, c6b5695)

  • Clarify in-IDA detection wording (#384, 1458c9e)

  • Drop claim that IDA plugins may set IDA-related env vars (#384, 1458c9e)

  • List all six .plugin.platforms values (aad32db)

  • List all six platforms that bundle create --platform all selects (2a71a6e)

  • Reword ida-install-dir blank-value comment (2a6aeda)

  • Show the output hcli plugin lint actually prints (#390, da22863)

Refactoring

  • Give the IDA installer helpers one signature (#382, fdd3003)

  • Name the IDA Free 9.4 installer check directly (#382, fdd3003)

  • Tidy in-IDA detection follow-ups (#384, 1458c9e)

  • plugin lint: Pass lint result explicitly instead of a global counter (b5a09e0)

  • plugin search: Take the install hint's host from the query (46477b2)

Testing

  • Restore a space dropped from an unrelated comment (6220168)

Detailed Changes: v0.26.3...v0.26.4

v0.26.3

Choose a tag to compare

@github-actions github-actions released this 05 Oct 08:39

v0.26.3 (2026-10-05)

This release is published under the MIT License.

Bug Fixes

  • Bundle create skips optional plugins whose Python dependencies pip cannot download (#375, acf6cc9)

  • Do not prompt again for plugin settings that already have a value (17aa2c9)

  • Fail on an ambiguous plugin dependency in any root order (#374, 8bfd624)

  • Keep resolver search linear in optional requirements and explain every conflict (#374, 8bfd624)

  • Key bundle dependencies by the repository plugin name (#373, 5e11876)

  • Make plugin resolution independent of root order and tighten upgrade outcomes (#374, 8bfd624)

  • Name required plugins inside an optional group in skip warning chains (#375, acf6cc9)

  • Pin a repo/ prefixed bundle spec to the host of the named plugin (#374, 8bfd624)

  • Reject conflicting repository prefixes and invalid local archives in bundle create (#374, 8bfd624)

  • Resolve a dependency on an installed plugin name only from its host (#374, 8bfd624)

  • Store plugin setting answers that equal the default (d2121c1)

  • Tolerate a failed Python probe and name ambiguous dependencies in plugin install (#374, 8bfd624)

Documentation

  • Describe when setting defaults are written to ida-config.json (6fca9c8)

Features

  • Add hcli extension as an alias for hcli plugin (e811464)

  • Add a plugin resolver with per-cell viability (#374, 8bfd624)

  • Resolve bare and range specs in bundle create per target cell (#373, 5e11876)

  • Resolve bundle create target cells with the plugin resolver (#374, 8bfd624)

  • Select plugin install roots and dependencies with the resolver (#374, 8bfd624)

  • Select plugin upgrades with the resolver (#374, 8bfd624)

  • Shared plugin resolver with per-target viability for bundle, install, and upgrade (#374, 8bfd624)

  • Skip plugin versions whose requiresPython excludes the target Python (#374, 8bfd624)

Refactoring

  • Remember a failed Python probe and keep repo views free of resolve (#374, 8bfd624)

  • Tidy plugin resolver callers and restore specific location skip logs (#374, 8bfd624)

Testing

  • Cover replacing a stored setting value with the default (843c827)

  • Match the ambiguity error that the resolver gives for a non-viable version (#374, 8bfd624)


Detailed Changes: v0.26.2...v0.26.3

v0.26.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 11:36

v0.26.2 (2026-09-29)

This release is published under the MIT License.


Detailed Changes: v0.26.1...v0.26.2

v0.26.1

Choose a tag to compare

@github-actions github-actions released this 29 Sep 10:58

v0.26.1 (2026-09-29)

This release is published under the MIT License.

Bug Fixes

  • Reword skipped repository warnings (#364, da4d950)

  • Say 'to include them' in the login hint (#364, da4d950)

  • Warn about skipped plugin repositories from every plugin command (#364, da4d950)

Features

  • Group plugin search and status output by repository (#365, 64c5654)

Detailed Changes: v0.26.0...v0.26.1

v0.26.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 14:39

v0.26.0 (2026-09-24)

This release is published under the MIT License.

Features

  • Add support for optional requiresPython in ida-plugin.json (5be02e7)

Detailed Changes: v0.25.0...v0.26.0

⌂ 换网址