首页
/ Alacritty CHANGELOG 深度解读:从 0.2.0 到 0.18.0-dev 的版本演进、配置迁移与功能亮点

Alacritty CHANGELOG 深度解读:从 0.2.0 到 0.18.0-dev 的版本演进、配置迁移与功能亮点

2026-09-04 09:11:06作者:乔或婵

Alacritty 的 CHANGELOG 记录了从 0.2.0 到当前开发版 0.18.0-dev 的全部重要变更,是升级前判断破坏性改动、追溯功能引入版本的首选依据。本篇以该文档为骨架,按版本脉络完整梳理每个阶段的核心变更,并结合 配置解析CLI 实现迁移工具守护进程启动 等源码位置,解释关键条目背后的实现事实。读完你可以快速定位某项功能(如 kitty 键盘协议、Vi 模式、TOML 配置)的引入版本,并正确执行 YAML 到 TOML 的旧配置迁移。

变更日志的格式约定与双 Changelog 结构

alacritty/CHANGELOG.md 开头明确了编写约定:

  • 所有对 Alacritty 的重要变更都记录在该文件中;
  • 每个版本内部分节,顺序固定为 PackagingAddedChangedFixedRemoved
  • 格式基于业界通用的 Keep a Changelog 约定(1.0.0 版规范);
  • 底层终端库 crate alacritty_terminal 的独立变更记录在它自己的 CHANGELOG 中,且破坏性变更以粗体标注

这个“双日志”结构值得注意:alacritty 是窗口/渲染/输入外壳,alacritty_terminal 是纯终端仿真库(PTY、网格、转义序列解析)。例如 kitty 协议中“移动光标向前制表位(CSI Ps I)”的转义序列,在应用层 Changelog(0.15.0)和 crate 层 Changelog(0.24.2)中都出现,后者才是实际实现位置。当前仓库根 Cargo.tomlrust-version = "1.85.0" 与 0.16.0 的 Packaging 条目一致,可用于验证“当前开发树处于 0.18.0-dev 阶段”。

未发布版本 0.18.0-dev 与最新稳定版 0.17.0

0.18.0-dev(开发中)

  • Packaging:修复 macOS 安装包缺失 alacritty-escapes(7) man 页的问题;在 Windows 上为文件夹右键菜单新增 “Open Alacritty here” 入口;
  • Fixed:修复 X11 下多余的 “Failed to set new owner of XCB selection” 剪贴板警告;修复 macOS 上因缺少 Apple events 发送权限导致的提示问题。

0.17.0

  • Packaging:修复 logo SVG 的无效属性;新增 alacritty-escapes(7) man 页(对应 man 源文件 alacritty-escapes.7.scd);从 terminfo 中移除损坏的 flash 能力;
  • Addedmouse.bindings 支持绑定 WheelUp/WheelDown 鼠标滚轮事件;配置文件支持 TOML 1.1 语法;Wayland 下支持 window.resize_increments(按单元格步进调整窗口大小);
  • Changed:鼠标光标隐藏时不再对 hints 做 hover 高亮;X11 下 Vi 模式禁用 IME;触摸输入需要显式点按才能启用 IME;U+1FB82U+1FB8B 的区块元素符号改用内置字体绘制;
  • Fixed:部分编辑器保存配置时闪过的错误提示;OpenBSD 子进程 CWD 未跟随 shell 前台进程的问题;OpenGL 上下文重置导致的崩溃;macOS 某些 IME 提交文本时的崩溃;信号终止跳过资源清理的问题。

0.16.x:MSRV 升至 1.85,Vi 动作与系统级配置回退

