Skip to content

Update minor Go package updates - #59

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/minor-go-package-updates
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/minor-go-package-updates

Conversation

@renovate

@renovate renovate Bot commented May 10, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/go-critic/go-critic v0.14.3 → v0.15.0 age confidence
github.com/go-sql-driver/mysql v1.9.3 → v1.10.1 age confidence
github.com/golangci/golangci-lint/v2 v2.11.4 → v2.14.0 age confidence
github.com/jackc/pgx/v5 v5.9.2 → v5.11.0 age confidence
github.com/uptrace/bun v1.2.18 → v1.3.0 age confidence
github.com/uptrace/bun/dialect/sqlitedialect v1.2.18 → v1.3.0 age confidence
github.com/uptrace/bun/driver/sqliteshim v1.2.18 → v1.3.0 age confidence
go.yaml.in/yaml/v3 v3.0.4 → v3.0.5 age confidence
golang.org/x/tools v0.43.0 → v0.52.0 age confidence
gorm.io/gorm v1.31.1 → v1.31.2 age confidence
honnef.co/go/tools v0.7.0 → v0.8.2 age confidence
modernc.org/sqlite v1.50.0 → v1.60.1 age confidence
mvdan.cc/gofumpt v0.9.2 → v0.12.0 age confidence

Release Notes

go-critic/go-critic (github.com/go-critic/go-critic)

v0.15.0

Compare Source

What's Changed

New Contributors

Additional kudos for @​stefanb

Full Changelog: go-critic/go-critic@v0.14.4...v0.15.0

v0.14.4

Compare Source

What's Changed

Full Changelog: go-critic/go-critic@v0.14.3...v0.14.4

go-sql-driver/mysql (github.com/go-sql-driver/mysql)

v1.10.1

