diff --git a/chglog_test.go b/chglog_test.go
index cc8a3497..6d329801 100644
--- a/chglog_test.go
+++ b/chglog_test.go
@@ -253,13 +253,18 @@ change message.`)
err := gen.Generate(buf, "")
assert.Nil(err)
- assert.Equal(`
-## 2.0.0-beta.0 (2018-01-03)
+ assert.Equal(`
+## [Unreleased]
+### Bug Fixes
+- **core:** Fix commit
+
+
+
+## [2.0.0-beta.0] - 2018-01-03
### Features
-
-* **context:** Online breaking change
-* **router:** Muliple breaking change
+- **context:** Online breaking change
+- **router:** Muliple breaking change
### BREAKING CHANGE
@@ -270,28 +275,26 @@ change message.
Online breaking change message.
-
-## 1.1.0 (2018-01-02)
-
+## [1.1.0] - 2018-01-02
### Features
-
-* **parser:** New some super options #333
+- **parser:** New some super options #333
### Reverts
-
-* feat(core): Add foo bar @mention and issue #987
+- feat(core): Add foo bar @mention and issue #987
### Pull Requests
-
-* Merge pull request #1000 from tsuyoshiwada/patch-1
-* Merge pull request #999 from tsuyoshiwada/patch-1
+- Merge pull request #1000 from tsuyoshiwada/patch-1
+- Merge pull request #999 from tsuyoshiwada/patch-1
-## 1.0.0 (2018-01-01)
-
+## 1.0.0 - 2018-01-01
### Features
+- **core:** Add foo bar
-* **core:** Add foo bar`, strings.TrimSpace(buf.String()))
+
+[Unreleased]: https://github.com/git-chglog/git-chglog/compare/2.0.0-beta.0...HEAD
+[2.0.0-beta.0]: https://github.com/git-chglog/git-chglog/compare/1.1.0...2.0.0-beta.0
+[1.1.0]: https://github.com/git-chglog/git-chglog/compare/1.0.0...1.1.0`, strings.TrimSpace(buf.String()))
}
diff --git a/testdata/type_scope_subject.md b/testdata/type_scope_subject.md
index 918ea9d9..33103070 100644
--- a/testdata/type_scope_subject.md
+++ b/testdata/type_scope_subject.md
@@ -1,22 +1,56 @@
-{{range .Versions}}
-
-## {{.Tag.Name}} ({{datetime "2006-01-02" .Tag.Date}})
-{{range .CommitGroups}}
-### {{.Title}}
-{{range .Commits}}
-* {{if ne .Scope ""}}**{{.Scope}}:** {{end}}{{.Subject}}{{end}}
-{{end}}{{if .RevertCommits}}
+{{ if .Versions -}}
+
+## [Unreleased]
+
+{{ if .Unreleased.CommitGroups -}}
+{{ range .Unreleased.CommitGroups -}}
+### {{ .Title }}
+{{ range .Commits -}}
+- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{ range .Versions }}
+
+## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
+{{ range .CommitGroups -}}
+### {{ .Title }}
+{{ range .Commits -}}
+- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
### Reverts
-{{range .RevertCommits}}
-* {{.Revert.Header}}{{end}}
-{{end}}{{if .MergeCommits}}
+{{ range .RevertCommits -}}
+- {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
### Pull Requests
-{{range .MergeCommits}}
-* {{.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}
-{{end}}
+{{ range .MergeCommits -}}
+- {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{- if .Versions }}
+[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
+{{ range .Versions -}}
+{{ if .Tag.Previous -}}
+[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
+{{ end -}}
+{{ end -}}
+{{ end -}}