Skip to content

Commit

Permalink
Changelog for 1.15.1 (#15406)
Browse files Browse the repository at this point in the history
  • Loading branch information
straight-shoota authored Feb 4, 2025
1 parent a1d9b22 commit 89944bf
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 47 deletions.
47 changes: 47 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,52 @@
# Changelog

## [1.15.1] (2025-02-04)

[1.15.1]: https://github.com/crystal-lang/crystal/releases/1.15.1

### Bugfixes

#### stdlib

- *(networking)* Disable directory path redirect when `directory_listing=false` ([#15393], thanks @straight-shoota)
- *(runtime)* **[regression]** abstract `EventLoop::Polling#system_add` invalid signature ([#15380], backported from [#15358], thanks @straight-shoota)
- *(system)* **[regression]** Fix GC `sig_suspend`, `sig_resume` for `gc_none` ([#15382], backported from [#15349], thanks @ysbaddaden)

[#15393]: https://github.com/crystal-lang/crystal/pull/15393
[#15380]: https://github.com/crystal-lang/crystal/pull/15380
[#15358]: https://github.com/crystal-lang/crystal/pull/15358
[#15382]: https://github.com/crystal-lang/crystal/pull/15382
[#15349]: https://github.com/crystal-lang/crystal/pull/15349

### Documentation

#### stdlib

- *(system)* Fix code example in `Process::Status#exit_code` docs ([#15381], backported from [#15351], thanks @zw963)

[#15381]: https://github.com/crystal-lang/crystal/pull/15381
[#15351]: https://github.com/crystal-lang/crystal/pull/15351

### Infrastructure

- Changelog for 1.15.1 ([#15406], thanks @straight-shoota)
- Update distribution-scripts ([#15385], backported from [#15368], thanks @straight-shoota)
- Update distribution-scripts ([#15388], thanks @straight-shoota)
- Add backports to changelog generator ([#15402], thanks @straight-shoota)
- *(ci)* Add build shards to `mingw-w64` workflow ([#15344], thanks @straight-shoota)
- *(ci)* Update shards 0.19.1 ([#15384], backported from [#15366], thanks @straight-shoota)
- *(ci)* Add check for shards binary in `test_dist_linux_on_docker` ([#15394], thanks @straight-shoota)

[#15406]: https://github.com/crystal-lang/crystal/pull/15406
[#15385]: https://github.com/crystal-lang/crystal/pull/15385
[#15368]: https://github.com/crystal-lang/crystal/pull/15368
[#15388]: https://github.com/crystal-lang/crystal/pull/15388
[#15402]: https://github.com/crystal-lang/crystal/pull/15402
[#15344]: https://github.com/crystal-lang/crystal/pull/15344
[#15384]: https://github.com/crystal-lang/crystal/pull/15384
[#15366]: https://github.com/crystal-lang/crystal/pull/15366
[#15394]: https://github.com/crystal-lang/crystal/pull/15394

## [1.15.0] (2025-01-09)

[1.15.0]: https://github.com/crystal-lang/crystal/releases/1.15.0
Expand Down
48 changes: 4 additions & 44 deletions scripts/github-changelog.cr
Original file line number Diff line number Diff line change
Expand Up @@ -271,18 +271,6 @@ record PullRequest,
md = title.match(/\[fixup #(.\d+)/) || return
md[1]?.try(&.to_i)
end

def clean_title
title.sub(/^\[?(?:#{type}|#{sub_topic})(?::|\]:?) /i, "").sub(/\s*\[Backport [^\]]+\]\s*/, "")
end

def backported?
labels.any?(&.starts_with?("backport"))
end

def backport?
title.includes?("[Backport ")
end
end

def query_milestone(api_token, repository, number)
Expand Down Expand Up @@ -324,9 +312,8 @@ end

milestone = query_milestone(api_token, repository, milestone)

class ChangelogEntry
struct ChangelogEntry
getter pull_requests : Array(PullRequest)
property backported_from : PullRequest?

def initialize(pr : PullRequest)
@pull_requests = [pr]
Expand Down Expand Up @@ -355,18 +342,13 @@ class ChangelogEntry
if pr.deprecated?
io << "**[deprecation]** "
end
io << pr.clean_title
io << pr.title.sub(/^\[?(?:#{pr.type}|#{pr.sub_topic})(?::|\]:?) /i, "")

io << " ("
pull_requests.join(io, ", ") do |pr|
pr.link_ref(io)
end

if backported_from = self.backported_from
io << ", backported from "
backported_from.link_ref(io)
end

authors = collect_authors
if authors.present?
io << ", thanks "
Expand All @@ -379,26 +361,15 @@ class ChangelogEntry

def collect_authors
authors = [] of String

if backported_from = self.backported_from
if author = backported_from.author
authors << author
end
end

pull_requests.each_with_index do |pr, i|
next if backported_from && i.zero?

pull_requests.each do |pr|
author = pr.author || next
authors << author unless authors.includes?(author)
end

authors
end

def print_ref_labels(io)
pull_requests.each { |pr| print_ref_label(io, pr) }
backported_from.try { |pr| print_ref_label(io, pr) }
end

def print_ref_label(io, pr)
Expand All @@ -409,7 +380,7 @@ class ChangelogEntry
end

entries = milestone.pull_requests.compact_map do |pr|
ChangelogEntry.new(pr) unless pr.fixup? || pr.backported?
ChangelogEntry.new(pr) unless pr.fixup?
end

milestone.pull_requests.each do |pr|
Expand All @@ -423,17 +394,6 @@ milestone.pull_requests.each do |pr|
end
end

milestone.pull_requests.each do |pr|
next unless pr.backported?

backport = entries.find { |entry| entry.pr.backport? && entry.pr.clean_title == pr.clean_title }
if backport
backport.backported_from = pr
else
STDERR.puts "Unresolved backport: #{pr.clean_title.inspect} (##{pr.number})"
end
end

sections = entries.group_by(&.pr.section)

SECTION_TITLES = {
Expand Down
2 changes: 1 addition & 1 deletion shard.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: crystal
version: 1.15.0
version: 1.15.1

authors:
- Crystal Core Team <crystal@manas.tech>
Expand Down
2 changes: 1 addition & 1 deletion src/SOURCE_DATE_EPOCH
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1736380800
1738627200
2 changes: 1 addition & 1 deletion src/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.15.0
1.15.1

0 comments on commit 89944bf

Please sign in to comment.