Compare Source

  • Fix Config.FormatDSN() dropping Addr when Net is empty.
    It now uses the default tcp network so configs with only Addr round-trip correctly. (#​1770)

  • Fix typed-nil json.RawMessage with interpolateParams=true being interpolated as an empty string.
    It is now interpolated as SQL NULL, matching server-side prepared statements. (#​1782)

  • Add MariaDB 11.8 and 12.3 to the test matrix. (#​1774)

v1.10.0

Compare Source

  • Fix getSystemVar("max_allowed_packet") potentially returned wrong value. (#​1754)
    This affects only when maxAllowedPacket=0 is set.

  • Bump filippo.io/edwards25519 from 1.1.1 to 1.2.0. (#​1756)
    While older versions have reported CVEs, they do not affect go-mysql.

  • Update Go versions to 1.24-1.26. (#​1763)

  • Enhance interpolateParams to correctly handle placeholders. (#​1732)
    The question mark (?) within strings and comments will no longer be treated as a placeholder.

golangci/golangci-lint (github.com/golangci/golangci-lint/v2)

v2.14.0

Compare Source

Released on 2026-09-24

  1. Bug fixes
    • fix: cache of facts reloading
  2. Linters new features or changes
    • bodyclose: from 73d1f95 to 857993a (new directive handled)
    • exhaustive: from 0.12.0 to 0.13.0
    • exhaustruct_v5: from 5.0.3 to 5.2.0 (new option: allow-empty-blank-assignments)
    • go-check-sumtype: from 0.3.1 to ae6904d
    • gocritic: from 0.14.4 to 0.15.0
    • gofumpt: from 0.11.0 to 0.12.0
    • gomoddirectives: from 0.9.0 to 0.10.0
    • gosec: from 2.28.0 to 2.29.0 (re-enable G407)
    • govet-modernize: from 0.49.0 to 0.50.0
    • loggercheck: from 0.11.0 to 0.12.0
    • revive: from 1.15.0 to 1.17.0 (new rules: marshal-receiver, multiline-if-init, use-slices-concat)
    • tagliatelle: from 0.7.2 to 0.8.0
  3. Linters bug fixes
    • fatcontext: from 0.10.0 to 0.10.1
    • flock: from 0.13.0 to 0.13.1
    • godoclint: from 0.11.2 to 0.11.4
    • protogetter: from 0.3.21 to 1.0.1
    • recvcheck: from 0.3.0 to 0.3.1
    • tagalign: from 1.4.3 to 1.4.4

v2.13.2

Compare Source

Released on 2026-08-28

  1. Bug fixes
    • Decrease cache entropy
  2. Linters bug fixes
    • iface: from 1.5.0 to 1.5.1
    • staticcheck: from 0.8.0 to 0.8.1
    • unparam: from 3f964bc to 2fa3d84
    • canonicalheader: from v1.1.2 to a temporary fork

v2.13.1

Compare Source

Released on 2026-08-20

  1. Linters bug fixes
    • ginkgolinter: from 0.23.1 to 0.24.0
    • gofmt: from d62b90e to e84e050
    • staticcheck: from 0.8.0-rc.1 to 0.8.0
    • wsl_v5: from 5.8.0 to 5.9.0

v2.13.0

Compare Source

Released on 2026-08-19

  1. Enhancements
    • 🎉 go1.27 support
  2. Bug fixes
    • fix: cache package facts
  3. Linters new features or changes
    • dupword: from 0.1.7 to 0.1.8 (new option skip-raw-strings)
    • errcheck: from 1.10.0 to 1.20.0
    • exhaustruct_v5: from 4.0.0 to 5.0.2 (new configuration)
    • exhaustruct: deprecated and replaced by exhaustruct_v5
    • fatcontext: from 0.9.0 to 0.10.0 (new options: check-loops, check-function-literals)
    • goconst: from 1.10.0 to 1.11.0 (new options: ignore-map-keys, exclude-types)
    • gofumpt: from 0.9.2 to 0.11.0 (new options: extra.group-params, extra.clothe-returns, extra.balance-calls)
    • gomoddirectives: from 0.8.0 to 0.9.0 (new option: replace-allow-all)
    • gosec: from 2.26.1 to 2.27.1
    • govet-modernize: from 0.44.0 to 0.49.0 (fmtappendf is removed. New analyzers atomictypes, embedlit, errorsastype, importcomment, reflecttypeassert, slicesclip, and slicesbackward. waitgroup is renamed waitgroupgo)
    • iface: from 1.4.3 to 1.5.0 (new analyzer: unusedmethod)
    • noinlineerr: from 1.0.5 to 1.0.6
    • nonamedreturns: from 1.0.6 to 1.0.8 (new option: allow-unused-named-returns)
    • recvcheck: from 0.2.0 to 0.3.0 (new default exclusions)
    • unparam: from 5beb8c8 to 3f964bc
  4. Linters bug fixes
    • clickhouse-go-linter: from 1.2.0 to 1.2.1
    • errname: from 1.1.1 to 1.1.2
    • exhaustruct_v5: from 5.0.2 to 5.0.3
    • funcorder: add missing Function field
    • ginkgolinter: from 0.23.0 to 0.23.1
    • gocheckcompilerdirectives: from 1.3.0 to 1.4.0
    • gocritic: from 0.14.3 to 0.14.4
    • gomoddirectives: add missing IgnoreForbidden field
    • iface: from 1.4.2 to 1.4.3
    • mirror: from 1.3.0 to 1.3.3
    • nilnil: from 1.1.1 to 1.1.2
    • protogetter: from 0.3.20 to 0.3.21

v2.12.2

Compare Source

Released on 2026-05-06

  1. Linters bug fixes
    • gomodguard_v2: fix blocked configuration
    • gomodguard_v2: from 2.1.0 to 2.1.3
    • iface: from 1.4.1 to 1.4.2

v2.12.1

Compare Source

Released on 2026-05-01

  1. Linters bug fixes
    • gomodguard_v2: fix panic with migration suggestion
  2. Misc.
    • fix install.sh script (if you are still using an URL based on the branch master, please update to use https://golangci-lint.run/install.sh)

v2.12.0

Compare Source

Released on 2026-05-01

  1. New linters
  2. Linters new features or changes
    • dupl: from f665c8d to c99c5cf (extended detection)
    • funcorder: from 0.5.0 to 0.6.0 (new option: function)
    • goconst: add an option to ignore strings from tests
    • goconst: from 1.8.2 to 1.10.0 (extended detection)
    • gomodguard_v2: from 1.4.1 to 2.1.0 (major version with new configuration)
    • gosec: from 619ce21 to 2.28.0 (new checks: G124, G708, G709, G710)
    • govet: add inline analyzer
    • makezero: from 2.1.0 to 2.2.1 (support slice type aliases)
    • paralleltest: expose checkcleanup option
    • sloglint: from 0.11.1 to 0.12.0 (new options: allowed-keys, custom-funcs)
    • wsl_v5: from 5.6.0 to 5.8.0 (new option: cuddle-max-statements; new checks: after-decl, after-defer, after-expr, after-go, cuddle-group)
  3. Linters bug fixes
    • forbidigo: from 2.3.0 to 2.3.1
    • godot: from 1.5.4 to 1.5.6
    • govet-modernize: from 0.43.0 to 0.44.0
    • ireturn: from 0.4.0 to 0.4.1
    • rowserrcheck: from 1.1.1 to c5f79b8
  4. Misc.
    • Decrease cache entropy
    • Embed the JSON schema in the binary
    • Filter env vars when cloning the repository with the custom command
jackc/pgx (github.com/jackc/pgx/v5)

v5.11.0

Compare Source

This release adds direct PostgreSQL type scanning through database/sql on Go 1.27, improves compatibility with
libpq connection strings and PostgreSQL date/time values, and includes further decoder hardening. See Changes for
connection-string and date/time behavior changes that may affect existing applications.

Features

  • stdlib: support Go 1.27's driver.RowsColumnScanner, allowing PostgreSQL types such as arrays and ranges to be
    scanned directly into Go values without pgtype.Map.SQLScanner. Existing database/sql scalar conversions and
    sql.Scanner behavior are preserved. The minimum supported Go version remains 1.25.
  • Add Rows.TypeMap to expose the type map used to decode rows, including rows created by RowsFromResultReader
    that have no underlying Conn. Custom implementations of Rows, including mocks, must add this method.
  • pgconn: add Config.MaxProtocolMessageBodyLen to configure the maximum incoming protocol message body size
    (carter-ya)
  • pgconn: add ErrReadOnlyConnection, ErrReadWriteConnection, ErrPrimaryConnection, and ErrStandbyConnection
    sentinel errors for target_session_attrs validation, allowing callers to use errors.Is (Adrian-Stefan Mares)
  • pgxpool: accept pool_ping_timeout in connection strings to configure Config.PingTimeout. The default is zero;
    zero and negative durations mean no timeout (1991santhu)

Changes

  • Name-based row-to-struct mapping now matches explicit db tags case-insensitively, with exact matches taking
    precedence so tags can still distinguish quoted column names that differ only by case (AlisinaDevelo)

  • pgconn: resolve the OS user account only when no user is supplied by the connection string, environment, or service
    file, avoiding unnecessary account lookups and crashes in some restricted container environments. Home-directory
    defaults for password, service, and TLS files remain available independently of the account lookup. On Unix these
    now use $HOME rather than the OS account's home directory (Mohamed MAACHE)

  • pgtype: date, timestamp and timestamptz text values are now parsed and written by a hand-written parser and
    encoder for PostgreSQL's ISO date/time format instead of time.Parse and time.Format. Go's layout language cannot
    express a variable-width year or the BC era, which is the root of the bugs below. The text scan path is roughly 2.5x
    faster for timestamp and timestamptz. Bug fixes:

    • timestamp and timestamptz no longer silently move February 29 of a BC leap year to March 1 when encoding.
      time.Date(-4712, 2, 29, ...) was written as 4713-03-01 BC and is now written as 4713-02-29 BC. This
      affected ordinary four-digit BC years, not only extended-range ones. date was never affected.
    • timestamp and timestamptz can now scan BC leap days. 4713-02-29 BC previously failed with
      day out of range. date could already scan them.
    • Years past 9999 can now be scanned. 10000-01-02 03:04:05 previously failed to parse, so timestamp and
      timestamptz values at the high end of PostgreSQL's range were unreadable over the simple protocol and in any
      other text-format result.
    • time.Time arguments in the simple protocol now encode BC dates correctly, using the same timestamp encoder.
    • Fractional seconds beyond microsecond precision are rounded the way the server rounds them (round half to even,
      carrying into the rest of the value) instead of being kept at full precision. PostgreSQL never sends more than six
      fractional digits, so this only affects values from other sources.

    Behavior changes:

    • date now rejects impossible dates instead of normalizing them. 2024-02-30 returned 2024-03-01 and
      2024-13-01 returned 2025-01-01; both are now errors. timestamp and timestamptz already rejected them.
    • All three types now reject values outside PostgreSQL's range for that type, in the binary format as well as the
      text format. PostgreSQL never sends out-of-range dates, so this only affects corrupt or hand-built input; the range
      is checked in both formats so that whether a value is accepted does not depend on QueryExecMode.
      timestamptz also rejects time zone displacements outside PostgreSQL's signed 32-bit seconds range, while accepting
      the wider offsets emitted for POSIX time zones, such as +16.
    • timestamptz values scanned from the text format are now returned in time.Local, or in ScanLocation when it is
      set, matching what the binary format has always returned. Previously the text path kept whatever location
      time.Parse derived from the offset the server sent, so the same value scanned in the two formats could report a
      different Location() and Zone(). The instant is unchanged, but everything that renders the location changes
      with it: Timestamptz.MarshalJSON now writes the client's offset rather than the server's, so a value the server
      sent as +05:30 marshals as 2024-01-01T13:34:05-08:00 on a UTC-8 client instead of 2024-01-02T03:04:05+05:30,
      and DecodeDatabaseSQLValue hands database/sql a time.Time in that same location. Set the codec's
      ScanLocation to time.UTC to pin the location regardless of the client's zone.
    • Error messages from these paths have changed.
  • pgconn: connection URIs (postgres://...) are now parsed by a new parser designed to exactly match libpq's URI
    parser behavior instead of net/url,
    making pgx accept and reject exactly the same URIs as libpq (verified by differential fuzzing against libpq itself).
    Most connection strings are unaffected. Edge-case behavior changes, all matching libpq:

    • + in query values is literal, no longer decoded as a space.
    • Malformed percent-encoding is a parse error instead of the parameter being silently dropped. %00 is rejected.
    • Leading/trailing spaces in URI components are trimmed; interior spaces are a parse error (encode them as %20).
    • # is ordinary data, not a fragment delimiter.
    • The userinfo terminator is the first @ before any / (previously the last @).
    • When a query parameter is repeated, the last occurrence wins (previously the first).
    • ssl=true is accepted as an alias for sslmode=require in URIs (JDBC compatibility). A repeated ssl key
      follows the same last-occurrence-wins rule as other repeated parameters, even across the rewrite to sslmode. If
      the final ssl value is not true, an independent explicit sslmode remains in effect.
    • Multiple hosts with mixed port specs are positionally aligned: postgres://h1,h2:5433/db now means h1:5432 and
      h2:5433 (previously both hosts got port 5433). A port list that is neither a single port nor exactly one port per
      host is an error (could not match N port numbers to M hosts), also for keyword/value connection strings.
    • An IPv6 address in a URI must be enclosed in brackets. A bare postgres://::1/db was previously accepted as host
      ::1; it is now read as an empty host followed by port :1 and fails with an invalid port error. Write it as
      postgres://[::1]/db.
    • Empty host list elements (e.g. h1,,h2) get the default host instead of being dropped. Likewise, an empty host in
      a keyword/value string (host=) now means the default host -- typically the Unix socket directory -- where it
      previously meant a TCP connection to an empty hostname.
    • An empty port (?port= in a URI or port= in a keyword/value string) now means the default port 5432 for the
      affected hosts; previously it was an invalid port error. Like any connection-string port, a present-but-empty port
      takes precedence over PGPORT.
    • ASCII control characters (tab, newline, ...) in a URI are ordinary data bytes, as they are to libpq; net/url
      rejected any URI containing one. The exception is a literal NUL byte, which is still rejected, as net/url did.
      (libpq never sees one -- C strings end at the first NUL -- but in Go a raw NUL could otherwise pass through into
      the NUL-delimited startup message and inject extra parameters.)

    Unlike libpq, unrecognized URI query parameters are still accepted (they become runtime parameters or pgx-specific
    options). Parse error messages avoid quoting the unredacted connection string and redact recognizable password
    fields on a best-effort basis. Invalid connection strings can be structurally ambiguous, so password redaction
    cannot be guaranteed for every malformed input.

  • pgconn: keyword/value connection strings (host=... user=...) now match libpq's parser exactly, the same treatment
    the URI parser received above and verified the same way, by differential fuzzing against libpq itself. Most
    connection strings are unaffected. Behavior changes, all matching libpq:

    • A backslash escapes whatever character follows it and is dropped, where previously only \\ and \' were
      unescaped and every other backslash was kept. A value containing a backslash must now escape it, as libpq
      requires: sslcert=C:\path\to\cert reads as C:pathtocert and has to be written sslcert=C:\\path\\to\\cert.
      This mainly affects Windows certificate and key paths, which previously came through intact without doubling.
    • A trailing backslash in an unquoted value escapes the end of the string, so it is dropped and the value ends
      there; it was previously rejected with invalid backslash. Inside a quoted value the escaped terminator leaves
      the string unterminated, which is still an error.
    • Whitespace inside a keyword is an error (missing "=" after "us" in connection info string) instead of becoming
      part of the key. Whitespace around the = is unaffected. This most often shows up with an unquoted value
      containing a space: application_name=my app host=x previously set neither parameter and sent app host to the
      server as a runtime parameter, and now fails to parse.

    As with URIs, unrecognized keywords are still accepted where libpq rejects them, and an empty user= is still
    dropped so that PGUSER and the OS user still apply.

Fixes

  • Keep the connection open after a recoverable PostgreSQL error from Begin or BeginTx
    (Victor Alejandro Sanz Ararat)
  • Call TraceQueryEnd when Exec fails while deallocating invalidated cached statements (Chris Bandy)
  • Deallocate a failed prepare using the statement name actually sent to the server, and skip cleanup if Parse never
    completed, avoiding leaked prepared statements and unnecessary cleanup errors (Eliran Ben-Zikri)
  • Fix LoadTypes overwriting scalar codecs such as box and point with an incorrect ArrayCodec (Arsen Ozhetov)
  • pgconn: retrieve field descriptions when cached descriptions are empty, such as for cursor FETCH statements,
    including batch and pipeline execution (water)
  • pgconn: keep batch statement descriptions and result formats aligned when commands return no rows or when
    Batch.ExecStatement is mixed with other batch commands; preserve field descriptions for empty results
  • pgconn: handle empty and comment-only queries in pipeline mode, discard stale statement data after bind errors,
    and return a nil result from Pipeline.GetResults on error
  • pgconn: skip reading the password file when a password is already set (Jared Fowkes)
  • pgxpool: treat non-positive MaxConnLifetime values as unlimited instead of immediately expiring connections
    (Aurelien Pillevesse)
  • pgtype: support non-comma text array delimiters through ArrayCodec.Delimiter, including the semicolon delimiter
    used by box[]. LoadType and LoadTypes now load the delimiter from PostgreSQL (Sueun Cho)
  • pgtype: quote text array elements containing internal whitespace (Louisa Huang)
  • pgtype: quote and escape text range bounds containing delimiters, quotes, or backslashes, and distinguish empty
    string bounds from unbounded ranges (Sueun Cho)
  • pgtype: preserve decimal precision in Numeric.ScanScientific and accept scientific notation in
    Numeric.UnmarshalJSON; reject out-of-range scientific exponents and preserve the original input in parse errors
    (Sueun Cho)
  • pgtype: encode and decode numeric infinity in JSON as "Infinity" and "-Infinity" instead of encoding it as zero
    (Vladimir Saraikin)
  • pgtype: treat a valid Numeric with a nil Int as zero in Int64Value, and return errors when converting NaN or
    infinity to an integer instead of panicking (Vladimir Saraikin)
  • pgtype: fix an infinite loop when decoding binary numeric zero with a nonzero digit count (Vladimir Saraikin)
  • pgtype: fix binary numeric digit-count overflow and trailing-byte handling. Binary encoding now rejects values
    whose digit count, weight, or scale cannot fit the wire format, while accepting the full unsigned digit-count range.
  • pgtype: fix scanning through multiple pointer levels, including SQL NULL and XML values, and return an error
    instead of panicking when a pointer-to-pointer scan destination is nil (Rangel Reale)
  • pgtype: use bounds-checked binary reads throughout the codecs and reject malformed lengths, counts, and trailing
    data. This includes fixes for panics on malformed records and truncated multiranges (Vladimir Saraikin), and
    validation of bit / varbit bit lengths against the actual data (g3m0sis).
  • pgtype: return errors instead of panicking on malformed interval text (greymoth-jp), unterminated composite text
    fields, and text arrays whose dimensions and element counts disagree
  • pgtype: cap the initial allocation estimate when parsing hstore text to avoid excessive allocation from unvalidated
    separator counts; valid hstores may still contain any number of pairs (AshSgDe29071999)
  • pgtype: correct reversed bounds in integer scan error messages
  • pgconn: a backslash as the last byte of a quoted value in a keyword/value connection string no longer panics with
    slice bounds out of range. host='a\ -- and the shorter ='\, reachable through pgx.ParseConfig and
    pgxpool.ParseConfig -- now return unterminated quoted string in connection info string, libpq's own message for
    the same input. The unquoted branch has been guarded since be69c1c; the quoted branch carried the same unguarded
    increment since the parser was ported from pgx v3. Found by fuzzing (Maxim Korotkov)
  • pgconn: error messages that embed the connection string now also redact password and sslpassword values supplied
    as URI query parameters; previously only the userinfo password was redacted. Redaction matches keys the way the
    parser does -- percent-encoded spellings such as pass%77ord= are recognized -- and masks the entire raw value, so
    a password containing a space cannot leak its tail into the error message. Credentials stranded outside the
    userinfo by a malformed URI are masked whole, and invalid-port errors no longer embed the offending text (which in
    a malformed URI can be a mislaid password). Redaction of invalid connection strings is necessarily best effort:
    their structure may be ambiguous, so some malformed inputs can still expose password text in an error.
  • pgconn: ParseConfigOptions.ConnStringAllowedKeys no longer exempts an explicitly supplied empty port (?port= in
    a URI or port= in a keyword/value string) from the allow-list. Only the implied all-empty port list of a
    multi-host URI without ports (postgres://h1,h2/db) is exempt. An explicit empty port shadows PGPORT even though
    it is empty, so it must be allowed like any other user-supplied key. The URI-only ssl=true alias is accepted when
    either ssl or sslmode is allowed, and every ssl/sslmode spelling written in the URI is validated --
    including occurrences superseded by later repeated parameters.
  • pgconn: drain socket before close in asyncClose so context cancellation produces a TCP FIN instead of RST, avoiding "connection reset by peer" on the server / proxy (Sean Chittenden at CrowdStrike, Inc.)
  • pgproto3: StartupMessage.Encode rejects a NUL byte in any parameter name or value instead of writing it. The
    startup message body is a run of NUL-delimited strings whose length is data-driven, so a NUL in a value ends that
    parameter and everything after it is read by the server as further parameters -- an application_name of
    x\x00user\x00admin changed the role the connection logged in as. libpq cannot reach this state because its
    parameters are NUL-terminated C strings. Connect now fails with nothing written to the wire, which covers
    settings that bypass connection string parsing: service files and direct assignment to Config.RuntimeParams,
    Config.User, or Config.Database.
  • pgconn: keyword/value connection strings containing a NUL byte are rejected by ParseConfig, as URIs already were.

v5.10.0

Compare Source

uptrace/bun (github.com/uptrace/bun)

v1.3.0

Compare Source

Please refer to CHANGELOG.md for details

yaml/go-yaml (go.yaml.in/yaml/v3)

v3.0.5

Compare Source

go-gorm/gorm (gorm.io/gorm)

v1.31.2

Compare Source

Changes
dominikh/go-tools (honnef.co/go/tools)

v0.8.2

Compare Source

v0.8.1

Compare Source

v0.8.0

Compare Source

cznic/sqlite (modernc.org/sqlite)

v1.60.1

Compare Source

v1.60.0

Compare Source

v1.59.0

Compare Source

v1.58.0

Compare Source

v1.57.0

Compare Source

v1.56.0

Compare Source

v1.55.0

Compare Source

v1.54.0

Compare Source

v1.53.0

Compare Source

v1.52.0

Compare Source

v1.51.0

Compare Source

v1.50.1

Compare Source

mvdan/gofumpt (mvdan.cc/gofumpt)

v0.12.0

Compare Source

This release is based on Go 1.27's gofmt, and requires Go 1.26 or later.

A standard library import carrying a doc or inline comment is no longer moved
into the top import group, as the comment stayed behind and ended up detached
at the bottom of the group. See #​289.

Moving a standard library import up no longer leaves an empty line where it
used to be, which split the remaining imports into extra groups. See #​225.

A copyright header or package doc no longer makes gofumpt treat a single-line
first declaration as multi-line, adding an empty line after it.

An assignment whose right-hand side is separated by a comment is now left
alone, as merging the lines produced output which gofmt would change back.

v0.11.0

Compare Source

Like v0.10.0, this release is based on Go 1.26's gofmt, and requires Go 1.25 or later.

The multi-line function call rule introduced in v0.10.0 proved controversial,
so it is now the extra rule balance_calls, disabled by default.
It is also narrowed to only place the closing parenthesis on its own line
when the opening parenthesis ends a line. See #​74.

Avoid crashing when compiled with tinygo for Wasm, which lacks recover support,
by detecting commented-out code without the parser's bailout panic. See #​230.

Produce stable output in a single pass when a lone var declaration is adjacent
to a single-element var group, which previously required a second run. See #​355.

Keep the parentheses around an expression which begins with a composite literal
of the form T{...}, such as (s{}.Foo()), as they are required when the
expression starts an if, for, or switch clause. See #​356.

v0.10.0

Compare Source

This release is based on Go 1.26's gofmt, and requires Go 1.25 or later.

A new rule is introduced to drop unnecessary parentheses around expressions
where the inner expression is unambiguous on its own, such as f((3)).
Parentheses are kept where they are useful, such as on binary expressions. See #​44.

A new rule is introduced to require multi-line function calls to match
the opening and closing parenthesis in terms of the use of newlines. See #​74.

The -extra flag now accepts a comma-separated list of rule names to enable
individual extra rules, rather than enabling all of them at once. See #​339.

The following changes are included as well:

  • Avoid crashing on go.mod files without a module directive - #​350
  • Avoid failing when an ignored directory cannot be read - #​351
  • Avoid prefixing more kinds of commented-out Go code with spaces - #​230
  • Avoid prefixing a shebang comment with a space - #​237
  • Narrow the newlines on assignments rule to ignore complex cases - #​354
  • Fix three bugs which caused a second gofumpt run to make changes - #​132, #​345

Configuration

📅 Schedule: (in timezone Australia/Sydney)

  • Branch creation
    • Only on Monday (* * * * 1)
  • Automerge
    • At any time (no schedule defined)

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

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

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

@renovate

renovate Bot commented May 10, 2026 •

Copy link
Copy Markdown
Contributor Author

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 68 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.26 -> 1.26.0
4d63.com/gocheckcompilerdirectives v1.3.0 -> v1.4.0
codeberg.org/chavacava/garif v0.2.0 -> v0.2.1
dev.gaijin.team/go/golib v0.6.0 -> v0.8.1
filippo.io/edwards25519 v1.1.0 -> v1.2.0
github.com/4meepo/tagalign v1.4.3 -> v1.4.4
github.com/Abirdcfly/dupword v0.1.7 -> v0.1.8
github.com/AlwxSin/noinlineerr v1.0.5 -> v1.0.6
github.com/Antonboom/errname v1.1.1 -> v1.1.2
github.com/Antonboom/nilnil v1.1.1 -> v1.1.2
github.com/Masterminds/semver/v3 v3.4.0 -> v3.5.0
github.com/alecthomas/chroma/v2 v2.23.1 -> v2.27.0
github.com/alecthomas/go-check-sumtype v0.3.1 -> v0.5.1-0.20260828200218-ae6904d28606
github.com/ashanbrown/forbidigo/v2 v2.3.0 -> v2.3.1
github.com/ashanbrown/makezero/v2 v2.1.0 -> v2.2.1
github.com/bombsimon/wsl/v5 v5.6.0 -> v5.9.0
github.com/butuzov/ireturn v0.4.0 -> v0.4.1
github.com/butuzov/mirror v1.3.0 -> v1.3.3
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc -> v0.4.3
github.com/charmbracelet/x/ansi v0.10.1 -> v0.11.8
github.com/charmbracelet/x/term v0.2.1 -> v0.2.2
github.com/dlclark/regexp2 v1.11.5 -> v1.12.0
github.com/firefart/nonamedreturns v1.0.6 -> v1.0.8
github.com/fsnotify/fsnotify v1.5.4 -> v1.9.0
github.com/ghostiam/protogetter v0.3.20 -> v1.0.1
github.com/godoc-lint/godoc-lint v0.11.2 -> v0.11.4
github.com/gofrs/flock v0.13.0 -> v0.13.1
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 -> v0.0.0-20260401084720-c99c5cf5c202
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d -> v0.0.0-20260820135601-e84e05053792
github.com/hashicorp/go-version v1.8.0 -> v1.9.0
github.com/jgautheron/goconst v1.8.2 -> v1.11.0
github.com/kisielk/errcheck v1.10.0 -> v1.20.0
github.com/ldez/gomoddirectives v0.8.0 -> v0.10.0
github.com/ldez/tagliatelle v0.7.2 -> v0.8.0
github.com/lucasb-eyer/go-colorful v1.2.0 -> v1.4.1
github.com/manuelarte/funcorder v0.5.0 -> v0.6.0
github.com/mattn/go-colorable v0.1.14 -> v0.1.15
github.com/mattn/go-isatty v0.0.20 -> v0.0.24
github.com/mattn/go-runewidth v0.0.16 -> v0.0.24
github.com/mgechev/revive v1.15.0 -> v1.17.0
github.com/nishanths/exhaustive v0.12.0 -> v0.13.0
github.com/nunnatsa/ginkgolinter v0.23.0 -> v0.24.0
github.com/pelletier/go-toml/v2 v2.2.4 -> v2.4.3
github.com/raeperd/recvcheck v0.2.0 -> v0.3.1
github.com/rogpeppe/go-internal v1.14.1 -> v1.16.0
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 -> v6.0.3
github.com/securego/gosec/v2 v2.24.8-0.20260309165252-619ce2117e08 -> v2.29.0
github.com/sirupsen/logrus v1.9.4 -> v1.10.2
github.com/sourcegraph/go-diff v0.7.0 -> v0.9.0
github.com/stretchr/objx v0.5.2 -> v0.5.3
github.com/stretchr/testify v1.11.1 -> v1.12.1
github.com/tetafro/godot v1.5.4 -> v1.5.6
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 -> v0.0.0-20260723120731-857993a2939c
github.com/timonwong/loggercheck v0.11.0 -> v0.12.0
github.com/uudashr/iface v1.4.1 -> v1.5.1
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e -> v1.0.0
go-simpler.org/sloglint v0.11.1 -> v0.12.0
go.augendre.info/fatcontext v0.9.0 -> v0.10.1
golang.org/x/crypto v0.48.0 -> v0.55.0
golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358 -> v0.0.0-20260811152304-ee035b5b010f
golang.org/x/mod v0.34.0 -> v0.42.0
golang.org/x/sync v0.20.0 -> v0.24.0
golang.org/x/sys v0.42.0 -> v0.49.0
golang.org/x/telemetry v0.0.0-20260311193753-579e4da9a98c -> v0.0.0-20261009151841-97e8ea77aa2a
golang.org/x/text v0.34.0 -> v0.41.0
google.golang.org/protobuf v1.36.8 -> v1.36.12
modernc.org/libc v1.72.0 -> v1.77.1
modernc.org/memory v1.11.0 -> v1.12.1
mvdan.cc/unparam v0.0.0-20251027182757-5beb8c8f8f15 -> v0.0.0-20260823230713-2fa3d841b0c8

@renovate
renovate Bot force-pushed the renovate/minor-go-package-updates branch 5 times, most recently from b9f1631 to 0765032 Compare May 13, 2026 03:37
@renovate renovate Bot changed the title fix(deps): update minor go package updates Update minor Go package updates May 13, 2026
@renovate
renovate Bot force-pushed the renovate/minor-go-package-updates branch 11 times, most recently from b06b3e0 to 5e868a4 Compare May 20, 2026 21:26
@renovate
renovate Bot force-pushed the renovate/minor-go-package-updates branch 9 times, most recently from 92e5575 to 95d3412 Compare May 27, 2026 04:08
@renovate
renovate Bot force-pushed the renovate/minor-go-package-updates branch 3 times, most recently from 4fcafcb to be84f81 Compare May 28, 2026 12:42
@renovate
renovate Bot force-pushed the renovate/minor-go-package-updates branch 14 times, most recently from c4451f6 to 7204eb1 Compare June 11, 2026 07:15
@renovate
renovate Bot force-pushed the renovate/minor-go-package-updates branch 12 times, most recently from 96049b6 to ee15712 Compare June 19, 2026 00:02
@renovate
renovate Bot force-pushed the renovate/minor-go-package-updates branch 2 times, most recently from 839a8fb to c8eb012 Compare June 21, 2026 12:58

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Cursor Bugbot was not running on this update; the remaining signals and the go.mod/go.sum-only dependency bump do not require human review. No reviewers were assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

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.

0 participants