Releases
v2.3.0
Compare
Sorry, something went wrong.
No results found
v2.3.0 (2026/09/30)
新增功能
Proxy 桥接与配置 :支持跨域镜像与下发、URL 过滤及全部启动参数的 JSON 配置;主动采集下发默认关闭,WebViz 本地代理同步支持。
FastBuffer :新增通用 CPU/GPU 缓冲区、发布池与 CUDA、HIP、hbmem、shm 提供者。
Python 接口补齐 :补齐 ProxyAPI/ProxyServer(含桥接配置)、发现消息循环、Bag 插件、点云与对象数组深拷贝、日志回调重置接口。
Bag 拼包 :新增 vlink-bag merge,支持 clone 的选项、进度显示和覆盖确认。
Bag 分包轮转 :BagWriter::Config 与 vlink-bag record 新增 max_split_count,超限时删除最旧分包。
VCAP 块校验开关 :BagWriter::Config、TriggerRecorder、Python API 与录制 CLI 可启用 MCAP chunk CRC;默认关闭,VDB 不受影响。
DDS 非阻塞发送 :新增 VLINK_DDS_NOBLOCK 与节点属性 dds.noblock,支持发送缓冲区满时丢包而不阻塞。
发现多网卡 :新增 VLINK_DISCOVER_IP,DiscoveryReporter 逐地址发送、DiscoveryViewer 逐地址加入发现组播;未设置时收发仍按系统路由走。
发现进程地址 :ip 改为 ip_list,合并多网卡重复进程,地址按数值排序、独立过期;同步 CLI、Viewer 及绑定,API/ABI 与 Proxy 协议不兼容旧版。
发现域隔离 :新增 VLINK_DISCOVER_DOMAIN(0–255,默认 0),发现端口取 51600 + domain。
日志 PID 隔离 :新增 VLINK_LOG_PID_ENABLE,置 1 时默认日志目录追加 <PID> 子目录,同名多实例不再共享轮转文件集;默认关闭,目录布局与旧版本一致。
改进
消息拷贝 :减少共享内存回复、加密响应及混合类型 RPC 中 Bytes 请求的拷贝,字符串反序列化复用目标缓冲。
基础库热路径 :减少 Base64 解码拷贝、进程缓冲搬移与调度开销。
Python 绑定结构 :按功能拆分绑定实现,保持导入方式不变。
WebViz 重构 :统一消息解析、字段映射与实时/离线转换,支持 Foxglove 全部官方 FBS 类型及 Rerun 数据 Archetype。
Monitor hostname 过滤 :新增 --hostname,按 URL 关联进程的 hostname 关键字筛选。
eproto / efbs 终端显示 :各类订阅内容超过终端显示宽度时主动换行,并在终端尺寸变化时重新分页,暂停状态下同步重排。
Native DDS 地址 :CLI、Proxy、Viewer 与 WebViz 在 native 模式下创建的 DDS 节点从 VLINK_DDS_NATIVE_IP 读取 IP。
vlink-check diag :VLink 发现项在设置 VLINK_DISCOVER_IP 后校验其地址是否存在于本机,未设置时仍检查 239.255.0.100 路由。
发现热路径 :收包批量投递,快照仅在内容变化时重建,上报按 500ms 节流。
日志热路径 :减少重复初始化检查,回溯回调交换复用缓冲以消除逐条拷贝。
日志环境变量 :VLINK_LOG_ENABLE_UTC 更名为 VLINK_LOG_UTC_ENABLE,语义不变;旧名不再识别,部署环境须同步更新。
发现端口 :发现通道 UDP 基础端口由 51694 改为 51600(实际端口为 51600 + VLINK_DISCOVER_DOMAIN);新旧版本进程互不发现,须同批升级并同步防火墙规则;域 94 的端口与旧版本默认端口重合,滚动升级期间避免使用。
内存池热路径 :free-list 分片数按硬件并发度取值,消除超过 8 线程后的吞吐崩塌;命中与释放计数移入分片锁内,去掉每次分配的原子累加;直通与超大块路径在默认对齐下改用普通 operator new,计数按线程条带化,全哨兵配置跳过档位扫描。
内存池回收 :trim() 改为锁外分组,不再毫秒级阻塞并发分配。
内存池档位 :新增 VLINK_MEMORY_LAZY_SCALE=1 / MemoryPool::Config::lazy_scale(默认关闭),开启后懒增长单次安装上限随档位配额放大;Config 新增字段,使用它的外部 C++ 二进制需重新构建。
修复
Proxy 桥接 :联合主机名、IP 与 machine-id 判断同机,以兼容的发现来源标记防止回流,镜像与下发 Pub 均可发现;绑定参数统一为 allow_ip。
零拷贝 :修复 Client 留存 CPU 响应的载荷生命周期、混合类型 RPC 与 Python 发送丢失 loan 身份,以及自身视图赋值和点云转置覆盖源数据的问题。
Viewer 套件 :修复递归消息与字段编辑、录放状态、图表与三维渲染及资源释放,减少载荷拷贝、重复解析与 URL 扫描。
Extension :修复 Bag 录放与 Schema、空 Protobuf、URL 重映射、插件启动、SQLite 关闭构建及 OpenSSL 退出期线程资源泄漏,减少 Schema 拷贝。
发现卡顿丢报 :消息循环饥饿时延迟执行而非丢弃发现任务,过期阈值随调度间隔放宽,避免快照误清空。
Proxy 业务线程 :心跳与控制任务迁到 ProxyServer 自身循环,异步转发改用独立循环,避免被批量转发阻塞而心跳断连;订阅拆除增加 3 轮缺失滞回。
时间命名分包 :同一毫秒内按大小连续分包时追加序号,避免 record/clone/merge 覆盖已写分包。
Bag 同戳顺序 :SQLite 读取以录制行序打破相同时间戳的并列,避免复合索引按 URL 重排消息。
Bag 强制录制 :vlink-bag record -g 改为跳过服务发现,直接订阅 -u 指定的 URL 并按原始字节录制;此前仅跳过收集等待,订阅仍依赖发现结果。
通信后端 :修复回调分发、嵌套同步请求死锁、Zenoh 字段通知生命周期与共享订阅暂停隔离;SHM / SHM2 服务命名变更,需同批升级。
公共通信接口 :修复 Field 去重、连接回调取消,以及安全退出的锁顺序死锁。
安全 RPC :修复同步 Bytes RPC 解密失败仍返回成功,以及同步响应加密失败后自动应答后端发送明文的问题。
Field 录放 :统一触发录制、节点隐式录制(含 Python)、CLI 与 Viewer 的 Field 动作和回放路由,补齐后端角色适配与初值接收;NodeImpl 增加初始化角色,应用、绑定及后端插件需同批重新编译,Proxy 两端需同步更新。
URL 插件赋值 :修复复制赋值后仍保留旧后端配置的问题。
基础任务调度 :修复图依赖传播、移动参数及返回类型推导、协程生命周期与 deferred future 等待。
基础库 :修复并发与生命周期问题,以及计时、终端输出、插件多继承和智能指针识别错误;十六进制输出统一大写。
定时器与日志 :修复定时器计数、回调状态与生命周期;修复 handler/回溯重入、退出期 TLS、首次 Trace、运行期开启文件通道及控制台 flush,磁盘故障后仍可控制台重放。日志宏内联调用的内部接口有变化,应用与日志插件需重新编译。
进程与系统工具 :修复进程参数与回调、键盘与信号处理及退出顺序,以及时区、环境变量、DDS 地址和 macOS 信号量问题。
Python 稳定性 :修复浅视图与空数据深拷贝的生命周期问题,以及满队列投递、日志回调并发替换、Process 重启、Timer 回调释放、异步 RPC 与自定义加解密的并发死锁;补齐 UUID 序列构造。
C API :修复安全 Getter 更新与读取交叠时的防重放误拒绝,以及 Schema 枚举窄化校验遗漏。
后端初始化清理 :修复 SHM 监听器满载时的异常终止,以及 SHM、SHM2、Zenoh 部分初始化失败后的空对象清理崩溃;Getter 传播接收注册失败并回滚初始化,DDS 双向 Server 拒绝缺失响应 writer 的监听。
日志格式化 :修复 VLOG_* 传入 std::hex 等标准操纵符时的编译错误。
Bag 克隆与退出 :防止克隆覆盖源包及关联文件,修复 RPC 过滤、时间换算和初始化/退出异常;明确单 .vcap 不支持修改标签。
Parse 导出与切片 :修复二进制导出缓冲生命周期和 JSON 错误处理;保护源包及关联文件。
消息调试 :修复 eproto/efbs 刷新丢失、根路径和资源释放问题,支持显式空文本输入,并完善后端初始化失败处理。
Monitor / List / Check :修正监控采样与过滤统计、同名进程计数和 Cyclone DDS URI 诊断;隐藏 TLS 密码,处理监控重复初始化异常。
Bench 正确性 :修正测量窗口、统计与图表,修复参数校验、取消响应和初始化/JSON 异常处理,保留已有输出目录权限。
Foxglove 协议与路由 :完善多输出路由和动态 Schema 同步,修复发布 ID 冲突、连接图、参数订阅及 RPC 调用状态。
WebViz 数据与退出 :修复退出崩溃、障碍物快照残留及 Rerun 共享实体清理、重连和 YUV 色彩问题;离线导出禁止覆盖源 Bag 及其链接别名。
Monitor 动态刷新 :URL 上下线导致列表排序变化时保持当前选中的 URL 与详情面板;选中 URL 下线时清除选择,避免跳转到其他 URL。
CLI 修复 :bag fix 按实际数据重算计数;parse --hz 在 bag 下按帧时间计时;bench 非法 URL 不再中止进程;trigger 拒绝负毫秒字段。
You can’t perform that action at this time.