🎁 New
  • New command
    trunk deinit
    : Remove all traces of trunk from a repo.
  • Ability to save GitHub annotations to file for later uploading. This unlocks posting annotations from GitHub forks.
  • New command
    trunk check list
    : Lets the user know all available linters and how they apply to the current repo.
  • Integrate the Rome tool for formatting and linting.
✨ Improvements
  • If the user passed
    , don't show auto-fix prompts at all.
  • Add a note to CLI output if there are any failures letting users know they can look at the details files.
  • Auto-fix prompts now have the
  • trunk check
    now tells the user know how many issues have auto-fixes.
  • trunk check
    now tells the user know how many files were scanned.
  • Improved onboarding flow for enabling git hooks during init.
  • Make it clearer that formatting issues apply to the whole file.
  • Show the number of files each tool applies to on init and upgrade.
  • When a task failure contains a suggestion, show that to the user at the end of check output.
  • Give detailed error messages when trunk cannot determine your upstream git reference automatically.
  • Help text improvements.
  • Plugins will overwrite definitions instead of merging them, including previous plugins.
  • When using
    Ruby, consider rbenv-installed Ruby versions with the highest priority.
  • Add support for additional versions of Python runtimes.
🔧 Fixes
  • Make daemon restarts more resilient.
  • Fix bug where
    trunk fmt
    would error when passed an absolute path outside the repository.
  • When linting C++, allow include scanning to fail for the upstream check.
  • Ensure we always shut down the daemon when trunk.yaml is deleted.