0.16.0

  • Packaging:最低 Rust 版本提升到 1.85.0(与当前 Cargo.toml 一致);
  • Added
    • Vi 新增 *#{} 四个 motion;
    • 通过 alacritty msg get-config 以 IPC 方式读取运行时配置;
    • 多序列触摸缩放手势(pinch zoom);
    • Vi 动作 Y(yank 到行尾);
    • 新增 /etc/alacritty/alacritty.toml 系统级配置回退路径;
    • Unicode 17 支持;
  • Changed:存在 ~/.hushlogin 时隐藏登录欢迎信息(macOS 上给 login-q,对应 alacritty_terminal/CHANGELOG.md 0.26.0 条目);内置盒绘图改善圆角渲染;
  • Fixed:OpenGL 上下文重置崩溃、kitty 键盘协议下修饰键清除选区、glyph_offset.y 不作用于删除线、kitty disambiguate 模式未区分 Shift+Enter/Tab/Backspace、hint 绑定不尊重 IPC 覆盖、全角字符搜索匹配错误、AppleFontSmoothing 缺失时崩溃、Origin 模式(DECOM)光标不归位、bell 命令被铃字符刷屏导致无响应、macOS 26 上的渐进变慢等。

/etc/alacritty/alacritty.toml 这条在源码中可以直接印证:alacritty/src/config/mod.rsinstalled_config 按固定优先级查找配置文件——$XDG_CONFIG_HOME/alacritty/alacritty.toml$XDG_CONFIG_HOME/alacritty.toml$HOME/.config/alacritty/alacritty.toml$HOME/.alacritty.toml/etc/alacritty/alacritty.toml(Windows 下为 %APPDATA%\alacritty\alacritty.toml)。系统级回退正是 0.16.0 加入查找链最后一环的位置。

0.16.1

仅一个修复:部分健壮性支持(robustness support)不完整的 GPU 上崩溃的问题。

0.15.x 与 0.14.0:TOML import、migrate 与无头 daemon 模式

0.15.1 / 0.15.0

0.15.1 主要是稳定性修复:--daemon 下 socket 创建失败时报错退出;默认 URL hint 在反斜杠前停止;X11 快速/合成输入修饰键失步;已删除目录内启动子进程失败;kitty 协议下 Shift 修饰键丢失。

0.15.0 的要点:

  • Addedwindow.level = "AlwaysOnTop" 强制置顶窗口;转义序列 CSI Ps I(光标向前移动制表位);Wayland/X11 下 alacritty msg create-window 可传 activation token;
  • Changed:macOS 新窗口总是获取焦点;按住 Control 不再切换语义/行选择;kitty 协议中带修饰键时首参数始终上报 1
  • Fixed:光标行上 hint 高亮失效、hint 启动器在终端内容变化时打开任意文本、SemanticRight/Left 在宽字符语义转义下失效、alacritty migrate 遇到递归 TOML import 崩溃、daemon 模式首个窗口忽略 CLI 窗口选项、macOS 15+ 按某些修饰键崩溃、IME preedit 宽字符截断等。

0.14.0(MSRV 1.74.0)

这一版引入了三项影响使用习惯的机制:

  1. 配置文件相对路径 import:TOML 配置可以 import 其他文件,且支持相对路径;
  2. alacritty migrate 支持 TOML 配置变更:与旧版 YAML→TOML 迁移同一入口,见 alacritty/src/migrate/mod.rs——该实现会先做一次 dry run 再实际写文件,迁移递归深度受 IMPORT_RECURSION_LIMIT 约束;
  3. 无头模式 alacritty --daemon:进程不创建初始窗口,配合 IPC alacritty msg create-window 按需开窗口。

--daemonalacritty/src/cli.rs 中定义为 “Do not spawn an initial window” 布尔标志,且与 --ref-test 互斥;后台化逻辑位于 alacritty/src/daemon.rs(Windows 用 CREATE_NEW_PROCESS_GROUP | CREATE_NO_WINDOW 创建无控制台子进程,Unix 侧另行处理 fd 传递)。

0.14.0 其余变更:按 Alt 输入 Unicode 时补发 ESC(与 ASCII 行为一致);macOS 装饰改用不透明样式与系统窗口背景;macOS 不再 source ~/.zshenvimportworking_directorylive_config_reloadipc_socket 移入新的 general 段,shell 移到 terminal.shell(这是典型的 Changed 类配置迁移点,配合 alacritty migrate 使用);打开链接默认绑定从 ctrl+shift+u 改为 ctrl+shift+o 以避开 IME 冲突;IME 预览内单字符光标改用 Beam 样式。修复项涵盖无装饰时新建标签崩溃、Wayland 新窗口焦点误判、IME 预览与下方文字混叠、FD 泄漏、kitty 协议上报 Shift 键码错误、跨行断词的搜索失效等。

