开源项目 ⌈成熟稳定⌋ 的陷阱,.NET 框架 Furion v4.8.8.48


【源创会预告】1024 程序员节(的前两天),相约开源PHP办公室,我们一起聊 AI!>>>

乐此不疲

距离上一次更新过了将近一个月,在此期间 Furion 在 NuGet 平台获得了超 70万次下载量,总下载量约 1100万。伴随着 Furion 影响力越来越大,带来了用户量暴增,同时我们团队投入维护和研发成本也越来越高,但,我们并没有改变初心,依然选择做用户信任且坚实的后盾。

在用户的高频使用和鞭策外加上我们团队三年多的快速响应迭代,Furion 各个模块逐步成熟稳定,在国内选择 .NET 的企业中发挥了不可忽视的重要作用,极大减少企业招人成本、培训成本和维护成本。作为开发团队的我们,非常自豪且有成就感。

舒适陷阱

有时候,将一个开源项目标榜为 ⌈成熟稳定⌋,未必总是有益的。这样做会使项目团队过于满足并陷入舒适区,难以放弃他们辛勤努力所获得的成果。久而久之,这样的态度可能导致项目走向衰退,甚至在竞争激烈的开源行业中消失无踪。

出于对 Furion 项目未来发展的考虑,我们团队对当前版本存在的问题进行了整理,并制定了未来版本的设计要求。为此,我们于今年5月初开始着手编写全新的 Furion。借鉴了之前的经验教训,我相信这一次我们能够取得更进一步的进展。

http://furion.baiqian.ltd/docs/target/

大器晚成

大器晚成,也好过一生蹉跎。

随着年龄的增长,承担的角色和责任也越来越多。曾经年轻气盛、自以为无所不能的时光已经过去,自己已进入了三十而立的年纪。回顾过去,或许是年少轻狂或者缺乏经验,总是对各种事物兴趣广泛,总想效仿别人取得的成就,却往往只是三分钟热度,没有在任何一个领域取得突出的成绩。从另一个角度来看,这也代表着没有建立起坚定的志向,不知道自己真正想要什么,不知道自己追求什么。可以说,有些浪费了时间。

经历了这十年的各种事情后,进入三十而立的阶段,对自己有了更加清晰的认识,渐渐明白了应该如何走下去。除了对过去的反思和认知增长,进入三十而立的年纪也意味着面临着更多的责任和挑战。年轻时的追求和浮躁逐渐被成熟和稳重取代,开始明确自己的价值观和目标,以更有条理和坚定的方式追求自己的梦想。

开源 Furion 本是 ⌈无心之举⌋,未成想它成为我人生 ⌈志心之源⌋。

回到正题

本次更新包含了近半年的更新,对 Furion 的底层进行了非常多的改进。

项目信息

  • Gitee:https://gitee.com/dotnetchina/Furion
  • Github:https://github.com/MonkSoul/Furion
  • 文档:http://furion.baiqian.ltd/

本期更新

