diff --git a/.chglog/CHANGELOG.tpl.md b/.chglog/CHANGELOG.tpl.md index e1d0243e..5683d039 100755 --- a/.chglog/CHANGELOG.tpl.md +++ b/.chglog/CHANGELOG.tpl.md @@ -1,22 +1,56 @@ -{{range .Versions}} - -## {{if .Tag.Previous}}[{{.Tag.Name}}]({{$.Info.RepositoryURL}}/compare/{{.Tag.Previous.Name}}...{{.Tag.Name}}){{else}}{{.Tag.Name}}{{end}} ({{datetime "2006-01-02" .Tag.Date}}) -{{range .CommitGroups}} -### {{.Title}} -{{range .Commits}} -* {{.Subject}}{{end}} -{{end}}{{if .RevertCommits}} +{{ if .Versions -}} + +## [Unreleased] + +{{ if .Unreleased.CommitGroups -}} +{{ range .Unreleased.CommitGroups -}} +### {{ .Title }} +{{ range .Commits -}} +- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} +{{ end }} +{{ end -}} +{{ end -}} +{{ end -}} + +{{ range .Versions }} + +## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }} +{{ range .CommitGroups -}} +### {{ .Title }} +{{ range .Commits -}} +- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} +{{ end }} +{{ end -}} + +{{- if .RevertCommits -}} ### Reverts -{{range .RevertCommits}} -* {{.Revert.Header}}{{end}} -{{end}}{{if .MergeCommits}} +{{ range .RevertCommits -}} +- {{ .Revert.Header }} +{{ end }} +{{ end -}} + +{{- if .MergeCommits -}} ### Pull Requests -{{range .MergeCommits}} -* {{.Header}}{{end}} -{{end}}{{range .NoteGroups}} -### {{.Title}} -{{range .Notes}} -{{.Body}} -{{end}} -{{end}} -{{end}} \ No newline at end of file +{{ range .MergeCommits -}} +- {{ .Header }} +{{ end }} +{{ end -}} + +{{- if .NoteGroups -}} +{{ range .NoteGroups -}} +### {{ .Title }} +{{ range .Notes }} +{{ .Body }} +{{ end }} +{{ end -}} +{{ end -}} +{{ end -}} + +{{- if .Versions }} +[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD +{{ range .Versions -}} +{{ if .Tag.Previous -}} +[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }} +{{ end -}} +{{ end -}} +{{ end -}} \ No newline at end of file diff --git a/.chglog/config.yml b/.chglog/config.yml index abfce168..074a182c 100755 --- a/.chglog/config.yml +++ b/.chglog/config.yml @@ -11,16 +11,19 @@ options: - fix - perf - refactor + - chore commit_groups: title_maps: feat: Features fix: Bug Fixes perf: Performance Improvements refactor: Code Refactoring + chore: Chores header: - pattern: "^(\\w*)\\:\\s(.*)$" + pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$" pattern_maps: - Type + - Scope - Subject notes: keywords: diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 00000000..1aa89153 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,25 @@ +{ + "semanticCommits": true, + "prHourlyLimit": 5, + "reviewersFromCodeOwners": true, + "labels": [ + "dependencies" + ], + "extends": [ + "config:base", + "group:allNonMajor" + ], + "postUpdateOptions": ["gomodTidy"], + "major": { + "labels": [ + "dependencies", + "major" + ] + }, + "minor": { + "labels": [ + "dependencies", + "minor" + ] + } +} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..3e16b8c7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,105 @@ +name: ci + +on: + pull_request: + types: ["opened", "synchronize"] + paths-ignore: + - "README.md" + push: + branches: + - master + paths-ignore: + - "README.md" + +env: + GO_VERSION: "1.24" + GOLANGCI_VERSION: "v1.64.8" + +jobs: + tests: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Run tests + run: make test + + - name: Install goveralls + run: | + go install github.com/mattn/goveralls@latest + echo $GOPATH + ls -lash $GOPATH + which goveralls + working-directory: /tmp + + - name: Send coverage + run: goveralls -coverprofile=cover.out -service=github + env: + COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + lint: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GO_VERSION }} + + - name: golangci-lint + uses: golangci/golangci-lint-action@v6 + with: + version: ${{ env.GOLANGCI_VERSION }} + + docker-image-tests: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Run tests + run: make build + + - name: Test docker image + run: | + docker build -t git-chglog:ci-build . + docker run -v ${GITHUB_WORKSPACE}:/workdir -w /workdir git-chglog:ci-build > ${GITHUB_WORKSPACE}/ci-build.md + head ${GITHUB_WORKSPACE}/ci-build.md + + goreleaser-test: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v4 + with: + version: latest + args: release --clean --skip=publish --snapshot diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..f9386129 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,34 @@ +name: publish + +on: + push: + branches: + - master + +env: + GO_VERSION: "1.24" + DOCKER_REGISTRY: "quay.io" + +jobs: + docker: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Login to Docker Registry + uses: docker/login-action@v2 + with: + registry: ${{ env.DOCKER_REGISTRY }} + username: ${{ secrets.QUAY_IO_USER }} + password: ${{ secrets.QUAY_IO_TOKEN }} + + - name: Build and Push docker image + run: DOCKER_TAG=edge make docker push diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..8236dec5 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,39 @@ +name: release + +on: + push: + tags: + - "*" + +env: + GO_VERSION: "1.24" + DOCKER_REGISTRY: "quay.io" + +jobs: + goreleaser: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Login to Docker Registry + uses: docker/login-action@v2 + with: + registry: ${{ env.DOCKER_REGISTRY }} + username: ${{ secrets.QUAY_IO_USER }} + password: ${{ secrets.QUAY_IO_TOKEN }} + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v4 + with: + version: latest + args: release --clean + env: + GITHUB_TOKEN: ${{ secrets.GORELEASER_TOKEN }} diff --git a/.gitignore b/.gitignore index 6182e02f..8ce7945e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ *.dll *.so *.dylib +/git-chglog # Test binary, build with `go test -c` *.test @@ -20,17 +21,27 @@ # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 .glide/ +# in https://github.com/git-chglog/git-chglog/pull/85 we moved from dep to gomod +vendor + ### macOS ### *.DS_Store .AppleDouble .LSOverride # Icon must end with two \r -Icon +Icon # Thumbnails ._* +# Intellij IDEA +*.iml +.idea + +# vscode IDE +.vscode + # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..4e3fdd88 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,103 @@ +# https://golangci-lint.run/usage/configuration/ +run: + timeout: 10m + + tests: true + +linters-settings: + gofmt: + # simplify code: gofmt with `-s` option, true by default + simplify: true + + goimports: + # put imports beginning with prefix after 3rd-party packages; + # it's a comma-separated list of prefixes + local-prefixes: github.com/git-chglog/git-chglog + + gocyclo: + # minimal code complexity to report, 30 by default (but we recommend 10-20) + min-complexity: 10 + + dupl: + # tokens count to trigger issue, 150 by default + threshold: 100 + + goconst: + # minimal length of string constant, 3 by default + min-len: 3 + # minimal occurrences count to trigger, 3 by default + min-occurrences: 5 + + lll: + # tab width in spaces. Default to 1. + tab-width: 1 + + unparam: + # Inspect exported functions, default is false. Set to true if no external program/library imports your code. + # XXX: if you enable this setting, unparam will report a lot of false-positives in text editors: + # if it's called for subdir of a project it can't find external interfaces. All text editor integrations + # with golangci-lint call it on a directory with the changed file. + check-exported: false + + nakedret: + # make an issue if func has more lines of code than this setting and it has naked returns; default is 30 + max-func-lines: 30 + + prealloc: + # XXX: we don't recommend using this linter before doing performance profiling. + # For most programs usage of prealloc will be a premature optimization. + + # Report preallocation suggestions only on simple loops that have no returns/breaks/continues/gotos in them. + # True by default. + simple: true + range-loops: true # Report preallocation suggestions on range loops, true by default + for-loops: false # Report preallocation suggestions on for loops, false by default + + misspell: + locale: US + +linters: + enable: + - gosimple + - staticcheck + - unused + - gocyclo + - goconst + - goimports + - gofmt # We enable this as well as goimports for its simplify mode. + - prealloc + - unconvert + - misspell + - nakedret + - dupl + #- depguard TODO fix later + + presets: + - bugs + - unused + fast: false + +issues: + # Excluding configuration per-path and per-linter + exclude-rules: + # Exclude some linters from running on tests files. + - path: _test(ing)?\.go + linters: + - gocyclo + - errcheck + - dupl + - gosec + - unparam + - testifylint + - depguard + + # Show only new issues: if there are unstaged changes or untracked files, + # only those changes are analyzed, else only changes in HEAD~ are analyzed. + # It's a super-useful option for integration of golangci-lint into existing + # large codebase. It's not practical to fix all existing issues at the moment + # of integration: much better don't allow issues in new code. + # Default is false. + new: false + + # Maximum count of issues with the same text. Set to 0 to disable. Default is 3. + max-same-issues: 0 diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 00000000..9b4766ad --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,57 @@ +version: 2 + +# This is an example .goreleaser.yml file with some sane defaults. +# Make sure to check the documentation at http://goreleaser.com +project_name: git-chglog + +before: + hooks: + # You may remove this if you don't use go modules. + - go mod download + +builds: + - dir: cmd/git-chglog + env: + - CGO_ENABLED=0 + goos: + - linux + - windows + - darwin + goarch: + - 386 + - amd64 + - arm + - arm64 + +archives: + - format_overrides: + - goos: windows + format: zip + +checksum: + name_template: "checksums.txt" + +changelog: + sort: desc + filters: + exclude: + - "^Merge" + +snapshot: + name_template: "{{ .Tag }}-next" + +dockers: + - image_templates: + - "quay.io/git-chglog/git-chglog:{{ .RawVersion }}" + - "quay.io/git-chglog/git-chglog:latest" + +brews: + - repository: + owner: git-chglog + name: homebrew-git-chglog + homepage: "https://godoc.org/github.com/git-chglog/git-chglog" + description: "CHANGELOG generator implemented in Go (Golang)." + test: | + system "#{bin}/git-chglog --help" + install: | + bin.install "git-chglog" diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0836ac29..00000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: go -sudo: false -notifications: - email: false -go: - - 1.9 -before_install: - - go get github.com/mattn/goveralls - - go get github.com/mitchellh/gox - - go get github.com/tcnksm/ghr -before_script: - - export TZ=Asia/Tokyo - - sudo timedatectl set-timezone Asia/Tokyo - - timedatectl -script: - - make test - - goveralls -service=travis-ci -branches: - only: - - master -after_success: - - ./scripts/release.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 85dc7984..d25fac2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,41 +1,461 @@ -# CHANGELOG + +## [Unreleased] + + + +## [v0.15.4] - 2023-02-15 +### Bug Fixes +- release process ([#231](https://github.com/git-chglog/git-chglog/issues/231)) +- **ci:** add integration test with docker image ([#226](https://github.com/git-chglog/git-chglog/issues/226)) +- **deps:** update module github.com/urfave/cli/v2 to v2.24.3 ([#227](https://github.com/git-chglog/git-chglog/issues/227)) +- **deps:** update module github.com/fatih/color to v1.14.1 ([#224](https://github.com/git-chglog/git-chglog/issues/224)) +- **deps:** update all non-major dependencies ([#223](https://github.com/git-chglog/git-chglog/issues/223)) + +### Chores +- new release due to shecksum mismatch. Closes [#232](https://github.com/git-chglog/git-chglog/issues/232) +- update changelog for v0.15.3 +- update changelog for v0.15.3 +- bump docker/login-action to v2. Closes [#206](https://github.com/git-chglog/git-chglog/issues/206) +- bump goreleaser/goreleaser-action to v4. Closes [#208](https://github.com/git-chglog/git-chglog/issues/208) + + + +## [v0.15.2] - 2023-01-22 +### Bug Fixes +- typo in readme ([#196](https://github.com/git-chglog/git-chglog/issues/196)) +- **deps:** update module gopkg.in/yaml.v2 to v3 ([#221](https://github.com/git-chglog/git-chglog/issues/221)) + +### Chores +- update changelog for v0.15.2 +- update changelog for v0.15.2 +- update Go install instructions ([#205](https://github.com/git-chglog/git-chglog/issues/205)) +- bump golang to 1.19 ([#218](https://github.com/git-chglog/git-chglog/issues/218)) +- **deps:** update all non-major dependencies ([#220](https://github.com/git-chglog/git-chglog/issues/220)) + + + +## [v0.15.1] - 2021-12-14 +### Bug Fixes +- **deps:** update all non-major dependencies ([#179](https://github.com/git-chglog/git-chglog/issues/179)) +- **deps:** update module github.com/andygrunwald/go-jira to v1.14.0 ([#167](https://github.com/git-chglog/git-chglog/issues/167)) +- **deps:** update module github.com/alecaivazis/survey/v2 to v2.2.16 ([#165](https://github.com/git-chglog/git-chglog/issues/165)) +- **deps:** update module github.com/alecaivazis/survey/v2 to v2.2.15 ([#163](https://github.com/git-chglog/git-chglog/issues/163)) + +### Chores +- update changelog for v0.15.1 +- ignore .vscode +- **deps:** update all non-major dependencies docker tags ([#168](https://github.com/git-chglog/git-chglog/issues/168)) + + + +## [v0.15.0] - 2021-07-09 +### Bug Fixes +- **deps:** update module github.com/alecaivazis/survey/v2 to v2.2.14 ([#158](https://github.com/git-chglog/git-chglog/issues/158)) +- **deps:** update module github.com/alecaivazis/survey/v2 to v2.2.13 ([#156](https://github.com/git-chglog/git-chglog/issues/156)) +- **deps:** update module github.com/fatih/color to v1.12.0 ([#150](https://github.com/git-chglog/git-chglog/issues/150)) +- **deps:** update module github.com/fatih/color to v1.11.0 ([#149](https://github.com/git-chglog/git-chglog/issues/149)) +- **deps:** update module github.com/alecaivazis/survey/v2 to v2.2.12 ([#147](https://github.com/git-chglog/git-chglog/issues/147)) + +### Chores +- update changelog for v0.15.0 +- **deps:** update alpine docker tag to v3.14.0 ([#153](https://github.com/git-chglog/git-chglog/issues/153)) + +### Features +- Automatic link for gitlab merge requests ([#160](https://github.com/git-chglog/git-chglog/issues/160)) + + + +## [v0.14.2] - 2021-04-16 +### Bug Fixes +- add CommitGroupTitleOrder back to Options ([#143](https://github.com/git-chglog/git-chglog/issues/143)) + +### Chores +- update changelog for v0.14.2 +- **deps:** update alpine docker tag to v3.13.5 ([#144](https://github.com/git-chglog/git-chglog/issues/144)) + + + +## [v0.14.1] - 2021-04-13 +### Bug Fixes +- **template:** address regression in string functions for template engine ([#142](https://github.com/git-chglog/git-chglog/issues/142)) + +### Chores +- update changelog for v0.14.1 +- add docker target to Makefile ([#138](https://github.com/git-chglog/git-chglog/issues/138)) +- add make release target ([#130](https://github.com/git-chglog/git-chglog/issues/130)) +- **deps:** update alpine docker tag to v3.13.4 ([#136](https://github.com/git-chglog/git-chglog/issues/136)) + +### Features +- add docker image on release and master ([#135](https://github.com/git-chglog/git-chglog/issues/135)) + + + +## [v0.14.0] - 2021-03-28 +### Chores +- update changelog for v0.14.0 +- **CHANGELOG:** regenerate CHANGELOG with type-scope and KAC template ([#129](https://github.com/git-chglog/git-chglog/issues/129)) + +### Features +- add sprig template functions support ([#131](https://github.com/git-chglog/git-chglog/issues/131)) +- add `--sort [TYPE]` flag ([#78](https://github.com/git-chglog/git-chglog/issues/78)) + + + +## [v0.13.0] - 2021-03-23 +### Chores +- update changelog for v0.13.0 +- use ldflags to pass version to build process ([#127](https://github.com/git-chglog/git-chglog/issues/127)) + +### Features +- add support for rendering .Body after .Subject as part of list ([#121](https://github.com/git-chglog/git-chglog/issues/121)) + + + +## [v0.12.0] - 2021-03-20 +### Chores +- update changelog for v0.12.0 +- bumps version to v0.12.0 +- bump golang to 1.16 ([#118](https://github.com/git-chglog/git-chglog/issues/118)) +- **ci:** add golangci-lint action and apply linting changes ([#120](https://github.com/git-chglog/git-chglog/issues/120)) + +### Features +- allow tag sorting by semver ([#124](https://github.com/git-chglog/git-chglog/issues/124)) + +### BREAKING CHANGE + +`JiraIssueId` has been renamed to `JiraIssueID`. This impacts the value for `pattern_maps` in `config.yml`. + +* chore(ci): add golangci-lint action + +* chore(lint): address errcheck lint failures + +* chore(lint): address misspell lint failures + +* chore(lint): address gocritic lint failures + +* chore(lint): address golint lint failures + +* chore(lint): address structcheck lint failures + +* chore(lint): address gosimple lint failures + +* chore(lint): address gofmt lint failures + +* chore(ci): port to official golangci-lint github action + +* Update golangci configuration for better coverage + + + +## [v0.11.2] - 2021-03-13 +### Bug Fixes +- `--template` and `--repository-url` flags not being used ([#119](https://github.com/git-chglog/git-chglog/issues/119)) + +### Chores +- update changelog for v0.11.2 +- bumps version to v0.11.2 + + + +## [v0.11.1] - 2021-03-12 +### Bug Fixes +- **short flags:** correctly define cli flags with shorthands ([#117](https://github.com/git-chglog/git-chglog/issues/117)) + +### Chores +- update readme and changelog for v0.11.1 +- bumps version to v0.11.1 + + + +## [v0.11.0] - 2021-03-12 +### Bug Fixes +- **deps:** update all non-major dependencies ([#115](https://github.com/git-chglog/git-chglog/issues/115)) +- **deps:** update module gopkg.in/kyokomi/emoji.v1 to github.com/kyokomi/emoji/v2 ([#109](https://github.com/git-chglog/git-chglog/issues/109)) +- **deps:** update module github.com/urfave/cli to v2 ([#107](https://github.com/git-chglog/git-chglog/issues/107)) +- **deps:** update module github.com/stretchr/testify to v1.7.0 ([#103](https://github.com/git-chglog/git-chglog/issues/103)) +- **deps:** update module gopkg.in/alecaivazis/survey.v1 to github.com/AlecAivazis/survey/v2 ([#108](https://github.com/git-chglog/git-chglog/issues/108)) +- **init:** support OptionAnswer form in survey/v2 ([#113](https://github.com/git-chglog/git-chglog/issues/113)) + +### Chores +- update changelog for v0.11.0 +- bumps version to v0.11.0 +- **deps:** add initial renovatebot configuration ([#102](https://github.com/git-chglog/git-chglog/issues/102)) + +### Features +- add Jira integration ([#52](https://github.com/git-chglog/git-chglog/issues/52)) +- **flag:** --path filtering - refs ([#62](https://github.com/git-chglog/git-chglog/issues/62)). Closes [#35](https://github.com/git-chglog/git-chglog/issues/35) + + + +## [v0.10.0] - 2021-01-16 +### Bug Fixes +- ignore only git-chglog binary in root and not subfolder + +### Chores +- update changelog for v0.10.0 +- bumps version to v0.10.0 +- sorts changelog desc and excludes Merge commits +- fix Makefile typo ([#82](https://github.com/git-chglog/git-chglog/issues/82)) +- **asdf:** add asdf install support to README ([#79](https://github.com/git-chglog/git-chglog/issues/79)) + +### Features +- Adds 'Custom' sort_type to CommitGroup ([#69](https://github.com/git-chglog/git-chglog/issues/69)) +- enable tag_filter_pattern in config options ([#72](https://github.com/git-chglog/git-chglog/issues/72)) +- switch from dep to go mod ([#85](https://github.com/git-chglog/git-chglog/issues/85)) +- add option to filter commits in a case insensitive way +- add upperFirst template function +- Add emoji format and some formatters in variables + +### Reverts +- Revert "ci: switches to personal GH Token for brew cross repo releases" +- ci: switches to personal GH Token for brew cross repo releases + +### Pull Requests +- Merge pull request [#65](https://github.com/git-chglog/git-chglog/issues/65) from barryib/case-sensitive-option +- Merge pull request [#59](https://github.com/git-chglog/git-chglog/issues/59) from momotaro98/feature/add-emoji-template-in-init +- Merge pull request [#66](https://github.com/git-chglog/git-chglog/issues/66) from barryib/add-upper-first-func +- Merge pull request [#68](https://github.com/git-chglog/git-chglog/issues/68) from unixorn/tweak-readme + + + +## [0.9.1] - 2019-09-23 + + +## [0.9.0] - 2019-09-23 +### Bug Fixes +- Fixing tests on windows + +### Features +- Add --tag-filter-pattern flag. + +### Pull Requests +- Merge pull request [#44](https://github.com/git-chglog/git-chglog/issues/44) from evanchaoli/tag-filter +- Merge pull request [#41](https://github.com/git-chglog/git-chglog/issues/41) from StanleyGoldman/fixing-tests-windows +- Merge pull request [#37](https://github.com/git-chglog/git-chglog/issues/37) from ForkingSyndrome/master + + + +## [0.8.0] - 2019-02-23 +### Features +- add the contains, hasPrefix, hasSuffix, replace, lower and upper functions to the template functions map + +### Pull Requests +- Merge pull request [#34](https://github.com/git-chglog/git-chglog/issues/34) from atosatto/template-functions + + + +## [0.7.1] - 2018-11-10 +### Bug Fixes +- Panic occured when exec --next-tag with HEAD with tag + +### Pull Requests +- Merge pull request [#31](https://github.com/git-chglog/git-chglog/issues/31) from drubin/patch-1 +- Merge pull request [#30](https://github.com/git-chglog/git-chglog/issues/30) from vvakame/fix-panic + + + +## [0.7.0] - 2018-05-06 +### Bug Fixes +- Remove accidentally added `Unreleased.Tag` + +### Chores +- Update `changelog` task in Makefile + +### Features +- Add URL of output example for template style +- Add `--next-tag` flag (experimental) + +### Pull Requests +- Merge pull request [#22](https://github.com/git-chglog/git-chglog/issues/22) from git-chglog/feat/add-preview-style-link +- Merge pull request [#21](https://github.com/git-chglog/git-chglog/issues/21) from git-chglog/feat/next-tag + + + +## [0.6.0] - 2018-05-04 +### Chores +- Update CHANGELOG template format + +### Features +- Add tag name header id for keep-a-changelog template + +### Pull Requests +- Merge pull request [#20](https://github.com/git-chglog/git-chglog/issues/20) from git-chglog/feat/kac-template-title-id + + + +## [0.5.0] - 2018-05-04 +### Bug Fixes +- Add unreleased commits section to keep-a-changelog template [#15](https://github.com/git-chglog/git-chglog/issues/15) + +### Chores +- Update CHANGELOG template format + +### Features +- Update template format to human readable +- Add `Unreleased` field to `RenderData` + +### Pull Requests +- Merge pull request [#19](https://github.com/git-chglog/git-chglog/issues/19) from git-chglog/fix/unreleased-commits +- Merge pull request [#18](https://github.com/git-chglog/git-chglog/issues/18) from ringohub/master + + + +## [0.4.0] - 2018-04-14 +### Features +- Add support for Bitbucket + +### Pull Requests +- Merge pull request [#17](https://github.com/git-chglog/git-chglog/issues/17) from git-chglog/feat/bitbucket + + + +## [0.3.3] - 2018-04-07 +### Features +- Change to kindly error message when git-tag does not exist + +### Pull Requests +- Merge pull request [#16](https://github.com/git-chglog/git-chglog/issues/16) from git-chglog/fix/empty-tag-handling + + + +## [0.3.2] - 2018-04-02 +### Bug Fixes +- Fix color output bug in windows help command + +### Pull Requests +- Merge pull request [#14](https://github.com/git-chglog/git-chglog/issues/14) from git-chglog/fix/windows-help-color + + + +## [0.3.1] - 2018-03-15 +### Bug Fixes +- fix preview string of commit subject + +### Pull Requests +- Merge pull request [#13](https://github.com/git-chglog/git-chglog/issues/13) from kt3k/feature/fix-preview + + + +## [0.3.0] - 2018-03-12 +### Chores +- Add helper task for generate CHANGELOG + +### Features +- Add support for GitLab + +### Pull Requests +- Merge pull request [#12](https://github.com/git-chglog/git-chglog/issues/12) from git-chglog/feat/gitlab + + + +## [0.2.0] - 2018-03-02 +### Chores +- Fix release flow (retry) +- Add AppVeyor config + +### Features +- Add template for `Keep a changelog` to the `--init` option +- Supports vim like `j/k` keybind with item selection of `--init` + +### Pull Requests +- Merge pull request [#11](https://github.com/git-chglog/git-chglog/issues/11) from git-chglog/develop +- Merge pull request [#10](https://github.com/git-chglog/git-chglog/issues/10) from mattn/fix-test +- Merge pull request [#9](https://github.com/git-chglog/git-chglog/issues/9) from mattn/windows-color -## [0.1.0](https://github.com/git-chglog/git-chglog/compare/0.0.2...0.1.0) (2018-02-25) - +## [0.1.0] - 2018-02-25 ### Bug Fixes +- Fix a bug that `Commit.Revert.Header` is not converted by `GitHubProcessor` +- Fix error message when `Tag` can not be acquired +- Fix `Revert` of template created by Initializer -* Fix a bug that `Commit.Revert.Header` is not converted by `GitHubProcessor` -* Fix error message when `Tag` can not be acquired -* Fix `Revert` of template created by Initializer +### Chores +- Fix release scripts +- Remove unnecessary task +- Add coverage measurement task for local confirmation +- Change release method of git tag on TravisCI ### Code Refactoring - -* Refactor `Initializer` to testable +- Refactor `Initializer` to testable ### Features +- Supports annotated git-tag and adds `Tag.Subject` field [#3](https://github.com/git-chglog/git-chglog/issues/3) +- Remove commit message preview on select format +- Add Git Basic to commit message format +- Add preview to the commit message format of `--init` option -* Supports annotated git-tag and adds `Tag.Subject` field [#3](https://github.com/git-chglog/git-chglog/issues/3) -* Remove commit message preview on select format -* Add Git Basic to commit message format -* Add preview to the commit message format of `--init` option +### Pull Requests +- Merge pull request [#8](https://github.com/git-chglog/git-chglog/issues/8) from git-chglog/feat/0.0.3 +- Merge pull request [#6](https://github.com/git-chglog/git-chglog/issues/6) from git-chglog/chore/coverage +- Merge pull request [#4](https://github.com/git-chglog/git-chglog/issues/4) from paralax/patch-1 +- Merge pull request [#5](https://github.com/git-chglog/git-chglog/issues/5) from git-chglog/develop +- Merge pull request [#1](https://github.com/git-chglog/git-chglog/issues/1) from git-chglog/develop -## [0.0.2](https://github.com/git-chglog/git-chglog/compare/0.0.1...0.0.2) (2018-02-19) - -### Bug Fixes - -* Fix `Revert` of template created by Initializer - -### Features - -* Add Git Basic to commit message format -* Add preview to the commit message format of `--init` option +## [0.0.2] - 2018-02-18 +### Chores +- Fix release script +- Add release process -## 0.0.1 (2018-02-18) +## 0.0.1 - 2018-02-18 +### Bug Fixes +- Fix parsing of revert and body -First release :tada: +### Chores +- Fix timezone in TravisCI +- Add travis configuration +- Add Makefile for task management +- Fix testcase depending on datetime +- Update vendor packages +- Add e2e tests +- Setup gitignore +- Initial commit +- **editor:** Add Editorconfig + +### Code Refactoring +- Fix typo +- Change to return an error if corresponding commit is empty +- Refactor the main logic + +### Features +- Add cli client +- Add commits in commit version struct +- Add config normalize process +- Add Next and Previous in Tag +- Add MergeCommits and RevertCommits +- First implement + + +[Unreleased]: https://github.com/git-chglog/git-chglog/compare/v0.15.4...HEAD +[v0.15.4]: https://github.com/git-chglog/git-chglog/compare/v0.15.2...v0.15.4 +[v0.15.2]: https://github.com/git-chglog/git-chglog/compare/v0.15.1...v0.15.2 +[v0.15.1]: https://github.com/git-chglog/git-chglog/compare/v0.15.0...v0.15.1 +[v0.15.0]: https://github.com/git-chglog/git-chglog/compare/v0.14.2...v0.15.0 +[v0.14.2]: https://github.com/git-chglog/git-chglog/compare/v0.14.1...v0.14.2 +[v0.14.1]: https://github.com/git-chglog/git-chglog/compare/v0.14.0...v0.14.1 +[v0.14.0]: https://github.com/git-chglog/git-chglog/compare/v0.13.0...v0.14.0 +[v0.13.0]: https://github.com/git-chglog/git-chglog/compare/v0.12.0...v0.13.0 +[v0.12.0]: https://github.com/git-chglog/git-chglog/compare/v0.11.2...v0.12.0 +[v0.11.2]: https://github.com/git-chglog/git-chglog/compare/v0.11.1...v0.11.2 +[v0.11.1]: https://github.com/git-chglog/git-chglog/compare/v0.11.0...v0.11.1 +[v0.11.0]: https://github.com/git-chglog/git-chglog/compare/v0.10.0...v0.11.0 +[v0.10.0]: https://github.com/git-chglog/git-chglog/compare/0.9.1...v0.10.0 +[0.9.1]: https://github.com/git-chglog/git-chglog/compare/0.9.0...0.9.1 +[0.9.0]: https://github.com/git-chglog/git-chglog/compare/0.8.0...0.9.0 +[0.8.0]: https://github.com/git-chglog/git-chglog/compare/0.7.1...0.8.0 +[0.7.1]: https://github.com/git-chglog/git-chglog/compare/0.7.0...0.7.1 +[0.7.0]: https://github.com/git-chglog/git-chglog/compare/0.6.0...0.7.0 +[0.6.0]: https://github.com/git-chglog/git-chglog/compare/0.5.0...0.6.0 +[0.5.0]: https://github.com/git-chglog/git-chglog/compare/0.4.0...0.5.0 +[0.4.0]: https://github.com/git-chglog/git-chglog/compare/0.3.3...0.4.0 +[0.3.3]: https://github.com/git-chglog/git-chglog/compare/0.3.2...0.3.3 +[0.3.2]: https://github.com/git-chglog/git-chglog/compare/0.3.1...0.3.2 +[0.3.1]: https://github.com/git-chglog/git-chglog/compare/0.3.0...0.3.1 +[0.3.0]: https://github.com/git-chglog/git-chglog/compare/0.2.0...0.3.0 +[0.2.0]: https://github.com/git-chglog/git-chglog/compare/0.1.0...0.2.0 +[0.1.0]: https://github.com/git-chglog/git-chglog/compare/0.0.2...0.1.0 +[0.0.2]: https://github.com/git-chglog/git-chglog/compare/0.0.1...0.0.2 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5e7184c7..717768f2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,22 +2,21 @@ Thank you for contributing `git-chglog` :tada: - ## Templates Please use issue/PR templates which are inserted automatically. - ## Found a Bug? -If you find a bug in the source code, you can help us by [submitting an issue](https://github.com/git-chglog/git-chglog/issues) to our [GitHub Repository](https://github.com/git-chglog/git-chglog). Even better, you can submit a Pull Request with a fix. - +If you find a bug in the source code, you can help us by [submitting an issue] +to our [GitHub Repository]. Even better, you can submit a Pull Request with a +fix. ## Commit Message Format -A format influenced by [Angular commit message](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit-message-format). +A format influenced by [Angular commit message]. -``` +```text : @@ -25,26 +24,31 @@ A format influenced by [Angular commit message](https://github.com/angular/angul