encoding/CHANGELOG.md
2026-06-11 19:12:37 +08:00

3.4 KiB
Raw Permalink Blame History

Changelog: @go/encoding

v1.5.3 (2026-06-11)

  • 依赖对齐: 升级 jsmod 依赖至 v1.5.2,升级 cast 依赖至 v1.5.2。

v1.5.2 (2026-06-08)

  • 回滚与修复: 修正了 v1.5.1 中架构设计的失误,将 Go 核心层的 EncodeIntIntEncoder.EncodeInt 返回值从 string 恢复为 []byte,彻底消除由于频繁强制转换导致的内存逃逸,恢复了高频并发场景下的零拷贝性能基准。
  • JS 智能桥接: 通过在 js_export.go 的注册阶段采用匿名闭包函数 func(u uint64) string,完美兼顾了底层的高效性和 JS 环境面向字符串开发的友好体验。

v1.5.1 (2026-06-08)

  • JS 对齐: 将所有注册到 jsmod 的导出方法名统一为 PascalCase并将缩写名称如 URL, HTML, UTF8全大写以消除 JS 与 Go 调用体感上的摩擦。合并了冗余的 xxxToString 方法。

[v1.3.2] - 2026-05-30

Added

  • JSMOD 注册:将核心编解码能力注册到 jsmod,支持在 JS 环境中调用 Base64, Hex, URL, HTML 及 SortJoin 等能力。

[v1.1.1] - 2026-05-08

Added

  • 文档补全:在 README 中补充了 SortJoin 接口的详细说明,该接口用于 Map 或 Struct 的排序拼接(签名场景)。

[v1.1.0] - 2026-05-06

Added

  • Base64 无填充支持:新增 Base64RawBase64RawToStringUrlBase64RawUrlBase64RawToString 接口,支持生成不带填充符(=)的编码。

Changed

  • 智能解码升级:升级了 UnBase64UnUrlBase64 系列函数,通过 O(1) 零分配检测自动兼容“带填充”与“无填充”的输入数据,无需额外调用 Raw 解码接口。

[v1.0.6] - 2026-05-06

Changed

  • 设计哲学对齐:全面废除 Must 前缀函数,改为配合 go/castAs 函数消除摩擦,提升代码语义化。
  • API 重命名MustUnHtmlEscape 重命名为 HtmlUnescape,使其符合标准 API 习惯且保持 frictionless。

Added

  • API 补全:新增 UnHexFromStringUnBase64FromStringUnUrlBase64FromStringUnUrlEncode 异步错误返回版本。
  • 依赖对齐:引入 apigo.cc/go/cast 依赖以支持消除摩擦能力。

[v1.0.5] - 2026-05-01

  • (同步版本号)

[v1.0.4] - 2026-05-01

Changed

  • 性能优化:优化了 Hex 编解码函数,通过直接使用 hex.Decode 避免了不必要的 string 转换和内存分配。
  • 鲁棒性增强:重构了 NewIntEncoder,强化了对字符集的校验,明确支持单字节字符集并提升了初始化安全性。
  • 文档修正:修正了 FillInt 的描述(从随机填充改为循环序列填充),并同步更新了 README 中的返回类型描述。

Added

  • API 补全:新增包级别的 FillInt 函数,使 IntEncoder 的所有核心能力均可通过包级 API 访问。

[v1.0.0] - 2026-04-22

Added

  • 基础编解码引擎:提供基于 []byte 的 Hex 和 Base64 (Standard/URL) 编解码支持。
  • 静默 API (Must Series):新增 MustUnXxx 系列 API自动屏蔽解码错误简化业务处理逻辑。
  • Web 协议支持:新增 URL 编解码与 HTML 转义/反转义接口。
  • 高级整数编码:移植并重构 IntEncoder,支持自定义进制、补齐填充 (FillInt)、位置置换 (ExchangeInt) 与 HMAC-SHA512 哈希校验。
  • 健壮性校验:新增 UTF-8 有效性检测。