0.13.x:kitty 键盘协议与 TOML 化的完整落地

0.13.0(MSRV 1.70.0)

这是历史上体量最大的一版,核心主题是配置格式从 YAML 全面切换到 TOML协议能力补齐

  • Packaging:MSRV 升至 1.70.0;man 页改用 scdoc 生成(参见 INSTALL.md);
  • Added
    • 未使用配置项的告警;
    • hints 段的 persist 选项;
    • Windows 上动态加载 conpty.dll
    • 死键(dead keys)按键绑定;
    • Back/Forward 鼠标侧键绑定;
    • 全局 IPC 选项(-w -1)复制到新窗口;
    • macOS 标签页创建/切换绑定;
    • Wayland/X11 的 startup notify 协议支持;
    • debug.prefer_egl 调试项;
    • Vi 内联搜索 f/F/t/T
    • window.blur 透明窗口模糊请求;
    • alacritty msg create-window --option 参数;
    • DECRQM/DECRPM 转义序列;
    • kitty 键盘协议
  • Changed
    • 模式限定绑定可在任意模式绑定,便于做宏;
    • 配置文件从 YAML 改为 TOML,官方指引是运行 alacritty migrate 自动转换;
    • draw_bold_text_with_bright_colors 弃用、key_bindingskeyboard.bindingsmouse_bindingsmouse.bindings
    • 默认配色改为 base16 classic dark;
    • OSC 52 粘贴能力默认禁用,通过 terminal.osc52 调整;
    • 同步更新改用 CSI 2026 取代旧 DCS 变体;
    • 字体:font.size 精度提升到 6 位小数,默认字号 11.25(对应 15px);IncreaseFontSize/DecreaseFontSize 步长 1px;U+E0B0U+E0B3 Powerline 符号改用内置字体;
    • bell.animation 默认 LinearXft.dpi 在 Xsettingsd 变更后热重载;
  • Fixed:Wayland xdg-portal 无条件查询、GNOME Wayland 最大化模式、kitty 协议 Shift 键上报、正则状态过多时的内存暴涨、Wayland 剪贴板 64KiB 截断与阻塞粘贴冻结、NVIDIA 驱动退出崩溃等 30 余项;
  • Removedbackground_opacity(改用 window.background_opacity)、colors.search.bar(改用 colors.footer_bar)、mouse.url(改用 hints 段)、mouse.double_click/mouse.triple_click

0.13.1 / 0.13.2

0.13.1 补齐了 Vi + Search 模式下的粘贴支持,并修复 alacritty migrate 对空值/缺失 import 的处理、macOS Alt 组合键、Windows Alt+Control 绑定、chars = "\u000A" 插入 \n、kitty 协议 Shift 数字替代键、Powerline 字形在窄字体下被截断、X11 上 Xmodmap/xdotool 修饰键、数字小键盘方向等。

0.13.2 则是纯修复版:Vi 模式下 Home/End 默认绑定到 First/Last;修复 CLI 环境变量清空配置文件变量、kitty 协议误发 C0/C1 码、Wayland 启动偶发挂起、X11 粘滞修饰键、Autokey 兼容、Xfwm 跨屏移动冻结等;行为变更上,U+1FB00U+1FB3B 六分块符号改用内置字体,且 kitty 编码不再用于普通按键(除非协议启用)。

0.12.x 与 0.11.0:GLES、触摸、分数缩放与 OSC 8 超链接

0.12.0–0.12.3

  • Added-T 支持大写短选项;鼠标模式与替代滚动模式下的水平滚动;Wayland wp-fractional-scale 分数缩放;GLES 上下文运行支持;触摸屏点按/滚动/选择/缩放输入;window.resize_increments(默认关闭);
  • Changed:macOS 恒定使用 sRGB;最后一列之后的 erase-in-line 不再清空该列;macOS Cmd+N 默认开新窗口;window.decorations_theme_variant 扩展到 macOS/Windows 并改用 Dark/Light/None;IME purpose 设为 Terminal(帮助系统屏幕键盘 OSK);
  • Fixed:低配硬件光标恒黑、极低负 font.offset 崩溃、dash 作为 /bin/sh 时启动失败、OT-SVG 字体崩溃、Wayland 打字崩溃、GPU 内存占用下降、多窗口同帧渲染低帧率、无装饰最大化窗口裁剪等;
  • Removedwindow.gtk_theme_variant(改用 window.decorations_theme_variant);alt_send_esc 恒为 true
  • 0.12.1–0.12.3 修复了 OSC 8 中 URI 含 ; 断链、Wayland compositor 通告 wl_compositor@v5 崩溃、macOS Sonoma 尺寸处理变更崩溃等。