更新日志:http://furion.baiqian.ltd/docs/upgrade/

  • 新特性

    • [新增] 定时任务看板列表支持作业分组名排序 4.8.8.43 ⏱️2023.09.14 #I7YQ9V
    • [新增] 验证特性 [DataValidation] 支持 [Display]  [DisplayName] 特性设置 {0} 4.8.8.42 ⏱️2023.09.01 #I7XB3T
    • [新增] 监听日志 LoggingMonitor 支持配置日志输出级别 4.8.8.41 ⏱️2023.08.25 #I7SRTP
    • [新增] 多语言支持 L.GetString(name, culture) 获取指定区域翻译 4.8.8.41 ⏱️2023.08.04 044b0ed
    • [新增] 粘土对象 .ConvertTo 支持自定义值提供器 4.8.8.40 ⏱️2023.08.03 70d5888
    • [新增] 规范化文档枚举支持 [EnumToNumber] 特性配置生成前端枚举定义代码是字符串值还是整数值类型,默认为字符串值 4.8.8.35 ⏱️2023.07.06 #I7IZ7S
    • [新增] 定时任务作业计划 OnChanged 事件处理 4.8.8.29 ⏱️2023.06.25 e4c4cf1
    • [新增] Swagger 分组信息可在任意配置文件中通过 [openapi:分组名] 进行配置 4.8.8.26 ⏱️2023.06.20 a70eed3
    • [新增] TP.WrapperRectangle 绘制矩形日志模板 4.8.8.25 ⏱️2023.06.14 60ffd76
    • [新增] IServiceScope.CreateDefaultHttpContext 拓展方法 4.8.8.24 ⏱️2023.06.07 11a55e1
    • [新增] 配置模块 IgnoreConfigurationFiles 支持完整的文件通配符 4.8.8.22 ⏱️2023.05.25 #I78ABL
    • [新增] 定时任务支持二级虚拟目录 VisualPath 配置部署 4.8.8.20 ⏱️2023.05.18 #I740IA
    • [新增] 监听日志 LoggingMonitor 支持 Razor Pages 4.8.8.16 ⏱️2023.05.15 #I7332C
    • [新增] 定时任务作业处理程序工厂 IJobFactory 支持 4.8.8.13 ⏱️2023.05.08 ad58dd3
    • [新增] AES 支持对文件(含超大文件)进行加解密 4.8.8.11 ⏱️2023.05.05 1d2265b
    • [新增] 动态 WebAPI 支持 text/plain 格式的 Body 参数 4.8.8.9 ⏱️2023.05.04 b49fe50
    • [新增] 插件化 IDynamicApiRuntimeChangeProvider 接口,可在运行时动态添加 WebAPI/Controller 4.8.8.8 ⏱️2023.05.04 322ea59
    • [新增] 定时任务 Schedular.CompileCSharpClassCode(code) 支持动态编译作业处理程序代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1
    • [新增] App.CompileCSharpClassCode(code) 动态编译类定义代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1
    • [新增] 粘土对象支持结构 struct 对象类型 4.8.8.7 ⏱️2023.04.30 a0fa3aa
    • [新增] 定时任务支持配置 IJob 执行异常 FallbackAsync 回退策略 4.8.8.6 ⏱️2023.04.25 7671489
    • [新增] 定时任务支持在非 IOC/DI 项目类型中使用 4.8.8.5 ⏱️2023.04.24 #I6YJNB
    • [新增] RSA 支持对超长字符(超 245 位)进行分段加解密 4.8.8.2 ⏱️2023.04.19 !788 感谢 @YaChengMu
    • [新增] System.Text.Json  Newtonsoft.Json 对粘土对象 Clay 支持 4.8.8.1 ⏱️2023.04.18 #I6WKRZ
    • [新增] 粘土对象可反射转换成特定 IEnumerable<T> 类型:clay.ConvertTo<T>() 4.8.8 ⏱️2023.04.13 5d54a65
    • [新增] Serve.IdleHost 支持返回 http  https 协议 Web 地址(端口) 4.8.8 ⏱️2023.04.13 fdf7885
  • 突破性变化

    • [移除] 定时任务看板 SyncRate 配置,前后端采用最新的 SSE 推送技术替代 4.8.8.29 ⏱️2023.06.25 e4c4cf1
    • [调整] 监听日志 WriteFilter  ConfigureLogger  ActionExecutingContext  ActionExecutedContext 类型为 FilterContext 4.8.8.16 ⏱️2023.05.15 #I7332C
    • [调整] IJsonSerializerProvider 序列化接口,添加 Deserialize 反序列化方法 4.8.8.15 ⏱️2023.05.15 !815 感谢 @YaChengMu
  • 问题修复

    • [修复] 动态 WebAPI 不能正确移除 AppService 命名的 Service 问题 4.8.8.47 ⏱️2023.10.10 #I86NL
    • [修复] 审计日志不支持 dynamic/JsonElement 序列化问题 4.8.8.45 ⏱️2023.09.29 #I84SD5
    • [修复] Scoped.CreateUowAsync 作用域工作单元异常无法回滚问题 4.8.8.44 ⏱️2023.09.23 #I833I9
    • [修复] 模板引擎高并发读取缓存模板出现线程占用问题 4.8.8.43 ⏱️2023.09.14 #I80ZKB
    • [修复] 使用刷新 Token 也能通过鉴权检查严重安全 Bug 4.8.8.42 ⏱️2023.08.28 #I7TII4
    • [修复] 粘土对象不支持枚举类型问题 4.8.8.41 ⏱️2023.08.25 #I7VDDL
    • [修复] 定时任务因上一版本修改 4e2615b 导致自定义作业触发器异常问题 4.8.8.36 ⏱️2023.07.06 #I7J59D
    • [修复] 审计日志解析 DateTime 类型参数不是本地时间问题 4.8.8.33 ⏱️2023.06.29 #I7GW32
    • [修复] 定时任务因上一版本修改 4e2615b 导致 Cron 解析异常问题 4.8.8.32 ⏱️2023.06.28 #I7GQ5I
    • [修复] 定时任务设置额外数据不支持 long/int64 类型参数问题 4.8.8.31 ⏱️2023.06.28 4e2615b
    • [修复] 定时任务休眠毫秒数大于 int.MaxValue 时出现 ArgumentOutOfRangeException 4.8.8.27 ⏱️2023.06.21 #I7F6ZT
    • [修复] Cron 表达式步长解析器错误 4.8.8.25 ⏱️2023.06.14 #I7D9XU
    • [修复] 修复 ExpandoObject.ToDictionary() 转换异常 4.8.8.25 ⏱️2023.06.14 #I7BY0P
    • [修复] 配置友好异常 FriendlyExceptionSettings:DefaultErrorMessage 无效问题 4.8.8.23 ⏱️2023.05.31 #I79LIG
    • [修复] Swagger 进行分组后 Tags 不能进行分组过滤问题 4.8.8.22 ⏱️2023.05.25 #I78A55
    • [修复] 因 9d8cb82 代码提交导致命名服务解析异常问题 4.8.8.21 ⏱️2023.05.18 #I76JZR
    • [修复] 因 9d8cb82 代码提交导致服务 AOP 异常拦截问题 4.8.8.17 ⏱️2023.05.15 #I73A8E
    • [修复] 动态 WebAPI 自定义路由模板参数和自动拼接参数冲突问题 4.8.8.15 ⏱️2023.05.15 #I72ZZ2
    • [修复] 远程请求在被请求端返回非 200 状态码但实际请求已处理也抛异常问题 4.8.8.14 ⏱️2023.05.12 b14a51f
    • [修复] App.CompileCSharpClassCode(code) 运行时添加匿名程序集编译异常问题 4.8.8.8 ⏱️2023.05.04 322ea59
    • [修复] LoggingMonitor 打印泛型类型如果存在多个泛型参数问题 4.8.8.8 ⏱️2023.05.04 8d9cb74
    • [修复] 脱敏处理如果字典存在重复词导致异常问题 4.8.8.4 ⏱️2023.04.23 #I6Y19K
    • [修复] 远程请求 Body 参数为粘土对象 Clay 类型序列化有误 4.8.8.1 ⏱️2023.04.18 #I6WKRZ
    • [修复] Serve.IdleHost 获取随机端口的本地地址带 $ 符号问题 4.8.8 ⏱️2023.04.13 ed6f292
  • 其他更改

    • [调整] [UnitofWork] 支持在 Class 中指定,解决 Pages 应用警告问题 4.8.8.42 ⏱️2023.09.01 #I7X51E
    • [调整] 取消远程请求 GET/HEAD 不能传递 Body 的限制 4.8.8.39 ⏱️2023.08.02 8113460
    • [调整] 规范化文档枚举生成 json 格式,由 int32 改为 string 4.8.8.34 ⏱️2023.07.02 #I7HOPR
    • [调整] 规范化文档默认 Title 解析规则,不再自动添加空格 4.8.8.26 ⏱️2023.06.20 24b7a47
    • [调整] 组件 Component 模式支持 [DependsOn] 支持继承 4.8.8.16 ⏱️2023.05.15 #I733RF
    • [调整] 定时任务 GC 回收逻辑,避免高频添加作业导致 尾延迟 问题 4.8.8.3 ⏱️2023.04.21 #I6XIV8
    • [调整] 定时任务日志设计,减少不必要的日志输出 4.8.8.3 ⏱️2023.04.21 #I6XI2L
  • 文档

    • [新增] Jwt 身份验证过程监听文档
    • [新增] 事件总线 Redis 集成文档
    • [更新] 粘土对象文档、虚拟文件系统文档、序列化文档、事件总线文档、远程请求文档、数据加密文档、安全授权文档、动态 WebAPI 文档、定时任务文档、JSON 序列化文档、App 静态类文档、规范化文档、配置文档
  • 贡献者

    • 陶泥 (@ncs48620) !848
    • handsome_by (@handsomeboyyl) !842
    • 拉风的 CC (@LFDCC) !841
    • Felix Hoi (@felixhoi) !839
    • zetaluoxin (@zetaluoxin) !834
    • SongXinXin (@goodsxx) !832 !833
    • 阿炬 (@quejuwen) !813
    • KaneLeung (@KaneLeung) !808
    • 蒋状先生 (@JiangZhuangXianSheng) !806
    • NeoLu (@neolu) !804
    • 蓝色天空 (@lds2013) !796
    • YaChengMu (@YaChengMu) !788 !815

