Releases: yuri-val/auto-pr-action
Release list
Release v1.4.0
Changes in this Release:
-
feat: default to gpt-5.6-luna and tune prompt for GPT-5.6
-
Switch the default model from gpt-5.4-mini to gpt-5.6-luna
-
Rewrite the system prompt per the GPT-5.6 prompting guide: lean
instructions, real newlines (previously literal \n sequences), clear
output contract (summary + emoji sections, no title/preamble) -
Set reasoning_effort "low" and raise max_completion_tokens to 4096 so
reasoning tokens don't starve the visible answer on large releases -
Expose pr_number as a composite action output via outputs.value
(previously declared but never propagated)
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- fix: bound the model payload so large releases don't 400
A big release (the dev→master diff after a 256-commit feature branch merge)
produced a ~2.3MB diff. Capped at 1MB it was still ~300k+ tokens of dense
code+Cyrillic, overflowing the model's context window → OpenAI returned
HTTP 400 (context_length_exceeded), which the action reported only as the
opaque "OpenAI API request failed".
Changes:
- Build a compact, high-signal payload: commit log + per-file diffstat first,
then the unified diff. The log/stat (~50KB here) always survive truncation. - Lower the cap to a context-safe default (max_diff_bytes input, 200000) and
truncate UTF-8-safely (head -c | iconv -f UTF-8 -t UTF-8 -c) so a multibyte
char split mid-sequence can't yield invalid UTF-8 (another 400 cause). - Drop the explicit temperature: 0.7 — the gpt-5 family only accepts the
default, so a non-default value is itself a 400 risk; the default is fine
for description generation. - Capture the HTTP status + API error body (no more --fail-with-body swallow)
so failures like context_length_exceeded are visible in the logs.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Base Release v1
This is the base release for v1. Latest version: v1.4.0
Changelog:
-
feat: default to gpt-5.6-luna and tune prompt for GPT-5.6
-
Switch the default model from gpt-5.4-mini to gpt-5.6-luna
-
Rewrite the system prompt per the GPT-5.6 prompting guide: lean
instructions, real newlines (previously literal \n sequences), clear
output contract (summary + emoji sections, no title/preamble) -
Set reasoning_effort "low" and raise max_completion_tokens to 4096 so
reasoning tokens don't starve the visible answer on large releases -
Expose pr_number as a composite action output via outputs.value
(previously declared but never propagated)
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- fix: bound the model payload so large releases don't 400
A big release (the dev→master diff after a 256-commit feature branch merge)
produced a ~2.3MB diff. Capped at 1MB it was still ~300k+ tokens of dense
code+Cyrillic, overflowing the model's context window → OpenAI returned
HTTP 400 (context_length_exceeded), which the action reported only as the
opaque "OpenAI API request failed".
Changes:
- Build a compact, high-signal payload: commit log + per-file diffstat first,
then the unified diff. The log/stat (~50KB here) always survive truncation. - Lower the cap to a context-safe default (max_diff_bytes input, 200000) and
truncate UTF-8-safely (head -c | iconv -f UTF-8 -t UTF-8 -c) so a multibyte
char split mid-sequence can't yield invalid UTF-8 (another 400 cause). - Drop the explicit temperature: 0.7 — the gpt-5 family only accepts the
default, so a non-default value is itself a 400 risk; the default is fine
for description generation. - Capture the HTTP status + API error body (no more --fail-with-body swallow)
so failures like context_length_exceeded are visible in the logs.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Release v1.3.2
Changes in this Release:
- fix: raise PR diff cap from 100KB to 1MB
100KB was overly conservative; 1MB of UTF-8 fits comfortably within the
model's 400k-token context window, so larger release diffs are sent to
the model intact.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Release v1.3.1
Changes in this Release:
- fix: stream PR diff via file instead of env var
A large master..dev diff (hundreds of KB) was exported to the OpenAI
step as the DIFF_OUTPUT env var. A single env/arg string above
MAX_ARG_STRLEN (128KB on Linux) makes execve fail with E2BIG, so the
step could not start ('Argument list too long').
Write the diff to a file in get_diff, build the request body with
'jq --rawfile', and POST with 'curl -d @file'. Also cap the diff at
100KB so the request stays within model token limits.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Release v1.3.0
Changes in this Release:
-
Merge remote-tracking branch 'refs/remotes/origin/main'
-
🚀 Update Auto Release workflow and action.yml for improved functionality and clarity
-
🐛 Exclude *.pem files from diff output in pull request generation
-
Update action.yml
Release v1.2.2
Changes in this Release:
-
🐛 Exclude *.pem files from diff output in pull request generation
-
Update action.yml
Release v1.2.1
🐛 Fix multiline changelog parsing in GitHub release creation
- 🔧 Updated the
Create or Update Base Releasestep in auto-release workflow - 🔀 Added
envsection to properly handle multiline changelog - 📦 Used
toJSONfunction to safely pass changelog content - 🔍 Changed changelog parsing from direct string to
JSON.parse(process.env.CHANGELOG) - 🚀 This fix ensures that multiline changelogs are correctly processed
- 💬 Prevents potential issues with special characters or line breaks in commit messages
- 📊 Improves reliability of changelog display in GitHub releases
This update addresses a potential issue where multiline changelogs might not be correctly parsed when creating or updating GitHub releases. By using toJSON and JSON.parse, we ensure that the full changelog content, including any special characters or line breaks, is accurately preserved and displayed in the release notes. This change complements the previous update to include full commit messages, ensuring that all commit information is properly captured and presented in the release documentation.
🚀 Update changelog generation to include full commit messages
- 📝 Modified the
Generate changelogstep in the auto-release workflow - 🔄 Changed
git logformat from%s(subject only) to%B(full body) - 🧹 Added sed command to clean up trailing newlines
- 💬 This change ensures that multiline commit messages are fully captured
- 📊 Improves the detail and context provided in release changelogs
- 🔍 Allows for better tracking of complex changes and feature additions
These updates will provide more comprehensive and informative release notes, helping users and developers better understand the changes in each release. The full commit messages will now be visible, preserving important details that might have been omitted in the single-line format.
📝 Refine action description for clarity and conciseness
🔍 This commit focuses on improving the readability and effectiveness of our Auto PR action's description:
- Streamlined the action description to be more concise while retaining all key information
- Maintained the clarity of purpose: automating PR creation, generating descriptions, and adding reviewers
- Kept the emphasis on the action's core functionality: working with dev and main/master branches
- Retained mention of OpenAI integration for description generation
This update enhances the action's presentation in the marketplace and documentation, making it easier for users to quickly understand the action's capabilities and purpose.
Release v1.1.1
Changes in this Release:
- 🚀 Enhance Auto PR action with improved metadata and error handling
Release v1.1.0
Changes in this Release:
- 📚 Update README and action.yml with new OpenAI model input
- 📚 Create pull_request_template.md
- 📚 Update feature_request.md
- 📚 Update bug_report.md
- 📚 Update issue templates
- 🔐 Create SECURITY.md
- 📚 Create CONTRIBUTING.md
- 📚 Create CODE_OF_CONDUCT.md
Release v1.0.5
Changes in this Release:
- 🚀 Enhance auto-release workflow with base version tagging