Skip to content

Commit 064c0e3

Browse files
lopezatorjirfag
authored andcommitted
readme: split changelog into own file (#689)
split changelog into own file. closes #688.
1 parent bf68434 commit 064c0e3

File tree

3 files changed

+144
-138
lines changed

3 files changed

+144
-138
lines changed

CHANGELOG.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
Follow the news and releases on our [twitter](https://twitter.com/golangci) and our [blog](https://medium.com/golangci).
2+
There is the most valuable changes log:
3+
4+
### June 2019
5+
6+
1. treat Go source files as a plain text by `misspell`: it allows detecting issues in strings, variable names, etc.
7+
2. implement richer and more stable auto-fix of `misspell` issues.
8+
9+
### May 2019
10+
11+
1. Add [bodyclose](https://github.com/timakin/bodyclose) linter.
12+
2. Support junit-xml output.
13+
14+
### April 2019
15+
16+
1. Update go-critic, new checkers were added: badCall, dupImports, evalOrder, newDeref
17+
2. Fix staticcheck panic on packages that do not compile
18+
3. Make install script work on Windows
19+
4. Fix compatibility with the latest x/tools version and update golang.org/x/tools
20+
5. Correct import path of module sourcegraph/go-diff
21+
6. Fix `max-issues-per-linter` name
22+
7. Fix linting of preprocessed files (e.g. `*.qtpl.go`, goyacc)
23+
8. Enable auto-fixing when running via pre-commit
24+
25+
### March 2019
26+
27+
1. Support the newest `go vet` (with `go/analysis`)
28+
2. Support configuration of `go vet`: e.g. you can set print functions by `linters-settings.govet.settings.printf.funcs`
29+
3. Update megacheck (staticcheck) to 2019.1.1
30+
4. Add [information](https://github.com/golangci/golangci-lint#memory-usage-of-golangci-lint) about controlling space-time trade-off into README
31+
5. Exclude issues by source code line regexp by `issues.exclude-rules[i].source`
32+
6. Build and test on go 1.12
33+
7. Support `--color` option
34+
8. Update x/tools to fix c++ issues
35+
9. Include support for log level
36+
10. Sort linters list in help commands
37+
38+
### February 2019
39+
40+
1. Implement auto-fixing for `gofmt`, `goimports` and `misspell`
41+
2. Update `unparam`, `goimports`, `gosec` and `go-critic`
42+
3. Support `issues.exclude-rules` config option
43+
4. Add more `identifier` marking patterns
44+
5. Add code-climate output format
45+
6. Fix diff parsing on windows
46+
7. Add version information to built artifact for go1.12
47+
8. Dockerfile: copy the binary to `/usr/bin/` instead of `$GOPATH/bin/`
48+
9. Support `ignore-words` config option for `misspell`
49+
10. Include `staticcheck` check name into a message
50+
11. Fix working with symbolic links
51+
52+
### January 2019
53+
54+
1. Update `megacheck` (`staticcheck`), `unparam` and `go-critic` to the latest versions.
55+
2. Support the new `stylecheck` linter.
56+
3. Support of `enabled-tags` options for `go-critic`.
57+
4. Make rich debugging for `go-critic` and meticulously validate `go-critic` checks config.
58+
5. Update and use upstream versions of `unparam` and `interfacer` instead of forked ones.
59+
6. Improve handling of unknown linter names in `//nolint` directives.
60+
7. Speedup `typecheck` on large project with compilation errors.
61+
8. Add support for searching for `errcheck` exclude file.
62+
9. Fix `go-misc` checksum.
63+
10. Don't crash when staticcheck panics
64+
65+
### December 2018
66+
67+
1. Update `goimports`: the new version creates named imports for name/path mismatches.
68+
2. Update `go-critic` to the latest version.
69+
3. Sync default `go-critic` checks list with the `go-critic`.
70+
4. Support `pre-commit.com` hooks.
71+
5. Rework and simplify `--skip-dirs` for some edge cases.
72+
6. Add `modules-download-mode` option: it's useful in CI.
73+
7. Better validate commands.
74+
8. Fix working with absolute paths.
75+
9. Fix `errcheck.ignore` option.
76+
77+
### November 2018
78+
79+
1. Support new linters:
80+
* gocritic
81+
* scopelint
82+
* gochecknointis
83+
* gochecknoglobals
84+
2. Update CLA
85+
86+
### October 2018
87+
88+
1. Update goimports formatting
89+
2. Use go/packages
90+
* A lot of linters became "fast": they are enabled by --fast now and
91+
work in 1-2 seconds. Only unparam, interfacer and megacheck
92+
are "slow" linters now.
93+
94+
* Average project is analyzed 20-40% faster than before if all linters are
95+
enabled! If we enable all linters except unparam, interfacer and
96+
megacheck analysis is 10-20x faster!
97+
3. Support goimports.local-prefix option for goimports
98+
4. Change license from AGPL to GPL
99+
100+
### September 2018
101+
102+
1. Rename GAS to gosec
103+
2. Drop go1.9 support
104+
3. Support installation of golangci-lint via go modules
105+
4. Update dockerfile to use golang 1.11
106+
5. Add support for ignore/exclude flags in errcheck
107+
108+
### August 2018
109+
110+
1. Improve lll parsing for very long lines
111+
2. Update Depguard with a Glob support
112+
3. Silent output by default
113+
4. Disable GAS (gosec) by default
114+
5. Build golangci-lint on go1.11
115+
116+
### July 2018
117+
118+
1. Add `golangci-lint linters` command
119+
2. Fix work with symlinks
120+
121+
### June 2018
122+
123+
1. Add support of the next linters:
124+
* unparam
125+
* misspell
126+
* prealloc
127+
* nakedret
128+
* lll
129+
* depguard
130+
2. Smart generated files detector
131+
3. Full `//nolint` support
132+
4. Implement `--skip-files` and `--skip-dirs` options
133+
5. Checkstyle output format support
134+
135+
### May 2018
136+
137+
1. Support GitHub Releases
138+
2. Installation via Homebrew and Docker

README.tmpl.md

Lines changed: 1 addition & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -558,144 +558,7 @@ Thanks to developers and authors of used linters:
558558

559559
## Changelog
560560

561-
Follow the news and releases on our [twitter](https://twitter.com/golangci) and our [blog](https://medium.com/golangci).
562-
There is the most valuable changes log:
563-
564-
### June 2019
565-
566-
1. treat Go source files as a plain text by `misspell`: it allows detecting issues in strings, variable names, etc.
567-
2. implement richer and more stable auto-fix of `misspell` issues.
568-
569-
### May 2019
570-
571-
1. Add [bodyclose](https://github.com/timakin/bodyclose) linter.
572-
2. Support junit-xml output.
573-
574-
### April 2019
575-
576-
1. Update go-critic, new checkers were added: badCall, dupImports, evalOrder, newDeref
577-
2. Fix staticcheck panic on packages that do not compile
578-
3. Make install script work on Windows
579-
4. Fix compatibility with the latest x/tools version and update golang.org/x/tools
580-
5. Correct import path of module sourcegraph/go-diff
581-
6. Fix `max-issues-per-linter` name
582-
7. Fix linting of preprocessed files (e.g. `*.qtpl.go`, goyacc)
583-
8. Enable auto-fixing when running via pre-commit
584-
585-
### March 2019
586-
587-
1. Support the newest `go vet` (with `go/analysis`)
588-
2. Support configuration of `go vet`: e.g. you can set print functions by `linters-settings.govet.settings.printf.funcs`
589-
3. Update megacheck (staticcheck) to 2019.1.1
590-
4. Add [information](https://github.com/golangci/golangci-lint#memory-usage-of-golangci-lint) about controlling space-time trade-off into README
591-
5. Exclude issues by source code line regexp by `issues.exclude-rules[i].source`
592-
6. Build and test on go 1.12
593-
7. Support `--color` option
594-
8. Update x/tools to fix c++ issues
595-
9. Include support for log level
596-
10. Sort linters list in help commands
597-
598-
### February 2019
599-
600-
1. Implement auto-fixing for `gofmt`, `goimports` and `misspell`
601-
2. Update `unparam`, `goimports`, `gosec` and `go-critic`
602-
3. Support `issues.exclude-rules` config option
603-
4. Add more `identifier` marking patterns
604-
5. Add code-climate output format
605-
6. Fix diff parsing on windows
606-
7. Add version information to built artifact for go1.12
607-
8. Dockerfile: copy the binary to `/usr/bin/` instead of `$GOPATH/bin/`
608-
9. Support `ignore-words` config option for `misspell`
609-
10. Include `staticcheck` check name into a message
610-
11. Fix working with symbolic links
611-
612-
### January 2019
613-
614-
1. Update `megacheck` (`staticcheck`), `unparam` and `go-critic` to the latest versions.
615-
2. Support the new `stylecheck` linter.
616-
3. Support of `enabled-tags` options for `go-critic`.
617-
4. Make rich debugging for `go-critic` and meticulously validate `go-critic` checks config.
618-
5. Update and use upstream versions of `unparam` and `interfacer` instead of forked ones.
619-
6. Improve handling of unknown linter names in `//nolint` directives.
620-
7. Speedup `typecheck` on large project with compilation errors.
621-
8. Add support for searching for `errcheck` exclude file.
622-
9. Fix `go-misc` checksum.
623-
10. Don't crash when staticcheck panics
624-
625-
### December 2018
626-
627-
1. Update `goimports`: the new version creates named imports for name/path mismatches.
628-
2. Update `go-critic` to the latest version.
629-
3. Sync default `go-critic` checks list with the `go-critic`.
630-
4. Support `pre-commit.com` hooks.
631-
5. Rework and simplify `--skip-dirs` for some edge cases.
632-
6. Add `modules-download-mode` option: it's useful in CI.
633-
7. Better validate commands.
634-
8. Fix working with absolute paths.
635-
9. Fix `errcheck.ignore` option.
636-
637-
### November 2018
638-
639-
1. Support new linters:
640-
* gocritic
641-
* scopelint
642-
* gochecknointis
643-
* gochecknoglobals
644-
2. Update CLA
645-
646-
### October 2018
647-
648-
1. Update goimports formatting
649-
2. Use go/packages
650-
* A lot of linters became "fast": they are enabled by --fast now and
651-
work in 1-2 seconds. Only unparam, interfacer and megacheck
652-
are "slow" linters now.
653-
654-
* Average project is analyzed 20-40% faster than before if all linters are
655-
enabled! If we enable all linters except unparam, interfacer and
656-
megacheck analysis is 10-20x faster!
657-
3. Support goimports.local-prefix option for goimports
658-
4. Change license from AGPL to GPL
659-
660-
### September 2018
661-
662-
1. Rename GAS to gosec
663-
2. Drop go1.9 support
664-
3. Support installation of golangci-lint via go modules
665-
4. Update dockerfile to use golang 1.11
666-
5. Add support for ignore/exclude flags in errcheck
667-
668-
### August 2018
669-
670-
1. Improve lll parsing for very long lines
671-
2. Update Depguard with a Glob support
672-
3. Silent output by default
673-
4. Disable GAS (gosec) by default
674-
5. Build golangci-lint on go1.11
675-
676-
### July 2018
677-
678-
1. Add `golangci-lint linters` command
679-
2. Fix work with symlinks
680-
681-
### June 2018
682-
683-
1. Add support of the next linters:
684-
* unparam
685-
* misspell
686-
* prealloc
687-
* nakedret
688-
* lll
689-
* depguard
690-
2. Smart generated files detector
691-
3. Full `//nolint` support
692-
4. Implement `--skip-files` and `--skip-dirs` options
693-
5. Checkstyle output format support
694-
695-
### May 2018
696-
697-
1. Support GitHub Releases
698-
2. Installation via Homebrew and Docker
561+
{{.ChangeLog}}
699562

700563
## Debug
701564

scripts/gen_readme/main.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ func buildTemplateContext() (map[string]interface{}, error) {
7474

7575
helpLines := bytes.Split(help, []byte("\n"))
7676
shortHelp := bytes.Join(helpLines[2:], []byte("\n"))
77+
changeLog, err := ioutil.ReadFile("CHANGELOG.md")
78+
if err != nil {
79+
return nil, err
80+
}
7781

7882
return map[string]interface{}{
7983
"GolangciYaml": strings.TrimSpace(string(golangciYaml)),
@@ -84,6 +88,7 @@ func buildTemplateContext() (map[string]interface{}, error) {
8488
"DisabledByDefaultLinters": getLintersListMarkdown(false),
8589
"ThanksList": getThanksList(),
8690
"RunHelpText": string(shortHelp),
91+
"ChangeLog": string(changeLog),
8792
}, nil
8893
}
8994

0 commit comments

Comments
 (0)