Skip to content

build(deps): bump github.com/GaijinEntertainment/go-exhaustruct from v3.3.1 to 4.0.0 #5984

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 13, 2025

Conversation

xobotyi
Copy link
Contributor

@xobotyi xobotyi commented Aug 9, 2025

  • analyzer package is now distributed via vanity import as dev.gaijin.team/go/exhaustruct/v4.
  • version introduced new features which, in turn, required usage of structure as configuration causing major version bump.
  • updated documentation on config fields to be more obvious.

GaijinEntertainment/go-exhaustruct@v3.3.1...v4.0.0

For golangci-lint users nothing changes, except 4 new fields added, so no deprecations or migration on the users side is required.
Major bump of exhaustruct caused mostly because of package rename and the way config being passed to the linter.

note: go mod tidy touched more packages than i've expected

@CLAassistant
Copy link

CLAassistant commented Aug 9, 2025

CLA assistant check
All committers have signed the CLA.

@ldez ldez self-requested a review August 9, 2025 12:28
@ldez ldez added the linter: update version Update version of linter label Aug 9, 2025
@ldez
Copy link
Member

ldez commented Aug 9, 2025

This PR is based on golangci-lint v1 (the branch master).

The PR must target the branch main (golangci-lint v2).

The way to manage major (breaking) versions of linters has changed:

@ldez ldez added the feedback required Requires additional feedback label Aug 9, 2025
@xobotyi
Copy link
Contributor Author

xobotyi commented Aug 9, 2025

For golangci-lint users configuration itself still the same, just extra fields added and functionally without enabling new fields linter still acts the same.

Updated description regarding that.

@ldez
Copy link
Member

ldez commented Aug 9, 2025

ok, if there are no breaking changes, you don't need to use the new approach.

@xobotyi
Copy link
Contributor Author

xobotyi commented Aug 9, 2025

dang it! i see the issue now, the branch is wrong..

@xobotyi xobotyi force-pushed the exhaustruct-v4 branch 3 times, most recently from 016b734 to c378b92 Compare August 9, 2025 13:51
@xobotyi
Copy link
Contributor Author

xobotyi commented Aug 9, 2025

ready for review
note that this pr requires bumping go.mod go version to 1.24

@ldez
Copy link
Member

ldez commented Aug 9, 2025

You must downgrade your min go version inside your linter.

@ldez ldez changed the title feat: upgrade exhaustruct to v4 exhaustruct: upgrade to v4 Aug 9, 2025
@ldez ldez changed the title exhaustruct: upgrade to v4 build(deps): bump giithub.com/GaijinEntertainment/go-exhaustruct/r from v3.3.1 to 4.0.0 Aug 9, 2025
@xobotyi
Copy link
Contributor Author

xobotyi commented Aug 9, 2025

Welp, it is transitory.
Package we use is 1.24, and therefore linter is also.
IIRC golangci-lint targets oldstable, so it can be safely transitioned whenever 1.25 version support lands.

@ldez
Copy link
Member

ldez commented Aug 9, 2025

Your linter doesn't need go1.24: the module dev.gaijin.team/go/golib must downgrade the min Go version.

@ldez
Copy link
Member

ldez commented Aug 9, 2025

The min Go version is about the language (the syntax), a library should not enforce the latest stable version of Go unless it uses language-specific syntax related to this version.

In all cases, a library should not do that.

GaijinEntertainment/golib#1

@xobotyi
Copy link
Contributor Author

xobotyi commented Aug 9, 2025

Linter itself will become dependant on 1.24 next minor release, because of usage of iterators on go types.

golib will also receive direct dependencies to features added in 1.24
there are features requiring these versions, just changes itself are not landed yet..

@ldez
Copy link
Member

ldez commented Aug 9, 2025

OK so I will not do more review or merge your PR until go1.25

@ldez ldez marked this pull request as draft August 9, 2025 15:01
@ldez ldez added the blocked Need's direct action from maintainer label Aug 9, 2025
@xobotyi
Copy link
Contributor Author

xobotyi commented Aug 9, 2025

No problems, I've expected that =)

@ldez ldez changed the title build(deps): bump giithub.com/GaijinEntertainment/go-exhaustruct/r from v3.3.1 to 4.0.0 build(deps): bump giithub.com/GaijinEntertainment/go-exhaustruct from v3.3.1 to 4.0.0 Aug 9, 2025
@ldez ldez removed feedback required Requires additional feedback blocked Need's direct action from maintainer labels Aug 12, 2025
@ldez ldez added this to the v2-unreleased milestone Aug 12, 2025
@ldez ldez marked this pull request as ready for review August 12, 2025 21:30
@ldez ldez changed the title build(deps): bump giithub.com/GaijinEntertainment/go-exhaustruct from v3.3.1 to 4.0.0 build(deps): bump github.com/GaijinEntertainment/go-exhaustruct from v3.3.1 to 4.0.0 Aug 13, 2025
xobotyi and others added 2 commits August 13, 2025 22:38
- analyzer package is now distributed via vanity import as
  `dev.gaijin.team/go/exhaustruct/v4`.
- version introduced new features which, in turn, required usage
  of structure as configuration causing major version bump.
Copy link
Member

@ldez ldez left a comment

Choose a reason for hiding this comment

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

LGTM

@ldez ldez merged commit 78dedd3 into golangci:main Aug 13, 2025
11 checks passed
@xobotyi
Copy link
Contributor Author

xobotyi commented Aug 13, 2025

Unexpectedly soon🤭
I thought of like.. At least 3 weeks of waiting (at the moment of creation)

@ldez
Copy link
Member

ldez commented Aug 13, 2025

The official summer release of Go is always around the 15th

https://go.dev/wiki/Go-Release-Cycle

@xobotyi
Copy link
Contributor Author

xobotyi commented Aug 13, 2025

1.11 was in September, but.. Whatever)
It's here.

@ldez
Copy link
Member

ldez commented Aug 13, 2025

Go 1.11 was released in August (2018-08-24)

Version Release Date
Go 1.24 2025-02-11 (February)
Go 1.23 2024-08-13 (August)
Go 1.22 2024-02-06 (February)
Go 1.21 2023-08-08 (August)
Go 1.20 2023-02-01 (February)
Go 1.19 2022-08-02 (August)
Go 1.18 2022-03-15 (March)
Go 1.17 2021-08-16 (August)
Go 1.16 2021-02-16 (February)
Go 1.15 2020-08-11 (August)
Go 1.14 2020-02-25 (February)
Go 1.13 2019-09-03 (September)
Go 1.12 2019-02-25 (February)
Go 1.11 2018-08-24 (August)
Go 1.10 2018-02-16 (February)
Go 1.9 2017-08-24 (August)
Go 1.8 2017-02-16 (February)
Go 1.7 2016-08-15 (August)
Go 1.6 2016-02-17 (February)
Go 1.5 2015-08-19 (August)
Go 1.4 2014-12-10 (December)
Go 1.3 2014-06-18 (June)
Go 1.2 2013-12-01 (December)
Go 1.1 2013-05-13 (May)
Go 1 2012-03-28 (March)

https://go.dev/doc/devel/release

@ldez ldez modified the milestones: v2-unreleased, v2.4 Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linter: update version Update version of linter
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants