Skip to content

chore(main): release 0.2.7#234

Merged
kaizhou-lab merged 4 commits into
mainfrom
release-please--branches--main--components--aionrs
Jul 23, 2026
Merged

chore(main): release 0.2.7#234
kaizhou-lab merged 4 commits into
mainfrom
release-please--branches--main--components--aionrs

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.2.7 (2026-07-23)

Bug Fixes

  • agent: finalize repeated tool failures without tools (d459812)
  • agent: finalize repeated tool failures without tools (1f784b1)
  • agent: retain repeated failures across mixed rounds (559aa3f)
  • compact: correct context token accounting (#233) (ca5cef0)
  • providers: buffer partial UTF-8 across SSE chunk boundaries (a23390d)
  • providers: buffer partial UTF-8 across SSE chunk boundaries (49b83ad)
  • providers: handle embedded json errors in streaming responses (386c6fe)
  • providers: handle embedded json stream errors (2ed229b)
  • providers: preserve successful json responses (161b815)
  • tools: handle line ending differences in edit (de03e6b)
  • tools: handle line ending differences in edit (84be8fa)
  • tools: prioritize exact edit matches (e95043a)

This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--aionrs branch 3 times, most recently from 921c975 to ee37e05 Compare July 23, 2026 03:41
zk and others added 4 commits July 23, 2026 14:55
Streaming SSE decoding called String::from_utf8_lossy on each raw
bytes_stream() chunk independently before handing the text to the
line/block framers. When a multibyte UTF-8 character (e.g. a 3-byte
CJK character) was split across two network chunks, each half was
lossy-decoded separately and replaced with U+FFFD, dropping the
character from streamed output.

Add a byte-level Utf8StreamDecoder carry buffer that only emits
complete UTF-8 sequences per chunk and retains the incomplete
trailing bytes until the next chunk. Apply it to the OpenAI,
OpenAI-Responses and Anthropic SSE paths, flushing any remainder at
the true end of the stream. The Bedrock path already buffers raw
bytes and is unaffected.

Adds unit tests covering a CJK string split mid-character across
chunk boundaries (no U+FFFD) and a legitimately-truncated tail.

Addresses Sentry ELECTRON-3NH / ELECTRON-3P5.
fix(providers): buffer partial UTF-8 across SSE chunk boundaries
@kaizhou-lab
kaizhou-lab merged commit 445a18e into main Jul 23, 2026
@kaizhou-lab
kaizhou-lab deleted the release-please--branches--main--components--aionrs branch July 23, 2026 08:33
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant