Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 23, 2025

This PR contains the following updates:

Package Change Age Confidence
github.com/google/yamlfmt v0.17.2 -> v0.20.0 age confidence

Release Notes

google/yamlfmt (github.com/google/yamlfmt)

v0.20.0

Compare Source

Features

-version flag works when using go install

The previous method of version retrieval only worked when downloading the binary through GitHub releases or one of the community-made packages. When using go install, the version would always be dev because the ldflags weren't being used to set the version. It now falls back to debug.BuildInfo so that the version will be displayed properly when installing through this method.

Fixes

Performance Issues when formatting large files

Details in #​283. Two fixes were submitted:

  • Use of strings.Repeat instead of manually looping during string construction #​284
  • Changing logic to only construct a diff string when the debug code is active #​287

If you have experienced similar performance issues, these fixes should help.

Contributors

Thanks @​artur-beznosyuk-verkada for the performance issue analysis and the strings.Repeat fix.

v0.19.0

Compare Source

With v0.19.0, I have fully reverted all the pre-commit changes done in the v0.18.0 line. I apologize for any drama this caused in your CI. I have learned my lesson and won't modify the pre-commit hook any further. Maybe something will change in the future if someone joins the team maintaining the hook (see https://redirect.github.com/google/yamlfmt/discussions/278) but I personally will not do it.

I have updated the pre-commit docs to include some configuration tricks for how to get around the problems this original form of the hook can cause. Hopefully this should be enough to resolve problems that some users originally experienced that inspired my attempt in the v0.18.0 series.

v0.18.1

Compare Source

The previous fix for pre-commit was poorly done. The default experience for a pre-commit hook is to pass all the discovered filenames to the entry, and when yamlfmt receives references to exact files in its list of arguments, by design it will run them through the formatter without checking whether the config would want to run them. With the fix in v0.18.0, this would cause all files in a repo, including non-yaml ones, to run through the formatter unconditionally. I think I have finally settled on a proper implementation, which is explained in the docs.

On a related note, if you are knowledgeable about pre-commit and interested in the future of this project as a pre-commit hook, please take a look at my recent announcement: #​278

v0.18.0

Compare Source

The primary reason for this release is a change to the pre-commit hook that might be breaking to some users.

Features

pre-commit hook no longer specifies filetypes

The expectation for yamlfmt is to be run in a working directory of many different filetypes, and to configure what you as a user want the tool to run on based on configuration (file extensions, doublestar patterns, etc). The hook no longer specifies types: [yaml] like it used to. You can restore this behaviour by overriding it in your pre-commit config like so:

- repo: https://github.com/google/yamlfmt
  rev: v0.18.0
  hooks:
    - id: yamlfmt
      types: [yaml]

However, you will likely have a better experience by reconfiguring yamlfmt to match the intended experience.

Default usage message on misuse of command

If you use the command yamlfmt with no arguments, and no config is discovered, the tool will now output a default usage message to indicate to the user how to properly use the command.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-actions
Copy link
Contributor

Renovate PR Review Results

⚖️ Safety Assessment: ✅ Safe

🔍 Release Content Analysis

  • Performance Improvements: v0.20.0 includes significant performance optimizations for large file formatting using strings.Repeat instead of manual loops and optimized debug diff string construction
  • Version Flag Enhancement: Improved -version flag functionality when using go install, falling back to debug.BuildInfo for proper version display
  • Pre-commit Stability: v0.19.0 fully reverted problematic pre-commit changes from v0.18.x series, ensuring stable hook behavior
  • No Breaking Changes: All changes are backward-compatible improvements with no API modifications affecting existing usage patterns
  • No Security Fixes: No security-related issues were addressed in these releases

🎯 Impact Scope Investigation

  • Limited Usage Scope: yamlfmt is only used in /home/runner/work/gat/gat/internal/prettier/yaml.go:4-5 for YAML formatting functionality
  • Stable API Usage: The codebase uses standard yamlfmt.Factory interface and basic.BasicFormatterFactory{} which remain unchanged
  • No Configuration Dependencies: No yamlfmt-specific configuration files or advanced features are used that could be affected by updates
  • Test Coverage: Existing tests in yaml_test.go use only the public API which remains stable across versions
  • No Transitive Dependency Impact: The module hash change shows no impact on other dependencies

💡 Recommended Actions

  • Immediate Merge: This update can be merged immediately without any code modifications
  • Performance Benefits: The update will provide better performance when formatting large YAML files
  • Version Visibility: Improved version reporting when gat is built with go install
  • No Migration Required: Current usage patterns are fully compatible with the new version

🔗 Reference Links

Generated by koki-develop/claude-renovate-review

@koki-develop koki-develop merged commit 9c49b11 into main Nov 24, 2025
5 checks passed
@koki-develop koki-develop deleted the renovate/github.com-google-yamlfmt-0.x branch November 24, 2025 00:43
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