0.11.0(MSRV 1.57.0/1.60.0)

  • Added:向 Wayland compositor 上报 surface damage;波浪/点线/虚线下划线转义(CSI 4 : [3-5] m);ToggleMaximized 动作;OpenGL ES 2.0;下划线颜色设置/重置(CSI 58 : 2 : ... m / CSI 59 m);Vi 模式 z 键使视图居中;--embed 支持 0x 十六进制;cursor.blink_timeoutOSC 8 超链接转义OSC 8 ; params ; URI ST)与 hints.enabled.hyperlinkswindow.decorations_theme_variant内联输入法(inline IME)
  • Changed:不再向完全被遮挡的 macOS/X11 窗口渲染;OSC 52 在失焦窗口禁用;SpawnNewInstance 不再继承初始 --command;光标闪烁默认 5 秒超时;colors.search.bar 弃用;macOS 读取 AppleFontSmoothing 用户默认值控制字体平滑;--class 语义调整(generalinstance 选项互换且同时设置 WM_CLASS 两部分);Vi 移动时 IME 不再工作;
  • FixedWAYLAND_DISPLAY 含绝对路径时 IPC socket 创建失败、Vi 模式复位终端崩溃、font.glyph_offset 不热重载、10-bit 色彩系统失败、X11 剪贴板挂起、Wayland 光标隐藏、NVIDIA/Windows 未聚焦窗口 CPU 占用尖峰等;
  • Removedfont.use_thin_strokes(macOS 改用 defaults write -g AppleFontSmoothing -int 0)。

0.10.x 与 0.9.0:多窗口 IPC、透明背景着色与正则 hints

0.10.0 / 0.10.1

  • 0.10.0 Addedcolors.transparent_background_colors(对所有背景色应用不透明度);单实例运行多窗口(文档见 docs/features.md);Wayland 经 xdg_activation_v1 的紧急提示;
  • 0.10.0 ChangedExpandSelection 成为可配置鼠标动作;background_opacity 弃用建议改用 window.opacity;符号链接配置被替换时也触发重载;块选择 yank 去除行尾空白;Unix 下命令从前台 shell 的当前目录启动;U+2500U+259F 盒绘图改用内置字体;日志打印启动以来耗时而非本地时间;
  • 0.10.0 Fixed:行指示器遮挡 Vi 光标、ClearHistory 在 Vi 光标处于 scrollback 时冻结、hover 被后处理清空的匹配崩溃、NVIDIA Wayland 输入延迟、全角字符 hover 崩溃等;
  • 0.10.1:新增 font.builtin_box_drawing 关闭内置盒绘图;内置字体粗细改为基于单元格宽度;修复 OSC 4/104 对 ? 的处理、font.offset 下内置字体断线等。

0.9.0(MSRV 1.46.0)

  • Addedipfs/ipns URL 支持;正则 hint 绑定的 mode 字段;
  • Fixed(本条目的分量很足,全部围绕稳定性与性能):0.6.0 引入的密集网格渲染性能回归;alt 屏尺寸变化时半可见全角字符崩溃/冻结;ScrollPage* 后 Vi 光标位置错误;PTY 读取在超密网格下的性能退化;Vi 模式缩放崩溃;搜索不匹配时误选文本;macOS w/who 看不到 Alacritty 会话;FreeType 2.11+ 位图字体渲染损坏;新装字体需重启才生效等。

0.8.0 至 0.6.0:正则 hints 时代与配置 import

