从旧版本升级
此页面包含从 4.4 版到 5.x 版驱动程序的新功能和重大变更列表。有关完整变更列表,请参阅 驱动程序 → 变更日志。
Neo4j 驱动程序迁移助手通过根据您的应用程序上下文化变更日志来简化升级过程。它扫描您的代码库以查找弃用和删除的使用情况,并将它们呈现在您面前。该工具不会自动重写您的代码;它只会指出需要采取行动的地方,并提供关于如何处理每个命中项的上下文信息。
5.x 系列的最新驱动程序版本 (5.28) 与 Neo4j 服务器 4.4 和 5.x 均兼容,因此您可以在升级服务器之前升级驱动程序。同时,驱动程序版本 4.4 向后兼容 Neo4j 服务器 5.x,因此您也可以在驱动程序之前升级服务器;然而,鉴于应用程序升级比服务器升级更容易回滚,建议从驱动程序开始升级。
将 Neo4j 服务器升级到新版本时,应用程序中的 Cypher 查询可能也需要更新。驱动程序迁移助手不涵盖 Cypher 变更。 请参阅 Cypher → 弃用、新增和兼容性。 |
推荐步骤
使用迁移助手,推荐的升级步骤如下:
-
设置助手的工作环境。下载 Drivers Migration Assistant zip 文件,解压,并进入其目录。然后,假设已安装
python3
和pip3
,python3 -m venv virtualenvs/neo4j-migration source virtualenvs/neo4j-migration/bin/activate pip3 install -r requirements.txt
-
使用默认配置运行迁移助手,并解决它发现的所有问题。
path
参数支持 glob 模式匹配,并且可以重复使用。python3 main.py -l go /path/*.go /path-recursive/**/*.go
-
使用正则表达式解析器重新运行助手,并检查是否出现更多合法问题。
python3 main.py -l go --regex-parser /path/*.go /path-recursive/**/*.go
正则表达式解析器可以检测隐式函数调用和其他难以解析的表达式,但很可能会产生更多的误报(更多信息请参阅 Neo4j 驱动程序迁移助手 → 准确性)。您可以将任何虚假条目添加到忽略列表中,这样助手在未来的运行中就不会再提示它们。
-
尽管助手可以检测到大多数需要采取行动的位置,但有些变更日志条目无法以这种形式显示,因此您仍应查阅重大变更部分,并审查您的代码库中表格中标有 的变更。
-
您已准备好将驱动程序包升级到新版本。
请注意,您的包含指令也需要更新。go get github.com/neo4j/neo4j-go-driver/v5
新功能
支持 Go 1.23驱动程序兼容从 1.18 到 1.23 的所有 Go 版本。 |
|
支持用户提供的
|
改进了对泛型的支持函数 函数 |
相互 TLS (mTLS) 作为第二身份验证因子 (2FA)允许配置客户端 TLS 证书以对服务器进行身份验证。 请参阅 相互 TLS。 |
|
|
通知过滤 API过滤允许仅接收服务器通知的子集,并提高服务器端性能。 请参阅 探索查询执行摘要 → 过滤通知。 |
|
遥测驱动程序将匿名 API 使用统计信息发送到服务器。使用驱动程序配置 更多信息,请参阅 遥测 API。 |
重大变更和弃用
“助手”列表示 Neo4j 驱动程序迁移助手是否可以检测与给定变更日志条目相关的问题。带有叉号 的条目需要手动检查。
弃用功能可能会在版本 6 中移除。
版本 | 消息 | 状态 | 助手 |
---|---|---|---|
5.0 |
最低支持的 Go 版本为 1.18。 |
已变更 |
|
5.0 |
|
已变更 |
|
5.0 |
对已关闭会话的操作将失败,并报错“Operation attempted on a closed session”。 |
已变更 |
|
5.0 |
|
已变更 |
|
5.0 |
事务超时设置为 |
已变更 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
以前从 |
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.8 |
|
已弃用 |
|
5.8 |
|
已弃用 |
|
5.8 |
|
已弃用 |
|
5.17 |
|
已弃用 |
|
5.17 |
|
已弃用 |
|
5.17 |
|
已弃用 |
|
5.17 |
类型 |
已弃用 |
|
5.23 |
通知相关对象已从全局命名空间 |
已弃用 |