cast/CHANGELOG.md

36 lines
2.2 KiB
Markdown
Raw Normal View History

# CHANGELOG
## [v1.2.0] - 2026-05-04
### Added
- **语义化 API**: 引入 `To[T]` (严格/含错) 和 `As[T]` (静默/零值) 泛型接口,作为全能类型转换入口。
- **摩擦消除工具**: 新增 `Quiet[T]``Must[T]` 通用辅助函数,用于包装 error-returning 函数。
- **智能穿透**: `To[T]` 支持 JSON 自动双向转换Input string/[]byte <-> Target struct/map/slice
### Removed
- **YAML 支持**: 移除 `gopkg.in/yaml.v3` 依赖及所有 YAML 相关 API。
- **API 整合**: 移除专门的 `AsXxx``MustXxx` 系列函数(如 `AsMap`, `AsJSON`, `MustToJSON` 等),推荐使用 `As[T]``Quiet/Must` 包装。
2026-05-04 09:22:34 +08:00
## [v1.1.2] - 2026-05-04
### Added
- 新增 `ToMap``ToSlice`: 侧重于原地填充/追加,支持 Struct 继承拍平、KV 序列化与自动类型转换。
- 新增 `MakeMap`, `MakeSlice`, `FromJSON`, `FromYAML` 系列: 泛型构建新对象的零摩擦 API。
- 增强 `UnmarshalJSON` / `UnmarshalYAML`: 重构为副作用模式(返回 error支持多种输入类型。
### Removed
- 移除 `Ints``Strings`: 由更通用的 `MakeSlice` 替代,保持 API 简洁。
## [v1.1.1] - 2026-04-12
- **修复**: 解决 `FastEncoder` 在编码结构体时忽略匿名嵌入Embedded字段的问题确保组合对象的完整序列化。
## [v1.1.0] - 2026-05-02
- **功能**: 新增 `FastEncoder`,实现单路径 JSON 编码,大幅提升性能并减少内存分配。
- **功能**: 新增 `ToJSONDesensitize``ToJSONDesensitizeBytes`,支持原生字段脱敏。
- **功能**: 新增 `FastDecoder`,实现单路径流式 JSON 解析,支持“零摩擦” Key 匹配(大小写不敏感、归一化映射)。
- **优化**: 完善 `null` 值处理逻辑,区分 `nil` 指针与空 `slice`/`map`
- **重构**: 移除旧版 `makeJSONType` 等冗余逻辑,代码结构更简洁高效。
## [v1.0.4] - 2026-04-30
- **优化**: 重构 `UniqueAppend`,改用 Map 查重,性能提升至 $O(n)$。
- **优化**: 提升 `If` 函数参数描述性,符合工程规范。
- **优化**: 精简 `parseInt`/`parseUint` 逻辑,减少冗余字符串扫描。
- **优化**: 优化 `FixUpperCase` 内部字符处理,引入位运算提升效率。