重大变更
不再支持 PostgreSQL 11(已在 Django 4.2 中删除)。NetBox v3.6 需要 PostgreSQL 12 或更高版本。
设备模型上的 device_role 字段已更名为 role。为实现向后兼容,设备的 REST API 序列化器暂时保留了 device_role 字段,但该字段为只读。
自定义字段模型中的选择数组字段已被移除。任何已定义的选择都会自动迁移到 CustomFieldChoiceSets,可通过 CustomField 模型上的新 choice_set 字段访问。
平台模型中删除了 napalm_driver 和 napalm_args 字段(在 v3.5 中已废弃)。
接口的设备和 device_id 过滤器不再包括虚拟机箱对等设备的接口。引入了两个新的过滤器 virtual_chassis_member 和 virtual_chassis_member_id,以匹配属于指定设备虚拟机箱(如果有)的所有接口。
通过 REST API 获取报告和脚本时,现在会在结果列表中返回,这与其他模型一致。
如果禁用了 ALLOW_TOKEN_RETRIEVAL,超级用户将无法再通过 Web UI 检索 API 令牌密钥。(管理员视图已根据 #13044 删除)。
新功能
重新定位的管理用户界面视图(#12589、#12590、#12591、#13044)
以下对象类型的管理视图以前只能在后台管理界面下查看,现已迁移到主用户界面:
用户
组
对象权限
API 标记
配置修订
这种迁移提供了更一致的用户体验,并释放了 Django 内置视图无法实现的高级功能。管理用户界面计划在 NetBox v4.0 中完全删除。
可配置的默认权限 (#13038)
管理员现在可以选择为全局所有用户配置默认权限,而无需考虑数据库中授予的明确权限或组分配。这可以通过定义 DEFAULT_PERMISSIONS 配置参数来实现。默认情况下,所有用户都有权限管理自己的书签和 API 标记。
用户书签 (#8248)
用户现在可以在 NetBox 中为自己喜欢的对象添加书签。书签可在每个用户的个人书签列表中访问,也可添加为仪表板部件。
自定义字段选择集 (#12988)
选择和多选自定义字段现在采用离散、可重复使用的选择集,其中包含每个字段的有效选项。多个自定义字段可以共享一个选择集。此外,选择集中的每个选项现在都可以指定原始值和人性化标签(请参阅 #13241)。在升级过程中,已有的自定义字段选择会自动迁移到选择集。
自定义字段的预定义位置选择 (#12194)
创建自定义字段时,用户现在可以选择使用几个预定义的选择集之一。这些选择包括
IATA 机场代码
ISO 3166 国家代码
UN/LOCODE 位置标识符
在定义选择集时,可将上述选择集作为基础集,也可定义额外的自定义选择。
按对象类型限制标签使用 (#11541)
现在可以限制标签与指定对象类型一起使用。未指定特定对象类型的标签可用于任何支持标签分配的对象。
增强功能
#6347 – 缓存为设备和虚拟机分配的组件数量
#8137 – 为设备添加指定带外(OOB)IP 地址的字段
#10197 – 缓存每个虚拟机箱上的成员设备数量
#11305 – 在设备模型中添加 GPS 坐标字段
#11478 – 为接口引入 virtual_chassis_member 过滤器并恢复设备过滤器的默认行为
#11519 – 为 IP 地址主机值添加 SQL 索引以优化查询
#11732 – 防止竞争用户无意中覆盖对象属性
#11936 – 在网络钩子上引入对标签和自定义字段的支持
#12175 – 允许机架以大于 1 的值开始编号
#12210 – 为电源馈送添加租户分配
#12461 – 为虚拟机添加配置模板渲染
#12814 – 在配置模板渲染上下文中公开 NetBox 模型
#12882 – 为联系人分配添加标签支持
#13037 – 通过 REST API 获取时,在结果列表中返回报告和脚本
#13170 – 在 InterfaceTemplate 中添加 rf_role
#13269 – 缓存为设备类型分配的组件模板数量
错误修复
#13513 – 为匿名用户渲染书签小部件时防止异常
#13599 – 修复编辑设备/虚拟机组件时计数器错误递增的问题
#13605 – 优化缓存计数器迁移以避免过多内存消耗
其他更改
在 NetBox 中引入翻译和本地化支持的工作已经开始。这项工作是为 4.0 版做准备。
#6391 – 将设备上的 device_role 字段重命名为 role,以便与 VirtualMachine 保持一致。
#9077 – 在 Django 模板中防止错误执行危险的实例方法
#11766 – 移除过时的自定义 ChoiceField 和 MultipleChoiceField 类
#12180 – 所有可用对象(如 IP 地址)的 API 端点现在都继承自一个共同的父视图
#12237 – 升级 Django 至 v4.2
#12794 – 避免直接导入 Django 的库存用户模型
#12320 – 从平台中移除过时的 napalm_driver 和 napalm_args 字段
##12964:放弃对 PostgreSQL 11 的支持
#13309 – 为了更好地组织,用户账户的特定资源被移到了一个新的账户应用程序中
Assets 2