Skip to content

Commit 8ca278f

Browse files
authored
Merge pull request ipfs#6388 from ipfs/feat/release-0.4.21
release 0.4.21
2 parents 6cd273f + 1d67e0a commit 8ca278f

File tree

3 files changed

+108
-6
lines changed

3 files changed

+108
-6
lines changed

CHANGELOG.md

+45-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# go-ipfs changelog
22

3-
## 0.4.21 2019-05-28
3+
## 0.4.21 2019-05-30
44

55
We're happy to announce go-ipfs 0.4.21. This release has some critical bug fixes
66
and a handful of new features so every user should upgrade.
@@ -37,6 +37,50 @@ github.com/libp2p/go-libp2p-secio to _at least_ v0.0.3.
3737

3838
[secio-bug]: https://github.com/libp2p/go-libp2p/issues/644
3939

40+
### Contributors
41+
42+
First off, we'd like to give a shout-out to all contributors that participated
43+
in this release (including contributions to ipld, libp2p, and multiformats):
44+
45+
| Contributor | Commits | Lines ± | Files Changed |
46+
|----------------------------|---------|-------------|---------------|
47+
| Steven Allen | 220 | +6078/-4211 | 520 |
48+
| Łukasz Magiera | 53 | +5039/-4557 | 274 |
49+
| vyzo | 179 | +2929/-1704 | 238 |
50+
| Raúl Kripalani | 44 | +757/-1895 | 134 |
51+
| hannahhoward | 11 | +755/-1005 | 49 |
52+
| Marten Seemann | 16 | +862/-203 | 44 |
53+
| keks | 10 | +359/-110 | 12 |
54+
| Jan Winkelmann | 8 | +368/-26 | 16 |
55+
| Jakub Sztandera | 4 | +361/-8 | 7 |
56+
| Adrian Lanzafame | 1 | +287/-18 | 5 |
57+
| Erik Ingenito | 4 | +247/-28 | 8 |
58+
| Reid 'arrdem' McKenzie | 1 | +220/-20 | 3 |
59+
| Yusef Napora | 26 | +98/-130 | 26 |
60+
| Michael Avila | 3 | +116/-59 | 8 |
61+
| Raghav Gulati | 13 | +145/-26 | 13 |
62+
| tg | 1 | +41/-33 | 1 |
63+
| Matt Joiner | 6 | +41/-30 | 7 |
64+
| Cole Brown | 1 | +37/-25 | 1 |
65+
| Dominic Della Valle | 2 | +12/-40 | 4 |
66+
| Overbool | 1 | +50/-0 | 2 |
67+
| Christopher Buesser | 3 | +29/-16 | 10 |
68+
| myself659 | 1 | +38/-5 | 2 |
69+
| Alex Browne | 3 | +30/-8 | 3 |
70+
| jmank88 | 1 | +27/-4 | 2 |
71+
| Vikram | 1 | +25/-1 | 2 |
72+
| MollyM | 7 | +17/-9 | 7 |
73+
| Marcin Rataj | 1 | +17/-1 | 1 |
74+
| requilence | 1 | +11/-4 | 1 |
75+
| Teran McKinney | 1 | +8/-2 | 1 |
76+
| Oli Evans | 1 | +5/-5 | 1 |
77+
| Masashi Salvador Mitsuzawa | 1 | +5/-1 | 1 |
78+
| chenminjian | 1 | +4/-0 | 1 |
79+
| Edgar Lee | 1 | +3/-1 | 1 |
80+
| Dirk McCormick | 1 | +2/-2 | 2 |
81+
| ia | 1 | +1/-1 | 1 |
82+
| Alan Shaw | 1 | +1/-1 | 1 |
83+
4084
### Bug Fixes And Enhancements
4185

4286
This release includes quite a number of critical bug fixes and

bin/mkreleaselog

+62-4
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,50 @@ alias jq="jq --unbuffered"
99
[[ -n "${REPO_FILTER+x}" ]] || REPO_FILTER="github.com/(ipfs|libp2p|ipld)"
1010
[[ -n "${IGNORED_FILES+x}" ]] || IGNORED_FILES='^\(\.gx\|package.json\|\.travis.yml\|go.mod\|go.sum\)$'
1111

12+
NL=$'\n'
13+
1214
msg() {
1315
echo "$*" >&2
1416
}
1517

