Releases: futuregene/future-os
Releases · futuregene/future-os
Release list
FutureOS 1.1.2
What's Changed
- Fix iOS download share handoff by @tallcode in #305
- chore(loop): Apache-2.0 attribution for LoopX-derived future-loop by @huichen in #306
- docs(readme): license badge → MIT + Apache-2.0 by @huichen in #307
- Fix mobile native UI handoffs by @tallcode in #308
- Improve mobile chat history and downloads by @tallcode in #309
- docs: conversion-focused README first screen + security policy by @huichen in #310
- Fix remote attachment preview resilience by @tallcode in #312
- feat(desktop): render LaTeX math formulas with KaTeX by @jiangzhuqing000 in #311
- chore(deps): bump katex from 0.16.0 to 0.16.21 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #314
- Improve custom provider model configuration by @tallcode in #313
- Harden Ubuntu CI package setup by @tallcode in #315
- Polish provider and remote control copy by @tallcode in #316
- Docs: clarify fresh-clone startup by @tallcode in #317
Full Changelog: v1.1.1...v1.1.2
FutureOS 1.1.1
What's Changed
- fix(chat): keep model context out of user messages by @tallcode in #273
- chore(skills): bump submodule — future-loop SKILL.md v3.0.0 clean rewrite by @huichen in #275
- refactor(loop): drop post-removal residues — orphan list command + stale comments by @huichen in #274
- docs: loop-control-plane user-perspective refresh + mobile (Android/iOS) highlight by @huichen in #276
- docs: loop-control-plane.md in English (mistakenly written in Chinese) by @huichen in #277
- docs: remove bold highlight from mobile mentions in READMEs by @huichen in #278
- docs: drop standalone Mobile Apps row from README feature tables by @huichen in #279
- docs: skill-driven loop entry section in loop-control-plane (EN+ZH) by @huichen in #280
- chore(skills): bump submodule — future-loop SKILL.md v3.0.2 by @huichen in #281
- fix(desktop): name the stale-agent cause behind get_events_since OutOfRange by @huichen in #282
- fix(agent): list user-configured models.json models without API keys by @huichen in #283
- refactor(loop): remove handoff and serve-status commands by @huichen in #284
- refactor(loop): remove replay command group (G-19) by @huichen in #285
- refactor(loop): remove benchmark command group (G-18) by @huichen in #286
- fix(loop): reclaim dead-holder leases on manual claim; reject bare --blocks by @huichen in #287
- chore(skills): bump submodule — future-loop SKILL.md CLI-mismatch fixes (#12) by @huichen in #288
- fix(loop): goal init idempotency + gate resolve validation by @huichen in #289
- fix(loop): validate todo add/update inputs; idempotent re-completion by @huichen in #291
- chore(skills): bump submodule — future-loop validation semantics (#13) by @huichen in #292
- fix(loop): atomic claim for manual todo/lease claim commands by @huichen in #293
- Move shared modules into packages by @tallcode in #290
- feat(mobile): bare-background splash screen (no logo) by @tallcode in #294
- docs(claude): improve CLAUDE.md accuracy and trim redundancy by @huichen in #295
- feat(ci): release Linux arm64 alongside x86_64 by @ace331 in #296
- docs: sync loop & docs with code — fix stale facts, add missing /future-loop by @huichen in #297
- feat(mobile): resilient file downloads and previews by @tallcode in #298
- Add JSON preview and secure Markdown links by @tallcode in #299
- fix(tui): up-arrow history browsing stuck on /-prefixed entries by @huichen in #300
- fix(desktop): secondary style for skill-guide banner action by @jiangzhuqing000 in #301
- fix: security & consistency review fixes + provider-aligned token stats by @tallcode in #302
- fix(mobile): configure file handler Android version by @tallcode in #303
- fix(mobile,desktop,agent): chat UI alignment with desktop + output-token footer by @tallcode in #304
Full Changelog: v1.1.0...v1.1.1
FutureOS 1.1.0
What's Changed
- feat(loop): enforce scheduler arbitration — CONSISTENCY_REPAIR fails closed by @huichen in #158
- fix(mobile): use github.run_number for store build numbers; pin dev version at 0.0.2 by @tallcode in #160
- fix(tui): keep leading inline styles in tight list items by @huichen in #159
- chore(agent): untrack agent-profile.svg test artifact by @huichen in #161
- feat(loop): per-tool quota at the capability boundary (LoopX 改进项②) by @huichen in #162
- feat(loop): oscillation detection — A→V→A→V signature-pair guard (LoopX 改进项③) by @huichen in #163
- docs(loop): deployment topology — 本地控制平面 + 外部调度器章节(LoopX 对比改进项 ④) by @huichen in #165
- fix(remote): self-heal bridge loops; fix iOS script + mobile progress bar by @tallcode in #164
- feat(loop): reserve optional fencing token in ledger event schema (LoopX ⑤) by @huichen in #166
- docs(loop): long-run evidence ledger + coverage goal entry (LoopX 对比改进项 ⑥) by @huichen in #168
- test(cli): per-line 100% coverage — zero DA:0 lines by @huichen in #167
- docs(loop): future-loop skill field updates from two production goals by @huichen in #169
- refactor(skills): migrate future-loop skill into the skills submodule by @huichen in #170
- test(loop): per-line 100% coverage — zero DA:0 lines by @huichen in #171
- chore(skills): bump submodule — register future-loop in skills.json by @huichen in #172
- fix(loop-cli): P0-3 CLI quirks — strict flags, --help, --format json, resume-when warning by @huichen in #173
- test(desktop): web frontend per-line 100% coverage (cov100) by @huichen in #174
- feat(loop-cli): P1-9 operator journey grouping — future loop commands by @huichen in #175
- feat(loop): P0-1 workspace_guard — multi-agent shared-workspace write-conflict protection by @huichen in #176
- feat(desktop): auto-grow new-conversation composer; first-run language follows OS by @tallcode in #179
- fix: iOS 启动脚本 Bash 3.2 数组修复 + 附件传输进度条位置 by @tallcode in #178
- agent: FUTURE.md 改为带 lint 的记忆索引(细节迁至 .future/memory/) by @huichen in #177
- feat(loop): P0-2 post-delivery outcome closure — delivery_outcome + outcome_followthrough by @huichen in #180
- feat(loop): P1-5 reward_memory phase 1 — signal ingestion + scoped_feedback by @huichen in #181
- feat(loop): P1-1 quota decision read model — error_codes + decision_summary + receipts by @huichen in #182
- feat(loop): P1-2 read-model self-healing — index drift detection + repair + decision_freshness by @huichen in #184
- feat(loop): P1-3 automation_liveness + monitor poll policy executor by @huichen in #185
- feat(loop): P1-4 decision_context deep implementation — assembler + providers + audited outcome feedback by @huichen in #186
- feat(loop): P1-6 canary premerge gate — fast profile + CI merge gate by @huichen in #187
- fix(mobile): remote sync engine + connection FSM (audit 05 P1+P2) by @tallcode in #188
- feat(thread-parity): shared projection package + mobile parity (audit 06 P0+P1) by @tallcode in #190
- feat(mobile): session long-press menu (pin/rename/delete) + pinned sort sync by @tallcode in #191
- agent: 修复并行测试 flake 簇(缓存撕裂写 / 锁中毒级联 / 时间戳路径碰撞) by @huichen in #183
- feat(ci): P1-7 coverage ratchet — per-crate floors + only-up CI gate by @huichen in #189
- chore(skills): bump submodule — future-loop SKILL.md v2.1.0 (wave1 closeout) by @huichen in #192
- ci: split Rust tests (Linux) into 4 parallel per-crate groups by @huichen in #193
- fix(build): install with
install -m 755instead ofcpon macOS by @huichen in #194 - test(remote): per-line 100% coverage for remote/+agent_providers by @huichen in #195
- test(agent): per-line 100% coverage — session_prompt races + commands residuals (cov100) by @huichen in #197
- test(desktop): store/+commands/ per-line 100% coverage (cov100) by @huichen in #196
- build: auto-build thread-projection before desktop/mobile build & start by @tallcode in #198
- fix(tui): real undo stack + kill-ring yank for input line by @huichen in #199
- feat(loop): pr_review_queue capability — queue observation + review contract + work items + CLI by @huichen in #200
- feat(loop): explore capability phase 1 — hypothesis modeling + verification tracking + explore graph by @huichen in #201
- feat(desktop): show Chinese skill category in zh locale by @tallcode in #203
- test(agent): fix flaky future-models refresh tests under parallel load by @tallcode in #204
- test(mobile): per-line 100% coverage for src/remote (cov100) by @huichen in #205
- feat(remote): capability negotiation + mobile parity followups (audit 05/06) by @tallcode in #206
- test(desktop): agent_bridge per-line coverage to DA:0 (cov100 tauri-bridge) by @huichen in #202
- test(desktop): tauri-root per-line coverage wrap-up (drain seams + residual waivers) by @huichen in #207
- feat(mobile): album picker + native toast; drop 2000px receive check by @tallcode in #209
- test(desktop): i18n per-line 100% — navigator throw fallback (cov100 final) by @huichen in #210
- feat(mobile): preview local files linked in markdown by @tallcode in #211
- test(desktop): fix attach_remote_stream flake + cover command wrappers (cov100 final-tauri) by @huichen in #212
- test(loop,tui): workspace per-line residual to DA:0 (cov100 final) by @huichen in #213
- test(desktop): cover async command wrapper arg-deserialization error arms (cov100 final-tauri) by @huichen in #214
- test(desktop): cover commands/review + commands/threads residual (cov100 final-tauri) by @huichen in #215
- test(desktop): cover commands/login + remote + skills + debug residuals (cov100 final-tauri2) by @huichen in #217
- test(desktop): drain root shell residual via testable seams (cov100 final-tauri) by @huichen in #216
- test(desktop): remote/agent_bridge residuals + review flake fixes (cov100 final) by @huichen in #219
- test(desktop): de-flake remote/agent_bridge retry tests (cov100 final-tauri) by @huichen in #218
- refactor(mobile): split RemoteContext and dedupe the remote layer by @tallcode in #220
- test(desktop): cancel leaked observers between agent_bridge tests (cov100) by @huichen in #208
- docs: revamp README feature highlights by @huichen in #222
- fix(agent): drop empty assistant messages from model context by @fgclaw01 in #224
- feat(mobile): add app update reminder (iOS App Store / Android APK) by @tallcode in #225
- test(desktop): commands residual arms + transport-fail mock seam (cov100 finish) by @huichen in #223
- fix(build): bootstrap fresh clone — setup target + missing npm installs by @tallcode in #226
- docs: sharpen hero tagline — one AI agent, everywhere by @huichen in #227
- chore(scripts): move measure-tauri.sh into scripts/ by @huichen in #228
- feat(loop): change_quality deep implementation — change classification + quality signals + risk scoring by @huichen in #229
- feat(loop): content_ops deep implementation — classification + quality signals + ordered operations + surface validati...
FutureOS 1.0.8
What's Changed
- test(cli): bring future-cli coverage to ~98.6% (parts 1-10) by @huichen in #146
- test(loop): future-loop coverage 77.72% → 98.43% lines + 4 runtime bug fixes by @huichen in #148
- test(agent): drive future-agent coverage 84.4% → 96.8% by @huichen in #149
- test(cli): future-cli coverage 98.6% → 99.84% lines (residual push) by @huichen in #147
- test(channels): coverage 31.50% → 100% lcov DA (99.84% summary lines) by @huichen in #150
- test(cli): eliminate spawn_mock port-steal/startup races by @huichen in #151
- Worktree linux prebuilt release by @ace331 in #152
- Claude/linux static cli by @ace331 in #153
- Claude/install cdn by @ace331 in #154
- feat(mobile): add attachment transfer and previews by @tallcode in #157
- Claude/publish installers fix by @ace331 in #156
Full Changelog: v1.0.7...v1.0.8
FutureOS 1.0.7
What's Changed
- feat(gui,agent): per-session observers, approval recovery, and cross-instance render caches by @tallcode in #82
- fix(gui,agent): unify chat workspace naming and restore workspace access by @tallcode in #83
- docs: trim CLAUDE.md — keep conventions, principles, workflow by @tallcode in #84
- fix(gui): keep failure bubble when a session's first run fails by @tallcode in #85
- fix(gui,agent,mobile): close the event-ordering and message-identity gaps by @tallcode in #86
- fix(agent): silence unused-variable warning in repair_dir_permissions on Windows by @huichen in #87
- perf(gui): optimize message projection by @tallcode in #88
- feat(agent,gui): durable multisession run event journal + dead-code cleanup by @tallcode in #89
- perf(gui): windowed message rendering with paged history loading by @tallcode in #90
- fix(agent): honor configured max token limits by @ace331 in #91
- fix(agent,gui): approval push, agent-journal-first event pipeline, turn/steer cleanup by @tallcode in #92
- fix(agent,gui): bind event journal to the live broadcaster on create_session; tolerate agent event-read failures by @tallcode in #93
- fix(gui): stop cross-thread conversation bleed during streaming switches by @tallcode in #94
- refactor(gui,agent,channels): key thread view by conversation; consolidate and fix GUI caches by @tallcode in #95
- fix(agent,gui): harden config/providers and orphan cleanup against mis-deletion by @tallcode in #98
- build(deps-dev): bump brace-expansion from 1.1.16 to 1.1.18 in /mobile in the npm_and_yarn group across 1 directory by @dependabot[bot] in #96
- build(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #99
- feat(mobile): iOS support, unified test-build version scheme, TestFlight CI by @tallcode in #100
- fix(gui): rate-limit remote drop logs and skip event mirroring while NATS is offline by @tallcode in #101
- fix(ci): use automatic code signing for iOS TestFlight archive by @tallcode in #102
- feat(loop): FutureOS loop control plane — native should-run kernel, event-sourced goals, quota/scheduler, extensions & multi-agent by @huichen in #97
- fix(ci): replace invalid -automaticCodeSigning with CODE_SIGN_STYLE=Automatic by @tallcode in #103
- fix(ci): manual signing with imported profile for TestFlight archive by @tallcode in #104
- fix(ci): supply provisioning profile mapping to exportArchive by @tallcode in #105
- fix(ci): point altool apiKeyPath at the keys directory by @tallcode in #106
- fix(loop): project-local state, CLI surface restore, layout/token cleanup + README overhaul by @huichen in #107
- docs: full README + docs verification pass — fix errors, sync stale content, add missing docs by @huichen in #108
- feat(mobile): enforce wss for NATS remote, drop cleartext exemption by @tallcode in #109
- feat(scripts): one-line installers (install.sh / install.ps1) incl. future-loop on macOS by @huichen in #110
- fix(tui): merge duplicate tool_start events into a single tool bubble by @huichen in #111
- feat(rpc): typed-RPC wire contract — consolidate codegen, dual-write typed payloads, adopt @future-os/rpc by @tallcode in #112
- feat(loop): support
todo update --blocks— repair dependency chains in place by @huichen in #113 - feat(cli): Rust CLI replaces TypeScript — byte-identical future (cli/rust → cli/) by @huichen in #115
- feat(tui): 1:1 Rust port of the TypeScript TUI (tui/rust) by @huichen in #114
- feat(cli): unified
futureentry — agent/tui/channel/loop embedded, slim build/install, future-* crate names by @huichen in #116 - docs: fix stale standalone-binary claims (future-* are build targets, not installed by default) by @huichen in #117
- fix(tui): stop file-path autocomplete from hijacking slash-command args by @huichen in #118
- refactor(rpc): Rust-only future-rpc, flatten dir, retire TS, clean build/CI by @tallcode in #119
- feat(loop): auto-clean scratch sessions after each run + loop skill docs updates by @huichen in #120
- ci: fold cli/tui tests into rust-tests, golden diff → manual, fix 4 Dependabot alerts by @tallcode in #121
- fix(loop): enforce gate blocking on complete; real resume-when deadlines by @huichen in #122
- refactor: rename future-rpc→rpc, gui→desktop; split build/start scripts by platform by @tallcode in #123
- feat(loop): agent list + enforce --agent-id on run (parallel-safety) by @huichen in #125
- feat(loop): enforce todo blocks, mid-turn steering, turn budget, atomic claims by @huichen in #126
- feat(tui): ctrl+o to expand/collapse thinking by @huichen in #128
- fix(tui): crash handler + Windows install/build fixes by @huichen in #127
- fix(tui): thinking toggle UX — jump to bottom, no placeholder by @huichen in #129
- chore: simplify Makefile — lint matches CI, prune dead/duplicated logic by @huichen in #130
- fix(tui): collapsed-thinking placeholder only while streaming by @huichen in #131
- fix(tui): mark thinking streaming as pending by @huichen in #132
- fix(tui): set UTF-8 console codepage and verify VT on Windows by @huichen in #133
- fix(tui): set UTF-8 console input codepage on Windows by @huichen in #134
- fix(channels): resolve home directory via dirs crate on Windows by @huichen in #135
- fix(tui): clamp streaming markdown cut to text length by @huichen in #136
- fix(tui): find_stream_cut out-of-bounds on unterminated blank tail by @huichen in #137
- chore(scripts): add cargo llvm-cov workspace coverage script by @huichen in #138
- test(rpc): bring future-rpc to 100% line coverage by @huichen in #139
- test(tui): bring future-tui coverage up (parts 1-8) by @huichen in #140
- test(tui): future-tui to 100% line coverage (parts 9-12) by @huichen in #141
- ci(docs): publish English wiki to OSS docs/en/ prefix by @fgclaw01 in #142
- feat(mobile): live sync all sessions, tool/thinking details, and desktop-parity list by @tallcode in #144
- ci(mobile): run_id as monotonic store build number, pin iOS marketing version 0.0.1 by @tallcode in #124
- fix(rpc): page get_events_since so giant run journals fit the gRPC cap by @huichen in #143
- fix(deps): upgrade nanoid to 3.3.18 (GHSA-2v37-7h3g-55p8) by @tallcode in #145
Full Changelog: v1.0.6...v1.0.7
FutureOS 1.0.6
What's Changed
- fix(gui): prevent message flicker and data loss from race conditions by @huichen in #59
- fix: resolve default model for sessions created before login by @fgclaw01 in #60
- feat: inject session ID into system prompt for model self-awareness by @huichen in #61
- feat(mobile): smoother transitions, attachment chips, and history-load robustness by @tallcode in #62
- fix(agent): skills install/uninstall now refresh; harden sessionless dispatch by @tallcode in #63
- feat(mobile): session list status indicator + chat scroll fixes by @tallcode in #64
- refactor(agent): close multi-conversation run lifecycle by @tallcode in #65
- refactor(agent): close durable run lifecycle and GUI push paths by @tallcode in #66
- Potential fix for code scanning alert no. 11: Incomplete string escaping or encoding by @tallcode in #67
- feat(agent): add runtime metrics and fault coverage by @tallcode in #68
- fix: close multi-conversation run reconciliation gaps by @tallcode in #70
- fix(gui): settle run status in back-end + runtime reconciliation to unstick hidden‑window runs by @tallcode in #71
- fix: update Android build actions to Node 24 and align OSS path by @tallcode in #72
- fix(mobile,remote/web): align markdown rendering with GUI, fix Android keyboard overlap by @tallcode in #73
- feat(gui): onboarding gate — guided login with init progress, BYOK, sync models by @tallcode in #74
- fix(agent): prevent runaway cancellation_stuck permanent session lock by @tallcode in #75
- feat(gui): FutureOS account integration — model descriptions, balance, account chip by @tallcode in #76
- feat(gui): onboarding model picker — choose default model after login by @tallcode in #77
- fix(agent,mobile): persist token stats on reload, always show footer on mobile by @tallcode in #78
- fix(session): repair dangling tool_calls anywhere in journal, not only at end by @fgclaw01 in #69
- fix(gui,mobile): prevent streaming content from leaking into wrong assistant bubble by @tallcode in #79
- feat: add i18n model descriptions (description_en) across full chain by @tallcode in #80
- fix(agent,mobile): mobile footer stats and streaming indicator aligned with desktop by @tallcode in #81
Full Changelog: v1.0.5...v1.0.6
FutureOS 1.0.5
What's Changed
- Fix manual download link for unsupported updates by @tallcode in #33
- CI: run checks only for affected paths by @tallcode in #34
- Build Intel macOS release artifacts by @tallcode in #35
- Release downloads through the CDN by @tallcode in #36
- feat: agent profiling (CPU flamegraph + dhat heap) & optimizations by @huichen in #38
- Fix required matrix build checks when skipped by @tallcode in #39
- build(deps-dev): bump postcss from 8.5.16 to 8.5.22 in /gui in the npm_and_yarn group across 1 directory by @dependabot[bot] in #37
- feat: refresh_skills RPC with rate limiting; CLI & GUI notify after install/uninstall by @huichen in #40
- feat(gui): startup update check, single-instance, UI polish by @tallcode in #41
- chore: remove push-to-main CI trigger; bump pprof 0.13→0.15 by @tallcode in #42
- fix(tui): session list garbled on arrow-key navigation by @huichen in #43
- perf(gui): share gRPC channel, batch polls, sync names, fix Win tests & build-gui by @huichen in #44
- feat(gui): refresh_skills on skills page view, startup, and agent reconnect by @huichen in #45
- fix: prioritize content over reasoning_content when both are in same SSE delta by @fgclaw01 in #46
- perf(gui): incremental preview, IPC batching, crash recovery, TUI session switch fix by @huichen in #47
- feat: align mobile remote control with desktop by @tallcode in #48
- feat(gui): batch delete conversations with file cleanup option by @huichen in #49
- feat(gui): composer /skill menu, mid-text triggers, newline and label fixes by @huichen in #50
- feat(gui): enforce FutureOS sign-in, hide pairing code, cap @-picker, add platform param by @tallcode in #51
- fix(gui): friendly error messages, failure bubble persistence, and default UX tweaks by @huichen in #52
- fix(mobile): upgrade deps and fix uuid vulnerability (Dependabot #15) by @tallcode in #54
- feat(remote): push desktop directory changes to mobile/web via presence by @tallcode in #53
- feat(remote): pairing UX, auto-connect setting, connection indicator, and bug fixes by @tallcode in #55
- feat(mobile): Android APK build workflow, release signing, and CI checks by @tallcode in #56
- fix(ci): Android APK keystore dir and CDN download URL by @tallcode in #57
- fix(ci): move ossutil setup before build and set OSS env at job level by @tallcode in #58
Full Changelog: v1.0.4...v1.0.5
FutureOS 1.0.4
What's Changed
- fix(deps): bump protobufjs to 7.6.5 in tui and cli by @tallcode in #11
- feat: cross-client real-time streaming & settings sync (TUI ↔ GUI) by @huichen in #10
- fix(deps): bump fast-uri to 3.1.4 in gui by @tallcode in #12
- test: boost Rust coverage 43.6% → 68.0%, add 534 unit tests by @huichen in #13
- refactor(agent): per-session agent loops, SessionEntry slim-down, session fixes by @huichen in #14
- tui: startup retry + runtime disconnect handling for agent connection by @huichen in #16
- fix: TUI agent reconnect + streaming guards by @huichen in #17
- fix: MiniMax M3 thinking disable via thinking=disabled by @fgclaw01 in #15
- fix(gui): stop duplicate assistant output when switching to a streaming thread by @huichen in #18
- test: boost agent test coverage from 70% to 80% (+327 tests) by @huichen in #19
- fix(gui): crisp Windows taskbar icon via multi-size ICO + Win32 WM_SETICON by @huichen in #20
- fix(gui): crisp taskbar icon + no flash; build: keep .exe suffix on Windows by @huichen in #21
- fix(gui): remove windows crate dep on macOS to fix build by @huichen in #22
- feat(cli): add init command by @ace331 in #23
- fix(gui): restore Windows build; add 3-platform Rust CI check by @tallcode in #24
- fix(gui): stop model/thinking level from changing without user action by @huichen in #25
- ci: promote GUI Rust checks to hard gate & unify job naming by @tallcode in #26
- fix(ci): add GUI typecheck and Linux clippy fix by @tallcode in #27
- refactor(ci): split Rust lint and test gates by @tallcode in #29
- fix(agent): fail fast when compaction cannot find a valid cut point by @fgclaw01 in #28
- Coordinate signed desktop releases by @tallcode in #30
- Add signed Tauri automatic updates by @tallcode in #31
- Fix macOS release notarization by @tallcode in #32
New Contributors
Full Changelog: v1.0.2...v1.0.4
FutureOS 1.0.2
Full Changelog: v1.0.1...v1.0.2
FutureOS 1.0.1
Full Changelog: v1.0.0...v1.0.1