convert_del/CHANGELOG.md

27 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog: @go/convert
## [v1.0.5] - 2026-05-04
### Fixed
- **兼容性修复**:修复了由于 `cast` 库 API 变更导致的 `MustJSONBytes` 未定义错误,更新为 `MustToJSONBytes`
## [v1.0.4] - 2026-04-30
### Changed
- **性能重构**:重构了反射字段匹配逻辑,引入 `sync.Map` 缓存结构体元数据,性能从 $O(N)$ 优化至 $O(1)$Benchmark 结果约为 `1020 ns/op`
- **匹配策略优化**:实现了“分层模糊匹配”,确保在保留“零摩擦”模糊匹配哲学的同时,适配更多不规范命名风格(如下划线、中划线、大小写混用)。
- **防御性强化**:重构了 `To` 函数中的指针解引用与初始化逻辑,移除了由于 `nil` 指针或非法嵌套引起的 Panic 风险,支持多级指针自动分配内存。
- **辅助函数优化**:将 `FlattenStruct` 的内部递归逻辑重构为高性能 Visitor 模式,增加了深度递归防护。
## [v1.0.0] - 2026-04-22
### Added
- **核心映射引擎**:基于反射的深度对象转换功能,支持 Struct, Map, Slice。
- **意图优先设计**:支持单值与切片的自动包装/解包转换。
- **智能字符串转换**:支持将 CSV 格式字符串 (`"a,b,c"`) 自动转为切片。
- **极致去摩擦匹配**:键名映射时自动忽略大小写及所有非字母数字字符(如 `_`, `-`, `#` 等)。
- **函数桥接器**:支持将一个函数转换为另一个签名的函数,并自动处理参数转换。
- **Parse 钩子**:支持通过 `ParseXxx` 方法定制特定字段的转换逻辑。
- **平展工具**:提供 `FlatStruct` 辅助函数用于获取结构体的扁平化字段信息。
- **接口兼容**:原生支持 `json.Unmarshaler``yaml.Unmarshaler`