相關推薦

2023-03-04

,直接丢文档了事,实习生来了都可以扛大旗。 MIT 开源协议,商用无猫腻,超高质量的源码,可做企业内部框架。 底层核心无第三方依赖,应用层仅依赖了两个第三方包,功能自主可控。 框架 持续创新迭代,精益

2023-04-20

s, 在 NuGet 平台破 810万 下载量。 Furion 2020 年 09 月 01 日开源至今,可谓是爆炸式发展,无论哪方面数据均呈指数增长,时常被网友调侃:有 VueJS 当年的风范~ 经过三年的迭代,Furion 终于发布了首个 LTS 版本:v4.8.8 LTS,这个版

2023-02-02

档:https://furion.baiqian.ltd 国外文档:https://furion.icu 开源地址​ Gitee:https://gitee.com/dotnetchina/Furion GitHub:https://github.com/monksoul/Furion Nuget:https://www.nuget.org/packages/Furion 开源概览 距上一次发版已过28天,Furion 处理

2023-11-25

月17日,Furion v4.8.8 版本获得 中国电子技术标准化研究院 开源项目成熟度评估证书。 项目信息 Gitee:https://gitee.com/dotnetchina/Furion Github:https://github.com/MonkSoul/Furion 文档:http://furion.baiqian.ltd/ 本期更新 更新日志:http

