improved
fixed
More bug fixes and stability improvements. Keep an eye on the plugins repo for a big new release coming soon!
✨ Improvements
- When the computer is waking from sleep, don't schedule redundant time-based actions.
- Ensure that the trunk daemon inherits no file descriptors from calling processes.
- The trunk-fmt-pre-commitis now run in non-interactive contexts, such as vscode commit.
🔧 Fixes
- Fix some trunk commands hanging when firewalls are active.
- Increased stability of the LSP server.
- Support parsing all issue levels in pylint.
- Correctly call out how many new and existing issues have auto-fixes.
- Support linter versions with pre-release semver tags.
- Wait for filesystem events to settle down before checking for trunk.yamldeletion, which triggers daemon shutdown.
- Fix a regression in spacebar skipping of checks in git hooks.
- Fix bug where sometimes issues below the defined threshold were counted as blocking.
improved
fixed
Big emphasis on stability and bugfixes for this one!
✨ Improvements
- Use JDKs instead of JREs for the Java 11 and Java 17 runtimes
- Add support for trunk-ignorein SQL files
- Return lint results in VSCode more responsively
🔧 Fixes
- Add debug handling when a custom parser errors out
- Teach trunk fmtto runsvgo
- Fix trunk-ignore-endparsing bug
- Fix bug that would cause us to occasionally hang on shutdown
- Fix ansible-lintintegration starting fromansible-lint@5.4.0
- Stop showing duplicate notices when running trunk check
- Use linter configs from the appropriate commit, not the workspace, when running as a git hook
- Fix trunk init -–lock
- Make trunk check enablemore resilient
new
fixed
🎁 New
- Add support for clang-tidy@15.0.6andclang-format@15.0.6
🔧 Fixes
- Fix internal handling of lint session completion
new
improved
fixed
🎁 New
- New linter: kube-linter.
- Cargo runtime support.
✨ Improvements
- MacOS release binaries are now signed and notarized.
- Action run commands now run in a bash shell by default.
- Improved CLI display of multi-line linter messages.
- trunk check enablenow sets up default config files if the user does not already have one.
- Linter definitions in plugin repositories can now specify default config files for users who don't already have one.
🔧 Fixes
- Fix shebang scanning to allow arguments to the executable.
- Fix for plugins finding packages_filerelative to its definition path.
- svgo now supports svgo.config.{js,mjs,cjs} instead of just .js.
- Fix an empty file path header when an error occurs when running via a GitHub action.
new
improved
fixed
🎁 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 --no-fix, 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 allornoneoptions.
- trunk checknow tells the user know how many issues have auto-fixes.
- trunk checknow 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 @SYSTEMRuby, 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 fmtwould 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.
new
improved
fixed
🎁 New
- trunk config printPrints the current merged configuration.
- trunk config hideHides trunk configuration from git, for users who wish to use trunk but not check the configuration into the repo.
- trunk config shareUnhides trunk configuration from git.
- Add download support for .gzdownloads which are not also tarred.
✨ Improvements
- Trunk launcher no longer prompts to download the latest version.
- Text styling improvements in the CLI.
- Running trunk initwhile in single-player mode will ask to put trunk in shared mode.
- Failures running linters are now shown at the end of CLI output.
- Auto-detect bazel vs compile_commands.json.
- Auto-load all compile_commands.json in the build/directory.
- Auto-load any compile_commands.json in any parent directory of a file to be linted.
- When a git hook fails, trunk now communicates the action that was the source of the failure.
🔧 Fixes
- The trunk-check-pre-pushaction now correctly loads compile commands.
- When trunk creates new configs during init in single-player mode, trunk now ensures they are formatted properly according to the repos configuration.
- Fix edge case where vscode would not receive updated diagnostics from trunk.
- Fix edge case where LLVM output paths would not be parsed correctly.
new
🎁 New:
- Trunk single player mode: trunk init --invisiblewill add.trunkto your local git ignores (.git/info/exclude) so you can use trunk with commiting anything to your repository.
- trunk init sharewill remove.trunkfrom your local git ignores if it exists.
- trunk init hidewill add.trunkto your local git ignores if it doesn't exist.
- When checking for the latest version of tools, trunk now uses its own caching service to avoid GitHub api limits.
- New default action: trunk-share-with-everyone, creates a notification to unignore .trunk when it is found in .git/info/exclude.
- Swift support (macOS only): stringslint,swiftlint,swiftformat
✨ Improved:
- Trunk will now watch trunk.yamland turn on git hook management automatically when enabling git hooks.
- Trunk will now stop managing git hooks when the last git hook is disabled.
- When trunk configuration is invalid, the errors are now presented as diagnostics instead of an error message.
- Trunk now respects the environment variable XDG_CACHE_HOMEwhen downloading and installing tools.
- You can now trunk initoutside a git repo by passing--force.
- Trunk now merges all plugin.yamlfound in plugins, allowing self-contained linter directories.
🔧 Fix:
- Local plugin development ....
- --jobsnow works properly with--ci
- TFLintconfiguration now correctly allows exit code 1, without causing errors in Trunk.
new
🎁 New:
- --output-filewrites JSON to a file instead ofstdout.
- Trunk now allows storing any linter configuration file in .trunk/configinstead of at the root of the repo, to hide the mess.
✨ Improved:
- Arbitrary flags can now be appended to compile commands for C++ linters.
- trunk-fmt-pre-commitaction now only formats files that are modified in the index.
- trunk initnow writes runtime versions to trunk.yaml.
- trunk upgradenow upgrades trunk, linters, and plugin sources instead of just trunk.
- trunk initnow asks the user if they want trunk to manage their git hooks. and if so asks to enable some useful git hooks.
- trunk initnow enables some useful default actions.
🔧 Fix:
- trunk upgrade <linter>will no longer enable new linters.
- Fix where action notifications sometimes would not go away.
- Fix packages_filesupport in Plugins.
- trunk upgrade --no-progressnow works.
new
🎁 New:
- New linter: include-what-you-use
- Added more file type definitions.
✨ Improved:
- Semgrep now runs on more file types
- Trunk now handles inotify overflows in a more robust way!
- Trunk will not lint files over 4MB (configurable).
- Changed user_trunk.yamltouser.yaml
- Trunk will now warn when it can't download for that platform.
- Plugin repositories can now specify a minimum version of trunk required.
- Linters using system version may now omit @SYSTEM
🔧 Fix:
- Pylint caching bug fix.
- Workaround for gitleaks bug on empty files.
- Trunk pre-commit hook bug fix when used with git commit -a
- Terraform now works in sub-directories
Load More
→