18+
statlog() {
19+
rpath="$GOPATH/src/$1"
20+
start="${2:-}"
21+
end="${3:-HEAD}"
22+
git -C "$rpath" log --shortstat --no-merges --pretty="tformat:%H%n%aN%n%aE" "$start..$end" | while
23+
read hash
24+
read name
25+
read email
26+
read _ # empty line
27+
read changes
28+
do
29+
changed=0
30+
insertions=0
31+
deletions=0
32+
while read count event; do
33+
if [[ "$event" =~ ^file ]]; then
34+
changed=$count
35+
elif [[ "$event" =~ ^insertion ]]; then
36+
insertions=$count
37+
elif [[ "$event" =~ ^deletion ]]; then
38+
deletions=$count
39+
else
40+
echo "unknown event $event" >&2
41+
exit 1
42+
fi
43+
done<<<"${changes//,/$NL}"
44+
45+
jq -n \
46+
--arg "hash" "$hash" \
47+
--arg "name" "$name" \
48+
--arg "email" "$email" \
49+
--argjson "changed" "$changed" \
50+
--argjson "insertions" "$insertions" \
51+
--argjson "deletions" "$deletions" \
52+
'{Commit: $hash, Author: $name, Email: $email, Files: $changed, Insertions: $insertions, Deletions: $deletions}'
53+
done
54+
}
55+
1656
# Returns a stream of deps changed between $1 and $2.
1757
dep_changes() {
1858
{
@@ -46,7 +86,7 @@ release_log() {
4686
grep -v "${IGNORED_FILES}" >/dev/null || continue
4787

4888
local desc="$(git -C "$dir" show --summary --format='tformat:%b' "$commit" | head -1)"
49-
printf "- %s ([%s#%s](https://%s/pull/%s))\n" "$desc" "$ghname" "$prnum" "$repo" "$prnum"
89+
printf -- "- %s ([%s#%s](https://%s/pull/%s))\n" "$desc" "$ghname" "$prnum" "$repo" "$prnum"
5090
done
5191
}
5292

@@ -75,6 +115,11 @@ ensure() {
75115
git -C "$rpath" rev-parse --verify "$commit" >/dev/null || return 1
76116
}
77117

118+
statsummary() {
119+
jq -s 'group_by(.Author)[] | {Author: .[0].Author, Commits: (. | length), Insertions: (map(.Insertions) | add), Deletions: (map(.Deletions) | add), Files: (map(.Files) | add)}' |
120+
jq '. + {Lines: (.Deletions + .Insertions)}'
121+
}
122+
78123
recursive_release_log() {
79124
local start="${1:-$(git tag -l | sort -V | grep -v -- '-rc' | grep 'v'| tail -n1)}"
80125
local end="${2:-$(git rev-parse HEAD)}"
@@ -95,24 +140,37 @@ recursive_release_log() {
95140

96141
rm -f go.mod go.sum
97142

98-
printf "Generating Changelog for %s %s..%s\n" "$package" "$start" "$end" >&2
143+
printf -- "Generating Changelog for %s %s..%s\n" "$package" "$start" "$end" >&2
99144

100-
printf "- %s:\n" "$package"
145+
printf -- "- %s:\n" "$package"
101146
release_log "$package" "$start" "$end" | indent
102147

103148

149+
statlog "$package" "$start" "$end" > statlog.json
150+
104151
dep_changes old_deps.json new_deps.json |
105152
jq --arg filter "$REPO_FILTER" 'select(.Path | match($filter))' |
106153
# Compute changelogs
107154
jq -r '"\(.Path) \(.New.Version) \(.New.Ref) \(.Old.Version) \(.Old.Ref // "")"' |
108155
while read repo new new_ref old old_ref; do
109156
ensure "$repo" "$new_ref"
157+
statlog "$repo" "$old_ref" "$new_ref" >> statlog.json
110158
local changelog="$(release_log "$repo" "$old_ref" "$new_ref")"
111159
if [[ -n "$changelog" ]]; then
112-
printf "- %s (%s -> %s):\n" "$repo" "$old" "$new"
160+
printf -- "- %s (%s -> %s):\n" "$repo" "$old" "$new"
113161
echo "$changelog" | indent
114162
fi
115163
done
164+
165+
echo
166+
echo "Contributors"
167+
echo
168+
169+
echo "| Contributor | Commits | Lines ± | Files Changed |"
170+
echo "|-------------|---------|---------|---------------|"
171+
statsummary <statlog.json |
172+
jq -s 'sort_by(.Lines) | reverse | .[]' |
173+
jq -r '"| \(.Author) | \(.Commits) | +\(.Insertions)/-\(.Deletions) | \(.Files) |"'
116174
)
117175
}
118176

version.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ package ipfs
44
var CurrentCommit string
55

66
// CurrentVersionNumber is the current application's version literal
7-
const CurrentVersionNumber = "0.4.21-rc3"
7+
const CurrentVersionNumber = "0.4.21"
88

99
const ApiVersion = "/go-ipfs/" + CurrentVersionNumber + "/"

0 commit comments

Comments
 (0)