diff --git a/CHANGELOG.md b/CHANGELOG.md index a3d0c60fce07..904693af5f10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/scripts/github-changelog.cr b/scripts/github-changelog.cr index 4d48e580a2c8..cc2f24a1f365 100755 --- a/scripts/github-changelog.cr +++ b/scripts/github-changelog.cr @@ -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) @@ -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] @@ -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 " @@ -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) @@ -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| @@ -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 = { diff --git a/shard.yml b/shard.yml index f0aef072ed4d..34953645d65e 100644 --- a/shard.yml +++ b/shard.yml @@ -1,5 +1,5 @@ name: crystal -version: 1.15.0 +version: 1.15.1 authors: - Crystal Core Team diff --git a/src/SOURCE_DATE_EPOCH b/src/SOURCE_DATE_EPOCH index 6fcaded9e558..e200f06cd97f 100644 --- a/src/SOURCE_DATE_EPOCH +++ b/src/SOURCE_DATE_EPOCH @@ -1 +1 @@ -1736380800 +1738627200 diff --git a/src/VERSION b/src/VERSION index 141f2e805beb..ace44233b4aa 100644 --- a/src/VERSION +++ b/src/VERSION @@ -1 +1 @@ -1.15.0 +1.15.1