Fix multiline changelog entries truncation in release news text generation #329
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When generating release news text, multiline changelog entries were being truncated, losing important content on continuation lines. This affected the quality and completeness of release announcements.
Example of the issue:
A changelog entry like:
Was being rendered in news text as:
The continuation line
of \
get_class()`` was completely lost.Root Cause
The issue was in the
displayReleaseSummary()
method inMakeCommand.php
. The regex pattern used to extract changelog content:Used the
$
end-of-line anchor, which only matched single-line entries. When changelog entries contained newlines, the regex failed to match properly.Solution
Replaced the problematic regex with a multiline-aware solution:
s
flag to make.
match newline charactersResult
Multiline changelog entries are now fully preserved in release news text:
The fix maintains full backward compatibility with existing single-line entries while properly handling multiline content.
Fixes #47
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051
/usr/bin/php8.3 -n -c /tmp/mqvUSi /usr/bin/composer install --no-dev
(http block)https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a
/usr/bin/php8.3 -n -c /tmp/mqvUSi /usr/bin/composer install --no-dev
(http block)https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71
/usr/bin/php8.3 -n -c /tmp/mqvUSi /usr/bin/composer install --no-dev
(http block)https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822
/usr/bin/php8.3 -n -c /tmp/mqvUSi /usr/bin/composer install --no-dev
(http block)https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62
/usr/bin/php8.3 -n -c /tmp/mqvUSi /usr/bin/composer install --no-dev
(http block)https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608
/usr/bin/php8.3 -n -c /tmp/mqvUSi /usr/bin/composer install --no-dev
(http block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.