Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 20 Mar 02:01
· 67 commits to main since this release
security audit: apply all 32 findings (Groups 1-11)

- Group 1 (validate.mojo): allowlist scan on tarball URLs (C-1), version
  max-32-chars + leading/trailing/consecutive-dot checks (V-1/V-3/V-4),
  validate_name call in manifest_add_dep (T-3), ASCII-only comment (V-2)
- Group 2 (fs/installer.mojo): _shell_quote helper, quote all paths in
  mkdir_p/tar/curl/compile cmds, private $HOME/.mojo/tmp dir (C-2/C-3/P-1/P-2)
- Group 3 (lockfile/flags/toml.mojo): _json_escape all lockfile fields,
  double-quote install_path in flags output, _unquote escape processing (P-3/P-4/T-2)
- Group 4 (resolver.mojo): queued dict for cycle detection, semver empty
  component rejection, R-3 TODO comment (R-1/R-2/R-3)
- Group 5 (json.mojo): depth limit (max 64) threaded through all three
  recursive parse functions (T-1)
- Group 6 (http_client.mojo): allow_private_ips default False (N-1)
- Group 7 (scripts/install.sh): SHA256 sidecar verification before extract (S-2)
- Group 8 (CI workflows): pin actions to commit SHAs, pin tls clone to
  commit, test+build-and-smoke as release prereqs, scope contents:write
  to release job only (S-1/S-3/CI-2/CI-3)
- Group 9: delete 7 dead code files (greet/mymod/xyz123/simple_test/
  test_greet_inline/test_greet/test_resolver) (D-2/TC-1)
- Group 10: new test_installer.mojo (sha256, hex, validate checks),
  enhanced test_validate (version dots/length, url allowlist, single-char name),
  enhanced test_lockfile (JSON escape roundtrip), updated test_flags
  (double-quoted path assertions), wired test-installer into pixi.toml (TC-2/3/4)
- Group 11: RC-1 TODO in lockfile_write, R-3 TODO in resolver.mojo

All 9 test suites pass; binary smoke test passes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>