2023-09-25

v5.0.0 版本,希望能为 .NET 的发展做出一点微小的贡献。 项目信息 Gitee:https://gitee.com/dotnetchina/Furion Github:https://github.com/MonkSoul/Furion 文档:http://furion.baiqian.ltd/ 本期更新 更新日志:http://furion.baiqian.ltd/docs/upgrade

2022-09-29

格式化,支持日志级别、日志类别、异常日记着色。 项目信息 Gitee:https://gitee.com/dotnetchina/Furion Github:https://github.com/MonkSoul/Furion 文档:https://dotnetchina.gitee.io/furion 本期亮点 1. 控制台日志支持更简易方式自定义模板

2022-07-15

proving Furion. 许可证 / License Furion 采用 MulanPSL-2.0 开源许可证。 Furion uses the MulanPSL-2.0 open source license. Copyright (c) 2020-2022 百小僧, Baiqian Co.,Ltd. Furion is licensed under Mulan PSL v2. You can use this software according to the terms

2022-10-15

版刚过一周时间,Furion 的下载量又增加了 80多万次,总项目安装量也近 370万,几乎各行各业的系统都使用上了 Furion。查看 Nuget 统计总安装量 每天睁眼闭眼手机都是 Furion 邮件提醒消息,两年来未曾停歇过,能想象每天打开 Q

2023-11-10

1000名我们就发布 v5 版本,目前已有 297 位 VIP 用户。 开源不易,感谢大家对 Furion 这一次商业化探索的鼎力支持。 项目信息 Gitee:https://gitee.com/dotnetchina/Furion Github:https://github.com/MonkSoul/Furion 文档:http://furion.baiqian.lt

2023-02-08

总下载量破 600万  🎉 第二喜:Furion 获得 中国开源云联盟2022年度 优秀开源项目 🎉 第三喜:Furion 获得开源社《2022年中国开源年度报告》Gitee 指数 Top 10 🎉 第四喜:Furion 所在组织 dotNET China 获得 2022年 Gitee

2022-11-14

训,直接丢文档了事,实习生来了都可以扛大旗。 MIT 开源协议,商用无猫腻,超高质量的源码,企业看了眼里少不了金光。 底层核心无第三方依赖,应用层仅依赖了两个第三方包,技术自主可控。 框架持续高速迭代,精

2023-08-25

是一项需要花费大量时间和精力的巨大工作。 在中国的开源环境中,全身心地投入开源工作并非易事,由于正面回报相较于创业成功的概率要小得多,所以在投入大量工作和个人时间的同时,也要面对很多负面评论、无奈和不

2023-11-16

录都是努力的见证。 http://furion.baiqian.ltd/docs/upgrade 项目信息 Gitee:https://gitee.com/dotnetchina/Furion Github:https://github.com/MonkSoul/Furion 文档:http://furion.baiqian.ltd/ 本期更新 新特性 [新增] 补偿策略模块功能 4.9.1&n

2023-01-04

已知这个分段的极限。 项目信息 Furion 是基于 MIT 开源协议的开源项目,底层核心无依赖,商业使用无需授权。 此情此景,想再再吟诗一首(百小僧):无私奉献不是天方夜谭,有时候,我们也可以做到。 文档地址