Description
There are at least 6 years since the idea of a v2 is here, we should pass this step now.
Important
The focus will be on structural configuration changes and default values changes only (and removing all deprecated options). Because a long tunnel with a massive wishlist to create this release is something we should avoid for multiple reasons.
💭 Main Proposals
- new
fmt
command (+ new dedicated formatters configuration section) 🌟 Let's talk about "formatters" #5296 - new linter configuration (and default set of linters) 🌟 Let's talk about linters section of the configuration #5299
- new default exclusion configuration 🌟 Let's talk about default exclusions #5298
- new exclusion configuration 🌟 Let's talk about exclusion options inside issues section #5297
- new output format configuration 🌟 Let's talk about output formats options #5364
- changes some default values (timeout, cpu quota, etc.)
- fixes some field names and types
- removes some "prehistorical" flags
🗺️ Plan
There are 3 ways to achieve this v2:
- a deprecation phase: this will be slower and more complex (because of the compatibility).
- a breaking change (with a migration command): this will be faster and easier but the impact on users could be more important.
- a mix of the 2 previous ways.
The choice of the way to achieve this v2 will not be defined based on opinions about those ways: we will know the pros and cons between all those ways.
The choice will be based on technical constraints and how much time the community is ready to give us to do it (cf the Sustainability section).
In all cases, v1 will still be maintained during the v2 development phase.
Work on v2 begins with the opening of this issue.
❤️ Sustainability
This will require a lot of work, and so a lot of time, and where there is time there is money.
First, I would say thanks to the people, who already donated ❤️
Asking for money feels very uncomfortable to me, but I should do it because without that nothing will happen magically.
I will work full-time on this new version, I'm not working for a company, my only revenues are donations.
I've applied to several OSS funding programs but so far without success.
I will continue to look for OSS funding programs, and encourage users to donate, and I will try to find other ways.
Also, I'm not alone: all the active maintainers are a major part of this plan.
As golangci-lint's user what you can do:
- Give your feedback on the proposals
- Donate ❤️: even 2€ / $2 / 350円 / 15元 / 200₽ per month is important
- Ask your company to donate (if needed we can exchange by email: info at golangci dot com)
- Help us by spreading the message:
- on Bluesky
- on Mastodon
- on Twitter
- on Reddit
- IRL
- everywhere you can
If you want to know who I am: I'm Ludovic (aka LDEZ), I'm 44, and I'm living in a small city in France.