此 kitty 版本新增可停靠窗口、注销/重启后会话恢复、类似命名标签页的工作区支持、改进的 Wayland 装饰与触摸屏支持、高级自定义着色器、图形协议功能、Program Status Protocol、自动明/暗主题处理、布局与缩放改进、字体缩放、鼠标滚轮映射、超链接显示选项、快速访问终端增强、会话、命令面板、标签栏、MIME 检测、IME 改进、shell 集成、性能与安全修复,以及终端模拟、窗口/标签页、ssh、kittens、Wayland、Linux、macOS 和 zsh 等方面的众多 bug 修复。
这篇文章追溯了 Unix 内存分配的历史。在 V4 中,程序使用简单的线性 `alloc`,对齐大小,用 `sbrk` 扩展堆,从不释放内存,从而避免 NULL 检查。Dennis Ritchie 的 `malloc`/`mfree` 在显式区域(如 `coremap` 和 `swapmap`)上操作,传入映射和大小;这支持了分区和合并。V6 的 `diff` 线性分配器可通过重置指针回滚。V7 引入了 `ALLOC` 宏;V8 有 `new()` 宏和 `tryalloc`,同时也使用更熟悉的 `malloc`/`free`。作者将 C++ 的 `new` 与 Simula 联系起来,尽管 Stroustrup 也承认了 Simula。随着时间推移,Unix 逐渐远离显式区域和规范的分配,可能是因为程序生命周期简单、内存有限、硬件约束以及希望接口更简单;出现了一些如 `galloc` 和 GC 提示的工具。作者认为好的想法被遗失,而 C 的速度需要编译器付出努力。