Changelog

Follow up on the latest improvements and updates.

RSS

new

improved

fixed

1.17.2

🎁 New
  • Single-player mode will now auto-upgrade all linters periodically.
  • Linters now have a maximum concurrency setting. Trunk will never run a linter more than this number of times simultaneously.
✨ Improvements
  • Trunk now gives an error message when you include a version specifier in a disabled entry.
  • Added the
    --only-detected-formatters
    and
    --only-detected-linters
    flags
  • LSP Server de-deuplicates code actions.
🔧 Fixes
  • Fixed a memory leak in the daemon process.

fixed

1.17.1

🔧 Fixes
  • Fix bug where
    trunk init --single-player-mode
    would fail if you do not have a
    .git/info
    directory.
  • Proper handling of percent encoding in SARIF output.
  • Do not use proxy settings when connecting to the daemon using TCP loopback.
  • Windows fixes.

improved

fixed

1.17.0

✨ Improvements
  • Trunk now always uses TCP instead of unix domain sockets to communicate with its daemon.
  • Trunk tools now does health checks to ensure installed versions match the expected versions.
  • LSP Server optimizations.
  • trunk-ignore-all
    can now be used to ignore formatting diagnostics.
🔧 Fixes
  • Allow linter definitions to override environment variables as intended.
  • Various Windows bug fixes.
  • Better error reporting for various issues.

fixed

1.16.2

🔧 Fixes
  • Fixed a bug where the LSP server may become unresponsive.

improved

fixed

1.16.1

✨ Improvements
  • Oxipng now uses the language "unoptimized image" rather than "unformatted file."
  • Improved crash reporting for internal errors.
🔧 Fixes
  • Be more resilient to permission-denied errors in the file watcher.
  • The LSP Server will now retry linting a file when it detects the file has changed, rather than leaving stale diagnostics.
🎁 New
  • Introduce the ability to pin a specific version of a linter, tool, or runtime in Trunk. Append a
    !
    to its version to prevent updates via trunk upgrade.
  • Added support for plugins in prettier versions >=3.0.0.
✨ Improvements
  • Replaced
    run_linter_from
    with
    run_from
    in linter definitions (see docs).
  • Trunk will no longer suggest upgrades that are enabled in a plugin.
🔧 Fixes
  • Resolved an issue where trunk upgrade sometimes failed to display upgrade summaries.
  • Updated
    compile_commands.json
    parsing with support for the arguments key.
  • Fix a rare crash in the
    pre-commit
    hook when pressing the spacebar to skip checks.
  • Do a better job of discarding issues in files outside the workspace.
  • The LSP Sever does a better job clearing stale diagnostics.
  • Better crash reporting on macOS.
  • Better error messages when failing to resolve DNS entries.
  • Fixed a bug where trunk would reinstall tools on each upgrade.
  • Many Windows bug fixes.

new

improved

fixed

1.15.0

🎁 New
  • New command line flag:
    --print-failures
    will print any failures instead of saving them to a file.
✨ Improvements
  • trunk upgrade
    is now able to perform all upgrades in a single invocation. Previously, it would require multiple invocations if there were dependencies between the linters, plugin repos, or the CLI.
  • The LSP Server will now lint files that are modified outside of the editor.
🔧 Fixes
  • Remove deprecated
    trunk check download
    . It has been superseded by
    trunk install
    .
  • Make Trunk daemon startup faster to fix occasional timeouts connecting to it.
  • Fix various Windows issues.
✨ Improvements
  • Excluded diagnostics from outside the workspace.
  • Tool installation failures are now logged in CI mode.
  • Trunk now watches for file changes on Windows.
  • trunk tools install
    now accepts positional arguments for selective tool downloads.
🔧 Fixes
  • Prevented Trunk from downgrading tool versions.
  • Corrected scanned file statistics for post-autofix rescans.

fixed

improved

1.14.1

✨ Improvements
  • Trunk now respect pip.conf in python environments.
  • Added health checks to tool installations.
🔧 Fixes
  • Fixed race condition when a linter had both a runtime and a download, but no packages.
  • Ensure that ignores apply to all commands of a linter, not just the first.
  • Fixed a rare crash in template expansion when a variable was not defined.
🎁 New
  • Introducing Trunk Tools: Hermetic runtime and CLI manager.
  • Linux arm64 support added.
  • Run only security linters using
    --scope=security
    .
✨ Improvements
  • Linter command overrides now honor platform constraints.
  • Filetype definitions expanded: Match any shebang with ALL.
  • trunk fmt
    now supports
    --cache=false
    option.
  • Added
    no_issues_codes
    : Linters can bypass parsing for specific tool exit codes.
  • Node runtime now recognizes user's .npmrc settings.
🔧 Fixes
  • Resolved crash issue for
    --ci
    with trunk
    fmt
    .
  • Corrected off-by-one error in include-what-you-use parser.
  • Numerous Windows-related fixes.
  • LSP Server: Diagnostics from user.yaml are now cleared appropriately.
  • SARIF parser updated to support
    file://
    artifact locations.
Load More