查看源代码 Megaco 发行说明

本文档描述了 Megaco 系统从一个版本到另一个版本所做的更改。本文档的目的是列出 Megaco 的每个版本的所有不兼容性以及所有增强功能和错误修复。因此,Megaco 的每个版本构成本文档中的一个章节。每个章节的标题是 Megaco 的版本号。

Megaco 4.7

改进和新功能

  • Erlang/OTP 类型规范已更新,以消除重叠的域。

    自有 ID:OTP-19310 辅助 ID:GH-8810GH-8821PR-8986

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

  • 文档现在使用大多数平台上存在的开源工具(xsltprocfop)构建。一个可见的更改是删除了框架。

    自有 ID:OTP-8249

修复的错误和故障

-

不兼容性

-