2026-04-30 22:16:01 +08:00
|
|
|
|
# CHANGELOG
|
|
|
|
|
|
|
2026-05-04 10:41:34 +08:00
|
|
|
|
## [v1.2.0] - 2026-05-04
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **语义化 API**: 引入 `To[T]` (严格/含错) 和 `As[T]` (静默/零值) 泛型接口,作为全能类型转换入口。
|
|
|
|
|
|
- **智能穿透**: `To[T]` 支持 JSON 自动双向转换(Input string/[]byte <-> Target struct/map/slice)。
|
|
|
|
|
|
- **容器 API 统一**:
|
|
|
|
|
|
- `ToMap` / `AsMap` (替代 `MakeMap`)
|
|
|
|
|
|
- `ToSlice` / `AsSlice` (替代 `MakeSlice`)
|
|
|
|
|
|
- `AsJSON` / `AsJSONBytes` (替代 `MustToJSON`)
|
|
|
|
|
|
- `AsFromJSON` (替代 `MustFromJSON`)
|
|
|
|
|
|
### Removed
|
|
|
|
|
|
- **YAML 支持**: 移除 `gopkg.in/yaml.v3` 依赖及所有 YAML 相关 API,专注 JSON 以保持核心极致精简。
|
|
|
|
|
|
### Deprecated
|
|
|
|
|
|
- **MustXxx 系列**: 建议迁移至语义更明确的 `AsXxx`。
|
|
|
|
|
|
- **MakeXxx 系列**: 建议迁移至 `AsMap` / `AsSlice`。
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
2026-05-02 23:39:10 +08:00
|
|
|
|
- **修复**: 解决 `FastEncoder` 在编码结构体时忽略匿名嵌入(Embedded)字段的问题,确保组合对象的完整序列化。
|
|
|
|
|
|
|
2026-05-02 23:00:44 +08:00
|
|
|
|
## [v1.1.0] - 2026-05-02
|
|
|
|
|
|
- **功能**: 新增 `FastEncoder`,实现单路径 JSON 编码,大幅提升性能并减少内存分配。
|
|
|
|
|
|
- **功能**: 新增 `ToJSONDesensitize` 和 `ToJSONDesensitizeBytes`,支持原生字段脱敏。
|
|
|
|
|
|
- **功能**: 新增 `FastDecoder`,实现单路径流式 JSON 解析,支持“零摩擦” Key 匹配(大小写不敏感、归一化映射)。
|
|
|
|
|
|
- **优化**: 完善 `null` 值处理逻辑,区分 `nil` 指针与空 `slice`/`map`。
|
|
|
|
|
|
- **重构**: 移除旧版 `makeJSONType` 等冗余逻辑,代码结构更简洁高效。
|
|
|
|
|
|
|
2026-04-30 22:16:01 +08:00
|
|
|
|
## [v1.0.4] - 2026-04-30
|
|
|
|
|
|
- **优化**: 重构 `UniqueAppend`,改用 Map 查重,性能提升至 $O(n)$。
|
|
|
|
|
|
- **优化**: 提升 `If` 函数参数描述性,符合工程规范。
|
|
|
|
|
|
- **优化**: 精简 `parseInt`/`parseUint` 逻辑,减少冗余字符串扫描。
|
|
|
|
|
|
- **优化**: 优化 `FixUpperCase` 内部字符处理,引入位运算提升效率。
|