Skip to content

chore(release): renumber unreleased 0.77.1 to 0.78.0, log #546 - #550

Merged
padak merged 1 commit into
mainfrom
claude/changelog-0780
Aug 2, 2026
Merged

chore(release): renumber unreleased 0.77.1 to 0.78.0, log #546#550
padak merged 1 commit into
mainfrom
claude/changelog-0780

Conversation

@padak

@padak padak commented Aug 2, 2026

Copy link
Copy Markdown
Member

Bookkeeping ahead of the 0.78.0 release. No behaviour change.

Why

1. #546 has no changelog entry at all. #549 merged without one, matching how #530 /
#531 landed before their release PR bundled them. That is exactly the failure mode that
left 0.67.0–0.70.1 merged-but-unpublished and undocumented, so the entry is written now
while the change is fresh rather than reconstructed at tag time.

2. 0.77.1 will never exist. It is merged into main (pyproject.toml and a
changelog key) but was never tagged, and the next release is 0.78.0 bundling several PRs.
Leaving the key would ship 0.78.0 with its fixes filed under a version nobody can install.

So: 0.77.10.78.0 in pyproject.toml and changelog.py, the (since v0.77.1) tags
in gotchas.md retargeted, make version-sync run, and the #546 entry added above the
#528 one.

Also: two redundant-cast warnings I introduced in #549

ty flagged cast(io.BytesIO, stream.buffer) in the new tests. Deleting the casts turned
the warnings into unresolved-attribute errorsTextIOWrapper.buffer is declared
as _WrappedBuffer, which has no getvalue — so removing them would have been a
downgrade from a non-blocking warning to a blocking one.

The actual fix is to stop reaching through .buffer: a small frozen Cp1250Stdout holds
the BytesIO directly alongside the text wrapper. That also gives the streaming tests
access to the helper, which lived in the other test class and was unreachable from them —
they had been duplicating the wrapper construction.

Preferred over returning a 2-tuple, which CONTRIBUTING's "Code Quality Patterns" rules out
for semantically distinct values (the same rule Devin cited on #543).

ty is now down to the 3 pre-existing warnings on main, none from this code.

Checks

make check green — ruff, format, ty, skill, version, command-sync, changelog, error
codes, and 4744 tests.

Note for the release

Windows users on ≤0.77.0 should install 0.78.0 with the recovery command rather than
letting auto-update make the jump — the update to the fixed version is still performed
by the old, unsafe updater on their current install. From 0.78.0 onward auto-update is
safe. Both #528 and #546 reporters have been told; worth repeating in the release notes.


Open in Devin Review

v0.77.1 was merged but never tagged, and the next release will be 0.78.0
bundling several PRs -- so the changelog key and pyproject version are
renumbered rather than leaving an entry for a version that will not exist.

More importantly, #549 landed with no changelog entry at all, matching how
#530/#531 landed before their release PR. That is the failure mode that
left 0.67.0-0.70.1 unpublished and undocumented, so the #546 fix is
written up now rather than at tag time.

Also clears the two `redundant-cast` warnings my #549 tests introduced.
Deleting the casts turned them into `unresolved-attribute` ERRORS --
`TextIOWrapper.buffer` is declared as `_WrappedBuffer`, which has no
`getvalue` -- so the fix is to stop reaching through `.buffer` at all: a
small frozen `Cp1250Stdout` holds the `BytesIO` directly. That also gives
the streaming tests in the other class access to the same helper, which
they did not have.
@padak
padak merged commit 2432982 into main Aug 2, 2026
4 of 5 checks passed
@padak
padak deleted the claude/changelog-0780 branch August 2, 2026 08:25

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment thread src/keboola_agent_cli/changelog.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant