[Bug / 建议] Treeland Protocols协议发生破坏性变更时未bump version,导致第三方合成器/桌面环境严重兼容性问题 #13826
目前,treeland-protocols协议包内部分协议存在协议XML修改(导致协议签名变更)但没有bump协议版本的问题。
对于Wayland而言,协议的 version 是client与WM协商可用功能的唯一凭证,应用破坏性变更但不bump版本给正在适配改协议的第三方合成器(以及其跨发行版支持)带来了严重兼容性灾难。
version
例如:
0.5.9(提交 8576b9c,2026-06-16)中删除了 get_wallpaper_context请求和 treeland_personalization_wallpaper_context_v1接口,理由是该功能已迁移至 xdg-desktop-portal。这次删除没有bump协议版本号——manager接口前后都是version="2",接口名也没变,提交信息写的也有Influence: Broken change。
0.5.9
8576b9c
get_wallpaper_context
treeland_personalization_wallpaper_context_v1
xdg-desktop-portal
如果合成器广播 treeland_personalization_wallpaper_context_v1,则所有DTK5/6程序都会尝试走这个协议,以下两种情况会导致协议/实现签名/opcode mismatch导致所有DTK5/6程序拒绝启动:
0.5.8
如果WM还要适配多发行版,各发行版仓库中的 treeland-protocols版本不同(无法通过简单地vendor最新版本的XML与实现解决 必须为每个版本单独实现),这会导致兼容性灾难...
treeland-protocols
No replies yet
Featured Collection
Popular Ranking
Popular Events
目前,treeland-protocols协议包内部分协议存在协议XML修改(导致协议签名变更)但没有bump协议版本的问题。
对于Wayland而言,协议的
version是client与WM协商可用功能的唯一凭证,应用破坏性变更但不bump版本给正在适配改协议的第三方合成器(以及其跨发行版支持)带来了严重兼容性灾难。例如:
如果合成器广播
treeland_personalization_wallpaper_context_v1,则所有DTK5/6程序都会尝试走这个协议,以下两种情况会导致协议/实现签名/opcode mismatch导致所有DTK5/6程序拒绝启动:0.5.8包,广播了来自0.5.8的协议,但实际编译/runtime的环境是0.5.90.5.9包,广播了来自0.5.9的协议,但实际编译/runtime的环境是0.5.8如果WM还要适配多发行版,各发行版仓库中的
treeland-protocols版本不同(无法通过简单地vendor最新版本的XML与实现解决 必须为每个版本单独实现),这会导致兼容性灾难...建议