0.8.0(MSRV 1.45.0)

  • Added:Windows 上 IME 组合预览;同步终端更新(DCS = 1 s ST/DCS = 2 s ST,0.13.0 起改走 CSI 2026);正则终端 hints(用法详见 docs/features.md);macOS cmd+alt+H 隐藏其他窗口;magnet URL;
  • Changed:终端光标不可见时 Vi 光标创建于左上角;聚焦匹配项使用单元格颜色;URL 高亮从 mouse.url 迁入 hints 段;
  • Removedvisual_bell 字段(改用 bell 段)。

0.7.x

0.7.0 是 Vi 模式与搜索体验的完善版:支持 ~/ 开头的配置 import;cursor.style.blinking/cursor.blink_interval;光标闪烁转义(CSI ? 12 h/lCSI Ps SP q);Windows IME;Windows 紧急提示;可自定义搜索绑定;搜索历史(^P/^N/Up/Down);Ctrl+C 取消搜索;搜索/Vi 历史位置指示器。行为变更:不存在的 import 被忽略而非报错;log_levelOff 而非 None 关闭日志。

0.7.0 的 Removed 段值得升级时留意:--persistent-logging--live-config-reload--no-live-config-reload--dimensions--position 五个 CLI 参数被删除,统一由 --option 覆盖;live-shader-reload 特性移除;dynamic_title 移到 window.dynamic_titlescrolling.faux_multiplier 被转义 CSI ? 1007 h/l 取代;WinPTY 支持整体移除(只保留 ConPTY)。

0.6.0(MSRV 1.43.0)

  • Added:二级设备属性转义(CSI > 0 c);冒号分隔的 SGR 38/48(真彩色参数语法);取消搜索/退出 Vi 的 Ctrl+C 绑定;双下划线与下划线重置转义;配置文件 import--option/-o 覆盖任意配置字段;以像素/字符上报文本区域尺寸的 CSI 14 t/CSI 18 t;单行终端;Wayland CSD 右键应用菜单;窗口紧急提示转义(CSI ? 1042 h/l);
  • Changed:光标颜色与单元格背景相近时自动反色;SpawnNewInstance 使用终端前台进程的 CWD;CSI 4 : ? m 不支持的下划线类型回退普通下划线;满 scrollback 时内存占用下降至少 30%;每单元格零宽字符不再限制 5 个;
  • Fixed:负 window.position 定位错误、HiDPI 渲染慢、回绕行旋入末行崩溃、Wayland 大量 fd 泄漏/崩溃类修复、font.offset 大负值崩溃、视觉 bell 卡第一帧等 20 余项;
  • Removedauto_scroll(恒禁用)、tabspaces(固定 8)。

0.5.0 至 0.4.x:Vi 模式、bell 命令与 Windows 支持起点

0.5.0(MSRV 1.41.0)

  • Added:macOS Cmd+N 默认 SpawnNewInstanceVi 模式(正则搜索、复制文本、打开链接);CopySelection(Linux/BSD 选择缓冲区);cursor.thickness;Windows 字体回退;Fontconfig embolden/matrix 选项;winpty 编译开关;选择中鼠标到窗口边缘时滚动;右键单/双/三击扩展现有选区;gopher/gemini URL;Unicode 13;bell.command 响铃执行命令$SHELL 回退;
  • Changed:块光标在选区首尾不再反色;Shift+Backspace 发送 ^? 而非 ^H;默认配色 Tomorrow Night(亮色取自 Tomorrow Night Bright);设置 IUTF8 termios 标志;拖入文件自动补空格;visual_bell 重命名为 belldynamic_title 移到 window.dynamic_title;无 scheme 分隔的文本不再当 URL 高亮;
  • Fixed:alt/主网格切换不清选区、Wayland 不可见窗口冻结、NVIDIA X11 启动慢、CSI Ps T 误拉历史行、真彩色 dim 缺失、缩放重排光标、配置字体不存在时崩溃等;
  • RemovedRUST_LOG 选日志级别;window.start_maximizedrender_timerpersistent_logging 字段弃用移除。

