-
新特性
- [新增]
HTTP远程请求[Body]特性支持配置DisposeStreamOnRequestCompletion4.9.9.17 22d2c46 - [新增]
HTTP远程请求支持多实例服务注册 4.9.9.16 1284ea8 - [新增]
HTTP远程请求内容处理器支持返回多个HttpContent组合 4.9.9.16 1284ea8 - [新增]
HTTP远程请求构建器RemoveContent方法 4.9.9.16 1284ea8 - [新增]
HTTP远程请求支持批量添加请求结束时需要释放的对象方法:AddDisposables4.9.9.16 1284ea8 - [新增]
HTTP远程请求获取本地IP地址和MAC地址方法:HttpRemoteUtility.GetLocalIPv4(),HttpRemoteUtility.GetLocalMacAddress()4.9.9.16 1284ea8 - [新增]
Cron表达式H字符支持:H与R功能完全等价,所有R的语法均适用于H4.9.9.14 45fe276 - [新增]
Cron表达式支持Jenkins的R#N/H#N语法:用于DayOfWeek字段,表示每月第N个随机星期几,解析时随机选定星期几 4.9.9.14 45fe276 - [新增]
Cron表达式Macro宏:@weekends4.9.9.14 45fe276 - [新增] 定时任务周末触发器特性和方法:
Weekends4.9.9.14 45fe276 - [新增]
HTTP远程请求可通过.SetBaseAddress(url)或[BaseAddress(url]充当公共前缀功能 4.9.9.13 ⏱️2026.07.05 0224fa0 - [新增]
HTTP远程请求支持添加泛型响应内容转换器 4.9.9.10 ⏱️2026.07.03 9a37cfa - [新增]
HTTP远程请求JSON响应反序列化包装器ResultHandler功能 4.9.9.10 ⏱️2026.07.03 9a37cfa - [新增]
HTTP远程请求支持发送IBrowserFile文件 4.9.9.9 ⏱️2026.07.02 fa73c28 - [新增]
HTTP声明式请求支持通过[Header("键: 值")]方式设置标头 4.9.9.9 ⏱️2026.07.02 fa73c28 - [新增]
HTTP远程请求SetContent方法支持配置disposeStreamOnRequestCompletion参数 4.9.9.9 ⏱️2026.07.02 fa73c28 - [新增]
HTTP远程请求IFormFile内容处理器支持 4.9.9.9 ⏱️2026.07.02 8a8e44b - [新增] 视图引擎
CompileFromCached方法 4.9.9.5 ⏱️2026.06.29 c1b3c35 - [新增]
HTTP远程请求IAsyncEnumerable<T>响应内容类型支持 4.9.9.3 ⏱️2026.06.25 4b80b9b - [新增]
Cron表达式支持Rvalue1,value2,value3离散值随机语法 4.9.9.2 ⏱️2026.06.24 99b6e94 - [新增]
Cron表达式支持获取指定数量的下/上所有发生时间 4.9.9.1 ⏱️2026.06.24 99b6e94
- [新增]
-
突破性变化
- [调整]
Cron表达式R随机语法:区间改为R(min-max),带步长改为R(min-max)/step,离散值改为R(value1,value2,...),R/step保持不变 4.9.9.14 45fe276 - [调整]
Cron表达式Macro宏:@workday->@weekdays4.9.9.14 45fe276 - [调整] 定时任务工作日触发器的特性和方法名:
Workday->Weekdays4.9.9.14 45fe276 84f468a - [调整] 重命名代理拦截器
AspectDispatchProxy->DispatchProxyAsync4.9.9.12 ⏱️2026.07.05 f09a934 - [移除]
Furion.Pure和Furion.Pure.Xunit拓展包 4.9.9.11 ⏱️2026.07.04 e026b02
- [调整]
Furion 公告:v4.9.9 起移除 Furion.Pure,统一为单一包,全面拥抱 EFCore
Furion 从一开始就默认集成了 .NET 官方的 Entity Framework Core(简称 EFCore)。但由于早期 EFCore 概念繁杂、上手门槛较高,不少开发者更倾向使用第三方 ORM,因此我们将 Furion 拆分为 Furion 和 Furion.Pure 两个包:前者包含 EFCore,后者不包含。
2021 年拆包后,Furion 包的流量和 NuGet 下载量急剧下降,而 Furion.Pure 的下载量却迅速攀升。原本统一的下载量被迫分散到两个包,导致新用户在搜索 “Furion” 时,看到的 Furion 包下载量少得可怜——大部分下载实际上被 Furion.Pure 带走。从长远发展来看,这非常不利:第一,Furion 包每个版本的下载量严重缩水;第二,同时维护两个包及其依赖需要投入巨大的时间和精力。
因此,从 Furion v4.9.9 开始,我们将移除 Furion.Pure 包及相关扩展,并在后续开发中逐步把 EFCore 模块功能抽离为独立模块。以后只保留 Furion 一个包,不再提供 Furion.Pure。
✅ 升级指引
从 Furion.Pure 升级到 v4.9.9 只需完成以下两处调整:
- 替换 NuGet 包
将项目中的Furion.Pure包替换为Furion。- (如果使用了定时任务持久化)修改数据库记录
将作业触发器表中AssemblyName字段的值由Furion.Pure更新为Furion。除此之外无需任何其他变更。唯一可感知的影响是发布目录下会多出一个 EFCore 相关的 dll 文件。
另外,在 AI 时代,.NET 生态中大部分第三方 ORM 的发布频率和代码提交频率明显降低,维护活跃度大不如前,而 EFCore 的下载量和用户数正呈指数级增长。AI 也大大降低了 EFCore 的使用门槛,所以 我们推荐新项目优先选择 EFCore,而非第三方 ORM。
接下来,我们还会 重构 EFCore 扩展模块,并移除所有非 EFCore 的第三方 ORM 扩展及相关的脚手架和文档。
-
- [新增]
HTTP远程请求QUERY请求支持 4.9.9.8 ⏱️2026.07.01 1195ffa
- [新增]
-
- [调整]
HTTP远程请求[Query]重命名为[QueryParam]4.9.9.8 ⏱️2026.07.01 b9df71b
- [调整]
昨天,IETF(互联网工程任务组)正式发布了 RFC 10008,为 HTTP 协议族增添了一个新成员——QUERY 方法。这是一种与 GET 同样安全、幂等,但支持携带请求体的 HTTP 动词。
https://www.rfc-editor.org/info/rfc10008
框架已第一时间提供适配支持。
值得注意的是,原有的 [Query] 特性已重命名为 [QueryParam],现在的 [Query] 则用作 HTTP 方法(请求谓词)。
-
- [升级] 重构视图引擎底层代码,改进性能、内存占用及未来拓展性 4.9.9.7 ⏱️2026.06.30 b1d69b2
-
- [移除] 视图引擎字符串拓展方法 4.9.9.5 ⏱️2026.06.29 8f37d03
-
- [调整] 事件总线上下文以及
CancellationToken参数设计 4.9.9 ⏱️2026.06.23 c0d2c4d
- [调整] 事件总线上下文以及
-
问题修复
- [修复]
Serve.Run()在File-Based Apps单文件应用中出现异常 4.9.9.21 4b67d6b - [修复]
HTTP远程文件上传/下载时,控制台进度打印可能抛出异常的问题 4.9.9.20 acfd9dd - [修复] 规范化文档自定义标签
Tag之后注释丢失问题 4.9.9.19 e9c8ada - [修复]
HTTP远程请求在极端情况下出现连接池耗尽问题 4.9.9.18 9b7b430 - [修复]
Cron表达式RandomParser.ToString()对R/step的简洁输出,避免全范围步长被错误展开 4.9.9.14 45fe276 - [修复]
HTTP远程请求在Blazor WebAssembly应用中使用出现解压异常问题 4.9.9.13 ⏱️2026.07.05 0224fa0 - [修复]
HTTP远程请求分析日志在一些特殊场景下出现空行打印问题 4.9.9.13 ⏱️2026.07.05 0224fa0 - [修复]
HTTP远程请求声明式接口不支持封闭泛型接口定义问题 4.9.9.12 ⏱️2026.07.05 aa47822 - [修复] 规范化文档页面注销登录后没有清除
token问题 4.9.9.11 ⏱️2026.07.04 a64a769 - [修复]
HTTP远程请求存在未释放HttpResponseMessage问题 4.9.9.10 ⏱️2026.07.03 9a37cfa - [修复] 视图引擎存在内存一直无法释放问题 4.9.9.5 ⏱️2026.06.29 48f778f
- [修复] 数据验证
AbstractValueValidator<>遗漏abstract关键字导致程序集扫描异常 4.9.9.4 ⏱️2026.06.26 77f2533 - [修复]
Cron表达式R字符解析出现矛盾问题 4.9.9.1 ⏱️2026.06.24 99b6e94 - [修复]
Cron表达式解析R字符并获取下一次执行时间错误问题 4.9.9 ⏱️2026.06.23 8ba4d3c
- [修复]
-
其他更改
- [改进]
HTTP远程请求默认Content-Type推断逻辑 4.9.9.15 ⏱️2026.07.06 5495a09 - [改进] 视图引擎编译模板出错时可以直观显示错误的模板上下文代码 4.9.9.8 ⏱️2026.07.01 f5e6771
- [调整] 友好异常处理,将内部异常和外部异常一起呈现 4.9.9.7 ⏱️2026.06.30 cf42cf4
- [改进] 视图引擎编译性能,减少约
40MB大小内存,支持GC回收 4.9.9.6 ⏱️2026.06.30 a17a14a - [改进]
App.CompileCSharpClassCodeToStream编译C#代码,支持GC回收 4.9.9.6 ⏱️2026.06.30 cae4287 - [改进]
[FlexibleArray<T>]查询参数模型绑定 4.9.9.3 ⏱️2026.06.25 a7aae88 @YaChengMu !937 - [改进] 两个流变对象之间比较性能 4.9.9 ⏱️2026.06.23 b08b9d5
- [改进]
-
文档
- [更新]
HTTP远程请求文档、流变对象文档、事件总线文档、Cron表达式文档、视图引擎文档、任务队列文档、规范化文档
- [更新]