What's Changed
- fix(release): flutter-publish embeds iOS xcframework from artifact root by @eric8810 in #29
- fix(jvm): publish via Central Portal OSSRH Staging API (s01 returns 402) by @eric8810 in #30
- fix(jvm): route SNAPSHOT vs release to correct portal repo by @eric8810 in #31
- fix(node): rebuild napi index.js before publish (stale index.js) by @eric8810 in #32
- docs: release troubleshooting handbook (0.2.1 全坑记录) by @eric8810 in #33
- chore: post-#21 ffi cleanup + ProviderName generator drift fix by @cunninghamcard-bit in #34
- feat(python,go): expose full ProviderOptions on the registry provider() entry by @cunninghamcard-bit in #35
- docs(rfc): RFC-0020~0024 新方向文档 by @eric8810 in #44
- docs(rfc): RFC 状态头与实现事实对齐 by @eric8810 in #50
- docs(rfc): 缓存探测三层拆分 — RFC-0015 重写 + RFC-0025 CLI client by @eric8810 in #51
- feat(ffi,go): add cancellable text streams by @luojiyin1987 in #58
- fix(bindings): make the ts-rs output the single source of truth, and align all six bindings to it by @cunninghamcard-bit in #55
- feat(core): RFC-0016 第一批 — M3 logprobs / M10 usage.raw / M9 流式 warnings / M2 includeRawChunks by @eric8810 in #54
- test(go,flutter): RFC-0016 batch1 e2e — Raw emission, usage.raw, warnings by @eric8810 in #61
- feat(core): OpenAI compatible 输出格式 (RFC-0026) by @eric8810 in #60
- docs(rfc0017): backlog B2/B3/B8/B9/B10 状态闭合 by @eric8810 in #62
- feat: A 线缓存探测链实施追踪 — RFC-0015/0024/0025 by @eric8810 in #53
- chore(lints): workspace clippy baseline + quality audit reports by @eric8810 in #63
- docs(rfc): rename trace_id → call_id across RFC-0015/0023/0024/0025 by @eric8810 in #77
- RFC-0023 定稿修订 + trace_id→call_id 代码改名(对齐 #77) by @eric8810 in #78
- feat(core): RFC-0023 P1 录制核心 — 数据模型 + Recorder + JsonlRecorder + 层 A 接入 (#48) by @eric8810 in #85
- fix: resolve quality-audit issues #65-#76 (H2/H3, M1-M7, M9-M11) by @eric8810 in #84
- RFC-0027: Model List API 与模型配置补充 by @eric8810 in #81
- feat(http): RFC-0023 P2 层 B HTTP 录制 — per-attempt + 流式 + R7 快照 (#48) by @eric8810 in #86
- feat(rfc0027): P1 — Provider::list_models + anya2a catalogue by @eric8810 in #83
- feat(http): RFC-0023 P3-P6 — mock/请求回放 + RingRecorder + config_snapshot + 绑定透传 (#48) by @eric8810 in #87
- feat(session): RFC-0024 P3+P4 — 录制集成 + session_cache_trajectory(+ 修复 master 多 binding 遗留) by @eric8810 in #88
- HAS-39 docs(rfc0027): 对齐 RFC 与 doc comment 至 host 侧合并实现 by @eric8810 in #89
- feat(ffi)!: AimuxError out-param transport + language error models by @cunninghamcard-bit in #91
- fix: address audit rounds 1-4 findings (blockers, matcher, recording, trace, providers, bindings) by @eric8810 in #92
- fix(providers): registry base_url hygiene + panic convert API hidden (#90) by @eric8810 in #93
- fix(ffi): guard stream callbacks against panic unwind across FFI (#64) by @eric8810 in #96
- feat(providers): external provider config overlay (RFC-0020) by @eric8810 in #97
- feat(core): M7 top-level result aggregation by @eric8810 in #98
- fix(error): structured ApiCall/NoSuchProvider fields, unified retry/2xx classification by @cunninghamcard-bit in #94
- feat(core): M11 streamText aggregation + M12 generateObject + M6 proxy + rawFinishReason by @eric8810 in #99
- feat(core): RouterModel + MoaModel composite models (RFC-0021 #46, RFC-0022 #47) by @eric8810 in #100
- feat(providers): fill ResponseMetadata.timestamp (L1, RFC-0016 #40) by @eric8810 in #103
- docs(rfc-0016): M13 lifecycle callbacks — won't fix (#39) by @eric8810 in #104
- docs(rfc): RFC-0028 transcription streaming (real-time STT) design (#43) by @eric8810 in #105
- feat: transcription streaming — all RFC-0028 phases (WS + FFI session + 8 bindings) (#43) by @eric8810 in #108
- fix(providers): use tool_name for Gemini functionResponse.name by @eric8810 in #127
- fix(providers): emit Finish after in-stream errors in anthropic do_stream by @eric8810 in #128
- fix(providers): include non-default port in SigV4 host header by @eric8810 in #129
- chore: drop unused deps, remove stale dead_code allow by @eric8810 in #130
- fix(providers): carry reasoning signature through streaming (bedrock + anthropic) by @eric8810 in #131
- chore: fix all rustdoc warnings, add rustdoc -D warnings to CI by @eric8810 in #134
- fix(core): surface recording writer I/O errors; require input in completion barrier by @eric8810 in #133
- feat(ffi): expose aimux_recording_try_flush with write-failure codes by @eric8810 in #137
- docs(audit): Round 4 quality audit — reports, coverage baseline, verified backlog by @eric8810 in #126
- fix+test: anthropic thinking input echo; binding round-trip tests by @eric8810 in #138
- fix: drop test duplicated by the #138 squash merge by @eric8810 in #140
- docs: record maintainer triage of audit backlog by @eric8810 in #142
- fix(providers): vertex stream drops grounding/code-execution/server-tool results by @eric8810 in #143
- fix(kotlin): make the nextPart timeout sentinel reachable (retryable contract) by @eric8810 in #144
- test: RFC-0028 transcription error paths (Rust + python + node) by @eric8810 in #146
- fix(utils): fallible shared HTTP client init by @eric8810 in #147
- chore: enable permanent clippy lint subset (5 lints, 1,521 fixes) by @eric8810 in #148
- test: unified e2e protocol expansion + FFI all-export smoke harness by @eric8810 in #149
- feat: aimux-web console — browser-based model call testing & trace visualization (RFC-0029) by @eric8810 in #132
- fix: aimux-web lint subset compliance; regen ts-rs types by @eric8810 in #151
- fix(bindings)!: raise on in-stream transcription errors; drop Ok/Err envelope by @eric8810 in #150
- fix(providers): stop dropping response data providers already parsed (resubmit #101 + its review follow-ups) by @cunninghamcard-bit in #139
- fix(tests): stop blanking cassette bodies for every streaming response by @cunninghamcard-bit in #102
- test(contract)!: type-check the wire fixtures, and fix top_k in the Kotlin and Java bindings by @cunninghamcard-bit in #106
- feat(web): in-page API key settings (RFC-0029 revision, loopback-gated) by @eric8810 in #153
- docs: comprehensive 0.3.0 release notes + README refresh by @eric8810 in #152
- chore(release): finalize 0.3.0 (version sync + changelog date) by @eric8810 in #154
New Contributors
- @luojiyin1987 made their first contribution in #58
Full Changelog: v0.2.1...v0.3.0
What's Changed
- fix(release): flutter-publish embeds iOS xcframework from artifact root by @eric8810 in #29
- fix(jvm): publish via Central Portal OSSRH Staging API (s01 returns 402) by @eric8810 in #30
- fix(jvm): route SNAPSHOT vs release to correct portal repo by @eric8810 in #31
- fix(node): rebuild napi index.js before publish (stale index.js) by @eric8810 in #32
- docs: release troubleshooting handbook (0.2.1 全坑记录) by @eric8810 in #33
- chore: post-#21 ffi cleanup + ProviderName generator drift fix by @cunninghamcard-bit in #34
- feat(python,go): expose full ProviderOptions on the registry provider() entry by @cunninghamcard-bit in #35
- docs(rfc): RFC-0020~0024 新方向文档 by @eric8810 in #44
- docs(rfc): RFC 状态头与实现事实对齐 by @eric8810 in #50
- docs(rfc): 缓存探测三层拆分 — RFC-0015 重写 + RFC-0025 CLI client by @eric8810 in #51
- feat(ffi,go): add cancellable text streams by @luojiyin1987 in #58
- fix(bindings): make the ts-rs output the single source of truth, and align all six bindings to it by @cunninghamcard-bit in #55
- feat(core): RFC-0016 第一批 — M3 logprobs / M10 usage.raw / M9 流式 warnings / M2 includeRawChunks by @eric8810 in #54
- test(go,flutter): RFC-0016 batch1 e2e — Raw emission, usage.raw, warnings by @eric8810 in #61
- feat(core): OpenAI compatible 输出格式 (RFC-0026) by @eric8810 in #60
- docs(rfc0017): backlog B2/B3/B8/B9/B10 状态闭合 by @eric8810 in #62
- feat: A 线缓存探测链实施追踪 — RFC-0015/0024/0025 by @eric8810 in #53
- chore(lints): workspace clippy baseline + quality audit reports by @eric8810 in #63
- docs(rfc): rename trace_id → call_id across RFC-0015/0023/0024/0025 by @eric8810 in #77
- RFC-0023 定稿修订 + trace_id→call_id 代码改名(对齐 #77) by @eric8810 in #78
- feat(core): RFC-0023 P1 录制核心 — 数据模型 + Recorder + JsonlRecorder + 层 A 接入 (#48) by @eric8810 in #85
- fix: resolve quality-audit issues #65-#76 (H2/H3, M1-M7, M9-M11) by @eric8810 in #84
- RFC-0027: Model List API 与模型配置补充 by @eric8810 in #81
- feat(http): RFC-0023 P2 层 B HTTP 录制 — per-attempt + 流式 + R7 快照 (#48) by @eric8810 in #86
- feat(rfc0027): P1 — Provider::list_models + anya2a catalogue by @eric8810 in #83
- feat(http): RFC-0023 P3-P6 — mock/请求回放 + RingRecorder + config_snapshot + 绑定透传 (#48) by @eric8810 in #87
- feat(session): RFC-0024 P3+P4 — 录制集成 + session_cache_trajectory(+ 修复 master 多 binding 遗留) by @eric8810 in #88
- HAS-39 docs(rfc0027): 对齐 RFC 与 doc comment 至 host 侧合并实现 by @eric8810 in #89
- feat(ffi)!: AimuxError out-param transport + language error models by @cunninghamcard-bit in #91
- fix: address audit rounds 1-4 findings (blockers, matcher, recording, trace, providers, bindings) by @eric8810 in #92
- fix(providers): registry base_url hygiene + panic convert API hidden (#90) by @eric8810 in #93
- fix(ffi): guard stream callbacks against panic unwind across FFI (#64) by @eric8810 in #96
- feat(providers): external provider config overlay (RFC-0020) by @eric8810 in #97
- feat(core): M7 top-level result aggregation by @eric8810 in #98
- fix(error): structured ApiCall/NoSuchProvider fields, unified retry/2xx classification by @cunninghamcard-bit in #94
- feat(core): M11 streamText aggregation + M12 generateObject + M6 proxy + rawFinishReason by @eric8810 in #99
- feat(core): RouterModel + MoaModel composite models (RFC-0021 #46, RFC-0022 #47) by @eric8810 in #100
- feat(providers): fill ResponseMetadata.timestamp (L1, RFC-0016 #40) by @eric8810 in #103
- docs(rfc-0016): M13 lifecycle callbacks — won't fix (#39) by @eric8810 in #104
- docs(rfc): RFC-0028 transcription streaming (real-time STT) design (#43) by @eric8810 in #105
- feat: transcription streaming — all RFC-0028 phases (WS + FFI session + 8 bindings) (#43) by @eric8810 in #108
- fix(providers): use tool_name for Gemini functionResponse.name by @eric8810 in #127
- fix(providers): emit Finish after in-stream errors in anthropic do_stream by @eric8810 in #128
- fix(providers): include non-default port in SigV4 host header by @eric8810 in #129
- chore: drop unused deps, remove stale dead_code allow by @eric8810 in #130
- fix(providers): carry reasoning signature through streaming (bedrock + anthropic) by @eric8810 in #131
- chore: fix all rustdoc warnings, add rustdoc -D warnings to CI by @eric8810 in #134
- fix(core): surface recording writer I/O errors; require input in completion barrier by @eric8810 in #133
- feat(ffi): expose aimux_recording_try_flush with write-failure codes by @eric8810 in #137
- docs(audit): Round 4 quality audit — reports, coverage baseline, verified backlog by @eric8810 in #126
- fix+test: anthropic thinking input echo; binding round-trip tests by @eric8810 in #138
- fix: drop test duplicated by the #138 squash merge by @eric8810 in #140
- docs: record maintainer triage of audit backlog by @eric8810 in #142
- fix(providers): vertex stream drops grounding/code-execution/server-tool results by @eric8810 in #143
- fix(kotlin): make the nextPart timeout sentinel reachable (retryable contract) by @eric8810 in #144
- test: RFC-0028 transcription error paths (Rust + python + node) by @eric8810 in #146
- fix(utils): fallible shared HTTP client init by @eric8810 in #147
- chore: enable permanent clippy lint subset (5 lints, 1,521 fixes) by @eric8810 in #148
- test: unified e2e protocol expansion + FFI all-export smoke harness by @eric8810 in #149
- feat: aimux-web console — browser-based model call testing & trace visualization (RFC-0029) by @eric8810 in #132
- fix: aimux-web lint subset compliance; regen ts-rs types by @eric8810 in #151
- fix(bindings)!: raise on in-stream transcription errors; drop Ok/Err envelope by @eric8810 in #150
- fix(providers): stop dropping response data providers already parsed (resubmit #101 + its review follow-ups) by @cunninghamcard-bit in #139
- fix(tests): stop blanking cassette bodies for every streaming response by @cunninghamcard-bit in #102
- test(contract)!: type-check the wire fixtures, and fix top_k in the Kotlin and Java bindings by @cunninghamcard-bit in #106
- feat(web): in-page API key settings (RFC-0029 revision, loopback-gated) by @eric8810 in #153
- docs: comprehensive 0.3.0 release notes + README refresh by @eric8810 in #152
- chore(release): finalize 0.3.0 (version sync + changelog date) by @eric8810 in #154
New Contributors
- @luojiyin1987 made their first contribution in #58
Full Changelog: v0.2.1...v0.3.0