0.4.x 系列

  • 0.4.3(纯修复):tabstop 随 reset 未复位、macOS 无效 locale 回退 LC_CTYPE=UTF-8、X11 启动缩放延迟、vsync 输入延迟、彩色 emoji 与背景混色、Unicode 字形中的转义终结符误断、autowrap 关闭时末列写全角字符崩溃等;
  • 0.4.2(MSRV 1.37.0):新增 x11/wayland Rust feature 选择后端(默认双开);window.title 支持热重载;WINIT_HIDPI_FACTOR 改名 WINIT_X11_SCALE_FACTORdraw_bold_text_with_bright_colors 默认 false;修复大量 Wayland/IME/位图字体问题;移除 auto_scrolltabspaces
  • 0.4.1Minimize 动作(macOS 绑定 cmd+m);WINIT_HIDPI_FACTOR=randr 忽略 Xft.dpi;Windows 默认切换 ConPTY 后端;Linux/BSD 彩色 emoji;ConPTY 关闭死锁等修复;
  • 0.4.0(MSRV 1.36.0):配置文件不再自动生成(官方建议把 alacritty.yml 当文档分发);Control 按住起始选择进入块选择;window.gtk_theme_variant;粗斜体组合(font.bold_italic);--hold 子进程退出后保持窗口;OSC 标题栈保存/恢复;替代滚动转义 CSI ? 1007 h/l;UTF-8 鼠标模式 CSI ? 1005 h/lOSC 52 剪贴板读取/设置转义(Tmux 复制粘贴的基础);移除 scrolling.faux_multiplier(由转义与 scrolling.multiplier 取代)。

0.3.x 至 0.2.0:基础能力成型期

0.3.x

0.3.0(MSRV 未标注,约 1.31 时代)带来 MSI 安装器、动态标题(Windows)、--position/window.position、可选选区颜色、缩放时文本 reflow 而非截断、URL hover 下划线。0.3.1 增加 ScrollLineUp/Down 与 X11/Wayland 原生剪贴板,并首次固定最低 Rust 版本 1.31.0。0.3.2 修复 ConPTY 启动 panic。0.3.3 增加 ToggleFullscreen、macOS ToggleSimpleFullscreenwindow.startup_mode、X11 _NET_WM_ICONworking_directorydebug 配置组(log_level/print_events/ref_test)、括号双击选择、前台/背景色查询转义,Windows 改用 DirectWrite 字体 API,并移除了 mouse.faux_scrollback_linesdimensions 等一批旧字段。

0.2.x(Windows 支持与终端基线)

  • 0.2.2:日志路径写入 ALACRITTY_LOG 环境变量;WINIT_HIDPI_FACTOR 出现;错误/警告条增加关闭按钮;
  • 0.2.3:修复 padding 计算导致的末行截断;
  • 0.2.4window.dynamic_paddingwindow.start_maximizedpersistent_logging 配置与 CLI 标志;ClearLogNotice 动作;macOS 请求隐私权限;
  • 0.2.5visual_bell.colorWindows ConPTY 实验开关 enable_experimental_conpty_backend(Windows 10 1809);SpawnNewInstance 鼠标/键盘动作;Windows 默认 shell 改为 PowerShell;URL scheme 限定 http/https/mailto/news/file/git/ssh/ftp;
  • 0.2.6alt_send_esc;配置项全部可选;Windows/macOS 平台专属配置移除,alacritty.yml 成为平台无关文件;
  • 0.2.7/0.2.8:Windows 启动崩溃修复、触控板分数滚动精度改进;
  • 0.2.9mouse.url.launcher/mouse.url.modifiers;Windows 支持落地;terminfo 通告标题修改能力;scancode 键绑定;F16F24 键位;
  • 0.2.0(记录起点):10_000 行 scrollback 历史ClearHistory 绑定与擦除保存行转义;Erase Saved Lines;dim 前景色;鼠标绑定修饰键支持;本文件(CHANGELOG)自此开始维护。

跨版本主线一:配置系统的演进

把散落在各版本的配置条目串起来,可以看到一条清晰的演进线:

