Skip to content

fix: track downloads for python and java#7304

Merged
jdx merged 1 commit intomainfrom
feat/core-plugin-security
Dec 15, 2025
Merged

fix: track downloads for python and java#7304
jdx merged 1 commit intomainfrom
feat/core-plugin-security

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Dec 15, 2025

Summary

  • Enable download tracking metrics for Python and Java installations
  • Split version host logic into two sets:
    • PLUGINS_USE_VERSION_HOST: for listing versions (excludes java/python due to complex version schemes)
    • PLUGINS_TRACK_DOWNLOADS: for download tracking (includes all core plugins + registry tools)

This enables download metrics for python and java while still excluding them from the versions host for listing (due to complex version schemes like cpython/pypy/graalpy).

Test plan

  • Build passes
  • Lint passes
  • Verify tracking works by checking mise-tools.jdx.dev metrics after python/java installs

🤖 Generated with Claude Code


Note

Enable install tracking for all core and registry tools (including java/python) while keeping versions listing limited to non-java/python tools.

  • Versions/Tracking logic (src/versions_host.rs):
    • Add PLUGINS_TRACK_DOWNLOADS to include all core plugins and registry tools for tracking (now includes java and python).
    • Retain PLUGINS_USE_VERSION_HOST for listing versions, still excluding java/python.
    • Update track_install to gate on PLUGINS_TRACK_DOWNLOADS instead of PLUGINS_USE_VERSION_HOST, keeping async fire-and-forget behavior.
    • Minor doc/comment adjustments clarifying roles of both sets.

Written by Cursor Bugbot for commit 5ac0759. This will update automatically on new commits. Configure here.

Split version host logic into two sets:
- PLUGINS_USE_VERSION_HOST: for listing versions (excludes java/python)
- PLUGINS_TRACK_DOWNLOADS: for download tracking (includes all tools)

This enables download metrics for python and java while still excluding
them from the versions host for listing (due to complex version schemes).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings December 15, 2025 04:09
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR enables download tracking metrics for Python and Java installations by separating version host functionality into two distinct concerns: version listing and download tracking.

Key Changes:

  • Introduced PLUGINS_TRACK_DOWNLOADS to track downloads for all core plugins including Java/Python
  • Retained PLUGINS_USE_VERSION_HOST for version listing, excluding Java/Python due to their complex version schemes
  • Updated track_install() to use the new download tracking set

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link
Copy Markdown

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.7 x -- echo 16.9 ± 0.4 15.8 18.6 1.00
mise x -- echo 17.2 ± 0.4 16.2 18.7 1.02 ± 0.04

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.7 env 16.4 ± 0.6 15.4 24.2 1.00
mise env 16.8 ± 0.8 15.5 26.9 1.02 ± 0.06

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.7 hook-env 16.2 ± 0.6 15.2 26.7 1.00
mise hook-env 16.9 ± 0.5 15.7 18.5 1.04 ± 0.05

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.7 ls 14.1 ± 0.3 13.2 15.2 1.00
mise ls 14.5 ± 0.4 13.4 15.9 1.03 ± 0.04

xtasks/test/perf

Command mise-2025.12.7 mise Variance
install (cached) 81ms 81ms +0%
ls (cached) 54ms 54ms +0%
bin-paths (cached) 56ms 57ms -1%
task-ls (cached) 353ms 353ms +0%

@jdx jdx merged commit fee6002 into main Dec 15, 2025
44 of 45 checks passed
@jdx jdx deleted the feat/core-plugin-security branch December 15, 2025 04:29
jdx pushed a commit that referenced this pull request Dec 15, 2025
### 🚀 Features

- **(conda)** add dependency resolution for conda packages by @jdx in
[#7280](#7280)
- **(go)** add created_at support to ls-remote --json by @jdx in
[#7305](#7305)
- **(hook-env)** add hook_env.cache_ttl and hook_env.chpwd_only settings
for NFS optimization by @jdx in
[#7312](#7312)
- **(hooks)** add MISE_TOOL_NAME and MISE_TOOL_VERSION to
preinstall/postinstall hooks by @jdx in
[#7311](#7311)
- **(shell_alias)** add shell_alias support for cross-shell aliases by
@jdx in [#7316](#7316)
- **(tool)** add security field to mise tool --json by @jdx in
[#7303](#7303)
- add --before flag for date-based version filtering by @jdx in
[#7298](#7298)

### 🐛 Bug Fixes

- **(aqua)** support cosign v3 bundle verification by @jdx in
[#7314](#7314)
- **(config)** use correct config_root in tera context for hooks by @jdx
in [#7309](#7309)
- **(nu)** fix nushell deactivation script on Windows by @fu050409 in
[#7213](#7213)
- **(python)** apply uv_venv_create_args in auto-venv code path by @jdx
in [#7310](#7310)
- **(shell)** escape exe path in activation scripts for paths with
spaces by @jdx in [#7315](#7315)
- **(task)** parallelize exec_env loading to fix parallel task execution
by @jdx in [#7313](#7313)
- track downloads for python and java by @jdx in
[#7304](#7304)
- include full tool ID in download track by @jdx in
[#7320](#7320)

### 📚 Documentation

- Switch `postinstall` code to be shell-agnostic by @thejcannon in
[#7317](#7317)

### 🧪 Testing

- **(e2e)** disable debug mode by default for windows-e2e by @jdx in
[#7318](#7318)

### New Contributors

- @fu050409 made their first contribution in
[#7213](#7213)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants