本版是修复版:收紧只读命令判定中 python -v 的漏洞,限制模型同时打开的网页数量,并修复手机窄屏布局、定时运行按钮空白、待发送区误显示按钮、中文路径导致会话读不出等问题。
变更
- 工作区在网络盘(如 SMB 映射盘)上时,运行无法判断写入范围的命令前的目录遍历改为并发读取,大目录树上等待大幅缩短。关联 #14813。
- 启动环境摘要优先复用当前数据目录的可信快照,避免其他目录的探测结果改变系统提示、降低首次请求的缓存命中率。修复 #14676 by @SivanCola。
修复
- 安全:只读命令判定现在只把
node和python单独的版本探针(如python3 -V)当作只读;python3 -v 脚本这类会运行代码的调用需要批准。关联 #14886。 - 模型同时打开的网页上限为 12 个,超过时会提示它先关闭用完的页面,避免一次搜索开出几十个页面占用数 GB 内存;你自己打开的页面不受限。修复 #14844 fixed in #14866。
- 手机窄屏:侧栏菜单按钮不再紧贴标志;设置页「关闭」与放大按钮并排,设置标签按内容宽度排列。修复 #14865 fixed in #14873、#14867 fixed in #14873、#14868 fixed in #14873。
- 「自动化 → 定时运行」的「预览」和「确认创建」按钮不再显示为空白。修复 #14870 fixed in #14871。
- 待发送区里已被当前轮接收的插话只显示「立即发送」与「取回」,不再出现点了就报"当前状态不允许此操作"的「改」和移动按钮。修复 #14875 fixed in #14877。
- 会话的分支信息含中文路径时,不再因编码误判丢掉反斜杠、导致整个会话读不出来。关联 #14841 by @ShryukGrandhi。
- 内置浏览器拾取元素时,属性名按属性值同样的上限裁剪。关联 #14580、#14849 by @jf200s。
/migrate读不到旧会话目录时会报出目录和原因,不再说没有需要迁移的会话。关联 #14823 by @chuiwenwei。doctor repair读不到配置时报告 unreadable 并以非零退出,--apply不再改写它;doctor runtime没有可询问的 runtime 时显示 unknown。关联 #14824 by @chuiwenwei、#14825 by @chuiwenwei。- 完成报告、步骤提示和能力诊断里截断的中文等多字节文字不再出现半个字符。关联 #14842 by @kevin9327、#14843 by @kevin9327、#14851 by @kevin9327。
贡献者
感谢本版本的贡献者:@SivanCola、@ShryukGrandhi、@jf200s、@chuiwenwei、@kevin9327
Changed
- With the workspace on a network drive such as an SMB share, the walk before an unclassified command reads concurrently, much faster on big trees. Refs #14813.
- Startup summaries prefer the current data home's trusted snapshot, so another directory's probe no longer changes the system prompt and cold-starts the cache. Fixes #14676 by @SivanCola.
Fixed
- Security: the read-only check treats only a bare
nodeorpythonversion probe (such aspython3 -V) as a read;python3 -v scriptand other calls that run code need approval. Refs #14886. - The model can have at most 12 pages open; past that it is asked to close finished ones, so one search no longer opens dozens. Your own pages are not limited. Fixes #14844 fixed in #14866.
- On a phone, the sidebar menu button no longer touches the logo, Settings puts Close beside expand, and its tabs fit their content. Fixes #14865 fixed in #14873, #14867 fixed in #14873, #14868 fixed in #14873.
- The "Preview" and "Confirm" buttons of Automation → Scheduled runs no longer show blank. Fixes #14870 fixed in #14871.
- Guidance the running turn already accepted shows only send-now and withdraw in the pending panel, not the edit and move buttons that always failed. Fixes #14875 fixed in #14877.
- A branch record holding a CJK path no longer loses a backslash to a wrong charset guess, which made the whole session unreadable. Refs #14841 by @ShryukGrandhi.
- When the built-in browser picks an element, attribute names are clipped to the same limit as values. Refs #14580, #14849 by @jf200s.
/migratenames the directory and the cause when it cannot read the legacy sessions, instead of saying there was nothing to migrate. Refs #14823 by @chuiwenwei.doctor repairreports an unreadable config and exits non-zero,--applyleaves it alone;doctor runtimesays unknown with no runtime to ask. Refs #14824 by @chuiwenwei, #14825 by @chuiwenwei.- Multi-byte text cut in completion reports, step hints and capability diagnostics no longer ends in half a character. Refs #14842 by @kevin9327, #14843 by @kevin9327, #14851 by @kevin9327.
Contributors
Thanks to this release's contributors: @SivanCola, @ShryukGrandhi, @jf200s, @chuiwenwei, @kevin9327
What's Changed
- fix(ci): set up pnpm before the Node cache that needs it in the Android workflow by @esengine in #14811
- fix(ci): run the Android scripts through bash and build the kernel at the tag's version by @esengine in #14812
- fix(ci): the Android page check writes its token file owner-only by @esengine in #14814
- perf(agent): read the criteria walk's directories and files concurrently by @esengine in #14813
- ci(android): let the workflow build a branch as a trial run that publishes nothing by @esengine in #14817
- fix(android): verify the two POMs the Gradle classpath needs on CI, and store the file with LF by @esengine in #14819
- fix(android): verify the Linux aapt2 jar the CI build resolves by @esengine in #14820
- fix(boot): preserve environment snapshot precedence / 保持环境探测快照前缀稳定 by @SivanCola in #14676
- fix(android): verify the 24 artifacts the release lint task resolves on CI by @esengine in #14821
- fix(doctor): a runtime nobody can ask is not clean by @chuiwenwei in #14825
- fix(sessionstore): decode the branch-meta sidecar as UTF-8 before transcoding by @ShryukGrandhi in #14841
- fix(evidence): cut a cited command in a rejection message on a rune boundary by @kevin9327 in #14842
- fix(complete_step): cut listed commands in the citation hint on a rune boundary by @kevin9327 in #14843
- fix(doctor): an unreadable config is not a missing one by @chuiwenwei in #14824
- feat(studio): pick an element in the built-in browser by @jf200s in #14795
- fix(studio): clip attribute keys like their values by @jf200s in #14849
- ci(windows): give the full push suite room for a slow boot package by @esengine in #14848
- fix(migrate): an unreadable source is not an empty one by @chuiwenwei in #14823
- test(migration): skip the unreadable-source cases where the platform cannot build one by @esengine in #14850
- fix(capdiag): cap sanitized diagnostic text on a rune boundary by @kevin9327 in #14851
- fix(browser): bound the pages the agent can have open at once by @esengine in #14866
- fix(studio): a primary button in settings keeps its fill with its foreground by @esengine in #14871
- fix(studio): phone-width spacing for the sidebar logo and the Settings header by @esengine in #14873
- fix(queue): draw edit and move only on lines the kernel can still change by @esengine in #14877
- fix(shellsafe): read-only only for a bare node or python version probe by @esengine in #14886
- docs(release): studio 2.56.1 notes by @esengine in #14887
Full Changelog: studio-v2.56.0...studio-v2.56.1
macOS 已用 Developer ID 签名并公证,打开时不需要清除隔离属性。Windows 的窗口、内核与安装器都经 Certum 代码签名证书做了 Authenticode 签名。Linux Debian 系从 .deb 安装,Fedora、RHEL、openSUSE 等从 .rpm 安装(sudo dnf install ./ReasonixStudio-linux-amd64.rpm)。x86_64 用文件名带 amd64 的包,aarch64(统信 UOS、麒麟等)用带 arm64 的包。也提供 .AppImage(只提供下载,不会自更新;需要 FUSE 2,或用 --appimage-extract-and-run 启动)。
三个平台都能自更新:Linux 的 .deb 走自己的包(.rpm 的自更新尚未提供,请手动下载新包),Windows 运行下一个安装器,macOS 替换自身 bundle。