chore: 发布 v12.0.2026.0927 ChangeLog 新增 v12.0 条目(破坏性变更/新增功能/性能/缺陷修复四段);csproj 版本号 11.19→12.0 并更新 PackageReleaseNotes;Readme 网络库段落同步 v12 现状——消息契约承载方向语义、消息协议栈 MessagePump、数据管道 Pipe,移除已整删的 Handlers/PacketCodec 条目。石头 authored at 2026-09-27 00:18:54
diff --git a/ChangeLog.md b/ChangeLog.md
index 60f712f..175ef81 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,40 @@
# 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)
### 新增功能
diff --git a/NewLife.Core/NewLife.Core.csproj b/NewLife.Core/NewLife.Core.csproj
index 8516d31..fad233e 100644
--- a/NewLife.Core/NewLife.Core.csproj
+++ b/NewLife.Core/NewLife.Core.csproj
@@ -7,7 +7,7 @@
<Description>Core library of NewLife framework. Provides high-performance infrastructure for building scalable applications: logging (file/network), configuration (XML/JSON/HTTP), cache (memory/distributed), network (TCP/UDP/HTTP/WebSocket), serialization (binary/XML/JSON), APM tracing, IoC container, actor model, timer scheduler, plugin framework, and more. Supports .NET Framework 4.5 to .NET 10. 核心组件库,为构建可扩展应用程序提供高性能基础设施。提供日志(文件/网络)、配置(XML/JSON/HTTP)、缓存(内存/分布式)、网络(TCP/UDP/HTTP/WebSocket)、序列化(Binary/XML/JSON)、APM性能追踪、对象容器、并行模型、定时调度、插件框架等。支持.NET Framework 4.5至.NET 10全版本。</Description>
<Company>新生命开发团队</Company>
<Copyright>©2002-2026 NewLife</Copyright>
- <VersionPrefix>11.19</VersionPrefix>
+ <VersionPrefix>12.0</VersionPrefix>
<VersionSuffix>$([System.DateTime]::Now.ToString(`yyyy.MMdd`))</VersionSuffix>
<Version>$(VersionPrefix).$(VersionSuffix)</Version>
<FileVersion>$(Version)</FileVersion>
@@ -32,7 +32,7 @@
<RepositoryUrl>https://github.com/NewLifeX/X</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>新生命团队;X组件;NewLife;$(AssemblyName)</PackageTags>
- <PackageReleaseNotes>新增向量存储接口 IVectorStore/VectorRecord,支持 Top-K 相似度检索,为 AI 应用提供向量检索基础设施;增强 Murmur128 哈希与 GeoPoint 功能并补充单元测试;SysConfig 属性补充 Description 注解,日志文件命名统一为下划线分隔并移除 UTC 校正;修复 DSAHelper、Crc16/Crc32、PerfCounter、JwtBuilder、PinYin、CacheLock、MemoryCache、ProcessHelper、PKCS7、Asn1 等 20+ 处缺陷</PackageReleaseNotes>
+ <PackageReleaseNotes>v12 大版本:网络库重构——数据包引用计数所有权模型、MessagePump 帧泵 + 无状态 IMessageCodec 单栈(整删 PacketCodec/Handlers 族)、数据管道 Pipe/PipeReader/PipeWriter、WebSocket 分片重组、Unix 域套接字传输;以及 HTTP/WebSocket/协议栈/数据管道 40+ 处缺陷修复。详见 ChangeLog.md</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
diff --git a/Readme.MD b/Readme.MD
index 17e6144..2f028e9 100644
--- a/Readme.MD
+++ b/Readme.MD
@@ -108,9 +108,9 @@ dotnet run
| | ⚠️ 百度地图/高德地图 已提取到独立 NuGet 包。 | |
| **网络库** | [网络服务端NetServer](https://newlifex.com/core/netserver) | 高性能TCP/UDP/Unix域套接字服务端,封装了会话和数据处理。 |
| | [网络客户端NetClient](/core/netclient) | 统一的TCP/UDP/Unix网络客户端,简化连接与收发。 |
-| | [消息IMessage](/core/message) | 请求-响应消息接口,支持池化内存和释放链。 |
-| | [网络编解码器Handlers](/core/net_handlers) | 粘包拆包、消息编解码与协议管道集成。 |
-| | [数据包编码器PacketCodec](https://newlifex.com/core/packet_codec) | 用于网络粘包处理,支持多种消息分包解决方案。 |
+| | [消息IMessage](/core/message) | 请求-响应消息契约,承载方向语义与帧读写。 |
+| | [消息协议栈MessagePump](/core/message_protocol) | 帧泵 + 无状态编解码器单栈,支持大帧流式体与背压。 |
+| | [数据管道Pipe](/core/packet_pipe) | 零拷贝数据管道,对齐 System.IO.Pipelines 形态。 |
| | [简易远程消息交换协议SRMP](https://newlifex.com/core/srmp) | 轻量级RPC协议,支持二进制序列化和UDP传输。 |
| | [负载均衡与故障转移LoadBalancer](/core/load_balancer) | 提供Failover/轮询/竞速三种多节点调度策略。 |
| | [RPC通信ApiServer](https://newlifex.com/core/api_server) | ⚠️ 已移至 [NewLife.Remoting](https://www.nuget.org/packages/NewLife.Remoting) |