解决MySql布尔型新旧版本兼容问题,采用枚举来表示布尔型的数据表。由正向工程赋值
|
# NewLife.Core 版本更新记录
## v12.0.2026.0927 (2026-09-27)
### ç ´åæ€§å˜æ›´ï¼ˆå‡çº§é¡»çŸ¥ï¼‰
- **æ•°æ®åŒ…æ‰€æœ‰æƒæ¨¡åž‹é‡å†™**:`OwnerPacket` å¼•å…¥å¼•ç”¨è®¡æ•°å†…æ ¸ï¼Œ`Slice` è¿”å›žå…·ä½“ç±»åž‹å¹¶æ”¯æŒ `using` é‡Šæ”¾ï¼›ä¸‰å‚ `Slice`ã€`OwnerPacket.Free`ã€`Rent`/`Return` 兼容壳已按 v12 清å•åˆ é™¤ï¼ŒåŸºäºŽæ—§ç‰ˆç¼–è¯‘çš„è°ƒç”¨æ–¹å°†æŠ› `MissingMethodException`,需éšå¤§ç‰ˆæœ¬é‡ç¼–译
- **消æ¯ä¸Žå议契约é‡å»º**:`IMessage` 承载方å‘è¯ä¹‰ï¼ˆ`Kind`/`Reply`/`OneWay`/`CreateReply`),消æ¯ä¸å†æ± 化;帧读写归 `IFrameMessage`(`ReadFrame`/`Build`/`BuildHeader`ï¼‰ï¼Œæ—§åæ¡¥ `Read`/`ToPacket`/`ToHeaderPacket` åˆ é™¤ï¼›`WebSocketMessage` 独立化ä¸å†ç»§æ‰¿ `Message`
- **ç¼–è§£ç 噍啿 ˆåŒ–**:`PacketCodec`/`PacketFramer` 与 `NewLife.Net.Handlers` 处ç†å™¨ä½“系(`StandardCodec` ç‰ 6 ä¸ªï¼‰æ•´åˆ ï¼Œç»Ÿä¸€ä¸º `MessagePump` 帧泵 + æ— çŠ¶æ€ `IMessageCodec`
- **过时类型清ç†**(分三批):`Packet` ç±»ã€`IPacketEncoder`ã€`NewLife.Net.Setting` 别åã€`IAsyncEventBus` ç‰åˆ 除
### 新增功能
- **æ•°æ®ç®¡é“**:`Pipe`/`PipeReader`/`PipeWriter` 与 `LimitedReader`ï¼Œå¯¹é½ System.IO.Pipelines å½¢æ€ï¼Œæ”¯æŒèƒŒåŽ‹æ°´ä½ä¸Žè¯»é¥¥é¥¿è®©ä½
- **帧泵与åè®®**:`MessagePump`(头到é½å³äº¤ä»˜ã€å°å¸§é›¶æ‹·è´å¿«è·¯å¾„ã€å¤§å¸§æµå¼ä½“ã€`MaxCache` 残余防护)ã€`SequenceReader` å…¨ 18 TFM 垫片ã€SRMP æœåŠ¡ç«¯å¹¶è¡Œæ´¾å‘
- **WebSocket**:分片自动é‡ç»„(RFC 6455 §5.4ï¼‰ã€æ¡æ‰‹å¼‚æ¥åŒ–è¿›å…¥æ‰“å¼€é“¾è·¯ã€æœåŠ¡ç«¯ä¸Žå®¢æˆ·ç«¯å…±ç”¨å¸§è§£æž
- **ç½‘ç»œä¼ è¾“**:Unix 域套接å—(UDS)ã€`AutoReceive` 接收模å¼äºŒé€‰ä¸€ã€å‘逿³µå¼‚æ¥åŒ–与背压感知å‘é€ API
### 性能
- UDP ä¼šè¯æŸ¥æ‰¾æ”¹ç«¯ç‚¹é”®ç¼“å˜ï¼ŒæœåŠ¡ç«¯æ¯åŒ…分é…é™ä½Žçº¦ 35%
- 接收环å¤ç”¨ `OwnerPacket` 奿Ÿ„,轮末回挂接收槽çœåŽ»æ¯è½®æ–°å»º
- 压缩编解ç 器改为æµå¼è¿›å‡ºï¼Œæ¶ˆé™¤å†—余拷è´
### Bug ä¿®å¤
- **[fix]** 安全:`SecurityHelper` 旧框架分支释放哈希算法实例与 `ICryptoTransform`
- **[fix]** HTTPï¼šéžæ³• `Content-Length` 回 400ã€HEAD ä¸å†å‘é€å®žä½“ã€æ— 实体å“应ä¸å£°æ˜Žé•¿åº¦ã€åˆ†å—è§£æžæ¶ˆè´¹ trailersã€è·¯å¾„缓å˜ç‹¬ç«‹åŽŸå计数
- **[fix]** WebSocketï¼šæ¡æ‰‹æ ¡éªŒå¤±è´¥ä¸å†é™é»˜æŽ¥ç®¡è¿žæŽ¥ã€æ¡æ‰‹å¤´æŒ‰ä»¤ç‰Œåˆ—表解æžã€å…¥ç«™å¸§è¡¥é½ RFC 6455 æ ¡éªŒï¼ˆRSV/ä¿ç•™ opcode/æŽ©ç æ–¹å‘/控制帧长度)
- **[fix]** æ•°æ®åŒ…ï¼šæž„é€ æ‹’ç»è¶Šç•Œåç§»ã€é“¾å¼è¿½åŠ çŽ¯æ£€æµ‹ã€ç©ºé¦–节点扩展头部ä¸å†äº§ç”Ÿè´Ÿåç§»
- **[fix]** 管é“:背压改按未检查记账(修å¤å–消信å·ä¸Žå®Œæˆå¼‚常丢失)ã€`SpanReader` æµå¼æ‰©å®¹æ± 缓冲å¯å½’还ã€å…¥ç«™ç®¡é“å…³é—释放读侧残余
- **[fix]** 会è¯ï¼šUDP 客户端模å¼å…³é—释放套接å—ã€UDP 体绑定与并å‘ä¿¡å·é‡é‡Šæ”¾ã€æŽ¥å—环递归深度é™åˆ¶ã€HTTP ä¼šè¯æ•´åŒ…åˆ¤ç©ºå¹¶æ¸…ç†æ‚¬ç©ºå¼•用
- **[fix]** åè®®ï¼šé•¿åº¦å—æ®µéžæ³•值按æŸå帧上报ã€å¸§æ³µåŒºåˆ†å·²å®šç•Œå¾…整帧ã€åŽ‹ç¼©åè®®é™åˆ¶è§£åŽ‹ä¸Šé™é˜²è§£åŽ‹ç‚¸å¼¹
- **[fix]** 其他:SSL ä¼šè¯æ–线感知归一ã€`NetClient` é‡è¿žé‡Šæ”¾æ—§å®žä¾‹ã€å‡çº§æ£€æŸ¥é历全部镜åƒåœ°å€ã€æŽ§åˆ¶å™¨ä»…暴露公开方法ã€ç½‘络å˜åŒ–åªæ¸…自身缓å˜
### 测试与质é‡
- 补充åè®®å¥‘çº¦ã€æ•°æ®æ‰€æœ‰æƒã€ç®¡é“ã€WebSocket æ ¡éªŒã€HTTP 边界ç‰å›žå½’æµ‹è¯•ï¼Œå…¨é‡ 2984 项通过
- 新增 NetLoadTest 压测程åºä¸Žè£¸ Socket 性能报告(åžå/延迟/分é…基线)
---
## v11.19.2026.0901 (2026-09-01)
### 新增功能
- **å‘é‡å˜å‚¨æŽ¥å£**:新增 `IVectorStore`/`VectorRecord` å‘é‡å˜å‚¨æŽ¥å£åŠæ•°æ®ç»“æž„ï¼Œå¯¹æ ‡ Microsoft.Extensions.VectorData åšéžæ³›åž‹ç®€åŒ–ï¼Œæ”¯æŒ Top-K 相似度检索,为 AI 应用æä¾›å‘釿£€ç´¢åŸºç¡€è®¾æ–½
- **Murmur128 哈希增强**:增强 Murmur128 哈希算法实现并补充完整å•元测试覆盖
- **GeoPoint 功能增强**:增强 GeoPoint 地ç†ä½ç½®å¤„ç†èƒ½åŠ›å¹¶è¡¥å……å®Œæ•´å•元测试
### é…置与日志
- **SysConfig 注解完善**:为 SysConfig 属性补充 Description 注解并优化命å
- **日志文件命å统一**:日志文件命å统一为下划线分隔,移除 UTC æ—¶é—´æ ¡æ£
### Bug ä¿®å¤
- **[fix]** ä¿®å¤ DSAHelper 对 PgenCounter/Counter 节点解æžå…¼å®¹æ€§åŠæ ‡ç¾ä¸å¯¹ç§°é—®é¢˜
- **[fix]** ä¿®å¤ Crc16/Crc32 è¾¹ç•Œæ ¡éªŒç»•è¿‡ã€ç´¢å¼•越界ã€Modbus å移与大æµè®¡æ•°å›žç»•
- **[fix]** ä¿®å¤ PerfCounter é‡‡æ ·é—´éš”å¼‚å¸¸é…置除零与数组越界(Interval=0 或 Duration<Interval 时)
- **[fix]** RaceLoadBalancer 自定义探测委托异常击穿竞速调用兜底;XmlGeneral Decimal ç» Double ä¸è½¬ä¸¢ç²¾åº¦ä¿®æ£
- **[fix]** JwtBuilder 算法注册表并å‘安全ã€ç¾åå¤±è´¥å‡ºå‚æ¶ˆæ¯è¡¥é½ï¼›WebClientX å¹¶å‘创建 HttpClient 泄æ¼é˜²æŠ¤
- **[fix]** PinYin 对 GB2312 未收录汉å—ç¼–ç 越界崩溃补长度防护;SplitByFixedSize 补负å移防护
- **[fix]** NetServer éšæœºç«¯å£è½å…¥ç³»ç»Ÿä¿ç•™æ®µå¯¼è‡´ UDP 绑定失败时清ç†å¹¶é‡æ–°åˆ†é…端å£ï¼ˆæœ‰ç•Œé‡è¯• 3 次)
- **[fix]** ä¿®å¤ CacheLock é›¶è¶…æ—¶ç©ºé—²é”æ— 法获å–ã€MemoryCache æŒä¹…化过期竞æ€ã€CommandParser/JsonConfigProvider 越界ã€HttpConfigProvider å—符串é”失效ã€FileConfigProvider éž Windows 原å写入崩溃
- **[fix]** ProcessHelper.Execute returnError 未é‡å®šå‘ stderr 导致æ»åŠŸèƒ½ï¼›BitHelper Byte é‡è½½è´Ÿä½ç½®ç ´åæ•°æ®
- **[fix]** ä¿®å¤ PKCS7 å¤šå—æ‹·è´åç§»ã€Rand å–ç»å¯¹å€¼æº¢å‡ºã€Asn1 空缓冲越界
### 测试与质é‡
- 补充 Murmur128ã€GeoPointã€PinYin 越界防护ç‰å›žå½’测试
---
## v11.18.2026.0801 (2026-08-01)
### HTTP æœåŠ¡å¢žå¼º
- **HTTP ä¸é—´ä»¶æœºåˆ¶**:引入ä¸é—´ä»¶ç®¡é“ï¼Œæ”¯æŒ CORS 跨域与统一错误处ç†
- **傿•°åŒ–路由**ï¼šæ”¯æŒ `{param}` 傿•°åŒ–路由与多方法注册,完善路由体系
- **Controller 注入增强**ï¼šæ”¯æŒ `IHttpContext`/DI å®¹å™¨å¤šæ–¹å¼æ³¨å…¥ï¼Œæ”¯æŒä½œç”¨åŸŸå†…åŠ¨æ€æ³¨å†ŒæœåŠ¡å®žä¾‹ï¼ˆ`IServiceRegistry`)
- **陿€æ–‡ä»¶æœåŠ¡**:支æŒå†…嵌资æºä½œä¸º HTTP 陿€æ–‡ä»¶æœåŠ¡
- **傿•°ç»‘å®šé‡æž„**ï¼šæŠ½å– `ParameterBinder`,统一 MIME 类型处ç†ï¼Œ`FormFile` ä¿å˜åŽŸå化,优化 GET/DELETE 傿•°æ‹¼æŽ¥
- **TokenHttpFilter å¹¶å‘安全**:防æ¢é‡å¤ç”³è¯·åˆ·æ–°ä»¤ç‰Œ
### è¿žæŽ¥æ± ä¸Žå¯¹è±¡æ±
- **è¿žæŽ¥æ± æž¶æž„å‡çº§**ï¼šæ”¯æŒæ± 满阻塞与生命周期回收,`Max`/`Min` è¯ä¹‰å¯¹é½ä¸»æµ
- **ObjectPool ä¿¡å·é‡é™æµ**ï¼šé‡æž„ä¿¡å·é‡é™æµï¼Œå¥å£®æ€§å¢žå¼º
### 网络层优化
- **WebSocket 掩ç 与心跳**:完善掩ç 与心跳机制实现
- **ProcessHelper 增强**:宿主进程识别与文档说明完善
### 工具类
- **24 使— ç¬¦å·æ•´æ•°è¯»å†™**:新增 UInt24 读写方法
- **GeoPoint 值类型优化**:改为 `readonly record struct`,优化为值类型
- **æŽ¥å£æ¸…ç†**:移除过时的 `GetEventBus`ã€`IncrementWithTtl`/`DecrementWithTtl` 接å£
### Bug ä¿®å¤
- **[fix]** å®Œæˆ `MachineInfo` 分部类è¿ç§»ï¼Œæ¶ˆé™¤ 70 个编译错误(é‡å¤å®šä¹‰ä¸Žç¼ºå¤± `partial` ä¿®é¥°ç¬¦ï¼‰ï¼›ä¿®å¤ Windows 路径 `LoadHardwareFromRegistry` çš„å¹³å°æ ‡æ³¨ï¼ˆæ¶ˆé™¤ 22 个 CA1416 è¦å‘Šï¼‰
- **[fix]** `PKCS7PaddingTransform` æ•´å€å—长明文缺失完整填充å—,与 .NET/Java æ ‡å‡†å¡«å……äº’é€šï¼›`SM4.GenerateKey` 误设 IVã€`ProtectedKey` Hex 分支误用 Base64ã€`Crc16/Crc32` åç§»é‡æ ¡éªŒé”™è¯¯
- **[fix]** JSON 数组/列表解æžä¸¢å¼ƒ null å…ƒç´ å¯¼è‡´ä½ç½®é”™ä½ï¼›`JsonComposite.Write` 误调用 `Read` 方法
- **[fix]** `MemoryCache` æŒä¹…化过期时间截æ–,已过期æ¡ç›®åŠ è½½åŽå¤æ´»ä¸ºæ°¸ä¸è¿‡æœŸï¼ˆæŒä¹…åŒ–æ ¼å¼å‡çº§è‡³ v2)
- **[fix]** `IReflect` JsonIgnore æ¡ä»¶è¯ä¹‰å转ã€é™æ€å±žæ€§å—典并å‘å†™ã€æ•°ç»„深拷è´è¶Šç•Œ
- **[fix]** `Cron` æ¥è¿›å€¼ä¸º 0 æ—¶æ»å¾ªçŽ¯æŒ‚æ»ï¼›XML/é…ç½®ç©ºæ–‡ä»¶è§£æžæ»å¾ªçޝ
- **[fix]** `XmlConfig` å—符串é”对象失效导致并å‘ä¿å˜å†²çªï¼›`Actor` Stop åŽ `Tell` 崩溃
- **[fix]** `WebSocket` Ping 回显使用已释放缓冲;`SessionBase`/`UdpSession` æ± åŒ–å¯¹è±¡æ³„æ¼ï¼›`HttpServer` 路径缓å˜å¹¶å‘安全
- **[fix]** `CacheLock` 分布å¼é”å¼•å…¥æŒæœ‰è€…令牌,é¿å…é”超时被接管åŽè¯¯åˆ æ–°æŒæœ‰è€…çš„é”
- **[fix]** `ConsoleLog`/`NetworkLog` 异æ¥å†™æ—¥å¿—丢失唤醒竞æ€ï¼Œæ—¥å¿—永久滞留队列
- **[fix]** `HttpRouter` å¯é€‰å‚æ•° `{param?}` æ»ä»£ç ï¼›`ApiHttpClient` 释放节点 HttpClientï¼›`ObjectPool` åˆ›å»ºå¤±è´¥æ— é™å¾ªçŽ¯ç‰ 40+ 处缺陷
- **[fix]** `ObjectContainer` 新增线程安全查询 `ContainsService`/`FindServices`,消除 `ServiceProvider.GetService` 与 `ModelExtension.GetServices` æ— é”é历在å¯åŠ¨æœŸä¸Žå¹¶å‘æ³¨å†ŒæŠ›é›†åˆä¿®æ”¹å¼‚常
- **[fix]** `Asn1` è¡¥ `0x83` 三å—èŠ‚é•¿æ ¼å¼æ”¯æŒï¼ˆé•¿åº¦è¶…过 65535 çš„ TLV 原解æžé”™ä½ï¼‰ï¼Œ`0x80` BER ä¸å®šé•¿ç”±é™é»˜é”™è§£æ”¹ä¸ºæ˜¾å¼æŠ›é”™
- **[fix]** `Rand.NextBytes` 在 net45/netstandard2.0 æ”¹ç”¨åŠ å¯†å®‰å…¨éšæœºæ•°ç”Ÿæˆå™¨ï¼Œä¸Ž `Next()` ä¿æŒä¸€è‡´ï¼ˆåŽŸ `new Random()` éžåŠ å¯†å®‰å…¨ï¼‰
- **[fix]** `ReadStringUni` 按实际长度读å–å—符串;`BitConverter` 越界与 `PathHelper` 写入å移问题
- **[fix]** `ToDictionary`/`ApiHelper` é”™è¯¯è½¬æ¢æ•°ç»„和列表;æµè¯»å–ä¸å®Œæ•´åŠ `ToBase64` 返回值问题
- **[fix]** 优化 `DeferredQueue` å¹¶å‘安全与性能ã€`ArrayPacket` 解包数æ®å®‰å…¨æ€§ã€`BinaryGeneral`/`Normal` å†…å˜æ± 归还与解ç 逻辑
### 测试与质é‡
- 免釿µ‹è¯• 2558 é¡¹å…¨éƒ¨é€šè¿‡ï¼ˆå« MachineInfo 39 项ã€PKCS7 9 项)
- 测试代ç è¿ç§»æ–° API(`ArrayPacket`/`JsonOptions`/`SearchAsync`),消除 CS0618 与 xUnit 分æžå™¨è¦å‘Š
- 新增 `Rand.NextBytes`ã€`Asn1` é•¿æ ¼å¼ï¼ˆ0x83/0x80ï¼‰æµ‹è¯•ï¼›ä¿®å¤ `SnowflakeTests` 全局 WorkerId æµ‹è¯•éšæœºåˆ° 0 çš„å¶å‘失败(0 表示未设置,应排除)
- 新增 `ICache`/`IProducerConsumer`/`TimeProvider`/`PluginManager` 契约测试,补充 `XTrace`/`Config`/`JsonReader`/`Cache`ã€`XmlParser`/`TypeConverter`ã€`PluginHelper`ã€`ConsoleLog`ã€HTTP ä¸é—´ä»¶ç‰æ ¸å¿ƒç±»åž‹æµ‹è¯•
- 创建需求文档/功能清å•/æž¶æž„è®¾è®¡ä¸‰ä»¶å¥—æ–‡æ¡£ï¼ŒåŠŸèƒ½æ¸…å•æµ‹è¯•覆盖 55/74
## v11.17.2026.0701 (2026-07-01)
### JSON 增强
- **IDictionarySource åºåˆ—化支æŒ**:System.Text.Json æ”¯æŒ `IDictionarySource` 接å£åºåˆ—化åŠå¤šç§æ—¶é—´æ ¼å¼
- **DateTime ISO 8601 优化**:优化 `DateTime` åºåˆ—化为 ISO 8601 æ ¼å¼ï¼Œå¢žå¼ºå—符串转义与注释处ç†
### é…置系统
- **原å写入**:`XmlConfig` 与 `JsonConfig` 支æŒåŽŸå写入,é¿å…文件æŸå
- **å¹¶å‘安全增强**:`FileConfigProvider` 原å写入增强多线程安全性,æå‡æ–‡ä»¶é…置写入兼容性
### 网络优化
- **HttpContent 埋点增强**:优化 HTTP å†…å®¹åŸ‹ç‚¹æ ‡ç¾æå–逻辑,æå‡é“¾è·¯è¿½è¸ªå¥å£®æ€§
### Bug ä¿®å¤
- **[fix]** ä¿®å¤ `SystemJson.Parse` è§£æžå¯¹è±¡ç±»åž‹é”™è¯¯
- **[fix]** ä¿®å¤æ•°ç»„åºåˆ—化时错误忽略 null å…ƒç´
### 测试与质é‡
- **æµ‹è¯•å¹¶å‘æŽ§åˆ¶**ï¼šç»Ÿä¸€æµ‹è¯•å¹¶å‘æŽ§åˆ¶ï¼Œç§»é™¤ `xunit.runner.ci.json` 简化é…ç½®
---
## v11.16.2026.0601 (2026-06-01)
### 事件总线增强
- **EventHub å…¨é¢å¼‚æ¥åŒ–**ï¼šé‡æž„ EventHub åˆ†å‘æœºåˆ¶ï¼Œç»Ÿä¸€å¼‚æ¥å…¥å£ä¸º `OnReceiveAsync`,支æŒå§”托订阅与扩展,æå‡äº‹ä»¶å¤„ç†çš„å¹¶å‘èƒ½åŠ›ä¸Žå¯æ‰©å±•性
- **EventBus 异æ¥å¹¿æ’**:EventBus 支æŒå¼‚æ¥äº‹ä»¶æŽ¥æ”¶ä¸Žå¹¿æ’,与 EventHub å¼‚æ¥æž¶æž„对é½
### JSON 增强
- **自定义åºåˆ—化选项**:支æŒä¼ 入自定义 `JsonSerializerOptions`,精细控制åºåˆ—化行为
### 网络层优化
- **WebSocket 粘包分包**:WebSocket 完整支æŒç²˜åŒ…/分包处ç†ï¼Œå¢žå¼ºå¥å£®æ€§å¹¶é€šè¿‡é«˜åžå性能验è¯
- **HTTP 傿•°é»˜è®¤å€¼**:HTTP æœåŠ¡æ”¯æŒå‚æ•°é»˜è®¤å€¼ç»‘å®šï¼Œä¼˜åŒ–å‚æ•°è§£æžå¥å£®æ€§
- **é›†æˆæµ‹è¯•å…¨é¢å¢žå¼º**:覆盖 TCP/UDP/WebSocket 多场景的高åžåé›†æˆæµ‹è¯•体系
### 多框架兼容性
- **ValueTask 统一**ï¼šç»Ÿä¸€å¼‚æ¥æŽ¥å£ä¸º `ValueTask`,移除多余æ¡ä»¶ç¼–译,简化跨框架代ç
- **IAsyncEnumerable / IAsyncDisposable 兼容**:兼容旧版 .NET çš„å¼‚æ¥æžšä¸¾ä¸Žå¼‚æ¥é‡Šæ”¾æŽ¥å£
- **类型转å‘增强**ï¼šé«˜ç‰ˆæœ¬æ¡†æž¶è¡¥å……ç±»åž‹è½¬å‘æ¶ˆé™¤ç±»åž‹å†²çªï¼›æ”¯æŒ `CsvFile` ç‰å¼‚æ¥æŽ¥å£ç±»åž‹è½¬å‘
### Bug ä¿®å¤
- **[fix]** ä¿®å¤ `UdpClient` å¹¶å‘ç»‘å®šç«žæ€æ¡ä»¶ï¼Œä¼˜åŒ–å…³é—处ç†é€»è¾‘
---
## v11.15.2026.0501 (2026-05-01)
### åºåˆ—化增强
- **SpanWriter/SpanReader WriteValue/ReadValue**:新增对所有基础类型的通用 `WriteValue`/`ReadValue` 方法,完整å•元测试覆盖,零分é…读写更易用
- **å—ç¬¦ä¸²æˆªæ–æ–¹æ³•统一命å**ï¼šé‡æž„å—ç¬¦ä¸²æˆªæ–æ‰©å±•方法,统一命å规范,æå‡ API 一致性
### JSON 增强
- **PropertyNaming 统一命åç–ç•¥**:引入 `PropertyNaming` 枚举,支æŒé©¼å³°ã€ä¸‹åˆ’线ã€å¸•æ–¯å¡ç‰å¤šç§ JSON 属性命åç–略,å¯å…¨å±€é…ç½®
- **Json 命åç–ç•¥åºåˆ—化增强**:增强åºåˆ—化/ååºåˆ—化对命åç–略的完整应用,覆盖更多边界场景
- **ExtendableConverter 属性忽略增强**:增强 `ExtendableConverter` 对 `ShouldIgnore` 忽略æ¡ä»¶çš„æ”¯æŒï¼Œçµæ´»æŽ§åˆ¶å—段åºåˆ—化
### 网络与 HTTP
- **é›†æˆæµ‹è¯•增强**ï¼šç»Ÿä¸€é›†æˆæµ‹è¯•客户端,增强用例覆盖;优化 `ApiHttpClient` 傿•°ä¼ 递逻辑
### Bug ä¿®å¤
- **[fix]** ä¿®å¤ `AssemblyResolve` 事件递归触å‘é…ç½®åˆå§‹åŒ–ï¼Œå¯¼è‡´æ ˆæº¢å‡ºçš„é—®é¢˜
- **[fix]** ä¿®å¤å¯¹è±¡ `Copy` æ—¶ï¼Œç›®æ ‡ `string?` å—æ®µä¸º null 导致的空指针异常
- **[chore]** 程åºé›†è§£æžå¼‚常时写入 Trace 调试信æ¯ï¼Œä¾¿äºŽæŽ’æŸ¥åŠ è½½å¤±è´¥é—®é¢˜
---
## v11.14.2026.0402 (2026-04-02)
### åºåˆ—化增强
- **SpanWriter æµæ¨¡å¼**:SpanWriter æ”¯æŒ Stream 写入,OwnerPacket/SpanSerializer æ”¯æŒ Stream é›¶æ‹·è´åŒè·¯å¾„,优化大数æ®åºåˆ—化
- **ISpanSerializable 增强**:增强 `ISpanSerializable` 支æŒï¼Œç¼–ç 器å¯ç›´æŽ¥å¤„ç† `ISpanSerializable` 接å£å¯¹è±¡ï¼Œæå‡åºåˆ—化性能
- **DbTable Span åºåˆ—化**ï¼šæ”¯æŒ DbTable çš„ Span åºåˆ—化与ååºåˆ—化
- **长度å‰ç¼€è¯»å†™**:支æŒé•¿åº¦å‰ç¼€æ•°æ®/å—符串读写,优化 `WriteEncodedInt` 空间分é…
- **åºåˆ—化é…ç½®é‡æž„**ï¼šé‡æž„åºåˆ—化é…置,新增 `Apply` 方法支æŒé…ç½®å¤ç”¨
- **高级二进制åºåˆ—化**:零拷è´èƒ½åŠ›å¢žå¼º
### JSON 增强
- **JsonElement 类型转æ¢**ï¼šæ”¯æŒ `JsonElement` çš„ç±»åž‹è½¬æ¢æ‰©å±•
- **ExtendableConverter 釿ž„**ï¼šé‡æž„并增强 `ExtendableConverter`,æå‡å…¼å®¹æ€§
- **å±žæ€§åæ˜ 射优化**:优化 JSON å±žæ€§åæ˜ 射,支æŒå¤šç‰¹æ€§å åŠ ä¸Žå‘½åç–ç•¥
- **æˆå‘˜å¿½ç•¥ç‰¹æ€§**ï¼šå‰”é™¤æ ‡è®°äº† `IgnoreDataMember`/`XmlIgnore` 特性的属性,与 .NET æ ‡å‡†è¡Œä¸ºå¯¹é½
### 网络层优化
- **LengthFieldCodec 增强**:功能增强,测试覆盖完善
- **IPacket 多包链**:优化 IPacket 多包链æ“作性能与接å£è§„范
- **SplitDataCodec ä¿®å¤**:修å¤å‘逿•°æ®æ—¶æœªè¿½åŠ åˆ†å‰²å—节的 Bug
### å¯¹è±¡æ± å¢žå¼º
- **异æ¥å€Ÿå‡º**ï¼šå¼•å…¥å¯¹è±¡æ± `GetAsync` 能力,支æŒé«˜å¹¶å‘场景下的异æ¥èµ„æºç‰å¾…
### å射与性能
- **Reflect å…¨é¢ä¼˜åŒ–**:å射性能全é¢ä¼˜åŒ–,缓å˜å§”托路径,çƒç‚¹è·¯å¾„é›¶åå°„
- **å†…å˜æ± 优化**:数组åˆå§‹åŒ–çŽ°ä»£åŒ–ï¼Œä½¿ç”¨å†…å˜æ± å‡å°‘ GC 压力
- **TarFile 性能**:Span 化头部读写与补零å¤ç”¨ï¼Œæå‡åŽ‹ç¼©å¤„ç†æ€§èƒ½
### é…置与æœåŠ¡
- **IServiceResolver**:新增æœåŠ¡è§£æžå™¨ `IServiceResolver` 接å£åŠé…置实现,支æŒå¤šæºæœåŠ¡å‘现
### 工具类
- **DefaultUserAgent**:支æŒå¯¹éž ASCII å—符进行 URL ç¼–ç ,é¿å…请求头异常
- **深拷è´ä¼˜åŒ–**:调整数组ã€å—典的深拷è´é€»è¾‘
- **StringHelper.TrimStart æ ‡è®°è¿‡æœŸ**ï¼šæ ‡è®° `TrimStart(String, String)` 为过时,è¿ç§»è‡³æ ‡å‡† API;优化 `PathHelper` 路径分隔符处ç†
### Bug ä¿®å¤
- **[fix]** 在 SqlServer 批é‡å†™å…¥æ—¶ï¼Œ`fields` å¯èƒ½ä¸ºç©ºæ•°ç»„导致异常
---
## v11.12.2026.0301 (2026-03-01)
### åºåˆ—化增强
- **SpanSerializer**:新增高性能 Span 二进制åºåˆ—化器,支æŒé›¶åˆ†é…读写,性能全é¢ä¼˜äºŽä¼ 统方å¼
- **SpanReader/SpanWriter**:新增对 `byte[]` çš„ç›´æŽ¥æž„é€ æ”¯æŒ
- **å—符串读å–优化**:优化å—ç¬¦ä¸²è¯»å–æ—¶çš„内å˜åˆ†é…ç–略,å‡å°‘å †åˆ†é…
### IPacket 釿ž„与性能优化
- **OwnerPacket**ï¼šé‡æž„为 `sealed` 类,优化内å˜ç®¡ç†ä¸Žç”Ÿå‘½å‘¨æœŸ
- **切片性能**:优化 IPacket 切片逻辑,å‡å°‘装箱,完善测试
- **PacketHelper.AsPacket**:新增快æ·è½¬æ¢æ–¹æ³•,简化 Packet æ“作
- **释放机制**:完善 IPacket 与 IMessage 的释放文档与测试
### 网络层性能优化
- **SendMessageAsync**ï¼šé‡æž„为éžå¼‚æ¥è·¯å¾„,é™ä½Ž Task 分é…开销
- **PooledValueTaskSource**ï¼šå¢žå¼ºæ± åŒ– ValueTask æºï¼Œæå‡å¹¶å‘åžå
- **ç¼–è§£ç å™¨æ± åŒ–**:对编解ç å™¨ä¸Žäº‹ä»¶å‚æ•°è¿›è¡Œæ± 化,Echo 场景性能大幅æå‡
- **NetServer 实测**:压测跑出 23.4 Gbps 带宽ã€1.4 亿 pkt/s åžå
### é…置系统çƒåŠ è½½é‡æž„
- **事件驱动**:FileConfigProvider 从低效轮询改为 FileSystemWatcher äº‹ä»¶é©±åŠ¨çƒæ›´æ–°
- **åŒé‡ä¿é™©**:Watcher å¯ç”¨æ—¶å®šæ—¶å™¨å‘¨æœŸå»¶é•¿ä¸º 60 ç§’ä½œä¸ºå…œåº•ï¼Œä¿æŒ Period 属性å‘åŽå…¼å®¹
### IO 工具增强
- **IOHelper**:新增异æ¥ç²¾ç¡®è¯»å–(`ReadExactlyAsync`)与最少读å–(`ReadAtLeastAsync`ï¼‰æ–¹æ³•åŠæµ‹è¯•
- **MaxSafeArraySize**:新增安全最大数组尺寸常é‡
### 其他优化
- **DeferredQueue**:支æŒè¿è¡Œæ—¶åЍæ€ä¿®æ”¹å¤„ç†å‘¨æœŸ
- **MemoryCache**:`Remove` å•键路径实现零分é…优化
- **文件æ“作**:增强异常处ç†ä¸Žå“ˆå¸Œæ ¡éªŒé“¾è·¯è¿½è¸ª
### 性能基准测试
- 新增 Benchmark 基准测试项目(net10.0),覆盖 IPacketã€MemoryCacheã€TCP Echoã€NetServer ç‰æ ¸å¿ƒåœºæ™¯
- å‘布 IPacketã€NetServerã€MemoryCache ç‰æ€§èƒ½æµ‹è¯•报告
### 文档与 Copilot 指令
- 新增 NewLife.Net å¼€å‘规范文档与 Copilot å作指令
- 新增 AI 开呿µç¨‹æŒ‡ä»¤åŠè‡ªæ²»æ‰¹å¤„ç†è§„范
- 优化 Copilot 指令文档结构与基准测试规范
---
## v11.11.2026.0201 (2026-02-01)
### æ ¸å¿ƒåŠŸèƒ½
#### ApiHttpClient 增强
- **多æœåŠ¡ç«žé€Ÿä¸Žè´Ÿè½½å‡è¡¡**:支æŒå¤šåœ°å€ç«žé€Ÿä¸‹è½½ï¼Œè‡ªåŠ¨é€‰æ‹©æœ€å¿«èŠ‚ç‚¹
- **å“ˆå¸Œæ ¡éªŒ**ï¼šæ”¯æŒæ–‡ä»¶ä¸‹è½½æ—¶çš„å“ˆå¸Œæ ¡éªŒåŠŸèƒ½
- **è´Ÿè½½å‡è¡¡å™¨é‡æž„**:新增 `RaceLoadBalancer`ã€`PeerEndpointSelector` ç‰è´Ÿè½½å‡è¡¡ç»„ä»¶
- **节点管ç†**:自动å±è”½å¤±è´¥èŠ‚ç‚¹ï¼Œæ”¯æŒå¯é…置的å¯åŠ¨å»¶è¿Ÿæ¥é•¿
- **性能追踪**ï¼šä¸ºç«žé€Ÿè°ƒåº¦å’Œä¸‹è½½è¿‡ç¨‹å¢žåŠ Tracer 埋点
#### ä¾èµ–注入(DI)增强
- **ObjectContainer 优化**ï¼šå¢žå¼ºæ–‡æ¡£ä¸Žæ ¸å¿ƒåŠŸèƒ½ï¼Œæ”¯æŒå»¶è¿Ÿ DI 集æˆ
- **Token 模型扩展**:引入 `IToken` 接å£ï¼Œæå‡ä»¤ç‰Œæ¨¡åž‹çš„æ‰©å±•性
- **TokenModel 扩展**:新增 Scope 属性支æŒï¼Œæ”¹ä¸º partial ç±»æé«˜æ‰©å±•容错
### 网络层优化
- **NetClient 釿ž„**:完善文档与注释,补充å•元测试
- **会è¯/æœåŠ¡å™¨å¢žå¼º**:增强 Net 会è¯ä¸ŽæœåŠ¡å™¨æ³¨é‡ŠåŠå•元测试
- **消æ¯å¤„ç†ç»Ÿä¸€**:统一 `IMessage` 处ç†é€»è¾‘ï¼Œç®€åŒ–æ¶ˆæ¯æå–代ç ,支æŒåŽŸå§‹å†…å®¹è¿½è¸ª
- **UdpServer ä¿®å¤**:修æ£ç›‘å¬ 0 端å£åŽæ²¡æœ‰è‡ªåŠ¨å›žå¡«åˆ° NetServer 的问题
- **并呿€§èƒ½ä¼˜åŒ–**:优化消æ¯é˜Ÿåˆ—并呿€§èƒ½ï¼Œå®Œå–„ç¼–ç 器注释
### 工具类新增与增强
- **UriInfo 增强**:新增 `ToUri` 方法,增强对 IPv6 åŠå¤šæ ¼å¼ URL çš„è§£æžæ”¯æŒ
- **Span 扩展**:新增 `Span<byte> Trim` 扩展方法åŠå•元测试
- **é…置支æŒ**:`Config<T>` æ”¯æŒæ³›åž‹å—å…¸ï¼ˆä¿®å¤ [#172](https://github.com/NewLifeX/X/issues/172))
- **åºåˆ—化优化**:如果属性定义了 `DataObjectFieldAttribute`,让它们排在å‰é¢
### 文档与å作
- **使用手册**:为主è¦åŠŸèƒ½æ¨¡å—编写使用手册(ApiHttpClientã€ç½‘络库ç‰ï¼‰
- **Copilot 指令优化**:
- 新增 Markdown 文档规范
- 完善主动优化原则åŠç»†åŒ–规范
- 新增防御性注释与日志规范
- 新增集åˆè¡¨è¾¾å¼ä¸Ž Null æ¡ä»¶è¿ç®—符指引
- 优化 XCode/Cube 指令读å–与 XML 检测ç–ç•¥
- è‡ªåŠ¨åˆ†å‘ Copilot æŒ‡ä»¤æ–‡ä»¶åŠ MSBuild 支æŒ
### 测试与质é‡
- **å•元测试大幅增强**ï¼šä¸ºç½‘ç»œåº“æ ¸å¿ƒåŠŸèƒ½ã€UriInfoã€PeerEndpointSelectorã€ApiHttpClient ç‰æ–°å¢žå¤§é‡å•元测试
- **测试å¥å£®æ€§æå‡**:优化测试用例å¥å£®æ€§ä¸Žæ—¶åŒºå…¼å®¹æ€§ï¼Œæå‡ CI 兼容性
### 其他优化
- **日志优化**ï¼šç®€åŒ–çº¿ç¨‹æ± å’Œé•¿ä»»åŠ¡åœ¨æ—¥å¿—é‡Œçš„åå—,让应用å¯åŠ¨æ—¶çš„æ—¥å¿—æ›´æ•´é½
- **AddServer 改进**ï¼šæ·»åŠ æœåŠ¡åœ°å€æ—¶è¿”回æœåŠ¡èŠ‚ç‚¹
---
## 历å²ç‰ˆæœ¬
### v11.10.2026.0101 (2026-01-01)
- 釿ž„ IEventBusï¼Œæ”¯æŒ EventHub
- ApiHttpClient æ”¯æŒæ–‡ä»¶ä¸‹è½½
---
**说明**:
- æ£å¼ç‰ˆå‘å¸ƒå‘¨æœŸï¼šæ¯æœˆæœˆåˆ
- 测试版å‘布周期:æäº¤ä»£ç 到 GitHub 时自动å‘布
- ç‰ˆæœ¬å·æ ¼å¼ï¼šæ£å¼ç‰ˆ `{主版本}.{å版本}.{å¹´}.{月日}`,测试版 `{主版本}.{å版本}.{å¹´}.{月日}-beta{时分}`
|