查看源代码 Megaco 发行说明
本文档描述了 Megaco 系统从一个版本到另一个版本所做的更改。本文档的目的是列出 Megaco 的每个版本的所有不兼容性以及所有增强功能和错误修复。因此,Megaco 的每个版本构成本文档中的一个章节。每个章节的标题是 Megaco 的版本号。
Megaco 4.7
改进和新功能
Megaco 4.6
改进和新功能
-callback
属性已添加到megaco_transport
。自有 ID:OTP-18806 辅助 ID:PR-7740
更新了所有 API 模块的类型和规范。
自有 ID:OTP-18920 辅助 ID:BL-322
文档已迁移为使用 Markdown 和 ExDoc。
自有 ID:OTP-18955 辅助 ID:PR-8026
Megaco 4.5
改进和新功能
使 megaco 传输在 Windows 上使用套接字后端处理 gen_tcp | gen_udp(完成)。
自有 ID:OTP-18599 辅助 ID:OTP-18029
Megaco 4.4.4
修复的错误和故障
删除了配置选项
--enable-sanitizers
。它未经测试且已损坏。模拟器的地址清理器通过asan
构建目标提供更好的支持。自有 ID:OTP-18538 辅助 ID:GH-7031、PR-7078
Megaco 4.4.3
改进和新功能
将 size/1 替换为 tuple_size/1 或 byte_size/1
size/1
BIF 未被 JIT 优化,其使用可能导致 Dialyzer 的类型变差。当知道被测试的值必须是元组时,应始终首选
tuple_size/1
。当知道被测试的值必须是二进制文件时,应首选
byte_size/1
。但是,byte_size/1
也接受位串(将大小向上舍入为整数个字节),因此必须确保在调用byte_size/
之前调用is_binary/1
,以确保拒绝位串。请注意,编译器会删除对is_binary/1
的冗余调用,因此,如果不确定之前的代码是否已确保参数是二进制文件,则在调用byte_size/1
之前添加is_binary/1
测试不会有害。自有 ID:OTP-18432 辅助 ID:GH-6672、PR-6793、PR-6784、PR-6787、PR-6785、PR-6682、PR-6800、PR-6797、PR-6798、PR-6799、PR-6796、PR-6813、PR-6671、PR-6673、PR-6684、PR-6694、GH-6677、PR-6696、PR-6670、PR-6674
Megaco 4.4.2
改进和新功能
对测量工具进行了非常小的改进。
自有 ID:OTP-18298
Megaco 4.4.1
修复的错误和故障
修复了示例和应用程序本身中的各种与 dialyzer 相关的问题。
自有 ID:OTP-18179 辅助 ID:ERIERL-836
改进和新功能
有一个新的配置选项
--enable-deterministic-build
,它将在构建 Erlang/OTP 时应用deterministic
编译器选项。deterministic
选项已得到改进,以消除多个应用程序中更多非确定性的来源。自有 ID:OTP-18165 辅助 ID:PR-5965
Megaco 4.4
改进和新功能
为
configure
脚本调整了autoconf
2.71 的输入。自有 ID:OTP-17414 辅助 ID:PR-4967
Megaco 测试套件使用新的对等模块进行节点启动。
自有 ID:OTP-17910
Megaco 4.3
修复的错误和故障
编译时间不再记录在 BEAM 文件中。仍然有几个未记录的函数试图检索编译时间。这些函数现在已被删除。
自有 ID:OTP-17962
改进和新功能
更新 megaco 用户指南的性能和调试章节。还更新了一些测量工具。
自有 ID:OTP-17839
Megaco 4.2
改进和新功能
[megaco_tcp] 当连接失败时,在错误原因中包含更多信息。
自有 ID:OTP-17817
Megaco 4.1
改进和新功能
现在可以配置内置传输(megaco_tcp 和 megaco udp)以使用新的(gen_udp- 和 gen_tcp-)选项 'inet_backend'。
自有 ID:OTP-17533
Megaco 4.0.1
修复的错误和故障
提交生成的
configure
脚本。自有 ID:OTP-17420 辅助 ID:OTP-17398、GH-4821
Megaco 4.0
改进和新功能
所有 pre-v3 编解码器(prev3a、prev3b 和 prev3c)在 OTP-23.0 中已弃用。它们现在已被删除。
*潜在的不兼容性 *
自有 ID:OTP-16560
删除了标记为删除的已弃用函数。
自有 ID:OTP-17049
Megaco 3.19.5.1
修复的错误和故障
提交生成的
configure
脚本。自有 ID:OTP-17420 辅助 ID:OTP-17398、GH-4821
Megaco 3.19.5
修复的错误和故障
修复了配置脚本源中
AC_CONFIG_AUX_DIRS()
宏的使用。自有 ID:OTP-17093 辅助 ID:ERL-1447、PR-2948
Megaco 3.19.4
修复的错误和故障
版本 3 的编码和解码中都允许使用空统计描述符(现在)。
自有 ID:OTP-17012 辅助 ID:ERL-1405
Megaco 3.19.3
修复的错误和故障
(yecc)生成 v2 和 v3(文本)解析器时的预期警告数量不正确。
自有 ID:OTP-16836
Megaco 3.19.2
修复的错误和故障
v2 和 v3 解析器无法正确解码某些 IPv6 地址。
自有 ID:OTP-16818 辅助 ID:ERIERL-526
Megaco 3.19.1
修复的错误和故障
微型解析器无法正确解码某些 IPv6 地址。
自有 ID:OTP-16631 辅助 ID:ERIERL-491
Megaco 3.19
改进和新功能
重构了对已弃用和已删除函数的内部处理。
自有 ID:OTP-16469
初步版本 3 编解码器 prev3a、prev3b 和 prev3c 已被弃用,将在 OTP 24 中删除。编码配置选项“version3”将继续工作到 OTP 24。
自有 ID:OTP-16531
Megaco 3.18.8.4
修复的错误和故障
提交生成的
configure
脚本。自有 ID:OTP-17420 辅助 ID:OTP-17398、GH-4821
Megaco 3.18.8.3
修复的错误和故障
版本 3 的编码和解码中都允许使用空统计描述符(现在)。
自有 ID:OTP-17012 辅助 ID:ERL-1405
Megaco 3.18.8.2
修复的错误和故障
v2 和 v3 解析器无法正确解码某些 IPv6 地址。
自有 ID:OTP-16818 辅助 ID:ERIERL-526
Megaco 3.18.8.1
修复的错误和故障
微型解析器无法正确解码某些 IPv6 地址。
自有 ID:OTP-16631 辅助 ID:ERIERL-491
Megaco 3.18.8
修复的错误和故障
文档化的函数 megaco:get_sdp_record_from_PropertGroup/2 是 megaco_sdp:get_sdp_record_from_PropertGroup/2 的包装器,但实际上并不存在。现在已修复此问题。
自有 ID:OTP-16449
改进和新功能
测试套件已完全重做。添加用于调试和测试的(时间戳)实用函数。
自有 ID:OTP-16158
Megaco 3.18.7
修复的缺陷和故障
meas 示例很久没有更新,导致它无法工作。此外,它使用了已弃用的函数 (now())。现在已经修复了这个问题。
自身 ID: OTP-16061
Megaco 3.18.6
修复的缺陷和故障
修复了与 Dialyzer 相关的各种小问题。这些主要是 Dialyzer 警告,但 Dialyzer 也检测到了一些小错误。
自身 ID: OTP-15882
Megaco 3.18.5
改进和新功能
由于
crypto
应用程序的配置的移动,对构建系统进行了必要的微小更新。自身 ID: OTP-15262 辅助 ID: OTP-15129
对构建系统进行了微小调整,以进行并行配置。
自身 ID: OTP-15340 辅助 ID: OTP-14625
Megaco 3.18.4
修复的缺陷和故障
改进了文档。
自身 ID: OTP-15190
Megaco 3.18.3
修复的缺陷和故障
删除了文档中所有旧的未使用的文件。
自身 ID: OTP-14475 辅助 ID: ERL-409, PR-1493
Megaco 3.18.2
改进和新功能
已修复拼写错误。
自身 ID: OTP-14387
Megaco 3.18.1
改进和新功能
内部更改
自身 ID: OTP-13551
Megaco 3.18
改进和新功能
应用程序资源文件中的运行时依赖项已更新。
自身 ID: OTP-12762
Megaco 3.17.3
改进和新功能
在构建时将
autoconf
助手分发到应用程序,而不是在存储库中提交多个相同的副本。自身 ID: OTP-12348
Megaco 3.17.2
修复的缺陷和故障
实现 --enable-sanitizers[=sanitizers]。类似于使用 Valgrind 进行调试,启用 -fsanitize= 开关在运行时捕获错误非常有用。
自身 ID: OTP-12153
Megaco 3.17.1
改进和新功能
Erlang 文件的默认编码已从 ISO-8859-1 更改为 UTF-8。
XML 文件的编码也已更改为 UTF-8。
自身 ID: OTP-10907
Megaco 3.17.0.3
改进和新功能
将文档文件更新为 utf8。
自身 ID: OTP-10907
Megaco 3.17.0.2
改进和新功能
引入了用于检查系统和构建配置的功能。
自身 ID: OTP-11196
Megaco 3.17.0.1
改进和新功能
不再需要用于生成 PDF 文件的 Postscript 文件。
自身 ID: OTP-11016
Megaco 3.17
版本 3.17 支持在运行时从/到版本 3.16.0.3 和 3.16.0.2 进行代码替换。
改进和新功能
-
修复的缺陷和故障
flex 扫描器处理属性 parm 组时发生缓冲区溢出错误。
仅当在处理属性 parm 组时需要重新分配缓冲区时,才会出现此错误(针对大型消息)。
自身 ID: OTP-10998
辅助 ID: Seq 12263
不兼容性
-
Megaco 3.16.0.3
版本 3.16.0.2 支持在运行时从/到版本 3.16.0.1、3.16、3.15.1.1、3.15.1 和 3.15 进行代码替换。
改进和新功能
在必要时,已将声明编码的注释添加到 Erlang 文件中。该注释旨在在 Erlang/OTP R17B 中删除,届时 UTF-8 将成为默认编码。
自身 ID: OTP-10630
修复的缺陷和故障
-
不兼容性
- 已删除许多二进制编码替代方案。二进制编码选项
driver
已被删除,因为现在默认使用此选项(使用驱动程序中链接的 asn1),并且现在无法不使用它。有关更多信息,请参见二进制编码的配置。
Megaco 3.16.0.2
版本 3.16.0.2 支持在运行时从/到版本 3.16.0.1、3.16、3.15.1.1、3.15.1 和 3.15 进行代码替换。
改进和新功能
允许安装路径中包含空格。
现在可以在配置和 make 中提供包含空格的安装/发布路径。
自身 ID: OTP-10107
修复了行为的并行 make。
在测量工具
mstone1
中,删除了对已弃用系统标志global_haeps_size
的使用。
修复的缺陷和故障
-
不兼容性
-
Megaco 3.16.0.1
版本 3.16.0.1 支持在运行时从/到版本 3.16、3.15.1.1、3.15.1 和 3.15 进行代码替换。
改进和新功能
修复了一些错误的测试用例。
在测量工具
mstone1
中,删除了对已弃用系统标志scheduler_bind_type
的使用。自身 ID: OTP-9949
修复的缺陷和故障
-
不兼容性
-
Megaco 3.16
版本 3.16 支持在运行时从/到版本 3.15.1.1、3.15.1 和 3.15 进行代码替换。
改进和新功能
对测量工具
mstone1
进行了细微改进。自身 ID: OTP-9604
ASN.1 不再使用驱动程序来加速编码/解码,而是使用 NIF。编码配置选项仍然相同,即
driver
。自身 ID: OTP-9672
分析测试工具已重写。
Håkan Mattsson
自身 ID: OTP-9679
已更新 flex 驱动程序以支持新的驱动程序格式(更改为启用 64 位感知驱动程序)。
自身 ID: OTP-9795
修复的缺陷和故障
-
不兼容性
-
Megaco 3.15.1.1
版本 3.15.1.1 支持在运行时从/到版本 3.15.1 和 3.15 进行代码替换。
改进和新功能
更正各种 XML 错误。
自身 ID: OTP-9550
修复的错误和故障
-
Megaco 3.15.1
3.15.1 版本支持在运行时从/到 3.15、3.14.1.1、3.14.1 和 3.14 版本进行代码替换。
改进和新功能
-
修复的错误和故障
修复了 dialyzer 检测到的各种问题。
自有 ID:OTP-9075
Megaco 3.15
改进和新功能
修复了自动导入问题。
自有 ID:OTP-8842
修复的错误和故障
-
Megaco 3.14.1.1
3.14.1.1 版本支持在运行时从/到 3.14.1、3.14、3.13、3.12 和 3.11.3 版本进行代码替换。
改进和新功能
更新了 性能 章节。
自有 ID:OTP-8696
修复的错误和故障
-
Megaco 3.14.1
3.14.1 版本支持在运行时从/到 3.14、3.13、3.12 和 3.11.3 版本进行代码替换。
改进和新功能
一个小的编译器相关的性能改进。
自有 ID:OTP-8561
修复的错误和故障
在高负载期间,当处理原始消息和重发消息,并将此作为两条单独的消息传递给用户时,出现的竞态条件。
请注意,此解决方案仅防止多次回复传递!
自有 ID:OTP-8529
辅助 ID:Seq 10915
修复了共享库安装问题。
flex 共享库被错误地安装为数据文件。
Peter Lemenkov
自有 ID:OTP-8627
消除了创建挂起计数器时可能发生的竞态条件。
自有 ID:OTP-8634
辅助 ID:Seq 11579
Megaco 3.14
3.14 版本支持在运行时从/到 3.13、3.12 和 3.11.3 版本进行代码替换。
改进和新功能
对配置和 makefile 进行了各种更改,以方便交叉编译(以及其他构建系统改进)。
自有 ID:OTP-8323
在测试 Makefile 中添加了一个 help 目标,用于解释使用 megaco 提供的测试服务器测试应用程序时使用的最常用的 make 目标。
自有 ID:OTP-8362
使 megaco_filter 适应新的内部格式。
自有 ID:OTP-8403
修复的错误和故障
当回调模块未知(未定义)时,回调会产生警告消息。
一个竞态条件场景。作为取消操作的一部分,等待确认的回复将被取消。这包括通知用户(通过调用 handle_trans_ack 回调函数)。在这种情况下,连接数据可能已被删除,这使得 megaco 无法执行此操作,从而导致警告消息。解决方案是将回调模块也与其他的回复信息一起存储,以便在取消后清理时使用。
自有 ID:OTP-8328
辅助 ID:Seq 11384
Megaco 3.13
3.13 版本支持在运行时从/到 3.12 和 3.11.3 版本进行代码替换。
改进和新功能
通过对一些表更新使用 ets:update_element 而不是 ets:insert 进行的少量优化。
自有 ID:OTP-8239
文档现在使用大多数平台上存在的开源工具(xsltproc 和 fop)构建。一个可见的更改是删除了框架。
自有 ID:OTP-8249
修复的错误和故障
-
不兼容性
-