├── .github └── workflows │ ├── gradle-ci.yml │ └── publish-release-on-tag-push.yaml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── build-docker.sh ├── build.gradle ├── changelog.json ├── changelog.mustache ├── changelog_html.mustache ├── changelog_mediawiki.mustache ├── generate_changelog.sh ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── main └── java │ └── se │ └── bjurr │ └── gitchangelog │ └── main │ └── Main.java └── test └── resources ├── gitLabChangelog.md ├── testThatCommitsCanBeIgnoredByTime.md ├── testThatCommitsCanBeIgnoredIfNoIssue.md ├── testThatJsonCanBeUsedActual.md ├── testThatTagsCanBeIgnored.md └── testThatVariablesCanBeUsed.md /.github/workflows/gradle-ci.yml: -------------------------------------------------------------------------------- 1 | name: Call Gradle CI 2 | 3 | on: [workflow_dispatch, push, pull_request] 4 | 5 | jobs: 6 | call-workflow: 7 | uses: tomasbjerre/.github/.github/workflows/gradle-ci.yml@master 8 | -------------------------------------------------------------------------------- /.github/workflows/publish-release-on-tag-push.yaml: -------------------------------------------------------------------------------- 1 | name: Publish release on tag push 2 | 3 | on: 4 | workflow_dispatch: 5 | workflow_call: 6 | push: 7 | tags: 8 | - "*" 9 | 10 | jobs: 11 | call-workflow: 12 | uses: tomasbjerre/.github/.github/workflows/publish-release-on-tag-push.yaml@master 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .classpath 3 | .project 4 | .settings 5 | generated-src 6 | build 7 | target 8 | bin 9 | temp 10 | .gradle 11 | .couscous 12 | couscous.phar 13 | .okhttpcache 14 | node_modules 15 | index.js 16 | package.json 17 | package-lock.json 18 | node_modules 19 | docker/git-changelog-command-line.jar 20 | .vscode 21 | .sdkmanrc 22 | 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | 203 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Git Changelog Command Line 2 | 3 | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/se.bjurr.gitchangelog/git-changelog-command-line/badge.svg)](https://maven-badges.herokuapp.com/maven-central/se.bjurr.gitchangelog/git-changelog-command-line) 4 | [![NPM](https://img.shields.io/npm/v/git-changelog-command-line.svg?style=flat-square)](https://www.npmjs.com/package/git-changelog-command-line) 5 | [![NPM Downloads](https://img.shields.io/npm/dm/git-changelog-command-line.svg?style=flat)](https://www.npmjs.com/package/git-changelog-command-line) 6 | [![Docker Pulls](https://badgen.net/docker/pulls/tomasbjerre/git-changelog-command-line?icon=docker&label=pulls)](https://hub.docker.com/r/tomasbjerre/git-changelog-command-line/) 7 | 8 | This is a command line tool for generating a changelog, or releasenotes, from a GIT repository. It uses the [Git Changelog Lib](https://github.com/tomasbjerre/git-changelog-lib). 9 | 10 | This is a Java application (runnable `jar`) packaged into an `NPM` package for convenience. 11 | 12 | - The runnable `jar` can be found in [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22git-changelog-command-line%22) and used like `java -jar git-changelog-command-line-*.jar ....`. 13 | - The `npm` package can be found in [NPM](https://www.npmjs.com/package/git-changelog-command-line). 14 | - The `Docker` image can be found in [Dockerhub](https://hub.docker.com/r/tomasbjerre/git-changelog-command-line) and used like `docker run --mount src="$(pwd)",target=/usr/src/git-changelog-command-line,type=bind tomasbjerre/git-changelog-command-line:X --help`. 15 | 16 | | Version | Java Version | 17 | | ------------------------ | ------------ | 18 | | version < 2.0.0 | 8 | 19 | | 2.0.0 <= version < 2.3.0 | 11 | 20 | | 2.3.0 <= version | 17 | 21 | 22 | ## Example - Simple 23 | 24 | A changelog can be created like this. 25 | 26 | ```shell 27 | npx git-changelog-command-line -std 28 | ``` 29 | 30 | Or, you can specify a template: 31 | 32 | ```shell 33 | npx git-changelog-command-line -std -tec " 34 | # Changelog 35 | 36 | Changelog. 37 | 38 | {{#tags}} 39 | ## {{name}} 40 | {{#issues}} 41 | {{#hasIssue}} 42 | {{#hasLink}} 43 | ### {{name}} [{{issue}}]({{link}}) {{title}} {{#hasIssueType}} *{{issueType}}* {{/hasIssueType}} {{#hasLabels}} {{#labels}} *{{.}}* {{/labels}} {{/hasLabels}} 44 | {{/hasLink}} 45 | {{^hasLink}} 46 | ### {{name}} {{issue}} {{title}} {{#hasIssueType}} *{{issueType}}* {{/hasIssueType}} {{#hasLabels}} {{#labels}} *{{.}}* {{/labels}} {{/hasLabels}} 47 | {{/hasLink}} 48 | {{/hasIssue}} 49 | {{^hasIssue}} 50 | ### {{name}} 51 | {{/hasIssue}} 52 | 53 | {{#commits}} 54 | **{{{messageTitle}}}** 55 | 56 | {{#messageBodyItems}} 57 | * {{.}} 58 | {{/messageBodyItems}} 59 | 60 | [{{hash}}](https://github.com/{{ownerName}}/{{repoName}}/commit/{{hash}}) {{authorName}} *{{commitTime}}* 61 | 62 | {{/commits}} 63 | 64 | {{/issues}} 65 | {{/tags}} 66 | " 67 | ``` 68 | 69 | ## Example - Semantic versioning from conventional commits 70 | 71 | If you are using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/): 72 | 73 | ```shell 74 | [optional scope]: 75 | 76 | [optional body] 77 | 78 | [optional footer(s)] 79 | ``` 80 | 81 | The highest version can be determined with: 82 | 83 | ```shell 84 | 85 | highestTag=$(npx git-changelog-command-line \ 86 | --print-highest-version-tag) 87 | 88 | echo Last release detected as $highestTag 89 | ``` 90 | 91 | You can also get the tag with `--print-highest-version-tag`. Highest version may be `1.2.3` and highest tag may be `v1.2.3`. 92 | 93 | Next version to release can be determined with: 94 | 95 | ```shell 96 | nextVersion=$(npx git-changelog-command-line \ 97 | --print-next-version) 98 | 99 | echo Next release based on commits is: $nextVersion 100 | ``` 101 | 102 | There are default patterns, but you can specify the patterns with: 103 | 104 | - `--major-version-pattern REGEXP` 105 | - `--minor-version-pattern REGEXP` 106 | - `--patch-version-pattern REGEXP` 107 | 108 | By default it will match anything as patch, like `chore: whatever` and not only `fix: whatever`. You can change that with: 109 | 110 | ```shell 111 | highestVersion=$(npx git-changelog-command-line \ 112 | --print-highest-version) 113 | 114 | highestVersionTag=$(npx git-changelog-command-line \ 115 | --print-highest-version-tag) 116 | 117 | currentVersion=$(npx git-changelog-command-line \ 118 | --patch-version-pattern "^fix.*" \ 119 | --print-current-version) 120 | 121 | if [ -z "$highestVersionTag" ]; then 122 | echo "This is the first version in the repo, using 0.0.1 as version" 123 | currentVersion=0.0.1 124 | else if [ "$currentVersion" == "$highestVersion" ]; then 125 | echo "No changes made that can be released" 126 | else 127 | echo "Changes detected and a new $currentVersion release can be made" 128 | fi 129 | ``` 130 | 131 | A changelog can be rendered (using [Helpers](https://github.com/tomasbjerre/git-changelog-lib#Helpers)) like this: 132 | 133 | ```shell 134 | npx git-changelog-command-line \ 135 | --to-ref HEAD \ 136 | --stdout \ 137 | --template-content " 138 | # Changelog 139 | 140 | {{#tags}} 141 | {{#ifReleaseTag .}} 142 | ## [{{name}}](https://github.com/tomasbjerre/someproject/compare/{{name}}) ({{tagDate .}}) 143 | 144 | {{#ifContainsType commits type='feat'}} 145 | ### Features 146 | 147 | {{#commits}} 148 | {{#ifCommitType . type='feat'}} 149 | - {{#eachCommitScope .}} **{{.}}** {{/eachCommitScope}} {{{commitDescription .}}} ([{{hash}}](https://github.com/tomasbjerre/someproject/commit/{{hashFull}})) 150 | {{/ifCommitType}} 151 | {{/commits}} 152 | {{/ifContainsType}} 153 | 154 | {{#ifContainsType commits type='fix'}} 155 | ### Bug Fixes 156 | 157 | {{#commits}} 158 | {{#ifCommitType . type='fix'}} 159 | - {{#eachCommitScope .}} **{{.}}** {{/eachCommitScope}} {{{commitDescription .}}} ([{{hash}}](https://github.com/tomasbjerre/someproject/commit/{{hashFull}})) 160 | {{/ifCommitType}} 161 | {{/commits}} 162 | {{/ifContainsType}} 163 | 164 | {{/ifReleaseTag}} 165 | {{/tags}} 166 | " 167 | ``` 168 | 169 | Or you can prepend to the current changelog. You may get `$nextVersion` from `--print-next-version` and `$highestTag` from `--print-highest-version-tag`. Somehting like this: 170 | 171 | ```shell 172 | npx git-changelog-command-line \ 173 | --from-ref $highestTag \ 174 | --to-ref HEAD \ 175 | --prepend-to-file CHANGELOG.md \ 176 | --template-content " 177 | ## $nextVersion 178 | 179 | {{#ifContainsType commits type='feat'}} 180 | ## Features 181 | {{#commits}} 182 | {{#ifCommitType . type='feat'}} 183 | {{#eachCommitScope .}} **{{.}}** {{/eachCommitScope}} {{{commitDescription .}}} ([{{hash}}](https://github.com/tomasbjerre/someproject/commit/{{hashFull}})) 184 | {{/ifCommitType}} 185 | {{/commits}} 186 | {{/ifContainsType}} 187 | 188 | {{#ifContainsType commits type='fix'}} 189 | ## Bug Fixes 190 | {{#commits}} 191 | {{#ifCommitType . type='fix'}} 192 | {{#eachCommitScope .}} **{{.}}** {{/eachCommitScope}} {{{commitDescription .}}} ([{{hash}}](https://github.com/tomasbjerre/someproject/commit/{{hashFull}})) 193 | {{/ifCommitType}} 194 | {{/commits}} 195 | {{/ifContainsType}} 196 | " 197 | ``` 198 | 199 | ### Example NPM and `package.json` 200 | 201 | If you are using NPM, you may want to add this to your `package.json`: 202 | 203 | ```json 204 | { 205 | "scripts": { 206 | "build": "echo build it...", 207 | "release": "npm run set-version; npm run build && npm publish && npm run changelog", 208 | "set-version": "npm version $(npx git-changelog-command-line --print-next-version)", 209 | "changelog": "npx git-changelog-command-line -of CHANGELOG.md && git commit -a -m 'chore: changelog' && git push --follow-tags" 210 | } 211 | } 212 | ``` 213 | 214 | And if you do `npm run release` it will: 215 | 216 | - Set version in `package.json` 217 | - Build the repo 218 | - Publish it 219 | - Update CHANGELOG.md 220 | 221 | ## Example - custom helpers 222 | 223 | You can supply your own helpers and use them in the template. 224 | 225 | ```shell 226 | npx git-changelog-command-line \ 227 | --to-ref HEAD \ 228 | --stdout \ 229 | --template-content " 230 | {{#commits}} 231 | {{#startsWith messageTitle s='feat'}} 232 | Starts with feat: "{{messageTitle}}" 233 | first 10 letters of hash is: {{firstLetters hash number='10'}} 234 | {{/startsWith}} 235 | {{/commits}} 236 | " \ 237 | --register-handlebars-helper " 238 | Handlebars.registerHelper('firstLetters', function(input, options) { 239 | const number = parseInt(options.hash['number'] || "0") 240 | return input.substring(0,number); 241 | }); 242 | 243 | Handlebars.registerHelper('startsWith', function(from, options) { 244 | const s = options.hash['s'] 245 | if (new RegExp('^' + s + '.*').test(from)) { 246 | return options.fn(this); 247 | } else { 248 | return options.inverse(this); 249 | } 250 | }); 251 | " 252 | ``` 253 | 254 | # Usage 255 | 256 | Or from command line: 257 | 258 | ```shell 259 | -cl, --custom-issue-link Custom issue link. 260 | Supports variables like 261 | ${PATTERN_GROUP_1} to inject variables 262 | from pattern. 263 | : any string 264 | Default: null 265 | -cn, --custom-issue-name Custom issue name. 266 | : any string 267 | Default: null 268 | -cp, --custom-issue-pattern Custom issue pattern. 269 | : any string 270 | Default: null 271 | -ct, --custom-issue-title Custom issue title. 272 | Supports variables like 273 | ${PATTERN_GROUP_1} to inject variables 274 | from pattern. 275 | : any string 276 | Default: null 277 | -df, --date-format Format to use when 278 | printing dates. 279 | : any string 280 | Default: YYYY-MM-dd HH:mm:ss 281 | -eh, --extended-headers Extended headers that 282 | will send when access JIRA. 283 | e.g. -eh CF-Access- 284 | Client-ID:abcde12345xyz.access [Supports Multiple occurrences] 285 | : any string 286 | Default: Empty list 287 | -en, --encoding Encoding to use when 288 | writing content. 289 | : any string 290 | Default: UTF-8 291 | -ex, --extended-variables Extended variables 292 | that will be available as 293 | {{extended.*}}. -ex "{\"var1\": \" 294 | val1\"}" will print out "val1" 295 | for a template like 296 | "{{extended.var1}}" 297 | : any string 298 | Default: 299 | -fre, --from-revision From revision. 300 | : any string 301 | Default: 0000000000000000000000000000000000000000 302 | -frei, --from-revision-inclusiveness Include, or exclude, 303 | specified revision. 304 | : {INCLUSIVE | EXCLUSIVE | DEFAULT} 305 | Default: DEFAULT 306 | -gapi, --github-api GitHub API. Like: 307 | https://api.github. 308 | com/repos/tomasbjerre/git-changelog-command-line/ 309 | : any string 310 | Default: 311 | -ge, --github-enabled Enable parsing for 312 | GitHub issues. 313 | Default: disabled 314 | -gl, --gitlab-enabled Enable parsing for 315 | GitLab issues. 316 | Default: disabled 317 | -glp, --gitlab-issue-pattern GitLab issue pattern. 318 | : any string 319 | Default: 320 | -glpn, --gitlab-project-name GitLab project name. 321 | : any string 322 | Default: 323 | -gls, --gitlab-server GitLab server, like 324 | https://gitlab.com/. 325 | : any string 326 | Default: 327 | -glt, --gitlab-token GitLab API token. 328 | : any string 329 | Default: 330 | -gtok, --github-token GitHub API OAuth2 331 | token. You can get it from: 332 | curl -u 'yourgithubuser' -d 333 | '{"note":"Git Changelog Lib"}' 334 | https://api.github. 335 | com/authorizations 336 | : any string 337 | Default: 338 | -h, --help : an argument to print help for 339 | Default: If no specific parameter is given the whole usage text is given 340 | -handlebars-helper-file, -hhf Can be used to add 341 | extra helpers. 342 | : a file path 343 | Default: /home/bjerre/workspace/git-changelog/git-changelog-command-line/. 344 | -ini, --ignore-commits-without-issue Ignore commits that is 345 | not included in any issue. 346 | Default: disabled 347 | -iot, --ignore-older-than Ignore commits older 348 | than yyyy-MM-dd HH:mm:ss. 349 | : any string 350 | Default: 351 | -ip, --ignore-pattern Ignore commits where 352 | pattern matches message. 353 | : any string 354 | Default: ^Merge.* 355 | -itp, --ignore-tag-pattern Ignore tags that 356 | matches regular expression. 357 | Can be used to ignore 358 | release candidates and only 359 | include actual releases. 360 | : any string 361 | Default: null 362 | -jaf, --jira-additional-field Adds an additional 363 | field for Jira. When 364 | configured, we will return from 365 | Jira the result of this 366 | field, if it exists. [Supports Multiple occurrences] 367 | : any string 368 | Default: Empty list 369 | -jba, --jira-basic-auth Optional token to 370 | authenticate with Jira. 371 | : any string 372 | Default: \\b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\\b 373 | -jbt, --jira-bearer Optional token to 374 | authenticate with Jira. 375 | : any string 376 | Default: \\b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\\b 377 | -je, --jira-enabled Enable parsing for 378 | Jira issues. 379 | Default: disabled 380 | -jp, --jira-pattern Jira issue pattern. 381 | : any string 382 | Default: \\b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\\b 383 | -jpw, --jira-password Optional password to 384 | authenticate with Jira. 385 | : any string 386 | Default: \\b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\\b 387 | -js, --jiraServer, --jira-server Jira server. When a 388 | Jira server is given, the 389 | title of the Jira issues can 390 | be used in the changelog. 391 | : any string 392 | Default: null 393 | -ju, --jira-username Optional username to 394 | authenticate with Jira. 395 | : any string 396 | Default: \\b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\\b 397 | -mavp, --major-version-pattern Commit messages 398 | matching this, optional, 399 | regular expression will 400 | trigger new major version. 401 | : any string 402 | Default: null 403 | -mivp, --minor-version-pattern Commit messages 404 | matching this, optional, 405 | regular expression will 406 | trigger new minor version. 407 | : any string 408 | Default: ^[Ff]eat.* 409 | -ni, --no-issue-name Name of virtual issue 410 | that contains commits that 411 | has no issue associated. 412 | : any string 413 | Default: No issue 414 | -of, --output-file Write output to file. 415 | : any string 416 | Default: 417 | -pavp, --patch-version-pattern Commit messages 418 | matching this, optional, 419 | regular expression will 420 | trigger new patch version. 421 | : any string 422 | Default: null 423 | -pcv, --print-current-version Like --print-next- 424 | version unless the current 425 | commit is tagged with a 426 | version, if so it will print 427 | that version. 428 | Default: disabled 429 | -pf, --path-filters Paths on the 430 | filesystem to filter on. [Supports Multiple occurrences] 431 | : any string 432 | Default: Empty list 433 | -phv, --print-highest-version Print the highest 434 | version, determined by tags in 435 | repo, and exit. 436 | Default: disabled 437 | -phvt, --print-highest-version-tag Print the tag 438 | corresponding to highest version, 439 | and exit. 440 | Default: disabled 441 | -pnv, --print-next-version Print the next 442 | version, determined by commits 443 | since highest version, and 444 | exit. 445 | Default: disabled 446 | -pt, --prepend-template Template to use when 447 | prepending. A default template 448 | will be used if not 449 | specified. 450 | : any string 451 | Default: changelog-prepend.mustache 452 | -ptf, --prepend-to-file Add the changelog to 453 | top of given file. 454 | : any string 455 | Default: null 456 | -r, --repo Repository. 457 | : any string 458 | Default: . 459 | -re, --redmine-enabled Enable parsing for 460 | Redmine issues. 461 | Default: disabled 462 | -rhh, --register-handlebars-helper Handlebar helpers, 463 | https://handlebarsjs. 464 | com/guide/block-helpers.html, to 465 | register and use in given 466 | template. 467 | : any string 468 | Default: 469 | -ri, --remove-issue-from-message Dont print any issues 470 | in the messages of 471 | commits. 472 | Default: disabled 473 | -rmp, --redmine-pattern Redmine issue pattern. 474 | : any string 475 | Default: #([0-9]+) 476 | -rmpw, --redmine-password Optional password to 477 | authenticate with Redmine. 478 | : any string 479 | Default: 480 | -rms, --redmine-server Redmine server. When a 481 | Redmine server is given, the 482 | title of the Redmine issues 483 | can be used in the 484 | changelog. 485 | : any string 486 | Default: null 487 | -rmt, --redmine-token Optional token/api-key 488 | to authenticate with 489 | Redmine. 490 | : any string 491 | Default: 492 | -rmu, --redmine-username Optional username to 493 | authenticate with Redmine. 494 | : any string 495 | Default: 496 | -rt, --readable-tag-name Pattern to extract 497 | readable part of tag. 498 | : any string 499 | Default: /([^/]+?)$ 500 | -sf, --settings-file Use settings from file. 501 | : any string 502 | Default: null 503 | --show-debug-info Please run your 504 | command with this parameter 505 | and supply output when 506 | reporting bugs. 507 | Default: disabled 508 | -std, --stdout Print builder to 509 | . 510 | Default: disabled 511 | -t, --template Template to use. A 512 | default template will be used 513 | if not specified. 514 | : any string 515 | Default: changelog.mustache 516 | -tbd, --template-base-dir Base dir of templates. 517 | : any string 518 | Default: null 519 | -tec, --template-content String to use as 520 | template. 521 | : any string 522 | Default: 523 | -tps, --template-partial-suffix File ending for 524 | partials. 525 | : any string 526 | Default: .hbs 527 | -tre, --to-revision To revision. 528 | : any string 529 | Default: refs/heads/master 530 | -trei, --to-revision-inclusiveness Include, or exclude, 531 | specified revision. 532 | : {INCLUSIVE | EXCLUSIVE | DEFAULT} 533 | Default: DEFAULT 534 | -tz, --time-zone TimeZone to use when 535 | printing dates. 536 | : any string 537 | Default: UTC 538 | -ui, --use-integrations Use integrations to 539 | get more details on 540 | commits. 541 | Default: disabled 542 | -ut, --untagged-name When listing commits 543 | per tag, this will by the 544 | name of a virtual tag that 545 | contains commits not available 546 | in any git tag. 547 | : any string 548 | Default: No tag 549 | ``` 550 | 551 | ## Usage - template base dir 552 | 553 | You can use [partials](http://jknack.github.io/handlebars.java/reuse.html) in your templates. 554 | 555 | `/dir/changelog.hbs` 556 | 557 | ```hbs 558 | {{#commits}} 559 | {{> commit}} 560 | {{/commits}} 561 | ``` 562 | 563 | `/dir/base/commit.partial` 564 | 565 | ```hbs 566 | ## {{authorName}} - {{commitTime}} 567 | [{{hashFull}}](https://server/{{hash}}) 568 | {{{message}}} 569 | ``` 570 | 571 | This is configured like: 572 | 573 | ```sh 574 | npx git-changelog-command-line -std \ 575 | --template-base-dir /dir/base \ 576 | --template /dir/changelog.hbs 577 | ``` 578 | 579 | If partials have a different ending, you can specify that with `--template-partial-suffix`. 580 | -------------------------------------------------------------------------------- /build-docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | source ~/.bashrc 4 | source gradle.properties 5 | 6 | npx runnable-jar-to-docker@latest \ 7 | --docker-username tomasbjerre \ 8 | --docker-password $dockerhub_token \ 9 | --maven-group $group \ 10 | --maven-artifact ${PWD##*/} \ 11 | --maven-version $(npx git-changelog-command-line@latest --print-highest-version) \ 12 | --repository-url "file://$HOME/.m2/repository" 13 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "se.bjurr.gradle.conventional-release" version "0.+" 3 | id "se.bjurr.gradle.update-versions" version "0.+" 4 | id "se.bjurr.gradle.java-convention" version "0.+" 5 | } 6 | 7 | shadowJar { 8 | exclude 'META-INF/versions/21/**' 9 | } 10 | 11 | dependencies { 12 | implementation 'se.bjurr.gitchangelog:git-changelog-lib:2.6.0' 13 | implementation 'se.softhouse:jargo:0.4.14' 14 | implementation 'org.slf4j:slf4j-simple:2.0.17' 15 | implementation 'com.google.code.gson:gson:2.12.1' 16 | implementation 'org.openjdk.nashorn:nashorn-core:15.6' 17 | 18 | testImplementation 'junit:junit:4.13.2' 19 | } 20 | 21 | -------------------------------------------------------------------------------- /changelog.json: -------------------------------------------------------------------------------- 1 | { 2 | "templatePath": "changelog.json", 3 | "fromRepo": ".", 4 | "fromCommit": "0000000000000000000000000000000000000000", 5 | "toRef": "refs/heads/master", 6 | "ignoreCommitsIfMessageMatches": "^\\[maven-release-plugin\\].*|^\\[Gradle Release Plugin\\].*|^Merge.*", 7 | "readableTagName": "/([^/]+?)$", 8 | "dateFormat": "YYYY-MM-dd HH:mm:ss", 9 | "untaggedName": "Next release", 10 | "noIssueName": "Other changes", 11 | "timeZone": "UTC", 12 | "removeIssueFromMessage": "true", 13 | "jiraServer": "https://jiraserver/jira", 14 | "jiraIssuePattern": "\\b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\\b", 15 | "gitHubApi": "https://api.github.com/repos/tomasbjerre/git-changelog-command-line", 16 | "gitHubIssuePattern": "#([0-9]+)", 17 | "customIssues": [ 18 | { 19 | "name": "Incident", 20 | "pattern": "INC[0-9]*", 21 | "link": "http://inc/${PATTERN_GROUP}" 22 | }, 23 | { 24 | "name": "CQ", 25 | "pattern": "CQ([0-9]+)", 26 | "link": "http://cq/${PATTERN_GROUP_1}" 27 | }, 28 | { 29 | "name": "Bugs", 30 | "pattern": "#bug" 31 | } 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /changelog.mustache: -------------------------------------------------------------------------------- 1 | # Git Changelog Command Line changelog 2 | 3 | Changelog of Git Changelog Command Line. 4 | 5 | {{#tags}} 6 | ## {{name}} 7 | {{#issues}} 8 | {{#hasIssue}} 9 | {{#hasLink}} 10 | ### {{name}} [{{issue}}]({{link}}) {{title}} {{#hasIssueType}} *{{issueType}}* {{/hasIssueType}} {{#hasLabels}} {{#labels}} *{{.}}* {{/labels}} {{/hasLabels}} 11 | {{/hasLink}} 12 | {{^hasLink}} 13 | ### {{name}} {{issue}} {{title}} {{#hasIssueType}} *{{issueType}}* {{/hasIssueType}} {{#hasLabels}} {{#labels}} *{{.}}* {{/labels}} {{/hasLabels}} 14 | {{/hasLink}} 15 | {{/hasIssue}} 16 | {{^hasIssue}} 17 | ### {{name}} 18 | {{/hasIssue}} 19 | 20 | {{#commits}} 21 | **{{{messageTitle}}}** 22 | 23 | {{#messageBodyItems}} 24 | * {{.}} 25 | {{/messageBodyItems}} 26 | 27 | [{{hash}}](https://github.com/tomasbjerre/git-changelog-command-line/commit/{{hash}}) {{authorName}} *{{commitTime}}* 28 | 29 | {{/commits}} 30 | 31 | {{/issues}} 32 | {{/tags}} 33 | -------------------------------------------------------------------------------- /changelog_html.mustache: -------------------------------------------------------------------------------- 1 |

Git Changelog changelog

2 | 3 |

4 | Changelog of Git Changelog. 5 |

6 | 7 | {{#tags}} 8 |

{{name}}

9 | {{#issues}} 10 | {{#hasIssue}} 11 | {{#hasLink}} 12 |

{{name}} {{issue}} {{title}}

13 | {{/hasLink}} 14 | {{^hasLink}} 15 |

{{name}} {{issue}} {{title}}

16 | {{/hasLink}} 17 | {{/hasIssue}} 18 | {{^hasIssue}} 19 |

{{name}}

20 | {{/hasIssue}} 21 | 22 | 23 | {{#commits}} 24 | {{hash}} {{authorName}} {{commitTime}} 25 |

26 | {{{message}}} 27 |

28 | 29 | 30 | {{/commits}} 31 | 32 | {{/issues}} 33 | {{/tags}} 34 | -------------------------------------------------------------------------------- /changelog_mediawiki.mustache: -------------------------------------------------------------------------------- 1 | __NOTOC__ 2 | 3 | = Git Changelog changelog = 4 | Changelog of Git Changelog. 5 | 6 | {{#tags}} 7 | == {{name}} == 8 | {{#issues}} 9 | {{#hasIssue}} 10 | {{#hasLink}} 11 | === {{name}} [{{link}} {{issue}}] {{title}} === 12 | {{/hasLink}} 13 | {{^hasLink}} 14 | === {{name}} {{issue}} {{title}} === 15 | {{/hasLink}} 16 | {{/hasIssue}} 17 | {{^hasIssue}} 18 | === {{name}} === 19 | {{/hasIssue}} 20 | 21 | {{#commits}} 22 | [https://github.com/tomasbjerre/git-changelog-lib/commit/{{hash}} {{hash}}] {{authorName}} {{commitTime}} 23 | 24 | {{{message}}} 25 | 26 | 27 | {{/commits}} 28 | 29 | {{/issues}} 30 | {{/tags}} 31 | -------------------------------------------------------------------------------- /generate_changelog.sh: -------------------------------------------------------------------------------- 1 | #/bin/bash 2 | ROOT_FOLDER=`pwd` 3 | cd build/libs 4 | 5 | VERSION=1.100.2 6 | 7 | java -jar git-changelog-command-line-$VERSION.jar -h 8 | 9 | # 10 | #Actual changelog to be used in root of repo 11 | # 12 | 13 | java -jar git-changelog-command-line-$VERSION.jar -gapi https://api.github.com/repos/tomasbjerre/git-changelog-command-line/ -gtok $GITHUB_OAUTH2TOKEN -t $ROOT_FOLDER/changelog.mustache -sf $ROOT_FOLDER/changelog.json -of $ROOT_FOLDER/CHANGELOG.md 14 | 15 | #java -jar git-changelog-command-line-$VERSION.jar -t $ROOT_FOLDER/changelog_mediawiki.mustache -sf $ROOT_FOLDER/changelog.json -murl http://localhost/mediawiki -mu tomas -mp tomaskod -mt "Tomas Title" -gapi https://api.github.com/repos/tomasbjerre/git-changelog-lib 16 | 17 | # 18 | #test cases 19 | # 20 | 21 | ## Print to stdout 22 | java -jar git-changelog-command-line-$VERSION.jar -t $ROOT_FOLDER/changelog.mustache -sf $ROOT_FOLDER/changelog.json --stdout -tc 224cad580426bc03027b77c1036306253cbba973 23 | 24 | ## Write to file 25 | java -jar git-changelog-command-line-$VERSION.jar -t $ROOT_FOLDER/changelog.mustache -sf $ROOT_FOLDER/changelog.json -of $ROOT_FOLDER/src/test/resources/testThatJsonCanBeUsedActual.md -tc 224cad580426bc03027b77c1036306253cbba973 26 | 27 | ## Write to file 28 | java -jar git-changelog-command-line-$VERSION.jar -t $ROOT_FOLDER/changelog.mustache -sf $ROOT_FOLDER/changelog.json -of $ROOT_FOLDER/src/test/resources/testThatCommitsCanBeIgnoredIfNoIssue.md -ini 29 | 30 | ## Ignore tags example, ignoring all 1.1x 31 | java -jar git-changelog-command-line-$VERSION.jar -t $ROOT_FOLDER/changelog.mustache -sf $ROOT_FOLDER/changelog.json -of $ROOT_FOLDER/src/test/resources/testThatTagsCanBeIgnored.md -itp ".*[0-9]{2}$" 32 | 33 | ## Create MediaWiki page 34 | java -jar git-changelog-command-line-$VERSION.jar -t $ROOT_FOLDER/changelog_mediawiki.mustache -sf $ROOT_FOLDER/changelog.json -murl http://localhost/mediawiki -mu tomas -mp tomaskod -mt "Tomas Title" -tc 224cad580426bc03027b77c1036306253cbba973 35 | 36 | ## Use variables from command line 37 | java -jar git-changelog-command-line-$VERSION.jar -ex "{\"var1\":\"value1\"}" -tec "extended variable: {{extended.var1}}" -of $ROOT_FOLDER/src/test/resources/testThatVariablesCanBeUsed.md 38 | 39 | ## Use GitLab issues 40 | java -jar git-changelog-command-line-$VERSION.jar -fc 67b9976 -tc e281256 -gls https://gitlab.com/ -glt $GITLAB_TOKEN -glpn violations-test -t $ROOT_FOLDER/changelog.mustache -of $ROOT_FOLDER/src/test/resources/gitLabChangelog.md 41 | 42 | ## Ignore tags older 43 | java -jar git-changelog-command-line-$VERSION.jar -t $ROOT_FOLDER/changelog.mustache -of $ROOT_FOLDER/src/test/resources/testThatCommitsCanBeIgnoredByTime.md -iot "2017-04-01 00:00:00" 44 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Mon Apr 07 16:27:41 CEST 2025 3 | description="Command line tool that generates changelog from a GIT repository." 4 | group=se.bjurr.gitchangelog 5 | mainClass=se.bjurr.gitchangelog.main.Main 6 | relocate=org\:org,com\:com 7 | repoType=COMMAND 8 | version=2.5.6 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasbjerre/git-changelog-command-line/f19d25c039f8a3844549d973006c5a28198abbb7/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Copyright © 2015-2021 the original authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | # SPDX-License-Identifier: Apache-2.0 19 | # 20 | 21 | ############################################################################## 22 | # 23 | # Gradle start up script for POSIX generated by Gradle. 24 | # 25 | # Important for running: 26 | # 27 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is 28 | # noncompliant, but you have some other compliant shell such as ksh or 29 | # bash, then to run this script, type that shell name before the whole 30 | # command line, like: 31 | # 32 | # ksh Gradle 33 | # 34 | # Busybox and similar reduced shells will NOT work, because this script 35 | # requires all of these POSIX shell features: 36 | # * functions; 37 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}», 38 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»; 39 | # * compound commands having a testable exit status, especially «case»; 40 | # * various built-in commands including «command», «set», and «ulimit». 41 | # 42 | # Important for patching: 43 | # 44 | # (2) This script targets any POSIX shell, so it avoids extensions provided 45 | # by Bash, Ksh, etc; in particular arrays are avoided. 46 | # 47 | # The "traditional" practice of packing multiple parameters into a 48 | # space-separated string is a well documented source of bugs and security 49 | # problems, so this is (mostly) avoided, by progressively accumulating 50 | # options in "$@", and eventually passing that to Java. 51 | # 52 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, 53 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; 54 | # see the in-line comments for details. 55 | # 56 | # There are tweaks for specific operating systems such as AIX, CygWin, 57 | # Darwin, MinGW, and NonStop. 58 | # 59 | # (3) This script is generated from the Groovy template 60 | # https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt 61 | # within the Gradle project. 62 | # 63 | # You can find Gradle at https://github.com/gradle/gradle/. 64 | # 65 | ############################################################################## 66 | 67 | # Attempt to set APP_HOME 68 | 69 | # Resolve links: $0 may be a link 70 | app_path=$0 71 | 72 | # Need this for daisy-chained symlinks. 73 | while 74 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path 75 | [ -h "$app_path" ] 76 | do 77 | ls=$( ls -ld "$app_path" ) 78 | link=${ls#*' -> '} 79 | case $link in #( 80 | /*) app_path=$link ;; #( 81 | *) app_path=$APP_HOME$link ;; 82 | esac 83 | done 84 | 85 | # This is normally unused 86 | # shellcheck disable=SC2034 87 | APP_BASE_NAME=${0##*/} 88 | # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) 89 | APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s 90 | ' "$PWD" ) || exit 91 | 92 | # Use the maximum available, or set MAX_FD != -1 to use that value. 93 | MAX_FD=maximum 94 | 95 | warn () { 96 | echo "$*" 97 | } >&2 98 | 99 | die () { 100 | echo 101 | echo "$*" 102 | echo 103 | exit 1 104 | } >&2 105 | 106 | # OS specific support (must be 'true' or 'false'). 107 | cygwin=false 108 | msys=false 109 | darwin=false 110 | nonstop=false 111 | case "$( uname )" in #( 112 | CYGWIN* ) cygwin=true ;; #( 113 | Darwin* ) darwin=true ;; #( 114 | MSYS* | MINGW* ) msys=true ;; #( 115 | NONSTOP* ) nonstop=true ;; 116 | esac 117 | 118 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 119 | 120 | 121 | # Determine the Java command to use to start the JVM. 122 | if [ -n "$JAVA_HOME" ] ; then 123 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 124 | # IBM's JDK on AIX uses strange locations for the executables 125 | JAVACMD=$JAVA_HOME/jre/sh/java 126 | else 127 | JAVACMD=$JAVA_HOME/bin/java 128 | fi 129 | if [ ! -x "$JAVACMD" ] ; then 130 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 131 | 132 | Please set the JAVA_HOME variable in your environment to match the 133 | location of your Java installation." 134 | fi 135 | else 136 | JAVACMD=java 137 | if ! command -v java >/dev/null 2>&1 138 | then 139 | die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 140 | 141 | Please set the JAVA_HOME variable in your environment to match the 142 | location of your Java installation." 143 | fi 144 | fi 145 | 146 | # Increase the maximum file descriptors if we can. 147 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then 148 | case $MAX_FD in #( 149 | max*) 150 | # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. 151 | # shellcheck disable=SC2039,SC3045 152 | MAX_FD=$( ulimit -H -n ) || 153 | warn "Could not query maximum file descriptor limit" 154 | esac 155 | case $MAX_FD in #( 156 | '' | soft) :;; #( 157 | *) 158 | # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. 159 | # shellcheck disable=SC2039,SC3045 160 | ulimit -n "$MAX_FD" || 161 | warn "Could not set maximum file descriptor limit to $MAX_FD" 162 | esac 163 | fi 164 | 165 | # Collect all arguments for the java command, stacking in reverse order: 166 | # * args from the command line 167 | # * the main class name 168 | # * -classpath 169 | # * -D...appname settings 170 | # * --module-path (only if needed) 171 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. 172 | 173 | # For Cygwin or MSYS, switch paths to Windows format before running java 174 | if "$cygwin" || "$msys" ; then 175 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) 176 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) 177 | 178 | JAVACMD=$( cygpath --unix "$JAVACMD" ) 179 | 180 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 181 | for arg do 182 | if 183 | case $arg in #( 184 | -*) false ;; # don't mess with options #( 185 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath 186 | [ -e "$t" ] ;; #( 187 | *) false ;; 188 | esac 189 | then 190 | arg=$( cygpath --path --ignore --mixed "$arg" ) 191 | fi 192 | # Roll the args list around exactly as many times as the number of 193 | # args, so each arg winds up back in the position where it started, but 194 | # possibly modified. 195 | # 196 | # NB: a `for` loop captures its iteration list before it begins, so 197 | # changing the positional parameters here affects neither the number of 198 | # iterations, nor the values presented in `arg`. 199 | shift # remove old arg 200 | set -- "$@" "$arg" # push replacement arg 201 | done 202 | fi 203 | 204 | 205 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 206 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 207 | 208 | # Collect all arguments for the java command: 209 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, 210 | # and any embedded shellness will be escaped. 211 | # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be 212 | # treated as '${Hostname}' itself on the command line. 213 | 214 | set -- \ 215 | "-Dorg.gradle.appname=$APP_BASE_NAME" \ 216 | -classpath "$CLASSPATH" \ 217 | org.gradle.wrapper.GradleWrapperMain \ 218 | "$@" 219 | 220 | # Stop when "xargs" is not available. 221 | if ! command -v xargs >/dev/null 2>&1 222 | then 223 | die "xargs is not available" 224 | fi 225 | 226 | # Use "xargs" to parse quoted args. 227 | # 228 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. 229 | # 230 | # In Bash we could simply go: 231 | # 232 | # readarray ARGS < <( xargs -n1 <<<"$var" ) && 233 | # set -- "${ARGS[@]}" "$@" 234 | # 235 | # but POSIX shell has neither arrays nor command substitution, so instead we 236 | # post-process each arg (as a line of input to sed) to backslash-escape any 237 | # character that might be a shell metacharacter, then use eval to reverse 238 | # that process (while maintaining the separation between arguments), and wrap 239 | # the whole thing up as a single "set" statement. 240 | # 241 | # This will of course break if any of these variables contains a newline or 242 | # an unmatched quote. 243 | # 244 | 245 | eval "set -- $( 246 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | 247 | xargs -n1 | 248 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | 249 | tr '\n' ' ' 250 | )" '"$@"' 251 | 252 | exec "$JAVACMD" "$@" 253 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | @rem SPDX-License-Identifier: Apache-2.0 17 | @rem 18 | 19 | @if "%DEBUG%"=="" @echo off 20 | @rem ########################################################################## 21 | @rem 22 | @rem Gradle startup script for Windows 23 | @rem 24 | @rem ########################################################################## 25 | 26 | @rem Set local scope for the variables with windows NT shell 27 | if "%OS%"=="Windows_NT" setlocal 28 | 29 | set DIRNAME=%~dp0 30 | if "%DIRNAME%"=="" set DIRNAME=. 31 | @rem This is normally unused 32 | set APP_BASE_NAME=%~n0 33 | set APP_HOME=%DIRNAME% 34 | 35 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 36 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 37 | 38 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 39 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 40 | 41 | @rem Find java.exe 42 | if defined JAVA_HOME goto findJavaFromJavaHome 43 | 44 | set JAVA_EXE=java.exe 45 | %JAVA_EXE% -version >NUL 2>&1 46 | if %ERRORLEVEL% equ 0 goto execute 47 | 48 | echo. 1>&2 49 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 50 | echo. 1>&2 51 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2 52 | echo location of your Java installation. 1>&2 53 | 54 | goto fail 55 | 56 | :findJavaFromJavaHome 57 | set JAVA_HOME=%JAVA_HOME:"=% 58 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 59 | 60 | if exist "%JAVA_EXE%" goto execute 61 | 62 | echo. 1>&2 63 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 64 | echo. 1>&2 65 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2 66 | echo location of your Java installation. 1>&2 67 | 68 | goto fail 69 | 70 | :execute 71 | @rem Setup the command line 72 | 73 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 74 | 75 | 76 | @rem Execute Gradle 77 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 78 | 79 | :end 80 | @rem End local scope for the variables with windows NT shell 81 | if %ERRORLEVEL% equ 0 goto mainEnd 82 | 83 | :fail 84 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 85 | rem the _cmd.exe /c_ return code! 86 | set EXIT_CODE=%ERRORLEVEL% 87 | if %EXIT_CODE% equ 0 set EXIT_CODE=1 88 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% 89 | exit /b %EXIT_CODE% 90 | 91 | :mainEnd 92 | if "%OS%"=="Windows_NT" endlocal 93 | 94 | :omega 95 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | mavenCentral() 5 | mavenLocal() 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/java/se/bjurr/gitchangelog/main/Main.java: -------------------------------------------------------------------------------- 1 | package se.bjurr.gitchangelog.main; 2 | 3 | import static se.bjurr.gitchangelog.api.GitChangelogApi.gitChangelogApiBuilder; 4 | import static se.bjurr.gitchangelog.api.GitChangelogApiConstants.DEFAULT_DATEFORMAT; 5 | import static se.bjurr.gitchangelog.internal.settings.Settings.defaultSettings; 6 | import static se.softhouse.jargo.Arguments.enumArgument; 7 | import static se.softhouse.jargo.Arguments.fileArgument; 8 | import static se.softhouse.jargo.Arguments.helpArgument; 9 | import static se.softhouse.jargo.Arguments.optionArgument; 10 | import static se.softhouse.jargo.Arguments.stringArgument; 11 | import static se.softhouse.jargo.CommandLineParser.withArguments; 12 | 13 | import com.google.gson.Gson; 14 | import com.google.gson.GsonBuilder; 15 | import com.google.gson.reflect.TypeToken; 16 | import java.io.File; 17 | import java.lang.reflect.Type; 18 | import java.nio.charset.Charset; 19 | import java.nio.charset.StandardCharsets; 20 | import java.nio.file.Files; 21 | import java.text.SimpleDateFormat; 22 | import java.util.Date; 23 | import java.util.HashMap; 24 | import java.util.List; 25 | import java.util.Map; 26 | import se.bjurr.gitchangelog.api.GitChangelogApi; 27 | import se.bjurr.gitchangelog.api.GitChangelogApiConstants; 28 | import se.bjurr.gitchangelog.api.InclusivenessStrategy; 29 | import se.bjurr.gitchangelog.internal.semantic.SemanticVersion; 30 | import se.bjurr.gitchangelog.internal.settings.Settings; 31 | import se.softhouse.jargo.Argument; 32 | import se.softhouse.jargo.ArgumentException; 33 | import se.softhouse.jargo.ParsedArguments; 34 | 35 | public class Main { 36 | private static final String PARAM_REGISTER_HANDLEBARS_HELPER = "-rhh"; 37 | private static final String PARAM_PRINT_HIGHEST_VERSION = "-phv"; 38 | private static final String PARAM_PRINT_HIGHEST_VERSION_TAG = "-phvt"; 39 | private static final String PARAM_PRINT_NEXT_VERSION = "-pnv"; 40 | private static final String PARAM_PRINT_CURRENT_VERSION = "-pcv"; 41 | private static final String PARAM_PATCH_VERSION_PATTERN = "-pavp"; 42 | private static final String PARAM_MINOR_VERSION_PATTERN = "-mivp"; 43 | private static final String PARAM_MAJOR_VERSION_PATTERN = "-mavp"; 44 | private static final String PARAM_PREPEND_TO_FILE = "-ptf"; 45 | public static final String PARAM_SETTINGS_FILE = "-sf"; 46 | public static final String PARAM_OUTPUT_FILE = "-of"; 47 | public static final String PARAM_OUTPUT_STDOUT = "-std"; 48 | public static final String PARAM_TEMPLATE = "-t"; 49 | public static final String PARAM_PREPEND_TEMPLATE = "-pt"; 50 | public static final String PARAM_TEMPLATE_BASE_DIR = "-tbd"; 51 | public static final String PARAM_TEMPLATE_PARTIAL_SUFFIX = "-tps"; 52 | public static final String PARAM_REPO = "-r"; 53 | public static final String PARAM_FROM_REF = "-fr"; 54 | public static final String PARAM_TO_REF = "-tr"; 55 | public static final String PARAM_FROM_REV = "-fre"; 56 | public static final String PARAM_FROM_REV_INCLUDE = "-frei"; 57 | public static final String PARAM_TO_REV = "-tre"; 58 | public static final String PARAM_TO_REV_INCLUDE = "-trei"; 59 | public static final String PARAM_FROM_COMMIT = "-fc"; 60 | public static final String PARAM_TO_COMMIT = "-tc"; 61 | public static final String PARAM_IGNORE_PATTERN = "-ip"; 62 | public static final String PARAM_IGNORE_OLDER_PATTERN = "-iot"; 63 | public static final String PARAM_IGNORE_TAG_PATTERN = "-itp"; 64 | public static final String PARAM_JIRA_SERVER = "-js"; 65 | public static final String PARAM_JIRA_ISSUE_PATTERN = "-jp"; 66 | public static final String PARAM_JIRA_USERNAME = "-ju"; 67 | public static final String PARAM_JIRA_PASSWORD = "-jpw"; 68 | public static final String PARAM_JIRA_BASIC_AUTH = "-jba"; 69 | public static final String PARAM_JIRA_BEARER = "-jbt"; 70 | public static final String PARAM_JIRA_ADDITIONAL_FIELD = "-jaf"; 71 | public static final String PARAM_REDMINE_SERVER = "-rms"; 72 | public static final String PARAM_REDMINE_ISSUE_PATTERN = "-rmp"; 73 | public static final String PARAM_REDMINE_USERNAME = "-rmu"; 74 | public static final String PARAM_REDMINE_PASSWORD = "-rmpw"; 75 | public static final String PARAM_REDMINE_TOKEN = "-rmt"; 76 | public static final String PARAM_CUSTOM_ISSUE_NAME = "-cn"; 77 | public static final String PARAM_CUSTOM_ISSUE_PATTERN = "-cp"; 78 | public static final String PARAM_CUSTOM_ISSUE_LINK = "-cl"; 79 | public static final String PARAM_CUSTOM_ISSUE_TITLE = "-ct"; 80 | public static final String PARAM_UNTAGGED_TAG_NAME = "-ut"; 81 | public static final String PARAM_TIMEZONE = "-tz"; 82 | public static final String PARAM_DATEFORMAT = "-df"; 83 | public static final String PARAM_NOISSUE = "-ni"; 84 | public static final String PARAM_IGNORE_NOISSUE = "-ini"; 85 | public static final String PARAM_READABLETAGNAME = "-rt"; 86 | public static final String PARAM_REMOVEISSUE = "-ri"; 87 | public static final String PARAM_GITHUBAPI = "-gapi"; 88 | public static final String PARAM_GITHUBTOKEN = "-gtok"; 89 | public static final String PARAM_EXTENDED_VARIABLES = "-ex"; 90 | public static final String PARAM_EXTENDED_HEADERS = "-eh"; 91 | public static final String PARAM_TEMPLATE_CONTENT = "-tec"; 92 | public static final String PARAM_GITLABTOKEN = "-glt"; 93 | public static final String PARAM_GITLABSERVER = "-gls"; 94 | public static final String PARAM_GITLABPROJECTNAME = "-glpn"; 95 | public static final String PARAM_GITLABISSUEPATTERN = "-glp"; 96 | 97 | private static String systemOutPrintln; 98 | private static boolean recordSystemOutPrintln; 99 | 100 | public static void main(final String args[]) throws Exception { 101 | final Settings defaultSettings = defaultSettings(); 102 | final Argument helpArgument = helpArgument("-h", "--help"); 103 | 104 | final Argument settingsArgument = 105 | stringArgument(PARAM_SETTINGS_FILE, "--settings-file") // 106 | .description("Use settings from file.") // 107 | .defaultValue(null) // 108 | .build(); 109 | final Argument outputStdoutArgument = 110 | optionArgument(PARAM_OUTPUT_STDOUT, "--stdout") // 111 | .description("Print builder to .") // 112 | .build(); 113 | final Argument outputFileArgument = 114 | stringArgument(PARAM_OUTPUT_FILE, "--output-file") // 115 | .description("Write output to file.") // 116 | .build(); 117 | 118 | final Argument templatePathArgument = 119 | stringArgument(PARAM_TEMPLATE, "--template") // 120 | .description("Template to use. A default template will be used if not specified.") // 121 | .defaultValue(defaultSettings.getTemplatePath()) // 122 | .build(); 123 | 124 | final Argument prependTemplatePathArgument = 125 | stringArgument(PARAM_PREPEND_TEMPLATE, "--prepend-template") // 126 | .description( 127 | "Template to use when prepending. A default template will be used if not specified.") // 128 | .defaultValue(defaultSettings.getPrependTemplatePath()) // 129 | .build(); 130 | 131 | final Argument templateBaseDirArgument = 132 | stringArgument(PARAM_TEMPLATE_BASE_DIR, "--template-base-dir") // 133 | .description("Base dir of templates.") // 134 | .defaultValue(defaultSettings.getTemplateBaseDir()) // 135 | .build(); 136 | 137 | final Argument templatePartialSuffixArgument = 138 | stringArgument(PARAM_TEMPLATE_PARTIAL_SUFFIX, "--template-partial-suffix") // 139 | .description("File ending for partials.") // 140 | .defaultValue(defaultSettings.getTemplateSuffix()) // 141 | .build(); 142 | 143 | final Argument untaggedTagNameArgument = 144 | stringArgument(PARAM_UNTAGGED_TAG_NAME, "--untagged-name") // 145 | .description( 146 | "When listing commits per tag, this will by the name of a virtual tag that contains commits not available in any git tag.") // 147 | .defaultValue(defaultSettings.getUntaggedName()) // 148 | .build(); 149 | 150 | final Argument fromRepoArgument = 151 | stringArgument(PARAM_REPO, "--repo") // 152 | .description("Repository.") // 153 | .defaultValue(defaultSettings.getFromRepo()) // 154 | .build(); 155 | final Argument fromRevArgument = 156 | stringArgument(PARAM_FROM_REV, "--from-revision") // 157 | .description("From revision.") // 158 | .defaultValue(defaultSettings.getFromRevision().orElse(null)) // 159 | .build(); 160 | final Argument fromRevInclusivenessStrategyArgument = 161 | enumArgument( 162 | InclusivenessStrategy.class, 163 | PARAM_FROM_REV_INCLUDE, 164 | "--from-revision-inclusiveness") // 165 | .description("Include, or exclude, specified revision.") // 166 | .defaultValue(defaultSettings.getFromRevisionStrategy()) // 167 | .build(); 168 | final Argument toRevArgument = 169 | stringArgument(PARAM_TO_REV, "--to-revision") // 170 | .description("To revision.") // 171 | .defaultValue(defaultSettings.getToRevision().orElse(null)) // 172 | .build(); 173 | final Argument toRevInclusivenessStrategyArgument = 174 | enumArgument( 175 | InclusivenessStrategy.class, 176 | PARAM_TO_REV_INCLUDE, 177 | "--to-revision-inclusiveness") // 178 | .description("Include, or exclude, specified revision.") // 179 | .defaultValue(defaultSettings.getFromRevisionStrategy()) // 180 | .build(); 181 | final Argument fromRefArgument = 182 | stringArgument(PARAM_FROM_REF, "--from-ref") // 183 | .description("From ref.") // 184 | .defaultValue(defaultSettings.getFromRevision().orElse(null)) // 185 | .hideFromUsage() // 186 | .build(); 187 | final Argument toRefArgument = 188 | stringArgument(PARAM_TO_REF, "--to-ref") // 189 | .description("To ref.") // 190 | .defaultValue(defaultSettings.getToRevision().orElse(null)) // 191 | .hideFromUsage() // 192 | .build(); 193 | final Argument fromCommitArgument = 194 | stringArgument(PARAM_FROM_COMMIT, "--from-commit") // 195 | .description("From commit.") // 196 | .defaultValue(defaultSettings.getFromRevision().orElse(null)) // 197 | .hideFromUsage() // 198 | .build(); 199 | final Argument toCommitArgument = 200 | stringArgument(PARAM_TO_COMMIT, "--to-commit") // 201 | .description("To commit.") // 202 | .defaultValue(defaultSettings.getToRevision().orElse(null)) // 203 | .hideFromUsage() // 204 | .build(); 205 | 206 | final Argument ignoreCommitsIfMessageMatchesArgument = 207 | stringArgument(PARAM_IGNORE_PATTERN, "--ignore-pattern") // 208 | .description("Ignore commits where pattern matches message.") // 209 | .defaultValue(defaultSettings.getIgnoreCommitsIfMessageMatches()) // 210 | .build(); 211 | 212 | final Argument ignoreCommitsOlderThanArgument = 213 | stringArgument(PARAM_IGNORE_OLDER_PATTERN, "--ignore-older-than") // 214 | .description("Ignore commits older than " + DEFAULT_DATEFORMAT + ".") // 215 | .build(); 216 | 217 | final Argument ignoreTagsIfNameMatchesArgument = 218 | stringArgument(PARAM_IGNORE_TAG_PATTERN, "--ignore-tag-pattern") // 219 | .description( 220 | "Ignore tags that matches regular expression. Can be used to ignore release candidates and only include actual releases.") // 221 | .defaultValue(defaultSettings.getIgnoreTagsIfNameMatches().orElse(null)) // 222 | .build(); 223 | 224 | final Argument jiraServerArgument = 225 | stringArgument(PARAM_JIRA_SERVER, "--jiraServer", "--jira-server") // 226 | .description( 227 | "Jira server. When a Jira server is given, the title of the Jira issues can be used in the changelog.") // 228 | .defaultValue(defaultSettings.getJiraServer().orElse(null)) // 229 | .build(); 230 | final Argument jiraIssuePatternArgument = 231 | stringArgument(PARAM_JIRA_ISSUE_PATTERN, "--jira-pattern") // 232 | .description("Jira issue pattern.") // 233 | .defaultValue(defaultSettings.getJiraIssuePattern()) // 234 | .build(); 235 | final Argument jiraUsernamePatternArgument = 236 | stringArgument(PARAM_JIRA_USERNAME, "--jira-username") // 237 | .description("Optional username to authenticate with Jira.") // 238 | .defaultValue(defaultSettings.getJiraIssuePattern()) // 239 | .build(); 240 | final Argument jiraPasswordPatternArgument = 241 | stringArgument(PARAM_JIRA_PASSWORD, "--jira-password") // 242 | .description("Optional password to authenticate with Jira.") // 243 | .defaultValue(defaultSettings.getJiraIssuePattern()) // 244 | .build(); 245 | final Argument jiraBasicAuthStringPatternArgument = 246 | stringArgument(PARAM_JIRA_BASIC_AUTH, "--jira-basic-auth") // 247 | .description("Optional token to authenticate with Jira.") // 248 | .defaultValue(defaultSettings.getJiraIssuePattern()) // 249 | .build(); 250 | final Argument jiraBearerArgument = 251 | stringArgument(PARAM_JIRA_BEARER, "--jira-bearer") // 252 | .description("Optional token to authenticate with Jira.") // 253 | .defaultValue(defaultSettings.getJiraIssuePattern()) // 254 | .build(); 255 | final Argument> jiraAdditionalFieldArgument = 256 | stringArgument(PARAM_JIRA_ADDITIONAL_FIELD, "--jira-additional-field") // 257 | .repeated() 258 | .description( 259 | "Adds an additional field for Jira. When configured, we will return from Jira the result of this field, if it exists.") // 260 | .build(); 261 | 262 | final Argument redmineServerArgument = 263 | stringArgument(PARAM_REDMINE_SERVER, "--redmine-server") // 264 | .description( 265 | "Redmine server. When a Redmine server is given, the title of the Redmine issues can be used in the changelog.") // 266 | .defaultValue(defaultSettings.getRedmineServer().orElse(null)) // 267 | .build(); 268 | final Argument redmineIssuePatternArgument = 269 | stringArgument(PARAM_REDMINE_ISSUE_PATTERN, "--redmine-pattern") // 270 | .description("Redmine issue pattern.") // 271 | .defaultValue(defaultSettings.getRedmineIssuePattern()) // 272 | .build(); 273 | final Argument redmineUsernameArgument = 274 | stringArgument(PARAM_REDMINE_USERNAME, "--redmine-username") // 275 | .description("Optional username to authenticate with Redmine.") // 276 | .build(); 277 | final Argument redminePasswordArgument = 278 | stringArgument(PARAM_REDMINE_PASSWORD, "--redmine-password") // 279 | .description("Optional password to authenticate with Redmine.") // 280 | .build(); 281 | final Argument redmineTokenArgument = 282 | stringArgument(PARAM_REDMINE_TOKEN, "--redmine-token") // 283 | .description("Optional token/api-key to authenticate with Redmine.") // 284 | .build(); 285 | 286 | final Argument customIssueNameArgument = 287 | stringArgument(PARAM_CUSTOM_ISSUE_NAME, "--custom-issue-name") // 288 | .description("Custom issue name.") // 289 | .defaultValue(null) // 290 | .build(); 291 | final Argument customIssuePatternArgument = 292 | stringArgument(PARAM_CUSTOM_ISSUE_PATTERN, "--custom-issue-pattern") // 293 | .description("Custom issue pattern.") // 294 | .defaultValue(null) // 295 | .build(); 296 | final Argument customIssueLinkArgument = 297 | stringArgument(PARAM_CUSTOM_ISSUE_LINK, "--custom-issue-link") // 298 | .description( 299 | "Custom issue link. Supports variables like ${PATTERN_GROUP_1} to inject variables from pattern.") // 300 | .defaultValue(null) // 301 | .build(); 302 | final Argument customIssueTitleArgument = 303 | stringArgument(PARAM_CUSTOM_ISSUE_TITLE, "--custom-issue-title") // 304 | .description( 305 | "Custom issue title. Supports variables like ${PATTERN_GROUP_1} to inject variables from pattern.") // 306 | .defaultValue(null) // 307 | .build(); 308 | 309 | final Argument timeZoneArgument = 310 | stringArgument(PARAM_TIMEZONE, "--time-zone") // 311 | .description("TimeZone to use when printing dates.") // 312 | .defaultValue(defaultSettings.getTimeZone()) // 313 | .build(); 314 | final Argument dateFormatArgument = 315 | stringArgument(PARAM_DATEFORMAT, "--date-format") // 316 | .description("Format to use when printing dates.") // 317 | .defaultValue(defaultSettings.getDateFormat()) // 318 | .build(); 319 | final Argument noIssueArgument = 320 | stringArgument(PARAM_NOISSUE, "--no-issue-name") // 321 | .description( 322 | "Name of virtual issue that contains commits that has no issue associated.") // 323 | .defaultValue(defaultSettings.getNoIssueName()) // 324 | .build(); 325 | final Argument ignoreCommitsWithoutIssueArgument = 326 | optionArgument(PARAM_IGNORE_NOISSUE, "--ignore-commits-without-issue") // 327 | .description("Ignore commits that is not included in any issue.") // 328 | .build(); 329 | final Argument readableTagNameArgument = 330 | stringArgument(PARAM_READABLETAGNAME, "--readable-tag-name") // 331 | .description("Pattern to extract readable part of tag.") // 332 | .defaultValue(defaultSettings.getReadableTagName()) // 333 | .build(); 334 | final Argument removeIssueFromMessageArgument = 335 | optionArgument(PARAM_REMOVEISSUE, "--remove-issue-from-message") // 336 | .description("Dont print any issues in the messages of commits.") // 337 | .build(); 338 | 339 | final Argument gitHubApiArgument = 340 | stringArgument(PARAM_GITHUBAPI, "--github-api") // 341 | .description( 342 | "GitHub API. Like: https://api.github.com/repos/tomasbjerre/git-changelog-command-line/") // 343 | .defaultValue("") // 344 | .build(); 345 | final Argument gitHubTokenArgument = 346 | stringArgument(PARAM_GITHUBTOKEN, "--github-token") // 347 | .description( 348 | "GitHub API OAuth2 token. You can get it from: curl -u 'yourgithubuser' -d '{\"note\":\"Git Changelog Lib\"}' https://api.github.com/authorizations") // 349 | .defaultValue("") // 350 | .build(); 351 | 352 | final Argument extendedVariablesArgument = 353 | stringArgument(PARAM_EXTENDED_VARIABLES, "--extended-variables") // 354 | .description( 355 | "Extended variables that will be available as {{extended.*}}. " 356 | + PARAM_EXTENDED_VARIABLES 357 | + " \"{\\\"var1\\\": \\\"val1\\\"}\" will print out \"val1\" for a template like \"{{extended.var1}}\"") // 358 | .defaultValue("") // 359 | .build(); 360 | 361 | final Argument> extendedHeadersArgument = 362 | stringArgument(PARAM_EXTENDED_HEADERS, "--extended-headers") // 363 | .repeated() 364 | .description( 365 | "Extended headers that will send when access JIRA. e.g. " 366 | + PARAM_EXTENDED_HEADERS 367 | + " CF-Access-Client-ID:abcde12345xyz.access") // 368 | .build(); 369 | 370 | final Argument templateContentArgument = 371 | stringArgument(PARAM_TEMPLATE_CONTENT, "--template-content") // 372 | .description("String to use as template.") // 373 | .defaultValue("") // 374 | .build(); 375 | 376 | final Argument gitLabTokenArgument = 377 | stringArgument(PARAM_GITLABTOKEN, "--gitlab-token") // 378 | .description("GitLab API token.") // 379 | .defaultValue("") // 380 | .build(); 381 | final Argument gitLabServerArgument = 382 | stringArgument(PARAM_GITLABSERVER, "--gitlab-server") // 383 | .description("GitLab server, like https://gitlab.com/.") // 384 | .defaultValue("") // 385 | .build(); 386 | final Argument gitLabProjectNameArgument = 387 | stringArgument(PARAM_GITLABPROJECTNAME, "--gitlab-project-name") // 388 | .description("GitLab project name.") // 389 | .defaultValue("") // 390 | .build(); 391 | final Argument gitLabProjectIssuePattern = 392 | stringArgument(PARAM_GITLABISSUEPATTERN, "--gitlab-issue-pattern") // 393 | .description("GitLab issue pattern.") // 394 | .defaultValue("") // 395 | .build(); 396 | 397 | final Argument printHighestVersion = 398 | optionArgument(PARAM_PRINT_HIGHEST_VERSION, "--print-highest-version") // 399 | .description("Print the highest version, determined by tags in repo, and exit.") // 400 | .defaultValue(false) 401 | .build(); 402 | 403 | final Argument printHighestVersionTag = 404 | optionArgument(PARAM_PRINT_HIGHEST_VERSION_TAG, "--print-highest-version-tag") // 405 | .description("Print the tag corresponding to highest version, and exit.") // 406 | .defaultValue(false) 407 | .build(); 408 | 409 | final Argument printNextVersion = 410 | optionArgument(PARAM_PRINT_NEXT_VERSION, "--print-next-version") // 411 | .description( 412 | "Print the next version, determined by commits since highest version, and exit.") // 413 | .defaultValue(false) 414 | .build(); 415 | 416 | final Argument printCurrentVersion = 417 | optionArgument(PARAM_PRINT_CURRENT_VERSION, "--print-current-version") // 418 | .description( 419 | "Like --print-next-version unless the current commit is tagged with a version, if so it will print that version.") // 420 | .defaultValue(false) 421 | .build(); 422 | 423 | final Argument registerHandlebarsHelper = 424 | stringArgument(PARAM_REGISTER_HANDLEBARS_HELPER, "--register-handlebars-helper") // 425 | .description( 426 | "Handlebar helpers, https://handlebarsjs.com/guide/block-helpers.html, to register and use in given template.") // 427 | .defaultValue("") 428 | .build(); 429 | 430 | final Argument handlebarsHelperFile = 431 | fileArgument("-handlebars-helper-file", "-hhf") 432 | .description("Can be used to add extra helpers.") 433 | .build(); 434 | 435 | final Argument prependToFile = 436 | stringArgument(PARAM_PREPEND_TO_FILE, "--prepend-to-file") // 437 | .description("Add the changelog to top of given file.") // 438 | .defaultValue(null) 439 | .build(); 440 | 441 | final Argument majorVersionPattern = 442 | stringArgument(PARAM_MAJOR_VERSION_PATTERN, "--major-version-pattern") // 443 | .description( 444 | "Commit messages matching this, optional, regular expression will trigger new major version.") // 445 | .defaultValue(null) 446 | .build(); 447 | 448 | final Argument minorVersionPattern = 449 | stringArgument(PARAM_MINOR_VERSION_PATTERN, "--minor-version-pattern") // 450 | .description( 451 | "Commit messages matching this, optional, regular expression will trigger new minor version.") // 452 | .defaultValue(GitChangelogApiConstants.DEFAULT_MINOR_PATTERN) 453 | .build(); 454 | 455 | final Argument patchVersionPattern = 456 | stringArgument(PARAM_PATCH_VERSION_PATTERN, "--patch-version-pattern") // 457 | .description( 458 | "Commit messages matching this, optional, regular expression will trigger new patch version.") // 459 | .defaultValue(GitChangelogApiConstants.DEFAULT_PATCH_PATTERN) 460 | .build(); 461 | 462 | final Argument showDebugInfo = 463 | optionArgument("--show-debug-info") 464 | .description( 465 | "Please run your command with this parameter and supply output when reporting bugs.") 466 | .build(); 467 | 468 | final Argument jiraEnabledArgument = 469 | optionArgument("-je", "--jira-enabled") // 470 | .description("Enable parsing for Jira issues.") // 471 | .build(); 472 | 473 | final Argument githubEnabledArgument = 474 | optionArgument("-ge", "--github-enabled") // 475 | .description("Enable parsing for GitHub issues.") // 476 | .build(); 477 | 478 | final Argument gitlabEnabledArgument = 479 | optionArgument("-gl", "--gitlab-enabled") // 480 | .description("Enable parsing for GitLab issues.") // 481 | .build(); 482 | 483 | final Argument redmineEnabledArgument = 484 | optionArgument("-re", "--redmine-enabled") // 485 | .description("Enable parsing for Redmine issues.") // 486 | .build(); 487 | 488 | final Argument useIntegrationsArgument = 489 | optionArgument("-ui", "--use-integrations") // 490 | .description("Use integrations to get more details on commits.") // 491 | .build(); 492 | 493 | final Argument encodingArgument = 494 | stringArgument("-en", "--encoding") // 495 | .description("Encoding to use when writing content.") // 496 | .defaultValue(StandardCharsets.UTF_8.name()) 497 | .build(); 498 | 499 | final Argument> pathsArgument = 500 | stringArgument("-pf", "--path-filters") // 501 | .repeated() 502 | .description("Paths on the filesystem to filter on.") // 503 | .defaultValue(defaultSettings.getPathFilters()) 504 | .build(); 505 | 506 | try { 507 | final ParsedArguments arg = 508 | withArguments( 509 | helpArgument, 510 | settingsArgument, 511 | outputStdoutArgument, 512 | outputFileArgument, 513 | templatePathArgument, 514 | prependTemplatePathArgument, 515 | templateBaseDirArgument, 516 | templatePartialSuffixArgument, 517 | fromCommitArgument, 518 | fromRevArgument, 519 | toRevArgument, 520 | toRevInclusivenessStrategyArgument, 521 | fromRevInclusivenessStrategyArgument, 522 | fromRefArgument, 523 | fromRepoArgument, 524 | toCommitArgument, 525 | toRefArgument, 526 | untaggedTagNameArgument, 527 | jiraIssuePatternArgument, 528 | jiraServerArgument, 529 | redmineIssuePatternArgument, 530 | redmineServerArgument, 531 | ignoreCommitsIfMessageMatchesArgument, 532 | ignoreCommitsOlderThanArgument, 533 | customIssueLinkArgument, 534 | customIssueTitleArgument, 535 | customIssueNameArgument, 536 | customIssuePatternArgument, 537 | timeZoneArgument, 538 | dateFormatArgument, 539 | noIssueArgument, 540 | readableTagNameArgument, 541 | removeIssueFromMessageArgument, 542 | gitHubApiArgument, 543 | jiraUsernamePatternArgument, 544 | jiraPasswordPatternArgument, 545 | jiraBasicAuthStringPatternArgument, 546 | jiraBearerArgument, 547 | jiraAdditionalFieldArgument, 548 | redmineUsernameArgument, 549 | redminePasswordArgument, 550 | redmineTokenArgument, 551 | extendedVariablesArgument, 552 | extendedHeadersArgument, 553 | templateContentArgument, 554 | gitHubTokenArgument, 555 | ignoreCommitsWithoutIssueArgument, 556 | ignoreTagsIfNameMatchesArgument, 557 | gitLabTokenArgument, 558 | gitLabServerArgument, 559 | gitLabProjectNameArgument, 560 | gitLabProjectIssuePattern, 561 | printHighestVersion, 562 | printHighestVersionTag, 563 | printNextVersion, 564 | printCurrentVersion, 565 | registerHandlebarsHelper, 566 | prependToFile, 567 | majorVersionPattern, 568 | minorVersionPattern, 569 | patchVersionPattern, 570 | showDebugInfo, 571 | handlebarsHelperFile, 572 | jiraEnabledArgument, 573 | githubEnabledArgument, 574 | gitlabEnabledArgument, 575 | redmineEnabledArgument, 576 | useIntegrationsArgument, 577 | encodingArgument, 578 | pathsArgument) // 579 | .parse(args); 580 | 581 | final GitChangelogApi changelogApiBuilder = 582 | gitChangelogApiBuilder() 583 | .withUseIntegrations(arg.wasGiven(useIntegrationsArgument)) 584 | .withJiraEnabled(arg.wasGiven(jiraEnabledArgument)) 585 | .withRedmineEnabled(arg.wasGiven(redmineEnabledArgument)) 586 | .withGitHubEnabled(arg.wasGiven(githubEnabledArgument)) 587 | .withGitLabEnabled(arg.wasGiven(gitlabEnabledArgument)) 588 | .withEncoding(Charset.forName(arg.get(encodingArgument))) 589 | .withPathFilters(arg.get(pathsArgument).toArray(new String[0])); 590 | 591 | if (!arg.get(registerHandlebarsHelper).trim().isEmpty()) { 592 | changelogApiBuilder.withHandlebarsHelper(arg.get(registerHandlebarsHelper)); 593 | } 594 | 595 | if (arg.wasGiven(handlebarsHelperFile)) { 596 | final byte[] content = Files.readAllBytes(arg.get(handlebarsHelperFile).toPath()); 597 | final String contentString = new String(content, StandardCharsets.UTF_8); 598 | changelogApiBuilder.withHandlebarsHelper(contentString); 599 | } 600 | 601 | if (arg.wasGiven(settingsArgument)) { 602 | changelogApiBuilder.withSettings(new File(arg.get(settingsArgument)).toURI().toURL()); 603 | } 604 | 605 | if (arg.wasGiven(removeIssueFromMessageArgument)) { 606 | changelogApiBuilder.withRemoveIssueFromMessageArgument(true); 607 | } 608 | if (arg.wasGiven(ignoreCommitsWithoutIssueArgument)) { 609 | changelogApiBuilder.withIgnoreCommitsWithoutIssue(true); 610 | } 611 | 612 | if (arg.wasGiven(extendedVariablesArgument)) { 613 | final String jsonString = arg.get(extendedVariablesArgument); 614 | final Gson gson = new Gson(); 615 | final Type type = new TypeToken>() {}.getType(); 616 | final Object jsonObject = gson.fromJson(jsonString, type); 617 | final Map extendedVariables = new HashMap<>(); 618 | extendedVariables.put("extended", jsonObject); 619 | changelogApiBuilder.withExtendedVariables(extendedVariables); 620 | } 621 | 622 | if (arg.wasGiven(extendedHeadersArgument)) { 623 | final List extendedHeaders = arg.get(extendedHeadersArgument); 624 | final Map headers = new HashMap<>(); 625 | for (final String extendedHeader : extendedHeaders) { 626 | final String[] splitted = extendedHeader.split(":"); 627 | if (splitted.length != 2) { 628 | throw new RuntimeException("Headers should be on format \"headername:headervalue\""); 629 | } 630 | final String key = splitted[0].trim(); 631 | final String value = splitted[1].trim(); 632 | headers.put(key, value); 633 | } 634 | changelogApiBuilder.withExtendedHeaders(headers); 635 | } 636 | 637 | if (arg.wasGiven(templateContentArgument)) { 638 | changelogApiBuilder.withTemplateContent(arg.get(templateContentArgument)); 639 | } 640 | 641 | if (arg.wasGiven(templateBaseDirArgument)) { 642 | changelogApiBuilder.withTemplateBaseDir(arg.get(templateBaseDirArgument)); 643 | } 644 | 645 | if (arg.wasGiven(templatePartialSuffixArgument)) { 646 | changelogApiBuilder.withTemplateSuffix(arg.get(templatePartialSuffixArgument)); 647 | } 648 | 649 | if (arg.wasGiven(fromRepoArgument)) { 650 | changelogApiBuilder.withFromRepo(arg.get(fromRepoArgument)); 651 | } 652 | if (arg.wasGiven(untaggedTagNameArgument)) { 653 | changelogApiBuilder.withUntaggedName(arg.get(untaggedTagNameArgument)); 654 | } 655 | if (arg.wasGiven(ignoreCommitsIfMessageMatchesArgument)) { 656 | changelogApiBuilder.withIgnoreCommitsWithMessage( 657 | arg.get(ignoreCommitsIfMessageMatchesArgument)); 658 | } 659 | if (arg.wasGiven(ignoreCommitsOlderThanArgument)) { 660 | final Date date = 661 | new SimpleDateFormat(DEFAULT_DATEFORMAT) // NOPMD 662 | .parse(arg.get(ignoreCommitsOlderThanArgument)); 663 | changelogApiBuilder.withIgnoreCommitsOlderThan(date); 664 | } 665 | if (arg.wasGiven(ignoreTagsIfNameMatchesArgument)) { 666 | changelogApiBuilder.withIgnoreTagsIfNameMatches(arg.get(ignoreTagsIfNameMatchesArgument)); 667 | } 668 | if (arg.wasGiven(templatePathArgument)) { 669 | changelogApiBuilder.withTemplatePath(arg.get(templatePathArgument)); 670 | } 671 | if (arg.wasGiven(prependTemplatePathArgument)) { 672 | changelogApiBuilder.withPrependTemplatePath(arg.get(prependTemplatePathArgument)); 673 | } 674 | if (arg.wasGiven(jiraIssuePatternArgument)) { 675 | changelogApiBuilder.withJiraIssuePattern(arg.get(jiraIssuePatternArgument)); 676 | } 677 | if (arg.wasGiven(jiraServerArgument)) { 678 | changelogApiBuilder.withJiraServer(arg.get(jiraServerArgument)); 679 | } 680 | if (arg.wasGiven(jiraUsernamePatternArgument)) { 681 | changelogApiBuilder.withJiraUsername(arg.get(jiraUsernamePatternArgument)); 682 | } 683 | if (arg.wasGiven(jiraPasswordPatternArgument)) { 684 | changelogApiBuilder.withJiraPassword(arg.get(jiraPasswordPatternArgument)); 685 | } 686 | if (arg.wasGiven(jiraBasicAuthStringPatternArgument)) { 687 | changelogApiBuilder.withJiraBasicAuthString(arg.get(jiraBasicAuthStringPatternArgument)); 688 | } 689 | if (arg.wasGiven(jiraBearerArgument)) { 690 | changelogApiBuilder.withJiraBearer(arg.get(jiraBearerArgument)); 691 | } 692 | if (arg.wasGiven(jiraAdditionalFieldArgument)) { 693 | arg.get(jiraAdditionalFieldArgument) 694 | .forEach(changelogApiBuilder::withJiraIssueAdditionalField); 695 | } 696 | if (arg.wasGiven(redmineIssuePatternArgument)) { 697 | changelogApiBuilder.withRedmineIssuePattern(arg.get(redmineIssuePatternArgument)); 698 | } 699 | if (arg.wasGiven(redmineServerArgument)) { 700 | changelogApiBuilder.withRedmineServer(arg.get(redmineServerArgument)); 701 | } 702 | if (arg.wasGiven(redmineUsernameArgument)) { 703 | changelogApiBuilder.withRedmineUsername(arg.get(redmineUsernameArgument)); 704 | } 705 | if (arg.wasGiven(redminePasswordArgument)) { 706 | changelogApiBuilder.withRedminePassword(arg.get(redminePasswordArgument)); 707 | } 708 | if (arg.wasGiven(redmineTokenArgument)) { 709 | changelogApiBuilder.withRedmineToken(arg.get(redmineTokenArgument)); 710 | } 711 | if (arg.wasGiven(timeZoneArgument)) { 712 | changelogApiBuilder.withTimeZone(arg.get(timeZoneArgument)); 713 | } 714 | if (arg.wasGiven(dateFormatArgument)) { 715 | changelogApiBuilder.withDateFormat(arg.get(dateFormatArgument)); 716 | } 717 | if (arg.wasGiven(noIssueArgument)) { 718 | changelogApiBuilder.withNoIssueName(arg.get(noIssueArgument)); 719 | } 720 | if (arg.wasGiven(readableTagNameArgument)) { 721 | changelogApiBuilder.withReadableTagName(arg.get(readableTagNameArgument)); 722 | } 723 | 724 | if (arg.wasGiven(fromRevArgument)) { 725 | if (arg.wasGiven(fromRevInclusivenessStrategyArgument)) { 726 | changelogApiBuilder.withFromRevision( 727 | arg.get(fromRevArgument), arg.get(fromRevInclusivenessStrategyArgument)); 728 | } else { 729 | changelogApiBuilder.withFromRevision(arg.get(fromRevArgument)); 730 | } 731 | } 732 | if (arg.wasGiven(toRevArgument)) { 733 | if (arg.wasGiven(toRevInclusivenessStrategyArgument)) { 734 | changelogApiBuilder.withToRevision( 735 | arg.get(toRevArgument), arg.get(toRevInclusivenessStrategyArgument)); 736 | } else { 737 | changelogApiBuilder.withToRevision(arg.get(toRevArgument)); 738 | } 739 | } 740 | if (arg.wasGiven(fromCommitArgument)) { 741 | changelogApiBuilder.withFromCommit(arg.get(fromCommitArgument)); 742 | } 743 | if (arg.wasGiven(fromRefArgument)) { 744 | changelogApiBuilder.withFromRef(arg.get(fromRefArgument)); 745 | } 746 | if (arg.wasGiven(toCommitArgument)) { 747 | changelogApiBuilder.withToCommit(arg.get(toCommitArgument)); 748 | } 749 | if (arg.wasGiven(toRefArgument)) { 750 | changelogApiBuilder.withToRef(arg.get(toRefArgument)); 751 | } 752 | if (arg.wasGiven(gitHubApiArgument)) { 753 | changelogApiBuilder.withGitHubApi(arg.get(gitHubApiArgument)); 754 | } 755 | if (arg.wasGiven(gitHubTokenArgument)) { 756 | changelogApiBuilder.withGitHubToken(arg.get(gitHubTokenArgument)); 757 | } 758 | 759 | if (arg.wasGiven(gitLabServerArgument)) { 760 | changelogApiBuilder.withGitLabServer(arg.get(gitLabServerArgument)); 761 | } 762 | if (arg.wasGiven(gitLabProjectNameArgument)) { 763 | changelogApiBuilder.withGitLabProjectName(arg.get(gitLabProjectNameArgument)); 764 | } 765 | if (arg.wasGiven(gitLabTokenArgument)) { 766 | changelogApiBuilder.withGitLabToken(arg.get(gitLabTokenArgument)); 767 | } 768 | if (arg.wasGiven(gitLabProjectIssuePattern)) { 769 | changelogApiBuilder.withGitLabIssuePattern(arg.get(gitLabProjectIssuePattern)); 770 | } 771 | 772 | if ( // 773 | arg.wasGiven(customIssueNameArgument) 774 | && // 775 | arg.wasGiven(customIssuePatternArgument)) { 776 | String title = null; 777 | if (arg.wasGiven(customIssueTitleArgument)) { 778 | title = arg.get(customIssueTitleArgument); 779 | } 780 | String link = null; 781 | if (arg.wasGiven(customIssueLinkArgument)) { 782 | link = arg.get(customIssueLinkArgument); 783 | } 784 | changelogApiBuilder.withCustomIssue( // 785 | arg.get(customIssueNameArgument), // 786 | arg.get(customIssuePatternArgument), // 787 | link, // 788 | title); 789 | } 790 | 791 | checkArgument( // 792 | arg.wasGiven(outputStdoutArgument) 793 | || arg.wasGiven(outputFileArgument) 794 | || arg.wasGiven(prependToFile) 795 | || arg.wasGiven(printHighestVersion) 796 | || arg.wasGiven(printHighestVersionTag) 797 | || arg.wasGiven(printNextVersion) 798 | || arg.wasGiven(printCurrentVersion), // 799 | "You must supply an output, " 800 | + PARAM_OUTPUT_FILE 801 | + " , " 802 | + PARAM_OUTPUT_STDOUT 803 | + ", " 804 | + PARAM_PREPEND_TO_FILE 805 | + " , " 806 | + PARAM_PRINT_HIGHEST_VERSION 807 | + ", " 808 | + PARAM_PRINT_NEXT_VERSION 809 | + ", " 810 | + PARAM_PRINT_CURRENT_VERSION); 811 | 812 | if (arg.wasGiven(outputStdoutArgument)) { 813 | systemOutPrintln(changelogApiBuilder.render()); 814 | } 815 | 816 | if (arg.wasGiven(outputFileArgument)) { 817 | final String filePath = arg.get(outputFileArgument); 818 | changelogApiBuilder.toFile(new File(filePath)); 819 | } 820 | 821 | if (arg.wasGiven(majorVersionPattern)) { 822 | final String major = arg.get(majorVersionPattern); 823 | changelogApiBuilder.withSemanticMajorVersionPattern(major); 824 | } 825 | 826 | if (arg.wasGiven(minorVersionPattern)) { 827 | final String minor = arg.get(minorVersionPattern); 828 | changelogApiBuilder.withSemanticMinorVersionPattern(minor); 829 | } 830 | 831 | if (arg.wasGiven(patchVersionPattern)) { 832 | final String patch = arg.get(patchVersionPattern); 833 | changelogApiBuilder.withSemanticPatchVersionPattern(patch); 834 | } 835 | 836 | if (arg.wasGiven(prependToFile)) { 837 | final String filePath = arg.get(prependToFile); 838 | changelogApiBuilder.prependToFile(new File(filePath)); 839 | } 840 | 841 | if (arg.wasGiven(showDebugInfo)) { 842 | System.out.println( // NOPMD 843 | "Settings:\n" 844 | + new GsonBuilder() 845 | .setPrettyPrinting() 846 | .create() 847 | .toJson(changelogApiBuilder.getSettings())); 848 | System.out.println( // NOPMD 849 | "Template:\n\n" + changelogApiBuilder.getTemplateString() + "\n\n"); // NOPMD 850 | final byte[] template = 851 | changelogApiBuilder.getTemplateString().getBytes(StandardCharsets.UTF_8); 852 | for (final byte element : template) { 853 | System.out.format("%02X ", element); 854 | } 855 | System.out.println(); // NOPMD 856 | } 857 | 858 | if (arg.wasGiven(printHighestVersion)) { 859 | final String version = changelogApiBuilder.getHighestSemanticVersion().toString(); 860 | System.out.println(version); // NOPMD 861 | System.exit(0); 862 | } 863 | 864 | if (arg.wasGiven(printHighestVersionTag)) { 865 | final SemanticVersion highestSemanticVersion = 866 | changelogApiBuilder.getHighestSemanticVersion(); 867 | final String tag = highestSemanticVersion.findTag().orElse(""); 868 | System.out.println(tag); // NOPMD 869 | System.exit(0); 870 | } 871 | 872 | if (arg.wasGiven(printNextVersion)) { 873 | final String version = changelogApiBuilder.getNextSemanticVersion().toString(); 874 | System.out.println(version); // NOPMD 875 | System.exit(0); 876 | } 877 | 878 | if (arg.wasGiven(printCurrentVersion)) { 879 | final String version = changelogApiBuilder.getCurrentSemanticVersion().toString(); 880 | System.out.println(version); // NOPMD 881 | System.exit(0); 882 | } 883 | 884 | } catch (final ArgumentException exception) { 885 | System.out.println(exception.getMessageAndUsage()); // NOPMD 886 | System.exit(1); 887 | } 888 | } 889 | 890 | private static void checkArgument(final boolean b, final String string) { 891 | if (!b) { 892 | throw new IllegalStateException(string); 893 | } 894 | } 895 | 896 | public static String getSystemOutPrintln() { 897 | return Main.systemOutPrintln; 898 | } 899 | 900 | public static void recordSystemOutPrintln() { 901 | Main.recordSystemOutPrintln = true; 902 | } 903 | 904 | private static void systemOutPrintln(final String systemOutPrintln) { 905 | if (Main.recordSystemOutPrintln) { 906 | Main.systemOutPrintln = systemOutPrintln; 907 | } else { 908 | System.out.println(systemOutPrintln); // NOPMD 909 | } 910 | } 911 | } 912 | -------------------------------------------------------------------------------- /src/test/resources/gitLabChangelog.md: -------------------------------------------------------------------------------- 1 | # Git Changelog Command Line changelog 2 | 3 | Changelog of Git Changelog Command Line. 4 | 5 | ## 1.12 6 | ### No issue 7 | 8 | **[Gradle Release Plugin] - pre tag commit: '1.12'.** 9 | 10 | 11 | [e2812561fc6a829](https://github.com/tomasbjerre/git-changelog-command-line/commit/e2812561fc6a829) Tomas Bjerre *2016-03-15 20:16:21* 12 | 13 | **Lib 1.35** 14 | 15 | 16 | [701ea9325b6c45c](https://github.com/tomasbjerre/git-changelog-command-line/commit/701ea9325b6c45c) Tomas Bjerre *2016-03-15 20:14:46* 17 | 18 | **[Gradle Release Plugin] - new version commit: '1.12-SNAPSHOT'.** 19 | 20 | 21 | [1cd6ef473f35d0e](https://github.com/tomasbjerre/git-changelog-command-line/commit/1cd6ef473f35d0e) Tomas Bjerre *2016-03-15 19:20:13* 22 | 23 | 24 | ## 1.11 25 | ### No issue 26 | 27 | **[Gradle Release Plugin] - pre tag commit: '1.11'.** 28 | 29 | 30 | [e17a1c3a1e62696](https://github.com/tomasbjerre/git-changelog-command-line/commit/e17a1c3a1e62696) Tomas Bjerre *2016-03-15 19:20:04* 31 | 32 | **Support GitHub OAuth2 tokens #1** 33 | 34 | 35 | [7b5e98122110337](https://github.com/tomasbjerre/git-changelog-command-line/commit/7b5e98122110337) Tomas Bjerre *2016-03-15 19:17:11* 36 | 37 | **[Gradle Release Plugin] - new version commit: '1.11-SNAPSHOT'.** 38 | 39 | 40 | [952eeab209c5a98](https://github.com/tomasbjerre/git-changelog-command-line/commit/952eeab209c5a98) Tomas Bjerre *2016-02-20 08:18:43* 41 | 42 | 43 | ## 1.10 44 | ### No issue 45 | 46 | **[Gradle Release Plugin] - pre tag commit: '1.10'.** 47 | 48 | 49 | [287544cbbb57174](https://github.com/tomasbjerre/git-changelog-command-line/commit/287544cbbb57174) Tomas Bjerre *2016-02-20 08:18:26* 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/test/resources/testThatCommitsCanBeIgnoredByTime.md: -------------------------------------------------------------------------------- 1 | # Git Changelog Command Line changelog 2 | 3 | Changelog of Git Changelog Command Line. 4 | 5 | ## 1.100.2 6 | ### No issue 7 | 8 | **chore(release): 1.100.2 [GRADLE SCRIPT]** 9 | 10 | 11 | [bc0517978ec8fc7](https://github.com/tomasbjerre/git-changelog-command-line/commit/bc0517978ec8fc7) Tomas Bjerre *2022-05-01 16:54:02* 12 | 13 | **chore(release): Updating changelog with 1.100.1 [GRADLE SCRIPT]** 14 | 15 | 16 | [fcf1423dce5dc14](https://github.com/tomasbjerre/git-changelog-command-line/commit/fcf1423dce5dc14) Tomas Bjerre *2022-03-18 20:06:41* 17 | 18 | 19 | ## 1.100.1 20 | ### No issue 21 | 22 | **chore(release): 1.100.1 [GRADLE SCRIPT]** 23 | 24 | 25 | [db19ceabaa047e9](https://github.com/tomasbjerre/git-changelog-command-line/commit/db19ceabaa047e9) Tomas Bjerre *2022-03-18 20:06:36* 26 | 27 | **fix: handle case when no tag in repo** 28 | 29 | 30 | [293a8451a7b273d](https://github.com/tomasbjerre/git-changelog-command-line/commit/293a8451a7b273d) Tomas Bjerre *2022-03-18 20:05:37* 31 | 32 | **chore(release): Updating changelog with 1.100.0 [GRADLE SCRIPT]** 33 | 34 | 35 | [d59961a733bc23c](https://github.com/tomasbjerre/git-changelog-command-line/commit/d59961a733bc23c) Tomas Bjerre *2022-03-17 19:34:00* 36 | 37 | 38 | ## 1.100.0 39 | ### No issue 40 | 41 | **chore(release): 1.100.0 [GRADLE SCRIPT]** 42 | 43 | 44 | [e045275981c66cd](https://github.com/tomasbjerre/git-changelog-command-line/commit/e045275981c66cd) Tomas Bjerre *2022-03-17 19:33:57* 45 | 46 | **feat: fall back on HEAD and MASTER if no toRef is given** 47 | 48 | 49 | [b22c3fbcb67b6d3](https://github.com/tomasbjerre/git-changelog-command-line/commit/b22c3fbcb67b6d3) Tomas Bjerre *2022-03-17 19:32:59* 50 | 51 | **chore(release): Updating changelog with 1.99.8 [GRADLE SCRIPT]** 52 | 53 | 54 | [a3c5bdd6b45ba2c](https://github.com/tomasbjerre/git-changelog-command-line/commit/a3c5bdd6b45ba2c) Tomas Bjerre *2022-02-15 16:42:12* 55 | 56 | 57 | ## 1.99.8 58 | ### No issue 59 | 60 | **chore(release): 1.99.8 [GRADLE SCRIPT]** 61 | 62 | 63 | [0302e7c5d1fc0f0](https://github.com/tomasbjerre/git-changelog-command-line/commit/0302e7c5d1fc0f0) Tomas Bjerre *2022-02-15 16:42:08* 64 | 65 | 66 | ## 1.99.7 67 | ### No issue 68 | 69 | **chore(release): 1.99.7 [GRADLE SCRIPT]** 70 | 71 | 72 | [f301a9070627bf0](https://github.com/tomasbjerre/git-changelog-command-line/commit/f301a9070627bf0) Tomas Bjerre *2022-01-20 15:16:37* 73 | 74 | 75 | ## 1.99.6 76 | ### No issue 77 | 78 | **chore(release): 1.99.6 [GRADLE SCRIPT]** 79 | 80 | 81 | [fed7fdec0faa6a3](https://github.com/tomasbjerre/git-changelog-command-line/commit/fed7fdec0faa6a3) Tomas Bjerre *2022-01-17 15:41:03* 82 | 83 | **chore(release): Updating changelog with 1.99.5 [GRADLE SCRIPT]** 84 | 85 | 86 | [6d800dc07d6499b](https://github.com/tomasbjerre/git-changelog-command-line/commit/6d800dc07d6499b) Tomas Bjerre *2022-01-16 17:15:43* 87 | 88 | 89 | ## 1.99.5 90 | ### No issue 91 | 92 | **chore(release): 1.99.5 [GRADLE SCRIPT]** 93 | 94 | 95 | [cf9949e4c643253](https://github.com/tomasbjerre/git-changelog-command-line/commit/cf9949e4c643253) Tomas Bjerre *2022-01-16 17:15:39* 96 | 97 | **doc: patch version pattern** 98 | 99 | 100 | [481993eeddf0511](https://github.com/tomasbjerre/git-changelog-command-line/commit/481993eeddf0511) Tomas Bjerre *2022-01-16 09:36:06* 101 | 102 | **chore(release): Updating changelog with 1.99.4 [GRADLE SCRIPT]** 103 | 104 | 105 | [1da7043643219e2](https://github.com/tomasbjerre/git-changelog-command-line/commit/1da7043643219e2) Tomas Bjerre *2022-01-16 09:15:20* 106 | 107 | 108 | ## 1.99.4 109 | ### No issue 110 | 111 | **chore(release): 1.99.4 [GRADLE SCRIPT]** 112 | 113 | 114 | [bb104b1e6e1ac2d](https://github.com/tomasbjerre/git-changelog-command-line/commit/bb104b1e6e1ac2d) Tomas Bjerre *2022-01-16 09:15:17* 115 | 116 | **fix: disable integrations with a boolean useIntegrations** 117 | 118 | 119 | [ca4886357207905](https://github.com/tomasbjerre/git-changelog-command-line/commit/ca4886357207905) Tomas Bjerre *2022-01-16 09:14:17* 120 | 121 | **chore(release): Updating changelog with 1.99.3 [GRADLE SCRIPT]** 122 | 123 | 124 | [15eb2e52f9dc951](https://github.com/tomasbjerre/git-changelog-command-line/commit/15eb2e52f9dc951) Tomas Bjerre *2022-01-05 14:43:51* 125 | 126 | 127 | ## 1.99.3 128 | ### No issue 129 | 130 | **chore(release): 1.99.3 [GRADLE SCRIPT]** 131 | 132 | 133 | [efa0b4202c05eb3](https://github.com/tomasbjerre/git-changelog-command-line/commit/efa0b4202c05eb3) Tomas Bjerre *2022-01-05 14:43:47* 134 | 135 | **fix: only parse enabled issues** 136 | 137 | 138 | [03dbb4dc89f02a3](https://github.com/tomasbjerre/git-changelog-command-line/commit/03dbb4dc89f02a3) Tomas Bjerre *2022-01-05 14:42:43* 139 | 140 | 141 | ## 1.99.2 142 | ### No issue 143 | 144 | **chore(release): 1.99.2 [GRADLE SCRIPT]** 145 | 146 | 147 | [4db9b85132045ee](https://github.com/tomasbjerre/git-changelog-command-line/commit/4db9b85132045ee) Tomas Bjerre *2021-12-23 17:23:39* 148 | 149 | 150 | ## 1.99.1 151 | ### No issue 152 | 153 | **chore(release): 1.99.1 [GRADLE SCRIPT]** 154 | 155 | 156 | [28cb1177b1d9681](https://github.com/tomasbjerre/git-changelog-command-line/commit/28cb1177b1d9681) Tomas Bjerre *2021-12-22 17:47:43* 157 | 158 | **chore(release): Updating changelog with 1.99.0 [GRADLE SCRIPT]** 159 | 160 | 161 | [b640c61199c8603](https://github.com/tomasbjerre/git-changelog-command-line/commit/b640c61199c8603) Tomas Bjerre *2021-12-12 16:03:42* 162 | 163 | 164 | ## 1.99.0 165 | ### No issue 166 | 167 | **chore(release): 1.99.0 [GRADLE SCRIPT]** 168 | 169 | 170 | [c0d9d5c39d56561](https://github.com/tomasbjerre/git-changelog-command-line/commit/c0d9d5c39d56561) Tomas Bjerre *2021-12-12 16:03:38* 171 | 172 | **feat: handlebarsHelperFile** 173 | 174 | 175 | [bcaf1753409f48a](https://github.com/tomasbjerre/git-changelog-command-line/commit/bcaf1753409f48a) Tomas Bjerre *2021-12-12 16:02:26* 176 | 177 | **chore(release): Updating changelog with 1.98.0 [GRADLE SCRIPT]** 178 | 179 | 180 | [040469f26e543db](https://github.com/tomasbjerre/git-changelog-command-line/commit/040469f26e543db) Tomas Bjerre *2021-12-03 17:25:21* 181 | 182 | 183 | ## 1.98.0 184 | ### No issue 185 | 186 | **chore(release): 1.98.0 [GRADLE SCRIPT]** 187 | 188 | 189 | [85593006840d8fe](https://github.com/tomasbjerre/git-changelog-command-line/commit/85593006840d8fe) Tomas Bjerre *2021-12-03 17:25:17* 190 | 191 | **Merge pull request #9 from rimuln/feature/5** 192 | 193 | * feat Support bearer authorization for Jira 194 | 195 | [a244c0c834b93f4](https://github.com/tomasbjerre/git-changelog-command-line/commit/a244c0c834b93f4) Tomas Bjerre *2021-12-03 17:23:13* 196 | 197 | **feat Support bearer authorization for Jira** 198 | 199 | 200 | [672722b33a64c67](https://github.com/tomasbjerre/git-changelog-command-line/commit/672722b33a64c67) Lumír Návrat *2021-12-01 19:56:44* 201 | 202 | **doc: readme** 203 | 204 | 205 | [b41dbdea9c12bfb](https://github.com/tomasbjerre/git-changelog-command-line/commit/b41dbdea9c12bfb) Tomas Bjerre *2021-11-27 07:54:58* 206 | 207 | 208 | ## 1.97.3 209 | ### No issue 210 | 211 | **chore(release): 1.97.3 [GRADLE SCRIPT]** 212 | 213 | 214 | [74f0019670d69bb](https://github.com/tomasbjerre/git-changelog-command-line/commit/74f0019670d69bb) Tomas Bjerre *2021-11-21 20:04:33* 215 | 216 | 217 | ## 1.97.2 218 | ### No issue 219 | 220 | **chore(release): 1.97.2 [GRADLE SCRIPT]** 221 | 222 | 223 | [06e66545c6e37b4](https://github.com/tomasbjerre/git-changelog-command-line/commit/06e66545c6e37b4) Tomas Bjerre *2021-11-21 20:02:24* 224 | 225 | 226 | ## 1.97.1 227 | ### No issue 228 | 229 | **chore(release): 1.97.1 [GRADLE SCRIPT]** 230 | 231 | 232 | [7573d800f5c434c](https://github.com/tomasbjerre/git-changelog-command-line/commit/7573d800f5c434c) Tomas Bjerre *2021-11-21 18:37:16* 233 | 234 | **chore(release): Updating changelog with 1.97.0 [GRADLE SCRIPT]** 235 | 236 | 237 | [03af1834527fdbd](https://github.com/tomasbjerre/git-changelog-command-line/commit/03af1834527fdbd) Tomas Bjerre *2021-11-21 09:41:47* 238 | 239 | 240 | ## 1.97.0 241 | ### No issue 242 | 243 | **chore(release): 1.97.0 [GRADLE SCRIPT]** 244 | 245 | 246 | [094134a6712cfc8](https://github.com/tomasbjerre/git-changelog-command-line/commit/094134a6712cfc8) Tomas Bjerre *2021-11-21 09:41:43* 247 | 248 | **feat: partials** 249 | 250 | 251 | [996d494bca15f39](https://github.com/tomasbjerre/git-changelog-command-line/commit/996d494bca15f39) Tomas Bjerre *2021-11-21 09:40:26* 252 | 253 | **Delete release.sh** 254 | 255 | 256 | [2dfdefdbf506424](https://github.com/tomasbjerre/git-changelog-command-line/commit/2dfdefdbf506424) Tomas Bjerre *2021-11-20 21:11:12* 257 | 258 | **chore(release): Updating changelog with 1.96.6 [GRADLE SCRIPT]** 259 | 260 | 261 | [cc8e8e4b0962237](https://github.com/tomasbjerre/git-changelog-command-line/commit/cc8e8e4b0962237) Tomas Bjerre *2021-11-20 17:54:35* 262 | 263 | 264 | ## 1.96.6 265 | ### No issue 266 | 267 | **chore(release): 1.96.6 [GRADLE SCRIPT]** 268 | 269 | 270 | [e303784559896cd](https://github.com/tomasbjerre/git-changelog-command-line/commit/e303784559896cd) Tomas Bjerre *2021-11-20 17:54:31* 271 | 272 | **fix: testing** 273 | 274 | 275 | [752d5942065d7f4](https://github.com/tomasbjerre/git-changelog-command-line/commit/752d5942065d7f4) Tomas Bjerre *2021-11-20 17:53:28* 276 | 277 | 278 | ## 1.96.5 279 | ### No issue 280 | 281 | **chore(release): 1.96.5 [GRADLE SCRIPT]** 282 | 283 | 284 | [324134d2011977f](https://github.com/tomasbjerre/git-changelog-command-line/commit/324134d2011977f) Tomas Bjerre *2021-11-20 17:51:38* 285 | 286 | **chore(release): Updating changelog with 1.96.4 [GRADLE SCRIPT]** 287 | 288 | 289 | [0302f8e2f68aa81](https://github.com/tomasbjerre/git-changelog-command-line/commit/0302f8e2f68aa81) Tomas Bjerre *2021-11-20 17:44:28* 290 | 291 | 292 | ## 1.96.4 293 | ### No issue 294 | 295 | **chore(release): 1.96.4 [GRADLE SCRIPT]** 296 | 297 | 298 | [6066d4cb44d1759](https://github.com/tomasbjerre/git-changelog-command-line/commit/6066d4cb44d1759) Tomas Bjerre *2021-11-20 17:44:24* 299 | 300 | **fix: COMMAND type** 301 | 302 | 303 | [7a2fc45e1c64411](https://github.com/tomasbjerre/git-changelog-command-line/commit/7a2fc45e1c64411) Tomas Bjerre *2021-11-20 17:43:25* 304 | 305 | 306 | ## 1.96.3 307 | ### No issue 308 | 309 | **chore(release): 1.96.3 [GRADLE SCRIPT]** 310 | 311 | 312 | [a1785526dadd843](https://github.com/tomasbjerre/git-changelog-command-line/commit/a1785526dadd843) Tomas Bjerre *2021-11-20 17:39:02* 313 | 314 | **chore(release): Updating changelog with 1.96.2 [GRADLE SCRIPT]** 315 | 316 | 317 | [9eb3fca0ee57eab](https://github.com/tomasbjerre/git-changelog-command-line/commit/9eb3fca0ee57eab) Tomas Bjerre *2021-11-20 17:29:32* 318 | 319 | 320 | ## 1.96.2 321 | ### No issue 322 | 323 | **chore(release): 1.96.2 [GRADLE SCRIPT]** 324 | 325 | 326 | [4f5309f1738a7e6](https://github.com/tomasbjerre/git-changelog-command-line/commit/4f5309f1738a7e6) Tomas Bjerre *2021-11-20 17:29:28* 327 | 328 | **chore: COMMAND** 329 | 330 | 331 | [f18f753c14957ce](https://github.com/tomasbjerre/git-changelog-command-line/commit/f18f753c14957ce) Tomas Bjerre *2021-11-20 17:27:02* 332 | 333 | **chore(release): Updating changelog with 1.96.1 [GRADLE SCRIPT]** 334 | 335 | 336 | [80fb1f0e2e07bd3](https://github.com/tomasbjerre/git-changelog-command-line/commit/80fb1f0e2e07bd3) Tomas Bjerre *2021-11-20 17:25:09* 337 | 338 | 339 | ## 1.96.1 340 | ### No issue 341 | 342 | **chore(release): 1.96.1 [GRADLE SCRIPT]** 343 | 344 | 345 | [615251911fd693c](https://github.com/tomasbjerre/git-changelog-command-line/commit/615251911fd693c) Tomas Bjerre *2021-11-20 17:25:05* 346 | 347 | **chore: removing files** 348 | 349 | 350 | [cb9ed20361c275f](https://github.com/tomasbjerre/git-changelog-command-line/commit/cb9ed20361c275f) Tomas Bjerre *2021-11-20 17:23:05* 351 | 352 | 353 | ## v1.96.0 354 | ### No issue 355 | 356 | **1.96.0** 357 | 358 | 359 | [b35a853c094c3dc](https://github.com/tomasbjerre/git-changelog-command-line/commit/b35a853c094c3dc) Tomas Bjerre *2021-11-20 13:14:13* 360 | 361 | **chore(release): Updating changelog with 1.96.0 [GRADLE SCRIPT]** 362 | 363 | 364 | [92b8c57e72a07a2](https://github.com/tomasbjerre/git-changelog-command-line/commit/92b8c57e72a07a2) Tomas Bjerre *2021-11-20 13:13:24* 365 | 366 | 367 | ## 1.96.0 368 | ### No issue 369 | 370 | **chore(release): 1.96.0 [GRADLE SCRIPT]** 371 | 372 | 373 | [5a8651d68442872](https://github.com/tomasbjerre/git-changelog-command-line/commit/5a8651d68442872) Tomas Bjerre *2021-11-20 13:13:19* 374 | 375 | **fix: match Windows paths** 376 | 377 | 378 | [bea28843cf58a5d](https://github.com/tomasbjerre/git-changelog-command-line/commit/bea28843cf58a5d) Tomas Bjerre *2021-11-20 13:11:53* 379 | 380 | 381 | ## v1.95.0 382 | ### No issue 383 | 384 | **1.95.0** 385 | 386 | 387 | [8c2c36252d2403e](https://github.com/tomasbjerre/git-changelog-command-line/commit/8c2c36252d2403e) Tomas Bjerre *2021-11-20 12:23:43* 388 | 389 | **chore(release): Updating changelog with 1.95.0 [GRADLE SCRIPT]** 390 | 391 | 392 | [bdb4bbb776f1bdc](https://github.com/tomasbjerre/git-changelog-command-line/commit/bdb4bbb776f1bdc) Tomas Bjerre *2021-11-20 12:17:10* 393 | 394 | 395 | ## 1.95.0 396 | ### No issue 397 | 398 | **chore(release): 1.95.0 [GRADLE SCRIPT]** 399 | 400 | 401 | [9df15170454d811](https://github.com/tomasbjerre/git-changelog-command-line/commit/9df15170454d811) Tomas Bjerre *2021-11-20 12:17:06* 402 | 403 | **feat: npm-java-runner** 404 | 405 | 406 | [72e923e6add5f0b](https://github.com/tomasbjerre/git-changelog-command-line/commit/72e923e6add5f0b) Tomas Bjerre *2021-11-20 12:12:02* 407 | 408 | **chore(release): Updating changelog with 1.94.0 [GRADLE SCRIPT]** 409 | 410 | 411 | [57ba93fa769e06e](https://github.com/tomasbjerre/git-changelog-command-line/commit/57ba93fa769e06e) Tomas Bjerre *2021-11-16 17:06:39* 412 | 413 | 414 | ## 1.94.0 415 | ### No issue 416 | 417 | **chore(release): 1.94.0 [GRADLE SCRIPT]** 418 | 419 | 420 | [0044702d570e809](https://github.com/tomasbjerre/git-changelog-command-line/commit/0044702d570e809) Tomas Bjerre *2021-11-16 17:06:35* 421 | 422 | **Merge pull request #8 from huygun/feature/redmine** 423 | 424 | * feat: Redmine Support 425 | 426 | [7682893f3cf42c8](https://github.com/tomasbjerre/git-changelog-command-line/commit/7682893f3cf42c8) Tomas Bjerre *2021-11-16 17:04:29* 427 | 428 | **feat: Redmine Support** 429 | 430 | 431 | [8c08aaf58cd1647](https://github.com/tomasbjerre/git-changelog-command-line/commit/8c08aaf58cd1647) Hakan Uygun *2021-11-15 17:06:39* 432 | 433 | 434 | ## 1.93.0 435 | ### No issue 436 | 437 | **chore(release): 1.93.0 [GRADLE SCRIPT]** 438 | 439 | 440 | [4c94679b837a0af](https://github.com/tomasbjerre/git-changelog-command-line/commit/4c94679b837a0af) Tomas Bjerre *2021-10-17 16:05:41* 441 | 442 | 443 | ## 1.92.0 444 | ### No issue 445 | 446 | **chore(release): 1.92.0 [GRADLE SCRIPT]** 447 | 448 | 449 | [e7a97a8beffbecd](https://github.com/tomasbjerre/git-changelog-command-line/commit/e7a97a8beffbecd) Tomas Bjerre *2021-10-17 15:56:47* 450 | 451 | 452 | ## 1.91.0 453 | ### No issue 454 | 455 | **chore(release): 1.91.0 [GRADLE SCRIPT]** 456 | 457 | 458 | [440bc74f70e7a83](https://github.com/tomasbjerre/git-changelog-command-line/commit/440bc74f70e7a83) Tomas Bjerre *2021-10-17 15:52:21* 459 | 460 | **chore(release): Updating changelog with 1.90.0 [GRADLE SCRIPT]** 461 | 462 | 463 | [bf9b55f0deaa96b](https://github.com/tomasbjerre/git-changelog-command-line/commit/bf9b55f0deaa96b) Tomas Bjerre *2021-10-17 15:45:12* 464 | 465 | 466 | ## 1.90.0 467 | ### No issue 468 | 469 | **chore(release): 1.90.0 [GRADLE SCRIPT]** 470 | 471 | 472 | [4186dcd07beb219](https://github.com/tomasbjerre/git-changelog-command-line/commit/4186dcd07beb219) Tomas Bjerre *2021-10-17 15:45:08* 473 | 474 | **feat: only step patch if matching pattern** 475 | 476 | 477 | [11d06d7b1128dc1](https://github.com/tomasbjerre/git-changelog-command-line/commit/11d06d7b1128dc1) Tomas Bjerre *2021-10-17 15:43:44* 478 | 479 | **chore(release): Updating changelog with 1.89.0 [GRADLE SCRIPT]** 480 | 481 | 482 | [411a02155f810e5](https://github.com/tomasbjerre/git-changelog-command-line/commit/411a02155f810e5) Tomas Bjerre *2021-07-15 06:29:35* 483 | 484 | 485 | ## 1.89.0 486 | ### No issue 487 | 488 | **chore(release): 1.89.0 [GRADLE SCRIPT]** 489 | 490 | 491 | [dedbf7d44c2bbf3](https://github.com/tomasbjerre/git-changelog-command-line/commit/dedbf7d44c2bbf3) Tomas Bjerre *2021-07-15 06:29:28* 492 | 493 | **feat: optional minor/major patterns** 494 | 495 | 496 | [7c70e56f135d6a6](https://github.com/tomasbjerre/git-changelog-command-line/commit/7c70e56f135d6a6) Tomas Bjerre *2021-07-15 06:28:22* 497 | 498 | **chore(release): Updating changelog with 1.88.0 [GRADLE SCRIPT]** 499 | 500 | 501 | [fdac98660714fd0](https://github.com/tomasbjerre/git-changelog-command-line/commit/fdac98660714fd0) Tomas Bjerre *2021-06-17 20:06:24* 502 | 503 | 504 | ## 1.88.0 505 | ### No issue 506 | 507 | **chore(release): 1.88.0 [GRADLE SCRIPT]** 508 | 509 | 510 | [eed770feb13d2ed](https://github.com/tomasbjerre/git-changelog-command-line/commit/eed770feb13d2ed) Tomas Bjerre *2021-06-17 20:06:16* 511 | 512 | **feat: --show-debug-info** 513 | 514 | 515 | [1ba2189a5ada2ee](https://github.com/tomasbjerre/git-changelog-command-line/commit/1ba2189a5ada2ee) Tomas Bjerre *2021-06-17 20:05:05* 516 | 517 | 518 | ## 1.87.0 519 | ### No issue 520 | 521 | **chore(release): 1.87.0 [GRADLE SCRIPT]** 522 | 523 | 524 | [d0034e22c17d1f1](https://github.com/tomasbjerre/git-changelog-command-line/commit/d0034e22c17d1f1) Tomas Bjerre *2021-06-17 16:32:35* 525 | 526 | 527 | ## 1.86.0 528 | ### No issue 529 | 530 | **chore(release): 1.86.0 [GRADLE SCRIPT]** 531 | 532 | 533 | [683ed014e775811](https://github.com/tomasbjerre/git-changelog-command-line/commit/683ed014e775811) Tomas Bjerre *2021-06-17 16:04:29* 534 | 535 | 536 | ## 1.85.2 537 | ### No issue 538 | 539 | **chore(release): 1.85.2 [GRADLE SCRIPT]** 540 | 541 | 542 | [7a779eb9de220b8](https://github.com/tomasbjerre/git-changelog-command-line/commit/7a779eb9de220b8) Tomas Bjerre *2021-06-11 18:15:50* 543 | 544 | 545 | ## 1.85.1 546 | ### No issue 547 | 548 | **chore(release): 1.85.1 [GRADLE SCRIPT]** 549 | 550 | 551 | [e86c9aabc597246](https://github.com/tomasbjerre/git-changelog-command-line/commit/e86c9aabc597246) Tomas Bjerre *2021-06-09 17:09:19* 552 | 553 | 554 | ## 1.85.0 555 | ### No issue 556 | 557 | **chore(release): 1.85.0 [GRADLE SCRIPT]** 558 | 559 | 560 | [232465dffd97ff0](https://github.com/tomasbjerre/git-changelog-command-line/commit/232465dffd97ff0) Tomas Bjerre *2021-06-09 15:58:38* 561 | 562 | 563 | ## 1.84.0 564 | ### No issue 565 | 566 | **chore(release): 1.84.0 [GRADLE SCRIPT]** 567 | 568 | 569 | [d38091d1a38a8d9](https://github.com/tomasbjerre/git-changelog-command-line/commit/d38091d1a38a8d9) Tomas Bjerre *2021-06-09 14:38:10* 570 | 571 | **chore(release): Updating changelog with 1.83.0 [GRADLE SCRIPT]** 572 | 573 | 574 | [bb4319e7f1cef02](https://github.com/tomasbjerre/git-changelog-command-line/commit/bb4319e7f1cef02) Tomas Bjerre *2021-06-03 17:51:50* 575 | 576 | 577 | ## 1.83.0 578 | ### No issue 579 | 580 | **chore(release): 1.83.0 [GRADLE SCRIPT]** 581 | 582 | 583 | [dc0bd733780693b](https://github.com/tomasbjerre/git-changelog-command-line/commit/dc0bd733780693b) Tomas Bjerre *2021-06-03 17:51:42* 584 | 585 | **chore(release): Updating changelog with 1.82.0 [GRADLE SCRIPT]** 586 | 587 | 588 | [edd38f4abc29bfd](https://github.com/tomasbjerre/git-changelog-command-line/commit/edd38f4abc29bfd) Tomas Bjerre *2021-06-02 19:13:19* 589 | 590 | 591 | ## 1.82.0 592 | ### No issue 593 | 594 | **chore(release): 1.82.0 [GRADLE SCRIPT]** 595 | 596 | 597 | [39ba6f965b08117](https://github.com/tomasbjerre/git-changelog-command-line/commit/39ba6f965b08117) Tomas Bjerre *2021-06-02 19:13:11* 598 | 599 | **feat: regexp in ifCommitType and ifCommitScope** 600 | 601 | 602 | [aecae77be30ff4b](https://github.com/tomasbjerre/git-changelog-command-line/commit/aecae77be30ff4b) Tomas Bjerre *2021-06-02 19:12:06* 603 | 604 | **Updating changelog with 1.81.0 [GRADLE SCRIPT]** 605 | 606 | 607 | [0a3269c5ff2cb12](https://github.com/tomasbjerre/git-changelog-command-line/commit/0a3269c5ff2cb12) Tomas Bjerre *2021-05-27 17:02:01* 608 | 609 | 610 | ## 1.81.0 611 | ### No issue 612 | 613 | **New version: 1.81.0 [GRADLE SCRIPT]** 614 | 615 | 616 | [dc44036fe101d0a](https://github.com/tomasbjerre/git-changelog-command-line/commit/dc44036fe101d0a) Tomas Bjerre *2021-05-27 17:01:49* 617 | 618 | **doc: add conventional commits** 619 | 620 | 621 | [f74162e9bfd3b72](https://github.com/tomasbjerre/git-changelog-command-line/commit/f74162e9bfd3b72) Tomas Bjerre *2021-05-27 16:56:04* 622 | 623 | 624 | ## 1.80.0 625 | ### No issue 626 | 627 | **New version: 1.80.0 [GRADLE SCRIPT]** 628 | 629 | 630 | [2300c742946f4a3](https://github.com/tomasbjerre/git-changelog-command-line/commit/2300c742946f4a3) Tomas Bjerre *2021-05-27 15:09:36* 631 | 632 | **Updating changelog with 1.79.0 [GRADLE SCRIPT]** 633 | 634 | 635 | [c8efea7abea8af4](https://github.com/tomasbjerre/git-changelog-command-line/commit/c8efea7abea8af4) Tomas Bjerre *2021-05-27 15:00:50* 636 | 637 | 638 | ## 1.79.0 639 | ### No issue 640 | 641 | **New version: 1.79.0 [GRADLE SCRIPT]** 642 | 643 | 644 | [a2d5864173f0fa9](https://github.com/tomasbjerre/git-changelog-command-line/commit/a2d5864173f0fa9) Tomas Bjerre *2021-05-27 15:00:42* 645 | 646 | **doc: custom helpers example in readme** 647 | 648 | 649 | [b9f1909af7ba38b](https://github.com/tomasbjerre/git-changelog-command-line/commit/b9f1909af7ba38b) Tomas Bjerre *2021-05-27 14:58:40* 650 | 651 | 652 | ## 1.78.0 653 | ### No issue 654 | 655 | **New version: 1.78.0 [GRADLE SCRIPT]** 656 | 657 | 658 | [f5d2d14e516c52b](https://github.com/tomasbjerre/git-changelog-command-line/commit/f5d2d14e516c52b) Tomas Bjerre *2021-05-26 20:09:18* 659 | 660 | 661 | ## 1.77.0 662 | ### No issue 663 | 664 | **New version: 1.77.0 [GRADLE SCRIPT]** 665 | 666 | 667 | [3175d2627386c6d](https://github.com/tomasbjerre/git-changelog-command-line/commit/3175d2627386c6d) Tomas Bjerre *2021-05-25 18:49:58* 668 | 669 | **Updating changelog with 1.76.1 [GRADLE SCRIPT]** 670 | 671 | 672 | [38c53c2e1f84836](https://github.com/tomasbjerre/git-changelog-command-line/commit/38c53c2e1f84836) Tomas Bjerre *2021-05-25 18:45:06* 673 | 674 | 675 | ## 1.76.1 676 | ### No issue 677 | 678 | **New version: 1.76.1 [GRADLE SCRIPT]** 679 | 680 | 681 | [03c0f9d804b3057](https://github.com/tomasbjerre/git-changelog-command-line/commit/03c0f9d804b3057) Tomas Bjerre *2021-05-25 18:44:57* 682 | 683 | **doc: updating readme** 684 | 685 | 686 | [3ed5c6159a15ec3](https://github.com/tomasbjerre/git-changelog-command-line/commit/3ed5c6159a15ec3) Tomas Bjerre *2021-05-25 18:43:52* 687 | 688 | **Updating changelog with 1.76.0 [GRADLE SCRIPT]** 689 | 690 | 691 | [cc1961d3a3b9c0f](https://github.com/tomasbjerre/git-changelog-command-line/commit/cc1961d3a3b9c0f) Tomas Bjerre *2021-05-25 18:29:03* 692 | 693 | 694 | ## 1.76.0 695 | ### No issue 696 | 697 | **New version: 1.76.0 [GRADLE SCRIPT]** 698 | 699 | 700 | [1f40d644fa80b84](https://github.com/tomasbjerre/git-changelog-command-line/commit/1f40d644fa80b84) Tomas Bjerre *2021-05-25 18:28:56* 701 | 702 | **doc: updating readme** 703 | 704 | 705 | [20224075c51891c](https://github.com/tomasbjerre/git-changelog-command-line/commit/20224075c51891c) Tomas Bjerre *2021-05-25 18:23:32* 706 | 707 | **Updating changelog with 1.75.0 [GRADLE SCRIPT]** 708 | 709 | 710 | [0178c415afc26a7](https://github.com/tomasbjerre/git-changelog-command-line/commit/0178c415afc26a7) Tomas Bjerre *2021-05-25 16:30:18* 711 | 712 | 713 | ## 1.75.0 714 | ### No issue 715 | 716 | **New version: 1.75.0 [GRADLE SCRIPT]** 717 | 718 | 719 | [96242d9d02e863f](https://github.com/tomasbjerre/git-changelog-command-line/commit/96242d9d02e863f) Tomas Bjerre *2021-05-25 16:30:11* 720 | 721 | **updating example** 722 | 723 | 724 | [238cdd4c30d3cf2](https://github.com/tomasbjerre/git-changelog-command-line/commit/238cdd4c30d3cf2) Tomas Bjerre *2021-05-25 16:17:18* 725 | 726 | 727 | ## 1.74.0 728 | ### No issue 729 | 730 | **New version: 1.74.0 [GRADLE SCRIPT]** 731 | 732 | 733 | [74194a1e2ab6dc8](https://github.com/tomasbjerre/git-changelog-command-line/commit/74194a1e2ab6dc8) Tomas Bjerre *2021-05-25 16:04:49* 734 | 735 | **Updating changelog with 1.73.0 [GRADLE SCRIPT]** 736 | 737 | 738 | [ccec7903d87968c](https://github.com/tomasbjerre/git-changelog-command-line/commit/ccec7903d87968c) Tomas Bjerre *2021-05-25 15:52:23* 739 | 740 | 741 | ## 1.73.0 742 | ### No issue 743 | 744 | **New version: 1.73.0 [GRADLE SCRIPT]** 745 | 746 | 747 | [15ed4492efe57ef](https://github.com/tomasbjerre/git-changelog-command-line/commit/15ed4492efe57ef) Tomas Bjerre *2021-05-25 15:52:16* 748 | 749 | **working on example** 750 | 751 | 752 | [7d05b035a3110c9](https://github.com/tomasbjerre/git-changelog-command-line/commit/7d05b035a3110c9) Tomas Bjerre *2021-05-25 15:50:51* 753 | 754 | **Updating changelog with 1.72.0 [GRADLE SCRIPT]** 755 | 756 | 757 | [6a114c12e573504](https://github.com/tomasbjerre/git-changelog-command-line/commit/6a114c12e573504) Tomas Bjerre *2021-05-25 14:12:16* 758 | 759 | 760 | ## 1.72.0 761 | ### No issue 762 | 763 | **New version: 1.72.0 [GRADLE SCRIPT]** 764 | 765 | 766 | [e45182d73d495ce](https://github.com/tomasbjerre/git-changelog-command-line/commit/e45182d73d495ce) Tomas Bjerre *2021-05-25 14:12:07* 767 | 768 | **working on example** 769 | 770 | 771 | [dfc8438949f7afd](https://github.com/tomasbjerre/git-changelog-command-line/commit/dfc8438949f7afd) Tomas Bjerre *2021-05-25 14:11:10* 772 | 773 | 774 | ## 1.71.0 775 | ### No issue 776 | 777 | **New version: 1.71.0 [GRADLE SCRIPT]** 778 | 779 | 780 | [42eeefc4e6c6e76](https://github.com/tomasbjerre/git-changelog-command-line/commit/42eeefc4e6c6e76) Tomas Bjerre *2021-05-24 14:24:17* 781 | 782 | 783 | ## 1.70.0 784 | ### No issue 785 | 786 | **New version: 1.70.0 [GRADLE SCRIPT]** 787 | 788 | 789 | [57916a7b67d52ed](https://github.com/tomasbjerre/git-changelog-command-line/commit/57916a7b67d52ed) Tomas Bjerre *2021-05-24 14:22:06* 790 | 791 | **Updating changelog with 1.69.0 [GRADLE SCRIPT]** 792 | 793 | 794 | [25ba2da97a36e8c](https://github.com/tomasbjerre/git-changelog-command-line/commit/25ba2da97a36e8c) Tomas Bjerre *2021-05-23 19:06:10* 795 | 796 | 797 | ## 1.69.0 798 | ### No issue 799 | 800 | **New version: 1.69.0 [GRADLE SCRIPT]** 801 | 802 | 803 | [64bfb846128d0af](https://github.com/tomasbjerre/git-changelog-command-line/commit/64bfb846128d0af) Tomas Bjerre *2021-05-23 19:06:02* 804 | 805 | **feat: using simple String for helpers** 806 | 807 | 808 | [cbd877fa7d71fd9](https://github.com/tomasbjerre/git-changelog-command-line/commit/cbd877fa7d71fd9) Tomas Bjerre *2021-05-23 19:04:50* 809 | 810 | **Updating changelog with 1.68.0 [GRADLE SCRIPT]** 811 | 812 | 813 | [a10139d3ddb21dc](https://github.com/tomasbjerre/git-changelog-command-line/commit/a10139d3ddb21dc) Tomas Bjerre *2021-05-23 19:02:46* 814 | 815 | 816 | ## 1.68.0 817 | ### No issue 818 | 819 | **New version: 1.68.0 [GRADLE SCRIPT]** 820 | 821 | 822 | [eed558f8d181aba](https://github.com/tomasbjerre/git-changelog-command-line/commit/eed558f8d181aba) Tomas Bjerre *2021-05-23 19:02:38* 823 | 824 | **feat: using simple String for helpers** 825 | 826 | 827 | [d21a07e34cf472d](https://github.com/tomasbjerre/git-changelog-command-line/commit/d21a07e34cf472d) Tomas Bjerre *2021-05-23 19:01:26* 828 | 829 | **fiddling with semantic changelog** 830 | 831 | 832 | [a42e1b3f827c545](https://github.com/tomasbjerre/git-changelog-command-line/commit/a42e1b3f827c545) Tomas Bjerre *2021-05-23 18:58:25* 833 | 834 | 835 | ## 1.67.0 836 | ### No issue 837 | 838 | **New version: 1.67.0 [GRADLE SCRIPT]** 839 | 840 | 841 | [d7d3dfdff9030a0](https://github.com/tomasbjerre/git-changelog-command-line/commit/d7d3dfdff9030a0) Tomas Bjerre *2021-05-23 17:18:19* 842 | 843 | **Updating changelog with 1.66.0 [GRADLE SCRIPT]** 844 | 845 | 846 | [8a136b877a1a7f5](https://github.com/tomasbjerre/git-changelog-command-line/commit/8a136b877a1a7f5) Tomas Bjerre *2021-05-23 17:01:34* 847 | 848 | 849 | ## 1.66.0 850 | ### No issue 851 | 852 | **New version: 1.66.0 [GRADLE SCRIPT]** 853 | 854 | 855 | [1fe721b0bcd0f48](https://github.com/tomasbjerre/git-changelog-command-line/commit/1fe721b0bcd0f48) Tomas Bjerre *2021-05-23 17:01:26* 856 | 857 | **feat support semantic versioning** 858 | 859 | 860 | [5cbe961140bded4](https://github.com/tomasbjerre/git-changelog-command-line/commit/5cbe961140bded4) Tomas Bjerre *2021-05-23 17:00:27* 861 | 862 | **Updating changelog with 1.65.0 [GRADLE SCRIPT]** 863 | 864 | 865 | [a203e1da64cd718](https://github.com/tomasbjerre/git-changelog-command-line/commit/a203e1da64cd718) Tomas Bjerre *2021-05-23 16:54:22* 866 | 867 | 868 | ## 1.65.0 869 | ### No issue 870 | 871 | **New version: 1.65.0 [GRADLE SCRIPT]** 872 | 873 | 874 | [8fdffe123aed6ba](https://github.com/tomasbjerre/git-changelog-command-line/commit/8fdffe123aed6ba) Tomas Bjerre *2021-05-23 16:54:15* 875 | 876 | **feat support semantic versioning** 877 | 878 | 879 | [38d6135a1ae263f](https://github.com/tomasbjerre/git-changelog-command-line/commit/38d6135a1ae263f) Tomas Bjerre *2021-05-23 16:53:14* 880 | 881 | **Updating changelog with 1.64.0 [GRADLE SCRIPT]** 882 | 883 | 884 | [f48146e034bfce8](https://github.com/tomasbjerre/git-changelog-command-line/commit/f48146e034bfce8) Tomas Bjerre *2021-05-23 16:45:50* 885 | 886 | 887 | ## 1.64.0 888 | ### No issue 889 | 890 | **New version: 1.64.0 [GRADLE SCRIPT]** 891 | 892 | 893 | [4271e9cefed8712](https://github.com/tomasbjerre/git-changelog-command-line/commit/4271e9cefed8712) Tomas Bjerre *2021-05-23 16:45:43* 894 | 895 | **feat support semantic versioning** 896 | 897 | 898 | [10372d605ea2964](https://github.com/tomasbjerre/git-changelog-command-line/commit/10372d605ea2964) Tomas Bjerre *2021-05-23 16:44:35* 899 | 900 | **Updating changelog with 1.63.0 [GRADLE SCRIPT]** 901 | 902 | 903 | [96f9e614ed86629](https://github.com/tomasbjerre/git-changelog-command-line/commit/96f9e614ed86629) Tomas Bjerre *2021-04-04 18:54:28* 904 | 905 | 906 | ## 1.63.0 907 | ### No issue 908 | 909 | **New version: 1.63.0 [GRADLE SCRIPT]** 910 | 911 | 912 | [56e7dba3968f16e](https://github.com/tomasbjerre/git-changelog-command-line/commit/56e7dba3968f16e) Tomas Bjerre *2021-04-04 18:54:21* 913 | 914 | **correcting timestamp** 915 | 916 | 917 | [c121c7d012855f7](https://github.com/tomasbjerre/git-changelog-command-line/commit/c121c7d012855f7) Tomas Bjerre *2021-04-04 18:52:58* 918 | 919 | **Updating changelog with 1.62.0 [GRADLE SCRIPT]** 920 | 921 | 922 | [6c0d5f990817af2](https://github.com/tomasbjerre/git-changelog-command-line/commit/6c0d5f990817af2) Tomas Bjerre *2021-04-04 18:34:37* 923 | 924 | 925 | ## 1.62.0 926 | ### No issue 927 | 928 | **New version: 1.62.0 [GRADLE SCRIPT]** 929 | 930 | 931 | [44116df32bea852](https://github.com/tomasbjerre/git-changelog-command-line/commit/44116df32bea852) Tomas Bjerre *2021-04-04 18:34:30* 932 | 933 | **new build script** 934 | 935 | 936 | [c0382112885082d](https://github.com/tomasbjerre/git-changelog-command-line/commit/c0382112885082d) Tomas Bjerre *2021-04-04 18:30:58* 937 | 938 | **doc** 939 | 940 | 941 | [d6d50006d3a472a](https://github.com/tomasbjerre/git-changelog-command-line/commit/d6d50006d3a472a) Tomas Bjerre *2021-04-04 17:03:17* 942 | 943 | **Updating changelog with 1.61.0 [GRADLE SCRIPT]** 944 | 945 | 946 | [fe318512f414552](https://github.com/tomasbjerre/git-changelog-command-line/commit/fe318512f414552) Tomas Bjerre *2021-04-04 17:01:29* 947 | 948 | 949 | ## 1.61.0 950 | ### No issue 951 | 952 | **New version: 1.61.0 [GRADLE SCRIPT]** 953 | 954 | 955 | [ebf9a4107901358](https://github.com/tomasbjerre/git-changelog-command-line/commit/ebf9a4107901358) Tomas Bjerre *2021-04-04 16:58:51* 956 | 957 | **new build script** 958 | 959 | 960 | [3a68ef98d978e80](https://github.com/tomasbjerre/git-changelog-command-line/commit/3a68ef98d978e80) Tomas Bjerre *2021-04-04 16:57:27* 961 | 962 | **new build script** 963 | 964 | 965 | [d9466a8f207a417](https://github.com/tomasbjerre/git-changelog-command-line/commit/d9466a8f207a417) Tomas Bjerre *2021-04-04 16:56:41* 966 | 967 | **Updating changelog with 1.60.1 [GRADLE SCRIPT]** 968 | 969 | 970 | [06cc575adc2608d](https://github.com/tomasbjerre/git-changelog-command-line/commit/06cc575adc2608d) Tomas Bjerre *2021-04-04 16:01:43* 971 | 972 | 973 | ## 1.60.1 974 | ### No issue 975 | 976 | **New version: 1.60.1 [GRADLE SCRIPT]** 977 | 978 | 979 | [cde3fbd31ff4b69](https://github.com/tomasbjerre/git-changelog-command-line/commit/cde3fbd31ff4b69) Tomas Bjerre *2021-04-04 16:01:36* 980 | 981 | **new build script** 982 | 983 | 984 | [b303742f3be2df9](https://github.com/tomasbjerre/git-changelog-command-line/commit/b303742f3be2df9) Tomas Bjerre *2021-04-04 15:57:37* 985 | 986 | **[Gradle Release Plugin] - new version commit: '1.60-SNAPSHOT'.** 987 | 988 | 989 | [4acf1e71749911b](https://github.com/tomasbjerre/git-changelog-command-line/commit/4acf1e71749911b) Tomas Bjerre *2021-03-29 15:40:24* 990 | 991 | 992 | ## 1.59 993 | ### No issue 994 | 995 | **[Gradle Release Plugin] - pre tag commit: '1.59'.** 996 | 997 | 998 | [7572c5ada8f619b](https://github.com/tomasbjerre/git-changelog-command-line/commit/7572c5ada8f619b) Tomas Bjerre *2021-03-29 15:39:04* 999 | 1000 | **pretty printing output JENKINS-65252** 1001 | 1002 | 1003 | [e199393b7b624e2](https://github.com/tomasbjerre/git-changelog-command-line/commit/e199393b7b624e2) Tomas Bjerre *2021-03-29 15:37:29* 1004 | 1005 | **[Gradle Release Plugin] - new version commit: '1.59-SNAPSHOT'.** 1006 | 1007 | 1008 | [888da2639ee2762](https://github.com/tomasbjerre/git-changelog-command-line/commit/888da2639ee2762) Tomas Bjerre *2021-01-18 17:01:00* 1009 | 1010 | 1011 | ## 1.58 1012 | ### No issue 1013 | 1014 | **[Gradle Release Plugin] - pre tag commit: '1.58'.** 1015 | 1016 | 1017 | [9c06efd169bae66](https://github.com/tomasbjerre/git-changelog-command-line/commit/9c06efd169bae66) Tomas Bjerre *2021-01-18 16:59:31* 1018 | 1019 | **Removing default ignore filter on message** 1020 | 1021 | 1022 | [e91812b6eef13cf](https://github.com/tomasbjerre/git-changelog-command-line/commit/e91812b6eef13cf) Tomas Bjerre *2021-01-18 16:57:58* 1023 | 1024 | **[Gradle Release Plugin] - new version commit: '1.58-SNAPSHOT'.** 1025 | 1026 | 1027 | [5964ff111b45f2c](https://github.com/tomasbjerre/git-changelog-command-line/commit/5964ff111b45f2c) Tomas Bjerre *2020-11-07 16:02:20* 1028 | 1029 | 1030 | ## 1.57 1031 | ### No issue 1032 | 1033 | **[Gradle Release Plugin] - pre tag commit: '1.57'.** 1034 | 1035 | 1036 | [2ee982b34663392](https://github.com/tomasbjerre/git-changelog-command-line/commit/2ee982b34663392) Tomas Bjerre *2020-11-07 16:01:08* 1037 | 1038 | **Adjustments after merge of PR #7** 1039 | 1040 | 1041 | [4d2af148b1a7ba0](https://github.com/tomasbjerre/git-changelog-command-line/commit/4d2af148b1a7ba0) Tomas Bjerre *2020-11-07 15:58:51* 1042 | 1043 | **Support custom headers to JIRA to bypass 2 factor auth** 1044 | 1045 | 1046 | [2792a5046366c47](https://github.com/tomasbjerre/git-changelog-command-line/commit/2792a5046366c47) Yauheni Biruk *2020-11-07 14:57:23* 1047 | 1048 | **[Gradle Release Plugin] - new version commit: '1.57-SNAPSHOT'.** 1049 | 1050 | 1051 | [052d0e4efb01adc](https://github.com/tomasbjerre/git-changelog-command-line/commit/052d0e4efb01adc) Tomas Bjerre *2020-02-25 15:57:19* 1052 | 1053 | 1054 | ## 1.56 1055 | ### No issue 1056 | 1057 | **[Gradle Release Plugin] - pre tag commit: '1.56'.** 1058 | 1059 | 1060 | [0897e72bf00ca1d](https://github.com/tomasbjerre/git-changelog-command-line/commit/0897e72bf00ca1d) Tomas Bjerre *2020-02-25 15:56:05* 1061 | 1062 | **Merge pull request #5 from nemui/jira_token** 1063 | 1064 | * add support for jira tokens 1065 | 1066 | [1e34348e1e28be5](https://github.com/tomasbjerre/git-changelog-command-line/commit/1e34348e1e28be5) Tomas Bjerre *2020-02-25 15:54:22* 1067 | 1068 | **naming** 1069 | 1070 | 1071 | [0246b3a370c4f13](https://github.com/tomasbjerre/git-changelog-command-line/commit/0246b3a370c4f13) Dmitry Mamchur *2020-02-25 13:08:49* 1072 | 1073 | **bump git-changelog-lib version** 1074 | 1075 | 1076 | [d3b4091c0145e9f](https://github.com/tomasbjerre/git-changelog-command-line/commit/d3b4091c0145e9f) Dmitry Mamchur *2020-02-25 12:39:13* 1077 | 1078 | **align naming with git-changelog-lib** 1079 | 1080 | 1081 | [53657c77ec38f8b](https://github.com/tomasbjerre/git-changelog-command-line/commit/53657c77ec38f8b) Dmitry Mamchur *2020-02-25 12:38:51* 1082 | 1083 | **update readme** 1084 | 1085 | 1086 | [e75d56cf326c4a9](https://github.com/tomasbjerre/git-changelog-command-line/commit/e75d56cf326c4a9) Dmitry Mamchur *2020-02-25 12:16:06* 1087 | 1088 | **add support for jira token** 1089 | 1090 | 1091 | [b48f83d7f34079a](https://github.com/tomasbjerre/git-changelog-command-line/commit/b48f83d7f34079a) Dmitry Mamchur *2020-02-20 15:41:36* 1092 | 1093 | **openjdk8** 1094 | 1095 | 1096 | [0405ac4ad84c9fd](https://github.com/tomasbjerre/git-changelog-command-line/commit/0405ac4ad84c9fd) Tomas Bjerre *2019-10-09 13:14:34* 1097 | 1098 | **Create FUNDING.yml** 1099 | 1100 | 1101 | [067fca4c6cbe0c5](https://github.com/tomasbjerre/git-changelog-command-line/commit/067fca4c6cbe0c5) Tomas Bjerre *2019-09-28 07:05:38* 1102 | 1103 | **Gradle 5** 1104 | 1105 | 1106 | [48acc0c2ac1839e](https://github.com/tomasbjerre/git-changelog-command-line/commit/48acc0c2ac1839e) Tomas Bjerre *2019-06-11 18:03:15* 1107 | 1108 | **[Gradle Release Plugin] - new version commit: '1.56-SNAPSHOT'.** 1109 | 1110 | 1111 | [5001c4587733156](https://github.com/tomasbjerre/git-changelog-command-line/commit/5001c4587733156) Tomas Bjerre *2019-06-11 17:15:07* 1112 | 1113 | 1114 | ## 1.55 1115 | ### No issue 1116 | 1117 | **[Gradle Release Plugin] - pre tag commit: '1.55'.** 1118 | 1119 | 1120 | [155f004d19bb4d9](https://github.com/tomasbjerre/git-changelog-command-line/commit/155f004d19bb4d9) Tomas Bjerre *2019-06-11 17:02:23* 1121 | 1122 | **Removing dependency on javax.xml** 1123 | 1124 | 1125 | [1108865f1024786](https://github.com/tomasbjerre/git-changelog-command-line/commit/1108865f1024786) Tomas Bjerre *2019-06-11 16:58:38* 1126 | 1127 | **[Gradle Release Plugin] - new version commit: '1.55-SNAPSHOT'.** 1128 | 1129 | 1130 | [db45cc20e2ed83d](https://github.com/tomasbjerre/git-changelog-command-line/commit/db45cc20e2ed83d) Tomas Bjerre *2019-06-11 16:34:40* 1131 | 1132 | 1133 | ## 1.54 1134 | ### No issue 1135 | 1136 | **[Gradle Release Plugin] - pre tag commit: '1.54'.** 1137 | 1138 | 1139 | [0a5f2735d4df1f8](https://github.com/tomasbjerre/git-changelog-command-line/commit/0a5f2735d4df1f8) Tomas Bjerre *2019-06-11 16:33:27* 1140 | 1141 | **JDK 11 compatible** 1142 | 1143 | 1144 | [436550774dc2ade](https://github.com/tomasbjerre/git-changelog-command-line/commit/436550774dc2ade) Tomas Bjerre *2019-06-11 16:30:00* 1145 | 1146 | **[Gradle Release Plugin] - new version commit: '1.54-SNAPSHOT'.** 1147 | 1148 | 1149 | [4bc6ec821951691](https://github.com/tomasbjerre/git-changelog-command-line/commit/4bc6ec821951691) Tomas Bjerre *2019-05-30 13:45:11* 1150 | 1151 | 1152 | ## 1.53 1153 | ### No issue 1154 | 1155 | **[Gradle Release Plugin] - pre tag commit: '1.53'.** 1156 | 1157 | 1158 | [b1db553d52bcc26](https://github.com/tomasbjerre/git-changelog-command-line/commit/b1db553d52bcc26) Tomas Bjerre *2019-05-30 13:43:54* 1159 | 1160 | **slf4j** 1161 | 1162 | 1163 | [e8f65b19415b1ab](https://github.com/tomasbjerre/git-changelog-command-line/commit/e8f65b19415b1ab) Tomas Bjerre *2019-05-30 13:39:40* 1164 | 1165 | **[Gradle Release Plugin] - new version commit: '1.53-SNAPSHOT'.** 1166 | 1167 | 1168 | [b1337c0e85161f7](https://github.com/tomasbjerre/git-changelog-command-line/commit/b1337c0e85161f7) Tomas Bjerre *2019-05-29 18:09:17* 1169 | 1170 | 1171 | ## 1.52 1172 | ### No issue 1173 | 1174 | **[Gradle Release Plugin] - pre tag commit: '1.52'.** 1175 | 1176 | 1177 | [c6343d2f0d50405](https://github.com/tomasbjerre/git-changelog-command-line/commit/c6343d2f0d50405) Tomas Bjerre *2019-05-29 18:07:51* 1178 | 1179 | **doc** 1180 | 1181 | 1182 | [bd8004089502412](https://github.com/tomasbjerre/git-changelog-command-line/commit/bd8004089502412) Tomas Bjerre *2019-05-29 18:04:27* 1183 | 1184 | **[Gradle Release Plugin] - new version commit: '1.52-SNAPSHOT'.** 1185 | 1186 | 1187 | [95c929a09e56067](https://github.com/tomasbjerre/git-changelog-command-line/commit/95c929a09e56067) Tomas Bjerre *2019-05-29 17:50:07* 1188 | 1189 | 1190 | ## 1.51 1191 | ### No issue 1192 | 1193 | **[Gradle Release Plugin] - pre tag commit: '1.51'.** 1194 | 1195 | 1196 | [57c68d99faa8302](https://github.com/tomasbjerre/git-changelog-command-line/commit/57c68d99faa8302) Tomas Bjerre *2019-05-29 17:48:43* 1197 | 1198 | **doc** 1199 | 1200 | 1201 | [7b9120a14926f9a](https://github.com/tomasbjerre/git-changelog-command-line/commit/7b9120a14926f9a) Tomas Bjerre *2019-05-29 17:45:51* 1202 | 1203 | **[Gradle Release Plugin] - new version commit: '1.51-SNAPSHOT'.** 1204 | 1205 | 1206 | [5522efd1fa3c18b](https://github.com/tomasbjerre/git-changelog-command-line/commit/5522efd1fa3c18b) Tomas Bjerre *2019-05-29 17:43:34* 1207 | 1208 | 1209 | ## 1.50 1210 | ### No issue 1211 | 1212 | **[Gradle Release Plugin] - pre tag commit: '1.50'.** 1213 | 1214 | 1215 | [a969b2832518feb](https://github.com/tomasbjerre/git-changelog-command-line/commit/a969b2832518feb) Tomas Bjerre *2019-05-29 17:42:15* 1216 | 1217 | **[Gradle Release Plugin] - new version commit: '1.50-SNAPSHOT'.** 1218 | 1219 | 1220 | [2f1c905cd203180](https://github.com/tomasbjerre/git-changelog-command-line/commit/2f1c905cd203180) Tomas Bjerre *2019-05-29 17:39:16* 1221 | 1222 | 1223 | ## 1.49 1224 | ### No issue 1225 | 1226 | **[Gradle Release Plugin] - pre tag commit: '1.49'.** 1227 | 1228 | 1229 | [acaea4b526af50e](https://github.com/tomasbjerre/git-changelog-command-line/commit/acaea4b526af50e) Tomas Bjerre *2019-05-29 17:36:54* 1230 | 1231 | **[Gradle Release Plugin] - new version commit: '1.49-SNAPSHOT'.** 1232 | 1233 | 1234 | [5cd22591428ab2c](https://github.com/tomasbjerre/git-changelog-command-line/commit/5cd22591428ab2c) Tomas Bjerre *2019-05-29 17:32:21* 1235 | 1236 | 1237 | ## 1.48 1238 | ### No issue 1239 | 1240 | **[Gradle Release Plugin] - pre tag commit: '1.48'.** 1241 | 1242 | 1243 | [2d93e5e9b446227](https://github.com/tomasbjerre/git-changelog-command-line/commit/2d93e5e9b446227) Tomas Bjerre *2019-05-29 17:28:25* 1244 | 1245 | **doc** 1246 | 1247 | 1248 | [546b4634f550ac3](https://github.com/tomasbjerre/git-changelog-command-line/commit/546b4634f550ac3) Tomas Bjerre *2019-05-29 17:25:56* 1249 | 1250 | **[Gradle Release Plugin] - new version commit: '1.48-SNAPSHOT'.** 1251 | 1252 | 1253 | [e6b9829117edb52](https://github.com/tomasbjerre/git-changelog-command-line/commit/e6b9829117edb52) Tomas Bjerre *2019-05-29 17:22:39* 1254 | 1255 | 1256 | ## 1.47 1257 | ### No issue 1258 | 1259 | **[Gradle Release Plugin] - pre tag commit: '1.47'.** 1260 | 1261 | 1262 | [44df4026e7e69dd](https://github.com/tomasbjerre/git-changelog-command-line/commit/44df4026e7e69dd) Tomas Bjerre *2019-05-29 17:19:49* 1263 | 1264 | **doc** 1265 | 1266 | 1267 | [b9b579705985131](https://github.com/tomasbjerre/git-changelog-command-line/commit/b9b579705985131) Tomas Bjerre *2019-05-29 17:17:19* 1268 | 1269 | **[Gradle Release Plugin] - new version commit: '1.47-SNAPSHOT'.** 1270 | 1271 | 1272 | [48daad5dc058349](https://github.com/tomasbjerre/git-changelog-command-line/commit/48daad5dc058349) Tomas Bjerre *2019-05-29 17:15:19* 1273 | 1274 | 1275 | ## 1.46 1276 | ### No issue 1277 | 1278 | **[Gradle Release Plugin] - pre tag commit: '1.46'.** 1279 | 1280 | 1281 | [bb84c6e3d7f18e0](https://github.com/tomasbjerre/git-changelog-command-line/commit/bb84c6e3d7f18e0) Tomas Bjerre *2019-05-29 17:14:23* 1282 | 1283 | **doc** 1284 | 1285 | 1286 | [4ad87e4ce2c0320](https://github.com/tomasbjerre/git-changelog-command-line/commit/4ad87e4ce2c0320) Tomas Bjerre *2019-05-29 17:11:56* 1287 | 1288 | **doc** 1289 | 1290 | 1291 | [e3ff40ca79ec5d4](https://github.com/tomasbjerre/git-changelog-command-line/commit/e3ff40ca79ec5d4) Tomas Bjerre *2019-05-29 16:45:53* 1292 | 1293 | **Adding jdeploy to release script** 1294 | 1295 | 1296 | [0e7113abb20c452](https://github.com/tomasbjerre/git-changelog-command-line/commit/0e7113abb20c452) Tomas Bjerre *2019-05-29 16:27:50* 1297 | 1298 | **[Gradle Release Plugin] - new version commit: '1.46-SNAPSHOT'.** 1299 | 1300 | 1301 | [c86c42d6c4db188](https://github.com/tomasbjerre/git-changelog-command-line/commit/c86c42d6c4db188) Tomas Bjerre *2019-05-29 16:21:36* 1302 | 1303 | 1304 | ## 1.45 1305 | ### No issue 1306 | 1307 | **[Gradle Release Plugin] - pre tag commit: '1.45'.** 1308 | 1309 | 1310 | [f534e1fc4ed96be](https://github.com/tomasbjerre/git-changelog-command-line/commit/f534e1fc4ed96be) Tomas Bjerre *2019-05-29 16:20:31* 1311 | 1312 | **Dropping Gradle application and packaging runnable jar** 1313 | 1314 | 1315 | [67ec69a7683efd9](https://github.com/tomasbjerre/git-changelog-command-line/commit/67ec69a7683efd9) Tomas Bjerre *2019-05-29 16:14:46* 1316 | 1317 | **Stepping lib** 1318 | 1319 | 1320 | [58f760b6e6157bf](https://github.com/tomasbjerre/git-changelog-command-line/commit/58f760b6e6157bf) Tomas Bjerre *2019-02-25 15:59:02* 1321 | 1322 | 1323 | ## 180420 1324 | ### No issue 1325 | 1326 | **Moving application to before shaddow plugin** 1327 | 1328 | 1329 | [86de96e119f451a](https://github.com/tomasbjerre/git-changelog-command-line/commit/86de96e119f451a) Tomas Bjerre *2018-04-20 10:00:52* 1330 | 1331 | **Closing RevWalk JENKINS-19994** 1332 | 1333 | 1334 | [69198a6151dc014](https://github.com/tomasbjerre/git-changelog-command-line/commit/69198a6151dc014) Tomas Bjerre *2017-12-30 20:45:19* 1335 | 1336 | **Doc** 1337 | 1338 | 1339 | [090c31efd122ff4](https://github.com/tomasbjerre/git-changelog-command-line/commit/090c31efd122ff4) Tomas Bjerre *2017-12-19 12:31:32* 1340 | 1341 | **[Gradle Release Plugin] - new version commit: '1.42-SNAPSHOT'.** 1342 | 1343 | 1344 | [f326ed74b2d6f87](https://github.com/tomasbjerre/git-changelog-command-line/commit/f326ed74b2d6f87) Tomas Bjerre *2017-12-19 12:06:12* 1345 | 1346 | 1347 | ## 1.41 1348 | ### No issue 1349 | 1350 | **[Gradle Release Plugin] - pre tag commit: '1.41'.** 1351 | 1352 | 1353 | [6501c3bf6740082](https://github.com/tomasbjerre/git-changelog-command-line/commit/6501c3bf6740082) Tomas Bjerre *2017-12-19 12:05:57* 1354 | 1355 | **Bumping version to fix faulty release** 1356 | 1357 | 1358 | [0b6575a7726b978](https://github.com/tomasbjerre/git-changelog-command-line/commit/0b6575a7726b978) Tomas Bjerre *2017-12-19 12:02:40* 1359 | 1360 | **Description available for Jira issues** 1361 | 1362 | 1363 | [d4841fab0e3949b](https://github.com/tomasbjerre/git-changelog-command-line/commit/d4841fab0e3949b) Tomas Bjerre *2017-12-19 11:48:16* 1364 | 1365 | **Adjusting to Bintray** 1366 | 1367 | 1368 | [79bf1fad841ef56](https://github.com/tomasbjerre/git-changelog-command-line/commit/79bf1fad841ef56) Tomas Bjerre *2017-12-19 11:43:01* 1369 | 1370 | **Lib 1.72** 1371 | 1372 | 1373 | [58fa0073f072ef6](https://github.com/tomasbjerre/git-changelog-command-line/commit/58fa0073f072ef6) Tomas Bjerre *2017-09-08 09:08:50* 1374 | 1375 | **[Gradle Release Plugin] - new version commit: '1.40-SNAPSHOT'.** 1376 | 1377 | 1378 | [fb231301be9a804](https://github.com/tomasbjerre/git-changelog-command-line/commit/fb231301be9a804) Tomas Bjerre *2017-07-25 18:28:33* 1379 | 1380 | 1381 | ## 1.39 1382 | ### No issue 1383 | 1384 | **[Gradle Release Plugin] - pre tag commit: '1.39'.** 1385 | 1386 | 1387 | [eeda7c749ec65a3](https://github.com/tomasbjerre/git-changelog-command-line/commit/eeda7c749ec65a3) Tomas Bjerre *2017-07-25 18:28:11* 1388 | 1389 | **Lib 1.71** 1390 | 1391 | 1392 | [1074f832a4c8934](https://github.com/tomasbjerre/git-changelog-command-line/commit/1074f832a4c8934) Tomas Bjerre *2017-07-25 18:26:30* 1393 | 1394 | **[Gradle Release Plugin] - new version commit: '1.39-SNAPSHOT'.** 1395 | 1396 | 1397 | [8077daed5529e06](https://github.com/tomasbjerre/git-changelog-command-line/commit/8077daed5529e06) Tomas Bjerre *2017-07-24 19:42:43* 1398 | 1399 | 1400 | ## 1.38 1401 | ### No issue 1402 | 1403 | **[Gradle Release Plugin] - pre tag commit: '1.38'.** 1404 | 1405 | 1406 | [f0c384fb259bd51](https://github.com/tomasbjerre/git-changelog-command-line/commit/f0c384fb259bd51) Tomas Bjerre *2017-07-24 19:42:13* 1407 | 1408 | **Lib 1.70** 1409 | 1410 | 1411 | [61cdd7d4b44f573](https://github.com/tomasbjerre/git-changelog-command-line/commit/61cdd7d4b44f573) Tomas Bjerre *2017-07-24 19:37:17* 1412 | 1413 | **[Gradle Release Plugin] - new version commit: '1.38-SNAPSHOT'.** 1414 | 1415 | 1416 | [88d56a9b38fc0c0](https://github.com/tomasbjerre/git-changelog-command-line/commit/88d56a9b38fc0c0) Tomas Bjerre *2017-07-08 07:36:52* 1417 | 1418 | 1419 | ## 1.37 1420 | ### No issue 1421 | 1422 | **[Gradle Release Plugin] - pre tag commit: '1.37'.** 1423 | 1424 | 1425 | [3272d353e7ab72f](https://github.com/tomasbjerre/git-changelog-command-line/commit/3272d353e7ab72f) Tomas Bjerre *2017-07-08 07:36:23* 1426 | 1427 | **ignoreCommitsOlderThan** 1428 | 1429 | 1430 | [0d52803865316bd](https://github.com/tomasbjerre/git-changelog-command-line/commit/0d52803865316bd) Tomas Bjerre *2017-07-08 07:35:03* 1431 | 1432 | **[Gradle Release Plugin] - new version commit: '1.37-SNAPSHOT'.** 1433 | 1434 | 1435 | [0e2d0dc1d1345d4](https://github.com/tomasbjerre/git-changelog-command-line/commit/0e2d0dc1d1345d4) Tomas Bjerre *2017-05-13 09:27:15* 1436 | 1437 | 1438 | ## 1.36 1439 | ### No issue 1440 | 1441 | **[Gradle Release Plugin] - pre tag commit: '1.36'.** 1442 | 1443 | 1444 | [f002ed923bda361](https://github.com/tomasbjerre/git-changelog-command-line/commit/f002ed923bda361) Tomas Bjerre *2017-05-13 09:27:06* 1445 | 1446 | **[Gradle Release Plugin] - new version commit: '1.36-SNAPSHOT'.** 1447 | 1448 | 1449 | [c03849e24bb4b44](https://github.com/tomasbjerre/git-changelog-command-line/commit/c03849e24bb4b44) Tomas Bjerre *2017-04-14 09:19:50* 1450 | 1451 | 1452 | ## 1.35 1453 | ### No issue 1454 | 1455 | **[Gradle Release Plugin] - pre tag commit: '1.35'.** 1456 | 1457 | 1458 | [c333000c4d5235a](https://github.com/tomasbjerre/git-changelog-command-line/commit/c333000c4d5235a) Tomas Bjerre *2017-04-14 09:19:42* 1459 | 1460 | **tag time added to tag model** 1461 | 1462 | 1463 | [141cb08bbee6fae](https://github.com/tomasbjerre/git-changelog-command-line/commit/141cb08bbee6fae) Tomas Bjerre *2017-04-14 09:18:12* 1464 | 1465 | 1466 | -------------------------------------------------------------------------------- /src/test/resources/testThatCommitsCanBeIgnoredIfNoIssue.md: -------------------------------------------------------------------------------- 1 | # Git Changelog Command Line changelog 2 | 3 | Changelog of Git Changelog Command Line. 4 | 5 | -------------------------------------------------------------------------------- /src/test/resources/testThatJsonCanBeUsedActual.md: -------------------------------------------------------------------------------- 1 | # Git Changelog Command Line changelog 2 | 3 | Changelog of Git Changelog Command Line. 4 | 5 | ## 1.0 6 | ### Other changes 7 | 8 | **Initial commit** 9 | 10 | 11 | [3dd0012f113ba82](https://github.com/tomasbjerre/git-changelog-command-line/commit/3dd0012f113ba82) Tomas Bjerre *2016-01-27 18:29:52* 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/test/resources/testThatTagsCanBeIgnored.md: -------------------------------------------------------------------------------- 1 | # Git Changelog Command Line changelog 2 | 3 | Changelog of Git Changelog Command Line. 4 | 5 | ## 1.100.2 6 | ### Other changes 7 | 8 | **chore(release): 1.100.2 [GRADLE SCRIPT]** 9 | 10 | 11 | [bc0517978ec8fc7](https://github.com/tomasbjerre/git-changelog-command-line/commit/bc0517978ec8fc7) Tomas Bjerre *2022-05-01 16:54:02* 12 | 13 | **chore(release): Updating changelog with 1.100.1 [GRADLE SCRIPT]** 14 | 15 | 16 | [fcf1423dce5dc14](https://github.com/tomasbjerre/git-changelog-command-line/commit/fcf1423dce5dc14) Tomas Bjerre *2022-03-18 20:06:41* 17 | 18 | 19 | ## 1.100.1 20 | ### Other changes 21 | 22 | **chore(release): 1.100.1 [GRADLE SCRIPT]** 23 | 24 | 25 | [db19ceabaa047e9](https://github.com/tomasbjerre/git-changelog-command-line/commit/db19ceabaa047e9) Tomas Bjerre *2022-03-18 20:06:36* 26 | 27 | **fix: handle case when no tag in repo** 28 | 29 | 30 | [293a8451a7b273d](https://github.com/tomasbjerre/git-changelog-command-line/commit/293a8451a7b273d) Tomas Bjerre *2022-03-18 20:05:37* 31 | 32 | **chore(release): Updating changelog with 1.100.0 [GRADLE SCRIPT]** 33 | 34 | 35 | [d59961a733bc23c](https://github.com/tomasbjerre/git-changelog-command-line/commit/d59961a733bc23c) Tomas Bjerre *2022-03-17 19:34:00* 36 | 37 | 38 | ## 1.100.0 39 | ### Other changes 40 | 41 | **chore(release): 1.100.0 [GRADLE SCRIPT]** 42 | 43 | 44 | [e045275981c66cd](https://github.com/tomasbjerre/git-changelog-command-line/commit/e045275981c66cd) Tomas Bjerre *2022-03-17 19:33:57* 45 | 46 | **feat: fall back on HEAD and MASTER if no toRef is given** 47 | 48 | 49 | [b22c3fbcb67b6d3](https://github.com/tomasbjerre/git-changelog-command-line/commit/b22c3fbcb67b6d3) Tomas Bjerre *2022-03-17 19:32:59* 50 | 51 | **chore(release): Updating changelog with 1.99.8 [GRADLE SCRIPT]** 52 | 53 | 54 | [a3c5bdd6b45ba2c](https://github.com/tomasbjerre/git-changelog-command-line/commit/a3c5bdd6b45ba2c) Tomas Bjerre *2022-02-15 16:42:12* 55 | 56 | 57 | ## 1.99.8 58 | ### Other changes 59 | 60 | **chore(release): 1.99.8 [GRADLE SCRIPT]** 61 | 62 | 63 | [0302e7c5d1fc0f0](https://github.com/tomasbjerre/git-changelog-command-line/commit/0302e7c5d1fc0f0) Tomas Bjerre *2022-02-15 16:42:08* 64 | 65 | 66 | ## 1.99.7 67 | ### Other changes 68 | 69 | **chore(release): 1.99.7 [GRADLE SCRIPT]** 70 | 71 | 72 | [f301a9070627bf0](https://github.com/tomasbjerre/git-changelog-command-line/commit/f301a9070627bf0) Tomas Bjerre *2022-01-20 15:16:37* 73 | 74 | 75 | ## 1.99.6 76 | ### Other changes 77 | 78 | **chore(release): 1.99.6 [GRADLE SCRIPT]** 79 | 80 | 81 | [fed7fdec0faa6a3](https://github.com/tomasbjerre/git-changelog-command-line/commit/fed7fdec0faa6a3) Tomas Bjerre *2022-01-17 15:41:03* 82 | 83 | **chore(release): Updating changelog with 1.99.5 [GRADLE SCRIPT]** 84 | 85 | 86 | [6d800dc07d6499b](https://github.com/tomasbjerre/git-changelog-command-line/commit/6d800dc07d6499b) Tomas Bjerre *2022-01-16 17:15:43* 87 | 88 | 89 | ## 1.99.5 90 | ### Other changes 91 | 92 | **chore(release): 1.99.5 [GRADLE SCRIPT]** 93 | 94 | 95 | [cf9949e4c643253](https://github.com/tomasbjerre/git-changelog-command-line/commit/cf9949e4c643253) Tomas Bjerre *2022-01-16 17:15:39* 96 | 97 | **doc: patch version pattern** 98 | 99 | 100 | [481993eeddf0511](https://github.com/tomasbjerre/git-changelog-command-line/commit/481993eeddf0511) Tomas Bjerre *2022-01-16 09:36:06* 101 | 102 | **chore(release): Updating changelog with 1.99.4 [GRADLE SCRIPT]** 103 | 104 | 105 | [1da7043643219e2](https://github.com/tomasbjerre/git-changelog-command-line/commit/1da7043643219e2) Tomas Bjerre *2022-01-16 09:15:20* 106 | 107 | 108 | ## 1.99.4 109 | ### Other changes 110 | 111 | **chore(release): 1.99.4 [GRADLE SCRIPT]** 112 | 113 | 114 | [bb104b1e6e1ac2d](https://github.com/tomasbjerre/git-changelog-command-line/commit/bb104b1e6e1ac2d) Tomas Bjerre *2022-01-16 09:15:17* 115 | 116 | **fix: disable integrations with a boolean useIntegrations** 117 | 118 | 119 | [ca4886357207905](https://github.com/tomasbjerre/git-changelog-command-line/commit/ca4886357207905) Tomas Bjerre *2022-01-16 09:14:17* 120 | 121 | **chore(release): Updating changelog with 1.99.3 [GRADLE SCRIPT]** 122 | 123 | 124 | [15eb2e52f9dc951](https://github.com/tomasbjerre/git-changelog-command-line/commit/15eb2e52f9dc951) Tomas Bjerre *2022-01-05 14:43:51* 125 | 126 | 127 | ## 1.99.3 128 | ### Other changes 129 | 130 | **chore(release): 1.99.3 [GRADLE SCRIPT]** 131 | 132 | 133 | [efa0b4202c05eb3](https://github.com/tomasbjerre/git-changelog-command-line/commit/efa0b4202c05eb3) Tomas Bjerre *2022-01-05 14:43:47* 134 | 135 | **fix: only parse enabled issues** 136 | 137 | 138 | [03dbb4dc89f02a3](https://github.com/tomasbjerre/git-changelog-command-line/commit/03dbb4dc89f02a3) Tomas Bjerre *2022-01-05 14:42:43* 139 | 140 | 141 | ## 1.99.2 142 | ### Other changes 143 | 144 | **chore(release): 1.99.2 [GRADLE SCRIPT]** 145 | 146 | 147 | [4db9b85132045ee](https://github.com/tomasbjerre/git-changelog-command-line/commit/4db9b85132045ee) Tomas Bjerre *2021-12-23 17:23:39* 148 | 149 | 150 | ## 1.99.1 151 | ### Other changes 152 | 153 | **chore(release): 1.99.1 [GRADLE SCRIPT]** 154 | 155 | 156 | [28cb1177b1d9681](https://github.com/tomasbjerre/git-changelog-command-line/commit/28cb1177b1d9681) Tomas Bjerre *2021-12-22 17:47:43* 157 | 158 | **chore(release): Updating changelog with 1.99.0 [GRADLE SCRIPT]** 159 | 160 | 161 | [b640c61199c8603](https://github.com/tomasbjerre/git-changelog-command-line/commit/b640c61199c8603) Tomas Bjerre *2021-12-12 16:03:42* 162 | 163 | 164 | ## 1.99.0 165 | ### Other changes 166 | 167 | **chore(release): 1.99.0 [GRADLE SCRIPT]** 168 | 169 | 170 | [c0d9d5c39d56561](https://github.com/tomasbjerre/git-changelog-command-line/commit/c0d9d5c39d56561) Tomas Bjerre *2021-12-12 16:03:38* 171 | 172 | **feat: handlebarsHelperFile** 173 | 174 | 175 | [bcaf1753409f48a](https://github.com/tomasbjerre/git-changelog-command-line/commit/bcaf1753409f48a) Tomas Bjerre *2021-12-12 16:02:26* 176 | 177 | **chore(release): Updating changelog with 1.98.0 [GRADLE SCRIPT]** 178 | 179 | 180 | [040469f26e543db](https://github.com/tomasbjerre/git-changelog-command-line/commit/040469f26e543db) Tomas Bjerre *2021-12-03 17:25:21* 181 | 182 | 183 | ## 1.98.0 184 | ### Other changes 185 | 186 | **chore(release): 1.98.0 [GRADLE SCRIPT]** 187 | 188 | 189 | [85593006840d8fe](https://github.com/tomasbjerre/git-changelog-command-line/commit/85593006840d8fe) Tomas Bjerre *2021-12-03 17:25:17* 190 | 191 | **feat Support bearer authorization for Jira** 192 | 193 | 194 | [672722b33a64c67](https://github.com/tomasbjerre/git-changelog-command-line/commit/672722b33a64c67) Lumír Návrat *2021-12-01 19:56:44* 195 | 196 | **doc: readme** 197 | 198 | 199 | [b41dbdea9c12bfb](https://github.com/tomasbjerre/git-changelog-command-line/commit/b41dbdea9c12bfb) Tomas Bjerre *2021-11-27 07:54:58* 200 | 201 | 202 | ## 1.97.3 203 | ### Other changes 204 | 205 | **chore(release): 1.97.3 [GRADLE SCRIPT]** 206 | 207 | 208 | [74f0019670d69bb](https://github.com/tomasbjerre/git-changelog-command-line/commit/74f0019670d69bb) Tomas Bjerre *2021-11-21 20:04:33* 209 | 210 | 211 | ## 1.97.2 212 | ### Other changes 213 | 214 | **chore(release): 1.97.2 [GRADLE SCRIPT]** 215 | 216 | 217 | [06e66545c6e37b4](https://github.com/tomasbjerre/git-changelog-command-line/commit/06e66545c6e37b4) Tomas Bjerre *2021-11-21 20:02:24* 218 | 219 | 220 | ## 1.97.1 221 | ### Other changes 222 | 223 | **chore(release): 1.97.1 [GRADLE SCRIPT]** 224 | 225 | 226 | [7573d800f5c434c](https://github.com/tomasbjerre/git-changelog-command-line/commit/7573d800f5c434c) Tomas Bjerre *2021-11-21 18:37:16* 227 | 228 | **chore(release): Updating changelog with 1.97.0 [GRADLE SCRIPT]** 229 | 230 | 231 | [03af1834527fdbd](https://github.com/tomasbjerre/git-changelog-command-line/commit/03af1834527fdbd) Tomas Bjerre *2021-11-21 09:41:47* 232 | 233 | 234 | ## 1.97.0 235 | ### Other changes 236 | 237 | **chore(release): 1.97.0 [GRADLE SCRIPT]** 238 | 239 | 240 | [094134a6712cfc8](https://github.com/tomasbjerre/git-changelog-command-line/commit/094134a6712cfc8) Tomas Bjerre *2021-11-21 09:41:43* 241 | 242 | **feat: partials** 243 | 244 | 245 | [996d494bca15f39](https://github.com/tomasbjerre/git-changelog-command-line/commit/996d494bca15f39) Tomas Bjerre *2021-11-21 09:40:26* 246 | 247 | **Delete release.sh** 248 | 249 | 250 | [2dfdefdbf506424](https://github.com/tomasbjerre/git-changelog-command-line/commit/2dfdefdbf506424) Tomas Bjerre *2021-11-20 21:11:12* 251 | 252 | **chore(release): Updating changelog with 1.96.6 [GRADLE SCRIPT]** 253 | 254 | 255 | [cc8e8e4b0962237](https://github.com/tomasbjerre/git-changelog-command-line/commit/cc8e8e4b0962237) Tomas Bjerre *2021-11-20 17:54:35* 256 | 257 | 258 | ## 1.96.6 259 | ### Other changes 260 | 261 | **chore(release): 1.96.6 [GRADLE SCRIPT]** 262 | 263 | 264 | [e303784559896cd](https://github.com/tomasbjerre/git-changelog-command-line/commit/e303784559896cd) Tomas Bjerre *2021-11-20 17:54:31* 265 | 266 | **fix: testing** 267 | 268 | 269 | [752d5942065d7f4](https://github.com/tomasbjerre/git-changelog-command-line/commit/752d5942065d7f4) Tomas Bjerre *2021-11-20 17:53:28* 270 | 271 | 272 | ## 1.96.5 273 | ### Other changes 274 | 275 | **chore(release): 1.96.5 [GRADLE SCRIPT]** 276 | 277 | 278 | [324134d2011977f](https://github.com/tomasbjerre/git-changelog-command-line/commit/324134d2011977f) Tomas Bjerre *2021-11-20 17:51:38* 279 | 280 | **chore(release): Updating changelog with 1.96.4 [GRADLE SCRIPT]** 281 | 282 | 283 | [0302f8e2f68aa81](https://github.com/tomasbjerre/git-changelog-command-line/commit/0302f8e2f68aa81) Tomas Bjerre *2021-11-20 17:44:28* 284 | 285 | 286 | ## 1.96.4 287 | ### Other changes 288 | 289 | **chore(release): 1.96.4 [GRADLE SCRIPT]** 290 | 291 | 292 | [6066d4cb44d1759](https://github.com/tomasbjerre/git-changelog-command-line/commit/6066d4cb44d1759) Tomas Bjerre *2021-11-20 17:44:24* 293 | 294 | **fix: COMMAND type** 295 | 296 | 297 | [7a2fc45e1c64411](https://github.com/tomasbjerre/git-changelog-command-line/commit/7a2fc45e1c64411) Tomas Bjerre *2021-11-20 17:43:25* 298 | 299 | 300 | ## 1.96.3 301 | ### Other changes 302 | 303 | **chore(release): 1.96.3 [GRADLE SCRIPT]** 304 | 305 | 306 | [a1785526dadd843](https://github.com/tomasbjerre/git-changelog-command-line/commit/a1785526dadd843) Tomas Bjerre *2021-11-20 17:39:02* 307 | 308 | **chore(release): Updating changelog with 1.96.2 [GRADLE SCRIPT]** 309 | 310 | 311 | [9eb3fca0ee57eab](https://github.com/tomasbjerre/git-changelog-command-line/commit/9eb3fca0ee57eab) Tomas Bjerre *2021-11-20 17:29:32* 312 | 313 | 314 | ## 1.96.2 315 | ### Other changes 316 | 317 | **chore(release): 1.96.2 [GRADLE SCRIPT]** 318 | 319 | 320 | [4f5309f1738a7e6](https://github.com/tomasbjerre/git-changelog-command-line/commit/4f5309f1738a7e6) Tomas Bjerre *2021-11-20 17:29:28* 321 | 322 | **chore: COMMAND** 323 | 324 | 325 | [f18f753c14957ce](https://github.com/tomasbjerre/git-changelog-command-line/commit/f18f753c14957ce) Tomas Bjerre *2021-11-20 17:27:02* 326 | 327 | **chore(release): Updating changelog with 1.96.1 [GRADLE SCRIPT]** 328 | 329 | 330 | [80fb1f0e2e07bd3](https://github.com/tomasbjerre/git-changelog-command-line/commit/80fb1f0e2e07bd3) Tomas Bjerre *2021-11-20 17:25:09* 331 | 332 | 333 | ## 1.96.1 334 | ### Other changes 335 | 336 | **chore(release): 1.96.1 [GRADLE SCRIPT]** 337 | 338 | 339 | [615251911fd693c](https://github.com/tomasbjerre/git-changelog-command-line/commit/615251911fd693c) Tomas Bjerre *2021-11-20 17:25:05* 340 | 341 | **chore: removing files** 342 | 343 | 344 | [cb9ed20361c275f](https://github.com/tomasbjerre/git-changelog-command-line/commit/cb9ed20361c275f) Tomas Bjerre *2021-11-20 17:23:05* 345 | 346 | 347 | ## v1.96.0 348 | ### Other changes 349 | 350 | **1.96.0** 351 | 352 | 353 | [b35a853c094c3dc](https://github.com/tomasbjerre/git-changelog-command-line/commit/b35a853c094c3dc) Tomas Bjerre *2021-11-20 13:14:13* 354 | 355 | **chore(release): Updating changelog with 1.96.0 [GRADLE SCRIPT]** 356 | 357 | 358 | [92b8c57e72a07a2](https://github.com/tomasbjerre/git-changelog-command-line/commit/92b8c57e72a07a2) Tomas Bjerre *2021-11-20 13:13:24* 359 | 360 | 361 | ## 1.96.0 362 | ### Other changes 363 | 364 | **chore(release): 1.96.0 [GRADLE SCRIPT]** 365 | 366 | 367 | [5a8651d68442872](https://github.com/tomasbjerre/git-changelog-command-line/commit/5a8651d68442872) Tomas Bjerre *2021-11-20 13:13:19* 368 | 369 | **fix: match Windows paths** 370 | 371 | 372 | [bea28843cf58a5d](https://github.com/tomasbjerre/git-changelog-command-line/commit/bea28843cf58a5d) Tomas Bjerre *2021-11-20 13:11:53* 373 | 374 | 375 | ## v1.95.0 376 | ### Other changes 377 | 378 | **1.95.0** 379 | 380 | 381 | [8c2c36252d2403e](https://github.com/tomasbjerre/git-changelog-command-line/commit/8c2c36252d2403e) Tomas Bjerre *2021-11-20 12:23:43* 382 | 383 | **chore(release): Updating changelog with 1.95.0 [GRADLE SCRIPT]** 384 | 385 | 386 | [bdb4bbb776f1bdc](https://github.com/tomasbjerre/git-changelog-command-line/commit/bdb4bbb776f1bdc) Tomas Bjerre *2021-11-20 12:17:10* 387 | 388 | 389 | ## 1.95.0 390 | ### Other changes 391 | 392 | **chore(release): 1.95.0 [GRADLE SCRIPT]** 393 | 394 | 395 | [9df15170454d811](https://github.com/tomasbjerre/git-changelog-command-line/commit/9df15170454d811) Tomas Bjerre *2021-11-20 12:17:06* 396 | 397 | **feat: npm-java-runner** 398 | 399 | 400 | [72e923e6add5f0b](https://github.com/tomasbjerre/git-changelog-command-line/commit/72e923e6add5f0b) Tomas Bjerre *2021-11-20 12:12:02* 401 | 402 | **chore(release): Updating changelog with 1.94.0 [GRADLE SCRIPT]** 403 | 404 | 405 | [57ba93fa769e06e](https://github.com/tomasbjerre/git-changelog-command-line/commit/57ba93fa769e06e) Tomas Bjerre *2021-11-16 17:06:39* 406 | 407 | 408 | ## 1.94.0 409 | ### Other changes 410 | 411 | **chore(release): 1.94.0 [GRADLE SCRIPT]** 412 | 413 | 414 | [0044702d570e809](https://github.com/tomasbjerre/git-changelog-command-line/commit/0044702d570e809) Tomas Bjerre *2021-11-16 17:06:35* 415 | 416 | **feat: Redmine Support** 417 | 418 | 419 | [8c08aaf58cd1647](https://github.com/tomasbjerre/git-changelog-command-line/commit/8c08aaf58cd1647) Hakan Uygun *2021-11-15 17:06:39* 420 | 421 | 422 | ## 1.93.0 423 | ### Other changes 424 | 425 | **chore(release): 1.93.0 [GRADLE SCRIPT]** 426 | 427 | 428 | [4c94679b837a0af](https://github.com/tomasbjerre/git-changelog-command-line/commit/4c94679b837a0af) Tomas Bjerre *2021-10-17 16:05:41* 429 | 430 | 431 | ## 1.92.0 432 | ### Other changes 433 | 434 | **chore(release): 1.92.0 [GRADLE SCRIPT]** 435 | 436 | 437 | [e7a97a8beffbecd](https://github.com/tomasbjerre/git-changelog-command-line/commit/e7a97a8beffbecd) Tomas Bjerre *2021-10-17 15:56:47* 438 | 439 | 440 | ## 1.91.0 441 | ### Other changes 442 | 443 | **chore(release): 1.91.0 [GRADLE SCRIPT]** 444 | 445 | 446 | [440bc74f70e7a83](https://github.com/tomasbjerre/git-changelog-command-line/commit/440bc74f70e7a83) Tomas Bjerre *2021-10-17 15:52:21* 447 | 448 | **chore(release): Updating changelog with 1.90.0 [GRADLE SCRIPT]** 449 | 450 | 451 | [bf9b55f0deaa96b](https://github.com/tomasbjerre/git-changelog-command-line/commit/bf9b55f0deaa96b) Tomas Bjerre *2021-10-17 15:45:12* 452 | 453 | 454 | ## 1.90.0 455 | ### Other changes 456 | 457 | **chore(release): 1.90.0 [GRADLE SCRIPT]** 458 | 459 | 460 | [4186dcd07beb219](https://github.com/tomasbjerre/git-changelog-command-line/commit/4186dcd07beb219) Tomas Bjerre *2021-10-17 15:45:08* 461 | 462 | **feat: only step patch if matching pattern** 463 | 464 | 465 | [11d06d7b1128dc1](https://github.com/tomasbjerre/git-changelog-command-line/commit/11d06d7b1128dc1) Tomas Bjerre *2021-10-17 15:43:44* 466 | 467 | **chore(release): Updating changelog with 1.89.0 [GRADLE SCRIPT]** 468 | 469 | 470 | [411a02155f810e5](https://github.com/tomasbjerre/git-changelog-command-line/commit/411a02155f810e5) Tomas Bjerre *2021-07-15 06:29:35* 471 | 472 | 473 | ## 1.89.0 474 | ### Other changes 475 | 476 | **chore(release): 1.89.0 [GRADLE SCRIPT]** 477 | 478 | 479 | [dedbf7d44c2bbf3](https://github.com/tomasbjerre/git-changelog-command-line/commit/dedbf7d44c2bbf3) Tomas Bjerre *2021-07-15 06:29:28* 480 | 481 | **feat: optional minor/major patterns** 482 | 483 | 484 | [7c70e56f135d6a6](https://github.com/tomasbjerre/git-changelog-command-line/commit/7c70e56f135d6a6) Tomas Bjerre *2021-07-15 06:28:22* 485 | 486 | **chore(release): Updating changelog with 1.88.0 [GRADLE SCRIPT]** 487 | 488 | 489 | [fdac98660714fd0](https://github.com/tomasbjerre/git-changelog-command-line/commit/fdac98660714fd0) Tomas Bjerre *2021-06-17 20:06:24* 490 | 491 | 492 | ## 1.88.0 493 | ### Other changes 494 | 495 | **chore(release): 1.88.0 [GRADLE SCRIPT]** 496 | 497 | 498 | [eed770feb13d2ed](https://github.com/tomasbjerre/git-changelog-command-line/commit/eed770feb13d2ed) Tomas Bjerre *2021-06-17 20:06:16* 499 | 500 | **feat: --show-debug-info** 501 | 502 | 503 | [1ba2189a5ada2ee](https://github.com/tomasbjerre/git-changelog-command-line/commit/1ba2189a5ada2ee) Tomas Bjerre *2021-06-17 20:05:05* 504 | 505 | 506 | ## 1.87.0 507 | ### Other changes 508 | 509 | **chore(release): 1.87.0 [GRADLE SCRIPT]** 510 | 511 | 512 | [d0034e22c17d1f1](https://github.com/tomasbjerre/git-changelog-command-line/commit/d0034e22c17d1f1) Tomas Bjerre *2021-06-17 16:32:35* 513 | 514 | 515 | ## 1.86.0 516 | ### Other changes 517 | 518 | **chore(release): 1.86.0 [GRADLE SCRIPT]** 519 | 520 | 521 | [683ed014e775811](https://github.com/tomasbjerre/git-changelog-command-line/commit/683ed014e775811) Tomas Bjerre *2021-06-17 16:04:29* 522 | 523 | 524 | ## 1.85.2 525 | ### Other changes 526 | 527 | **chore(release): 1.85.2 [GRADLE SCRIPT]** 528 | 529 | 530 | [7a779eb9de220b8](https://github.com/tomasbjerre/git-changelog-command-line/commit/7a779eb9de220b8) Tomas Bjerre *2021-06-11 18:15:50* 531 | 532 | 533 | ## 1.85.1 534 | ### Other changes 535 | 536 | **chore(release): 1.85.1 [GRADLE SCRIPT]** 537 | 538 | 539 | [e86c9aabc597246](https://github.com/tomasbjerre/git-changelog-command-line/commit/e86c9aabc597246) Tomas Bjerre *2021-06-09 17:09:19* 540 | 541 | 542 | ## 1.85.0 543 | ### Other changes 544 | 545 | **chore(release): 1.85.0 [GRADLE SCRIPT]** 546 | 547 | 548 | [232465dffd97ff0](https://github.com/tomasbjerre/git-changelog-command-line/commit/232465dffd97ff0) Tomas Bjerre *2021-06-09 15:58:38* 549 | 550 | 551 | ## 1.84.0 552 | ### Other changes 553 | 554 | **chore(release): 1.84.0 [GRADLE SCRIPT]** 555 | 556 | 557 | [d38091d1a38a8d9](https://github.com/tomasbjerre/git-changelog-command-line/commit/d38091d1a38a8d9) Tomas Bjerre *2021-06-09 14:38:10* 558 | 559 | **chore(release): Updating changelog with 1.83.0 [GRADLE SCRIPT]** 560 | 561 | 562 | [bb4319e7f1cef02](https://github.com/tomasbjerre/git-changelog-command-line/commit/bb4319e7f1cef02) Tomas Bjerre *2021-06-03 17:51:50* 563 | 564 | 565 | ## 1.83.0 566 | ### Other changes 567 | 568 | **chore(release): 1.83.0 [GRADLE SCRIPT]** 569 | 570 | 571 | [dc0bd733780693b](https://github.com/tomasbjerre/git-changelog-command-line/commit/dc0bd733780693b) Tomas Bjerre *2021-06-03 17:51:42* 572 | 573 | **chore(release): Updating changelog with 1.82.0 [GRADLE SCRIPT]** 574 | 575 | 576 | [edd38f4abc29bfd](https://github.com/tomasbjerre/git-changelog-command-line/commit/edd38f4abc29bfd) Tomas Bjerre *2021-06-02 19:13:19* 577 | 578 | 579 | ## 1.82.0 580 | ### Other changes 581 | 582 | **chore(release): 1.82.0 [GRADLE SCRIPT]** 583 | 584 | 585 | [39ba6f965b08117](https://github.com/tomasbjerre/git-changelog-command-line/commit/39ba6f965b08117) Tomas Bjerre *2021-06-02 19:13:11* 586 | 587 | **feat: regexp in ifCommitType and ifCommitScope** 588 | 589 | 590 | [aecae77be30ff4b](https://github.com/tomasbjerre/git-changelog-command-line/commit/aecae77be30ff4b) Tomas Bjerre *2021-06-02 19:12:06* 591 | 592 | **Updating changelog with 1.81.0 [GRADLE SCRIPT]** 593 | 594 | 595 | [0a3269c5ff2cb12](https://github.com/tomasbjerre/git-changelog-command-line/commit/0a3269c5ff2cb12) Tomas Bjerre *2021-05-27 17:02:01* 596 | 597 | 598 | ## 1.81.0 599 | ### Other changes 600 | 601 | **New version: 1.81.0 [GRADLE SCRIPT]** 602 | 603 | 604 | [dc44036fe101d0a](https://github.com/tomasbjerre/git-changelog-command-line/commit/dc44036fe101d0a) Tomas Bjerre *2021-05-27 17:01:49* 605 | 606 | **doc: add conventional commits** 607 | 608 | 609 | [f74162e9bfd3b72](https://github.com/tomasbjerre/git-changelog-command-line/commit/f74162e9bfd3b72) Tomas Bjerre *2021-05-27 16:56:04* 610 | 611 | 612 | ## 1.80.0 613 | ### Other changes 614 | 615 | **New version: 1.80.0 [GRADLE SCRIPT]** 616 | 617 | 618 | [2300c742946f4a3](https://github.com/tomasbjerre/git-changelog-command-line/commit/2300c742946f4a3) Tomas Bjerre *2021-05-27 15:09:36* 619 | 620 | **Updating changelog with 1.79.0 [GRADLE SCRIPT]** 621 | 622 | 623 | [c8efea7abea8af4](https://github.com/tomasbjerre/git-changelog-command-line/commit/c8efea7abea8af4) Tomas Bjerre *2021-05-27 15:00:50* 624 | 625 | 626 | ## 1.79.0 627 | ### Other changes 628 | 629 | **New version: 1.79.0 [GRADLE SCRIPT]** 630 | 631 | 632 | [a2d5864173f0fa9](https://github.com/tomasbjerre/git-changelog-command-line/commit/a2d5864173f0fa9) Tomas Bjerre *2021-05-27 15:00:42* 633 | 634 | **doc: custom helpers example in readme** 635 | 636 | 637 | [b9f1909af7ba38b](https://github.com/tomasbjerre/git-changelog-command-line/commit/b9f1909af7ba38b) Tomas Bjerre *2021-05-27 14:58:40* 638 | 639 | 640 | ## 1.78.0 641 | ### Other changes 642 | 643 | **New version: 1.78.0 [GRADLE SCRIPT]** 644 | 645 | 646 | [f5d2d14e516c52b](https://github.com/tomasbjerre/git-changelog-command-line/commit/f5d2d14e516c52b) Tomas Bjerre *2021-05-26 20:09:18* 647 | 648 | 649 | ## 1.77.0 650 | ### Other changes 651 | 652 | **New version: 1.77.0 [GRADLE SCRIPT]** 653 | 654 | 655 | [3175d2627386c6d](https://github.com/tomasbjerre/git-changelog-command-line/commit/3175d2627386c6d) Tomas Bjerre *2021-05-25 18:49:58* 656 | 657 | **Updating changelog with 1.76.1 [GRADLE SCRIPT]** 658 | 659 | 660 | [38c53c2e1f84836](https://github.com/tomasbjerre/git-changelog-command-line/commit/38c53c2e1f84836) Tomas Bjerre *2021-05-25 18:45:06* 661 | 662 | 663 | ## 1.76.1 664 | ### Other changes 665 | 666 | **New version: 1.76.1 [GRADLE SCRIPT]** 667 | 668 | 669 | [03c0f9d804b3057](https://github.com/tomasbjerre/git-changelog-command-line/commit/03c0f9d804b3057) Tomas Bjerre *2021-05-25 18:44:57* 670 | 671 | **doc: updating readme** 672 | 673 | 674 | [3ed5c6159a15ec3](https://github.com/tomasbjerre/git-changelog-command-line/commit/3ed5c6159a15ec3) Tomas Bjerre *2021-05-25 18:43:52* 675 | 676 | **Updating changelog with 1.76.0 [GRADLE SCRIPT]** 677 | 678 | 679 | [cc1961d3a3b9c0f](https://github.com/tomasbjerre/git-changelog-command-line/commit/cc1961d3a3b9c0f) Tomas Bjerre *2021-05-25 18:29:03* 680 | 681 | 682 | ## 1.76.0 683 | ### Other changes 684 | 685 | **New version: 1.76.0 [GRADLE SCRIPT]** 686 | 687 | 688 | [1f40d644fa80b84](https://github.com/tomasbjerre/git-changelog-command-line/commit/1f40d644fa80b84) Tomas Bjerre *2021-05-25 18:28:56* 689 | 690 | **doc: updating readme** 691 | 692 | 693 | [20224075c51891c](https://github.com/tomasbjerre/git-changelog-command-line/commit/20224075c51891c) Tomas Bjerre *2021-05-25 18:23:32* 694 | 695 | **Updating changelog with 1.75.0 [GRADLE SCRIPT]** 696 | 697 | 698 | [0178c415afc26a7](https://github.com/tomasbjerre/git-changelog-command-line/commit/0178c415afc26a7) Tomas Bjerre *2021-05-25 16:30:18* 699 | 700 | 701 | ## 1.75.0 702 | ### Other changes 703 | 704 | **New version: 1.75.0 [GRADLE SCRIPT]** 705 | 706 | 707 | [96242d9d02e863f](https://github.com/tomasbjerre/git-changelog-command-line/commit/96242d9d02e863f) Tomas Bjerre *2021-05-25 16:30:11* 708 | 709 | **updating example** 710 | 711 | 712 | [238cdd4c30d3cf2](https://github.com/tomasbjerre/git-changelog-command-line/commit/238cdd4c30d3cf2) Tomas Bjerre *2021-05-25 16:17:18* 713 | 714 | 715 | ## 1.74.0 716 | ### Other changes 717 | 718 | **New version: 1.74.0 [GRADLE SCRIPT]** 719 | 720 | 721 | [74194a1e2ab6dc8](https://github.com/tomasbjerre/git-changelog-command-line/commit/74194a1e2ab6dc8) Tomas Bjerre *2021-05-25 16:04:49* 722 | 723 | **Updating changelog with 1.73.0 [GRADLE SCRIPT]** 724 | 725 | 726 | [ccec7903d87968c](https://github.com/tomasbjerre/git-changelog-command-line/commit/ccec7903d87968c) Tomas Bjerre *2021-05-25 15:52:23* 727 | 728 | 729 | ## 1.73.0 730 | ### Other changes 731 | 732 | **New version: 1.73.0 [GRADLE SCRIPT]** 733 | 734 | 735 | [15ed4492efe57ef](https://github.com/tomasbjerre/git-changelog-command-line/commit/15ed4492efe57ef) Tomas Bjerre *2021-05-25 15:52:16* 736 | 737 | **working on example** 738 | 739 | 740 | [7d05b035a3110c9](https://github.com/tomasbjerre/git-changelog-command-line/commit/7d05b035a3110c9) Tomas Bjerre *2021-05-25 15:50:51* 741 | 742 | **Updating changelog with 1.72.0 [GRADLE SCRIPT]** 743 | 744 | 745 | [6a114c12e573504](https://github.com/tomasbjerre/git-changelog-command-line/commit/6a114c12e573504) Tomas Bjerre *2021-05-25 14:12:16* 746 | 747 | 748 | ## 1.72.0 749 | ### Other changes 750 | 751 | **New version: 1.72.0 [GRADLE SCRIPT]** 752 | 753 | 754 | [e45182d73d495ce](https://github.com/tomasbjerre/git-changelog-command-line/commit/e45182d73d495ce) Tomas Bjerre *2021-05-25 14:12:07* 755 | 756 | **working on example** 757 | 758 | 759 | [dfc8438949f7afd](https://github.com/tomasbjerre/git-changelog-command-line/commit/dfc8438949f7afd) Tomas Bjerre *2021-05-25 14:11:10* 760 | 761 | 762 | ## 1.71.0 763 | ### Other changes 764 | 765 | **New version: 1.71.0 [GRADLE SCRIPT]** 766 | 767 | 768 | [42eeefc4e6c6e76](https://github.com/tomasbjerre/git-changelog-command-line/commit/42eeefc4e6c6e76) Tomas Bjerre *2021-05-24 14:24:17* 769 | 770 | 771 | ## 1.70.0 772 | ### Other changes 773 | 774 | **New version: 1.70.0 [GRADLE SCRIPT]** 775 | 776 | 777 | [57916a7b67d52ed](https://github.com/tomasbjerre/git-changelog-command-line/commit/57916a7b67d52ed) Tomas Bjerre *2021-05-24 14:22:06* 778 | 779 | **Updating changelog with 1.69.0 [GRADLE SCRIPT]** 780 | 781 | 782 | [25ba2da97a36e8c](https://github.com/tomasbjerre/git-changelog-command-line/commit/25ba2da97a36e8c) Tomas Bjerre *2021-05-23 19:06:10* 783 | 784 | 785 | ## 1.69.0 786 | ### Other changes 787 | 788 | **New version: 1.69.0 [GRADLE SCRIPT]** 789 | 790 | 791 | [64bfb846128d0af](https://github.com/tomasbjerre/git-changelog-command-line/commit/64bfb846128d0af) Tomas Bjerre *2021-05-23 19:06:02* 792 | 793 | **feat: using simple String for helpers** 794 | 795 | 796 | [cbd877fa7d71fd9](https://github.com/tomasbjerre/git-changelog-command-line/commit/cbd877fa7d71fd9) Tomas Bjerre *2021-05-23 19:04:50* 797 | 798 | **Updating changelog with 1.68.0 [GRADLE SCRIPT]** 799 | 800 | 801 | [a10139d3ddb21dc](https://github.com/tomasbjerre/git-changelog-command-line/commit/a10139d3ddb21dc) Tomas Bjerre *2021-05-23 19:02:46* 802 | 803 | 804 | ## 1.68.0 805 | ### Other changes 806 | 807 | **New version: 1.68.0 [GRADLE SCRIPT]** 808 | 809 | 810 | [eed558f8d181aba](https://github.com/tomasbjerre/git-changelog-command-line/commit/eed558f8d181aba) Tomas Bjerre *2021-05-23 19:02:38* 811 | 812 | **feat: using simple String for helpers** 813 | 814 | 815 | [d21a07e34cf472d](https://github.com/tomasbjerre/git-changelog-command-line/commit/d21a07e34cf472d) Tomas Bjerre *2021-05-23 19:01:26* 816 | 817 | **fiddling with semantic changelog** 818 | 819 | 820 | [a42e1b3f827c545](https://github.com/tomasbjerre/git-changelog-command-line/commit/a42e1b3f827c545) Tomas Bjerre *2021-05-23 18:58:25* 821 | 822 | 823 | ## 1.67.0 824 | ### Other changes 825 | 826 | **New version: 1.67.0 [GRADLE SCRIPT]** 827 | 828 | 829 | [d7d3dfdff9030a0](https://github.com/tomasbjerre/git-changelog-command-line/commit/d7d3dfdff9030a0) Tomas Bjerre *2021-05-23 17:18:19* 830 | 831 | **Updating changelog with 1.66.0 [GRADLE SCRIPT]** 832 | 833 | 834 | [8a136b877a1a7f5](https://github.com/tomasbjerre/git-changelog-command-line/commit/8a136b877a1a7f5) Tomas Bjerre *2021-05-23 17:01:34* 835 | 836 | 837 | ## 1.66.0 838 | ### Other changes 839 | 840 | **New version: 1.66.0 [GRADLE SCRIPT]** 841 | 842 | 843 | [1fe721b0bcd0f48](https://github.com/tomasbjerre/git-changelog-command-line/commit/1fe721b0bcd0f48) Tomas Bjerre *2021-05-23 17:01:26* 844 | 845 | **feat support semantic versioning** 846 | 847 | 848 | [5cbe961140bded4](https://github.com/tomasbjerre/git-changelog-command-line/commit/5cbe961140bded4) Tomas Bjerre *2021-05-23 17:00:27* 849 | 850 | **Updating changelog with 1.65.0 [GRADLE SCRIPT]** 851 | 852 | 853 | [a203e1da64cd718](https://github.com/tomasbjerre/git-changelog-command-line/commit/a203e1da64cd718) Tomas Bjerre *2021-05-23 16:54:22* 854 | 855 | 856 | ## 1.65.0 857 | ### Other changes 858 | 859 | **New version: 1.65.0 [GRADLE SCRIPT]** 860 | 861 | 862 | [8fdffe123aed6ba](https://github.com/tomasbjerre/git-changelog-command-line/commit/8fdffe123aed6ba) Tomas Bjerre *2021-05-23 16:54:15* 863 | 864 | **feat support semantic versioning** 865 | 866 | 867 | [38d6135a1ae263f](https://github.com/tomasbjerre/git-changelog-command-line/commit/38d6135a1ae263f) Tomas Bjerre *2021-05-23 16:53:14* 868 | 869 | **Updating changelog with 1.64.0 [GRADLE SCRIPT]** 870 | 871 | 872 | [f48146e034bfce8](https://github.com/tomasbjerre/git-changelog-command-line/commit/f48146e034bfce8) Tomas Bjerre *2021-05-23 16:45:50* 873 | 874 | 875 | ## 1.64.0 876 | ### Other changes 877 | 878 | **New version: 1.64.0 [GRADLE SCRIPT]** 879 | 880 | 881 | [4271e9cefed8712](https://github.com/tomasbjerre/git-changelog-command-line/commit/4271e9cefed8712) Tomas Bjerre *2021-05-23 16:45:43* 882 | 883 | **feat support semantic versioning** 884 | 885 | 886 | [10372d605ea2964](https://github.com/tomasbjerre/git-changelog-command-line/commit/10372d605ea2964) Tomas Bjerre *2021-05-23 16:44:35* 887 | 888 | **Updating changelog with 1.63.0 [GRADLE SCRIPT]** 889 | 890 | 891 | [96f9e614ed86629](https://github.com/tomasbjerre/git-changelog-command-line/commit/96f9e614ed86629) Tomas Bjerre *2021-04-04 18:54:28* 892 | 893 | 894 | ## 1.63.0 895 | ### Other changes 896 | 897 | **New version: 1.63.0 [GRADLE SCRIPT]** 898 | 899 | 900 | [56e7dba3968f16e](https://github.com/tomasbjerre/git-changelog-command-line/commit/56e7dba3968f16e) Tomas Bjerre *2021-04-04 18:54:21* 901 | 902 | **correcting timestamp** 903 | 904 | 905 | [c121c7d012855f7](https://github.com/tomasbjerre/git-changelog-command-line/commit/c121c7d012855f7) Tomas Bjerre *2021-04-04 18:52:58* 906 | 907 | **Updating changelog with 1.62.0 [GRADLE SCRIPT]** 908 | 909 | 910 | [6c0d5f990817af2](https://github.com/tomasbjerre/git-changelog-command-line/commit/6c0d5f990817af2) Tomas Bjerre *2021-04-04 18:34:37* 911 | 912 | 913 | ## 1.62.0 914 | ### Other changes 915 | 916 | **New version: 1.62.0 [GRADLE SCRIPT]** 917 | 918 | 919 | [44116df32bea852](https://github.com/tomasbjerre/git-changelog-command-line/commit/44116df32bea852) Tomas Bjerre *2021-04-04 18:34:30* 920 | 921 | **new build script** 922 | 923 | 924 | [c0382112885082d](https://github.com/tomasbjerre/git-changelog-command-line/commit/c0382112885082d) Tomas Bjerre *2021-04-04 18:30:58* 925 | 926 | **doc** 927 | 928 | 929 | [d6d50006d3a472a](https://github.com/tomasbjerre/git-changelog-command-line/commit/d6d50006d3a472a) Tomas Bjerre *2021-04-04 17:03:17* 930 | 931 | **Updating changelog with 1.61.0 [GRADLE SCRIPT]** 932 | 933 | 934 | [fe318512f414552](https://github.com/tomasbjerre/git-changelog-command-line/commit/fe318512f414552) Tomas Bjerre *2021-04-04 17:01:29* 935 | 936 | 937 | ## 1.61.0 938 | ### Other changes 939 | 940 | **New version: 1.61.0 [GRADLE SCRIPT]** 941 | 942 | 943 | [ebf9a4107901358](https://github.com/tomasbjerre/git-changelog-command-line/commit/ebf9a4107901358) Tomas Bjerre *2021-04-04 16:58:51* 944 | 945 | **new build script** 946 | 947 | 948 | [3a68ef98d978e80](https://github.com/tomasbjerre/git-changelog-command-line/commit/3a68ef98d978e80) Tomas Bjerre *2021-04-04 16:57:27* 949 | 950 | **new build script** 951 | 952 | 953 | [d9466a8f207a417](https://github.com/tomasbjerre/git-changelog-command-line/commit/d9466a8f207a417) Tomas Bjerre *2021-04-04 16:56:41* 954 | 955 | **Updating changelog with 1.60.1 [GRADLE SCRIPT]** 956 | 957 | 958 | [06cc575adc2608d](https://github.com/tomasbjerre/git-changelog-command-line/commit/06cc575adc2608d) Tomas Bjerre *2021-04-04 16:01:43* 959 | 960 | 961 | ## 1.60.1 962 | ### Other changes 963 | 964 | **New version: 1.60.1 [GRADLE SCRIPT]** 965 | 966 | 967 | [cde3fbd31ff4b69](https://github.com/tomasbjerre/git-changelog-command-line/commit/cde3fbd31ff4b69) Tomas Bjerre *2021-04-04 16:01:36* 968 | 969 | **new build script** 970 | 971 | 972 | [b303742f3be2df9](https://github.com/tomasbjerre/git-changelog-command-line/commit/b303742f3be2df9) Tomas Bjerre *2021-04-04 15:57:37* 973 | 974 | **pretty printing output JENKINS-65252** 975 | 976 | 977 | [e199393b7b624e2](https://github.com/tomasbjerre/git-changelog-command-line/commit/e199393b7b624e2) Tomas Bjerre *2021-03-29 15:37:29* 978 | 979 | **Removing default ignore filter on message** 980 | 981 | 982 | [e91812b6eef13cf](https://github.com/tomasbjerre/git-changelog-command-line/commit/e91812b6eef13cf) Tomas Bjerre *2021-01-18 16:57:58* 983 | 984 | **Adjustments after merge of PR #7** 985 | 986 | 987 | [4d2af148b1a7ba0](https://github.com/tomasbjerre/git-changelog-command-line/commit/4d2af148b1a7ba0) Tomas Bjerre *2020-11-07 15:58:51* 988 | 989 | **Support custom headers to JIRA to bypass 2 factor auth** 990 | 991 | 992 | [2792a5046366c47](https://github.com/tomasbjerre/git-changelog-command-line/commit/2792a5046366c47) Yauheni Biruk *2020-11-07 14:57:23* 993 | 994 | **naming** 995 | 996 | 997 | [0246b3a370c4f13](https://github.com/tomasbjerre/git-changelog-command-line/commit/0246b3a370c4f13) Dmitry Mamchur *2020-02-25 13:08:49* 998 | 999 | **bump git-changelog-lib version** 1000 | 1001 | 1002 | [d3b4091c0145e9f](https://github.com/tomasbjerre/git-changelog-command-line/commit/d3b4091c0145e9f) Dmitry Mamchur *2020-02-25 12:39:13* 1003 | 1004 | **align naming with git-changelog-lib** 1005 | 1006 | 1007 | [53657c77ec38f8b](https://github.com/tomasbjerre/git-changelog-command-line/commit/53657c77ec38f8b) Dmitry Mamchur *2020-02-25 12:38:51* 1008 | 1009 | **update readme** 1010 | 1011 | 1012 | [e75d56cf326c4a9](https://github.com/tomasbjerre/git-changelog-command-line/commit/e75d56cf326c4a9) Dmitry Mamchur *2020-02-25 12:16:06* 1013 | 1014 | **add support for jira token** 1015 | 1016 | 1017 | [b48f83d7f34079a](https://github.com/tomasbjerre/git-changelog-command-line/commit/b48f83d7f34079a) Dmitry Mamchur *2020-02-20 15:41:36* 1018 | 1019 | **openjdk8** 1020 | 1021 | 1022 | [0405ac4ad84c9fd](https://github.com/tomasbjerre/git-changelog-command-line/commit/0405ac4ad84c9fd) Tomas Bjerre *2019-10-09 13:14:34* 1023 | 1024 | **Create FUNDING.yml** 1025 | 1026 | 1027 | [067fca4c6cbe0c5](https://github.com/tomasbjerre/git-changelog-command-line/commit/067fca4c6cbe0c5) Tomas Bjerre *2019-09-28 07:05:38* 1028 | 1029 | **Gradle 5** 1030 | 1031 | 1032 | [48acc0c2ac1839e](https://github.com/tomasbjerre/git-changelog-command-line/commit/48acc0c2ac1839e) Tomas Bjerre *2019-06-11 18:03:15* 1033 | 1034 | **Removing dependency on javax.xml** 1035 | 1036 | 1037 | [1108865f1024786](https://github.com/tomasbjerre/git-changelog-command-line/commit/1108865f1024786) Tomas Bjerre *2019-06-11 16:58:38* 1038 | 1039 | **JDK 11 compatible** 1040 | 1041 | 1042 | [436550774dc2ade](https://github.com/tomasbjerre/git-changelog-command-line/commit/436550774dc2ade) Tomas Bjerre *2019-06-11 16:30:00* 1043 | 1044 | **slf4j** 1045 | 1046 | 1047 | [e8f65b19415b1ab](https://github.com/tomasbjerre/git-changelog-command-line/commit/e8f65b19415b1ab) Tomas Bjerre *2019-05-30 13:39:40* 1048 | 1049 | **doc** 1050 | 1051 | 1052 | [bd8004089502412](https://github.com/tomasbjerre/git-changelog-command-line/commit/bd8004089502412) Tomas Bjerre *2019-05-29 18:04:27* 1053 | 1054 | **doc** 1055 | 1056 | 1057 | [7b9120a14926f9a](https://github.com/tomasbjerre/git-changelog-command-line/commit/7b9120a14926f9a) Tomas Bjerre *2019-05-29 17:45:51* 1058 | 1059 | **doc** 1060 | 1061 | 1062 | [546b4634f550ac3](https://github.com/tomasbjerre/git-changelog-command-line/commit/546b4634f550ac3) Tomas Bjerre *2019-05-29 17:25:56* 1063 | 1064 | **doc** 1065 | 1066 | 1067 | [b9b579705985131](https://github.com/tomasbjerre/git-changelog-command-line/commit/b9b579705985131) Tomas Bjerre *2019-05-29 17:17:19* 1068 | 1069 | **doc** 1070 | 1071 | 1072 | [4ad87e4ce2c0320](https://github.com/tomasbjerre/git-changelog-command-line/commit/4ad87e4ce2c0320) Tomas Bjerre *2019-05-29 17:11:56* 1073 | 1074 | **doc** 1075 | 1076 | 1077 | [e3ff40ca79ec5d4](https://github.com/tomasbjerre/git-changelog-command-line/commit/e3ff40ca79ec5d4) Tomas Bjerre *2019-05-29 16:45:53* 1078 | 1079 | **Adding jdeploy to release script** 1080 | 1081 | 1082 | [0e7113abb20c452](https://github.com/tomasbjerre/git-changelog-command-line/commit/0e7113abb20c452) Tomas Bjerre *2019-05-29 16:27:50* 1083 | 1084 | **Dropping Gradle application and packaging runnable jar** 1085 | 1086 | 1087 | [67ec69a7683efd9](https://github.com/tomasbjerre/git-changelog-command-line/commit/67ec69a7683efd9) Tomas Bjerre *2019-05-29 16:14:46* 1088 | 1089 | **Stepping lib** 1090 | 1091 | 1092 | [58f760b6e6157bf](https://github.com/tomasbjerre/git-changelog-command-line/commit/58f760b6e6157bf) Tomas Bjerre *2019-02-25 15:59:02* 1093 | 1094 | **Moving application to before shaddow plugin** 1095 | 1096 | 1097 | [86de96e119f451a](https://github.com/tomasbjerre/git-changelog-command-line/commit/86de96e119f451a) Tomas Bjerre *2018-04-20 10:00:52* 1098 | 1099 | **Closing RevWalk JENKINS-19994** 1100 | 1101 | 1102 | [69198a6151dc014](https://github.com/tomasbjerre/git-changelog-command-line/commit/69198a6151dc014) Tomas Bjerre *2017-12-30 20:45:19* 1103 | 1104 | **Doc** 1105 | 1106 | 1107 | [090c31efd122ff4](https://github.com/tomasbjerre/git-changelog-command-line/commit/090c31efd122ff4) Tomas Bjerre *2017-12-19 12:31:32* 1108 | 1109 | **Bumping version to fix faulty release** 1110 | 1111 | 1112 | [0b6575a7726b978](https://github.com/tomasbjerre/git-changelog-command-line/commit/0b6575a7726b978) Tomas Bjerre *2017-12-19 12:02:40* 1113 | 1114 | **Description available for Jira issues** 1115 | 1116 | 1117 | [d4841fab0e3949b](https://github.com/tomasbjerre/git-changelog-command-line/commit/d4841fab0e3949b) Tomas Bjerre *2017-12-19 11:48:16* 1118 | 1119 | **Adjusting to Bintray** 1120 | 1121 | 1122 | [79bf1fad841ef56](https://github.com/tomasbjerre/git-changelog-command-line/commit/79bf1fad841ef56) Tomas Bjerre *2017-12-19 11:43:01* 1123 | 1124 | **Lib 1.72** 1125 | 1126 | 1127 | [58fa0073f072ef6](https://github.com/tomasbjerre/git-changelog-command-line/commit/58fa0073f072ef6) Tomas Bjerre *2017-09-08 09:08:50* 1128 | 1129 | **Lib 1.71** 1130 | 1131 | 1132 | [1074f832a4c8934](https://github.com/tomasbjerre/git-changelog-command-line/commit/1074f832a4c8934) Tomas Bjerre *2017-07-25 18:26:30* 1133 | 1134 | **Lib 1.70** 1135 | 1136 | 1137 | [61cdd7d4b44f573](https://github.com/tomasbjerre/git-changelog-command-line/commit/61cdd7d4b44f573) Tomas Bjerre *2017-07-24 19:37:17* 1138 | 1139 | **ignoreCommitsOlderThan** 1140 | 1141 | 1142 | [0d52803865316bd](https://github.com/tomasbjerre/git-changelog-command-line/commit/0d52803865316bd) Tomas Bjerre *2017-07-08 07:35:03* 1143 | 1144 | **tag time added to tag model** 1145 | 1146 | 1147 | [141cb08bbee6fae](https://github.com/tomasbjerre/git-changelog-command-line/commit/141cb08bbee6fae) Tomas Bjerre *2017-04-14 09:18:12* 1148 | 1149 | **GitLab integration** 1150 | 1151 | 1152 | [449caf097a8fc08](https://github.com/tomasbjerre/git-changelog-command-line/commit/449caf097a8fc08) Tomas Bjerre *2017-03-25 16:35:42* 1153 | 1154 | **Fix Jira labels** 1155 | 1156 | 1157 | [44794701a5eb1dc](https://github.com/tomasbjerre/git-changelog-command-line/commit/44794701a5eb1dc) Tomas Bjerre *2017-03-20 18:20:07* 1158 | 1159 | **Git Changelog Lib 1.58 -> 1.64** 1160 | 1161 | * Jira issueType and labels 1162 | * GitHub labels 1163 | * 10 seconds timeout to GitHub 1164 | 1165 | [cd884b3291e7659](https://github.com/tomasbjerre/git-changelog-command-line/commit/cd884b3291e7659) Tomas Bjerre *2017-03-18 09:32:26* 1166 | 1167 | **Set theme jekyll-theme-slate** 1168 | 1169 | 1170 | [5bee23a3f889712](https://github.com/tomasbjerre/git-changelog-command-line/commit/5bee23a3f889712) Tomas Bjerre *2017-02-07 20:21:48* 1171 | 1172 | **Adding annotation to context of tag** 1173 | 1174 | 1175 | [680fd78af6e828a](https://github.com/tomasbjerre/git-changelog-command-line/commit/680fd78af6e828a) Tomas Bjerre *2016-10-22 09:46:10* 1176 | 1177 | **doc** 1178 | 1179 | 1180 | [14591c118d9d066](https://github.com/tomasbjerre/git-changelog-command-line/commit/14591c118d9d066) Tomas Bjerre *2016-10-05 18:35:59* 1181 | 1182 | **Adding merge boolean to commits #35** 1183 | 1184 | 1185 | [b27d768978dc40f](https://github.com/tomasbjerre/git-changelog-command-line/commit/b27d768978dc40f) Tomas Bjerre *2016-10-05 18:32:06* 1186 | 1187 | **Lib 1.56 correcting link to Jira** 1188 | 1189 | 1190 | [0663c27008b6c10](https://github.com/tomasbjerre/git-changelog-command-line/commit/0663c27008b6c10) Tomas Bjerre *2016-08-11 14:47:13* 1191 | 1192 | **Adding {{hashFull}} variable** 1193 | 1194 | 1195 | [eb89a06b91265d8](https://github.com/tomasbjerre/git-changelog-command-line/commit/eb89a06b91265d8) Tomas Bjerre *2016-08-02 18:24:35* 1196 | 1197 | **Faster** 1198 | 1199 | 1200 | [223b34816bdd780](https://github.com/tomasbjerre/git-changelog-command-line/commit/223b34816bdd780) Tomas Bjerre *2016-06-25 00:07:17* 1201 | 1202 | **Fixing merge commits... again...** 1203 | 1204 | 1205 | [72a26d37a434998](https://github.com/tomasbjerre/git-changelog-command-line/commit/72a26d37a434998) Tomas Bjerre *2016-06-24 21:10:07* 1206 | 1207 | **Including commits from merges lib issue 49** 1208 | 1209 | 1210 | [c1227c6120f9e28](https://github.com/tomasbjerre/git-changelog-command-line/commit/c1227c6120f9e28) Tomas Bjerre *2016-06-24 09:34:26* 1211 | 1212 | **Adding script to add bin to path** 1213 | 1214 | 1215 | [309b65cbe000872](https://github.com/tomasbjerre/git-changelog-command-line/commit/309b65cbe000872) Tomas Bjerre *2016-06-20 19:18:51* 1216 | 1217 | **Lib 1.49, finding first commit as parents from HEAD** 1218 | 1219 | 1220 | [6c28f9b5d5bc128](https://github.com/tomasbjerre/git-changelog-command-line/commit/6c28f9b5d5bc128) Tomas Bjerre *2016-06-02 18:29:53* 1221 | 1222 | **Ignoring trailing slash in JIRA URL** 1223 | 1224 | 1225 | [4bd1a4d3366768d](https://github.com/tomasbjerre/git-changelog-command-line/commit/4bd1a4d3366768d) Tomas Bjerre *2016-05-20 19:07:37* 1226 | 1227 | **Lib 1.45** 1228 | 1229 | 1230 | [88a91833658029d](https://github.com/tomasbjerre/git-changelog-command-line/commit/88a91833658029d) Tomas Bjerre *2016-04-13 18:38:43* 1231 | 1232 | **JENKINS-34155 Support short SHA** 1233 | 1234 | 1235 | [56fc1410ff6b872](https://github.com/tomasbjerre/git-changelog-command-line/commit/56fc1410ff6b872) Tomas Bjerre *2016-04-12 17:00:59* 1236 | 1237 | **doc** 1238 | 1239 | 1240 | [9e890fb3151e1ec](https://github.com/tomasbjerre/git-changelog-command-line/commit/9e890fb3151e1ec) Tomas Bjerre *2016-04-10 09:17:27* 1241 | 1242 | **Lib 1.43, Parsing commits, oldest first** 1243 | 1244 | 1245 | [fec08570ae03569](https://github.com/tomasbjerre/git-changelog-command-line/commit/fec08570ae03569) Tomas Bjerre *2016-04-10 09:15:29* 1246 | 1247 | **Lib 1.42, Parsing commits, oldest first** 1248 | 1249 | 1250 | [d3a83d8422b2c3f](https://github.com/tomasbjerre/git-changelog-command-line/commit/d3a83d8422b2c3f) Tomas Bjerre *2016-04-10 09:04:38* 1251 | 1252 | **Lib 1.41, Commits added to correct tags** 1253 | 1254 | 1255 | [8865a3af376eccc](https://github.com/tomasbjerre/git-changelog-command-line/commit/8865a3af376eccc) Tomas Bjerre *2016-04-09 20:42:51* 1256 | 1257 | **Lib 1.40 can ignore tags by regexp** 1258 | 1259 | 1260 | [24b1fd830d85fd2](https://github.com/tomasbjerre/git-changelog-command-line/commit/24b1fd830d85fd2) Tomas Bjerre *2016-04-07 18:51:58* 1261 | 1262 | **Lib 1.39** 1263 | 1264 | 1265 | [d843ab2414be0e7](https://github.com/tomasbjerre/git-changelog-command-line/commit/d843ab2414be0e7) Tomas Bjerre *2016-03-20 09:50:01* 1266 | 1267 | **Lib 1.38** 1268 | 1269 | 1270 | [f6371e136d5fc22](https://github.com/tomasbjerre/git-changelog-command-line/commit/f6371e136d5fc22) Tomas Bjerre *2016-03-20 09:23:18* 1271 | 1272 | **Lib 1.36** 1273 | 1274 | 1275 | [12a6c079e7103bc](https://github.com/tomasbjerre/git-changelog-command-line/commit/12a6c079e7103bc) Tomas Bjerre *2016-03-15 20:31:47* 1276 | 1277 | **Lib 1.35** 1278 | 1279 | 1280 | [701ea9325b6c45c](https://github.com/tomasbjerre/git-changelog-command-line/commit/701ea9325b6c45c) Tomas Bjerre *2016-03-15 20:14:46* 1281 | 1282 | **Support GitHub OAuth2 tokens #1** 1283 | 1284 | 1285 | [7b5e98122110337](https://github.com/tomasbjerre/git-changelog-command-line/commit/7b5e98122110337) Tomas Bjerre *2016-03-15 19:17:11* 1286 | 1287 | **Supplying commit in each issue mentioned in message** 1288 | 1289 | 1290 | [67b997695bfe797](https://github.com/tomasbjerre/git-changelog-command-line/commit/67b997695bfe797) Tomas Bjerre *2016-02-20 08:17:23* 1291 | 1292 | **Updating CHANGELOG.md** 1293 | 1294 | 1295 | [0f1d69f8049ffb7](https://github.com/tomasbjerre/git-changelog-command-line/commit/0f1d69f8049ffb7) Tomas Bjerre *2016-02-15 18:11:25* 1296 | 1297 | 1298 | ## 1.9 1299 | ### Other changes 1300 | 1301 | **Lib 1.30, supporting multiple tags on same commit** 1302 | 1303 | 1304 | [444d5d850a7490a](https://github.com/tomasbjerre/git-changelog-command-line/commit/444d5d850a7490a) Tomas Bjerre *2016-02-15 18:08:12* 1305 | 1306 | **Updating CHANGELOG.md** 1307 | 1308 | 1309 | [cd1b774623fff9a](https://github.com/tomasbjerre/git-changelog-command-line/commit/cd1b774623fff9a) Tomas Bjerre *2016-02-14 17:56:12* 1310 | 1311 | 1312 | ## 1.8 1313 | ### Other changes 1314 | 1315 | **Lib 1.29** 1316 | 1317 | 1318 | [f69357fac63ae1a](https://github.com/tomasbjerre/git-changelog-command-line/commit/f69357fac63ae1a) Tomas Bjerre *2016-02-14 17:42:33* 1319 | 1320 | 1321 | ## 1.7 1322 | ### Other changes 1323 | 1324 | **Lib 1.28, performance optimizations** 1325 | 1326 | 1327 | [e8230ac1b0ec6be](https://github.com/tomasbjerre/git-changelog-command-line/commit/e8230ac1b0ec6be) Tomas Bjerre *2016-02-14 16:52:59* 1328 | 1329 | 1330 | ## 1.6 1331 | ### Other changes 1332 | 1333 | **Significant performance improvements** 1334 | 1335 | * Using lib 1.27. 1336 | 1337 | [d2cf164af5d00c6](https://github.com/tomasbjerre/git-changelog-command-line/commit/d2cf164af5d00c6) Tomas Bjerre *2016-02-13 09:00:47* 1338 | 1339 | 1340 | ## 1.5 1341 | ### Other changes 1342 | 1343 | **Updating README.md** 1344 | 1345 | 1346 | [773372ae5c8c640](https://github.com/tomasbjerre/git-changelog-command-line/commit/773372ae5c8c640) Tomas Bjerre *2016-02-10 18:28:06* 1347 | 1348 | **Git changelog lib 1.25** 1349 | 1350 | 1351 | [23773c4f53f1a4c](https://github.com/tomasbjerre/git-changelog-command-line/commit/23773c4f53f1a4c) Tomas Bjerre *2016-02-10 18:27:25* 1352 | 1353 | 1354 | ## 1.4 1355 | ### Other changes 1356 | 1357 | **Added variables: messageTitle, messageBody, messageItems #5** 1358 | 1359 | 1360 | [13c62bbb0784d0a](https://github.com/tomasbjerre/git-changelog-command-line/commit/13c62bbb0784d0a) Tomas Bjerre *2016-02-09 19:38:44* 1361 | 1362 | **Updating CHANGELOG.md** 1363 | 1364 | 1365 | [496444b04e46ff6](https://github.com/tomasbjerre/git-changelog-command-line/commit/496444b04e46ff6) Tomas Bjerre *2016-02-03 19:45:06* 1366 | 1367 | 1368 | ## 1.3 1369 | ### Other changes 1370 | 1371 | **Adding -tec and -ex** 1372 | 1373 | * -tec enables specifying template content on command line. 1374 | * -ex enables extended variables to be added from command line. Like -ex "{\"var1\": \"val1\"}". 1375 | 1376 | [79ebeca10883ed8](https://github.com/tomasbjerre/git-changelog-command-line/commit/79ebeca10883ed8) Tomas Bjerre *2016-02-03 17:32:18* 1377 | 1378 | **Doc** 1379 | 1380 | 1381 | [3d282e2d8bc6335](https://github.com/tomasbjerre/git-changelog-command-line/commit/3d282e2d8bc6335) Tomas Bjerre *2016-01-31 21:26:10* 1382 | 1383 | **Maven Central version badge in README.md** 1384 | 1385 | 1386 | [2717b408666b574](https://github.com/tomasbjerre/git-changelog-command-line/commit/2717b408666b574) Tomas Bjerre *2016-01-31 21:15:58* 1387 | 1388 | 1389 | ## 1.2 1390 | ### Other changes 1391 | 1392 | **Using lib 1.23** 1393 | 1394 | 1395 | [6ddc200752f4c06](https://github.com/tomasbjerre/git-changelog-command-line/commit/6ddc200752f4c06) Tomas Bjerre *2016-01-31 11:21:12* 1396 | 1397 | 1398 | ## 1.1 1399 | ### Other changes 1400 | 1401 | **Lib 1.22 and test cases** 1402 | 1403 | 1404 | [c66eae3ba424076](https://github.com/tomasbjerre/git-changelog-command-line/commit/c66eae3ba424076) Tomas Bjerre *2016-01-30 17:23:15* 1405 | 1406 | **Updating CHANGELOG.md** 1407 | 1408 | * And correcting link to Maven Central 1409 | 1410 | [e711322ff826053](https://github.com/tomasbjerre/git-changelog-command-line/commit/e711322ff826053) Tomas Bjerre *2016-01-28 18:17:38* 1411 | 1412 | 1413 | ## 1.0 1414 | ### Other changes 1415 | 1416 | **Initial commit** 1417 | 1418 | 1419 | [3dd0012f113ba82](https://github.com/tomasbjerre/git-changelog-command-line/commit/3dd0012f113ba82) Tomas Bjerre *2016-01-27 18:29:52* 1420 | 1421 | 1422 | -------------------------------------------------------------------------------- /src/test/resources/testThatVariablesCanBeUsed.md: -------------------------------------------------------------------------------- 1 | extended variable: value1 --------------------------------------------------------------------------------