版本 配置系统变化
0.2.6 配置项全部可选;YAML 平台无关化
0.3.3 window.startup_modeworking_directorydebug
0.5.0 visual_bellbelldynamic_titlewindow.dynamic_title
0.6.0 import 多文件;--option 覆盖任意字段
0.7.0 搜索绑定自定义;缺失 import 改为忽略
0.11.0 window.decorations_theme_variant 统一 X11/Wayland/macOS/Windows
0.13.0 YAML → TOMLmigrate 自动转换;未使用键告警;OSC 52 默认禁用
0.14.0 alacritty migrate 覆盖 TOML 变更;general/terminal 段重组
0.16.0 /etc/alacritty/alacritty.toml 系统级回退(见 installed_config
0.17.0 TOML 1.1 语法支持

migrate 的实现位于 alacritty/src/migrate/mod.rs,其 migrate() 入口先按 tomlyml 顺序定位已安装配置,正式写盘前强制执行一次 dry run,失败即退出并打印路径与错误——这就是官方在 0.13.0 中反复提示“升级前运行 alacritty migrate”的安全保障。

跨版本主线二:MSRV 与构建环境

Changelog 的 Packaging 分节逐年抬升最低 Rust 版本,与仓库当前状态可互相印证:

Alacritty 版本 最低 Rust 版本
0.3.1 起 1.31.0(固定)
0.4.0 1.36.0
0.4.2 1.37.0
0.5.0 1.41.0
0.6.0 1.43.0
0.8.0 1.45.0
0.9.0 1.46.0
0.10.0 1.53.0
0.11.0 1.57.0 → 1.60.0(该版含两条 Packaging 记录)
0.13.0 1.70.0
0.14.0 1.74.0
0.16.0 1.85.0(当前 Cargo.toml 一致,edition 2024)

对从源码构建的用户,这是一份现成的工具链要求清单;0.13.0 起 man 页由 scdoc 生成,构建文档见 INSTALL.md

跨版本主线三:终端协议能力的积累

从 Changelog 可提取 Alacritty 对现代终端协议的支持节奏,对使用 terminfo/写 TUI 程序的读者有直接参考价值:

  • 0.2.x:OSC 52 剪贴板读写、OSC 标题栈、COLORTERM=truecoloralacritty-direct terminfo(24-bit);
  • 0.4.0:UTF-8 鼠标模式(CSI ? 1005 h/l)、替代滚动(CSI ? 1007 h/l);
  • 0.6.0:冒号分隔 SGR 38/48(真彩色)、CSI 14 t/CSI 18 t 尺寸查询、紧急提示 CSI ? 1042 h/l
  • 0.7.0:光标闪烁转义;
  • 0.8.0:同步更新(DCS 变体);
  • 0.11.0:OSC 8 超链接、下划线颜色、波浪/点线/虚线下划线、OpenGL ES 2.0;
  • 0.12.0:Wayland 分数缩放、GLES 运行支持;
  • 0.13.0kitty 键盘协议DECRQM/DECRPMCSI 2026 同步更新取代 DCS 变体;
  • 0.15.0CSI Ps I(光标向前制表位);
  • 0.16.0:Unicode 17;
  • 0.17.0mouse.bindings 支持滚轮事件。

实用建议:如何借助这份 Changelog 做升级决策

  1. 升级前先看两个 Removed 段:主日志的 Removedalacritty_terminal/CHANGELOG.md粗体条目是仅有的破坏性来源。例如 crate 侧 0.26.0 的 “ChildEvent::ExitedEvent::ChildExiti32 改为携带 ExitStatus” 就是粗体标注的 API 破坏,嵌入该库的程序升级时必须跟进;
  2. 跨大版本升级先跑 alacritty migrate:0.13.0(YAML→TOML)与 0.14.0(general/terminal 段重组)是两次最大规模的配置结构变更,迁移工具对 TOML 变更也有覆盖(见 migrate 入口);
  3. 定位功能版本:想确认某能力何时可用,按本文的版本脉络检索对应条目即可,例如 Vi 内联搜索在 0.13.0、多窗口 IPC 在 0.10.0、无头 daemon 在 0.14.0;
  4. 开发版语义0.18.0-dev 表示主干已开启下一版本开发,其中条目尚可能变动,生产环境应以最近发布的 0.x.y 为准;
  5. 构建环境核对:以 Cargo.tomlrust-version 为准(当前 1.85.0),并与 Changelog 的 Packaging 记录交叉验证。

以上所有条目均可在 alacritty/CHANGELOG.md 原文中逐条核对,终端库侧细节见 alacritty_terminal/CHANGELOG.md,功能文档(hints、多窗口等)见 docs/features.md

登录后查看全文
热门项目推荐
相关项目推荐