github Arthur-Ficial/apfel v1.10.0

3 hours ago

What's Changed

  • 5f5114b fix(tests): assert the truncation marker where it actually lands (#464)
  • c22939c fix(tests): correct two model-test defects that blocked the release gate
  • ae09e9d fix(mcp): bound stdin writes with poll and a deadline (#418)
  • 6feb43f refactor(server): unify chatFailure and responsesFailure into openAIFailure (#437)
  • 7c32c61 fix(security): create the chat-history file 0600 before writing prompts into it (#473)
  • f45d04f fix(stream): detect a divergent retry instead of splicing two generations (#402)
  • d0984ad fix(session): fail loudly when the MCP re-prompt cap is exhausted (#435)
  • 68a62f2 fix(cli): drain the pipe before waiting for exit in shellOutput (#433)
  • 0a0425e fix(mcp): propagate a failed remote initialized notification (#432)
  • 4f8fea9 fix(mcp): move blocking stdio I/O off the cooperative pool (#431)
  • 2e06983 fix(responses): emit response.incomplete for truncated streams (#412)
  • 530af98 fix(responses): 400 for malformed content, reject image parts (#409)
  • 812c3ab fix(validation): reject unknown message roles instead of silently dropping them (#405)
  • 6496655 fix(count-tokens): include the prompt in the total when --mcp is used (#399)
  • 2350c08 fix(cli): make repeated --messages last-flag-wins (#416)
  • 3411200 fix(stdin): reject unreadable and invalid-UTF-8 stdin instead of silently discarding it (#397)
  • 5e28529 docs(background-service): stop recommending /tmp/apfel.log as the launchd log path (#466)
  • fa0448d fix(core): reject unrepresentable JSON numbers instead of storing null (#455)
  • 2ed07f6 fix(benchmark): make measure() rethrow so a failing operation fails the run (#436)
  • 8e5cfec fix(tests): run the #213 permit-leak regression in CI (#434)
  • d7a4db6 fix(responses): honour the truncation field instead of silently trimming (#391)
  • b6f86dc fix(server): reject json_schema when MCP tools are attached (#392)
  • e359a2c fix(context): join all system messages into the instructions (#390)
  • 1b96455 fix(server): set an HTTP idle timeout so stalled bodies release their permit (#463)
  • 6b3b547 fix(logging): gate MCP tool args and results behind --debug (#464)
  • c539f13 fix(server): warn on --allowed-origins '*' the way --no-origin-check warns (#465)
  • e511da2 fix(server): cap JSON nesting depth in AnyCodable (#462)
  • 7cbafa7 fix(output): survive a closed stdout or stderr pipe (#389)
  • 8d24ee5 fix(tool-call): do not abort on scalar tool-call arguments (#388)
  • 107a20d fix(ci): install Python test deps into a venv, not the system prefix (#477)
  • b39659a docs(claude): sync to v1.9.1

Install: brew install apfel
Upgrade: brew upgrade apfel

Don't miss a new apfel release

NewReleases is sending notifications on new releases.