意义非凡
开源之旅,曲折而又意义非凡。
回想三年前,我初次迈出 Furion 开源项目的步伐,面对着一片质疑和嘲笑的声音。虽然这些声音刺痛了我的内心,但我并没有放弃。我选择专注于用户需求,持之以恒地改进代码质量和文档。艰辛与困难并没有打败我,相反,它们让我变得更坚定,更成熟。
开源世界从来不是一个人的舞台,它需要众多开发者和用户的支持和参与。我深知,无论我怎样努力和完善我的项目,总会有人不喜欢,不认同。 然而,这并不是我成长的障碍,反而是我成长的催化剂。我逐渐明白,不追求所有人的赞同,而是专注于为那些真正认可和喜欢我的工作的人提供更好的服务,才是更重要的。
在这段开源之路上,我亦流连于困境和挫折中。磨难并不使人成长,但它们教会了我成熟和坚韧。 我深知,每个人都会有自己的独特感受和看法,只有接受这个事实,并用成熟的心态去面对,才能不断发展自己,走向更高的成就。
同时,我对国内开源人的不易有着深切的感受。在商业导向的社会中,选择投身开源事业需要巨大的勇气和决心。开源项目的作者们需要面对各种挑战和批评,但正是因为他们对开源事业的执着,社区才得以繁荣。我向每一位国内的开源爱好者致以崇高的敬意,你们是开源事业中不可或缺的一环。
回首三周年的开源项目,我的内心充满了感慨。这段经历锤炼了我的意志和技术能力,让我从一个技术懵懂的新手成长为一个在领域中有所建树的人。虽然这个过程中并非一帆风顺,但我感激每一个困难和挑战,它们让我更加坚定地走在开源之路上。
最后,我要衷心感谢所有支持和鼓励我的人。感谢那些相信我能够创造出有价值的开源项目的人,感谢那些给予我反馈和建议的人。 同时,我也要向所有国内开源人表达我的敬意和感激之情。正因为有你们的努力和奉献,才有了开源事业的繁荣和进步。
愿每一个开源爱好者都能坚守初心,用心对待用户需求,不断提升自己的技术水平。我们的开源项目不仅仅是一个代码库,更是我们对技术和自由精神的执着追求。 相信自己,相信开源的力量,让我们继续前行,创造出更美好的明天!
你还在吗?
![]()
每一个开源项目都会拥有一群最早的种子用户。这些用户中,有的一直与项目一同成长,而有的则在某个阶段选择离开。
那......
一年又一年,已是物是人非。最初使用 Furion 的你,还在吗?
发展事记
2020 年
- 2020 年 06 月 22 日,
Fur 在 Gitee 平台创建空仓库 25de190。
- 2020 年 09 月 01 日,
Fur 正式写下第一行代码。
- 2020 年 10 月 01 日,
Fur 获得 Gitee 最有价值开源项目 GVP 证书。
- 2020 年 10 月 22 日,
Fur 在 Gitee 平台获得 1000 stars.
- 2020 年 11 月 11 日,
Fur 单身节当天发布了 1.0.0 正式版。
- 2020 年 11 月 18 日,
Fur 改名为 Furion。 a24acd4 97011ef
- 2020 年 11 月 23 日,
Furion Logo 由之前的 奶牛 更换为 袋鼠。
- 2020 年 12 月 22 日,
Furion 在 Gitee 平台获得 2000 stars。
2021 年
- 2021 年 03 月 01 日,
Furion 捐赠项目到 dotNET China 组织。
- 2021 年 03 月 05 日,
Furion 在 Gitee 平台获得 3000 stars。
- 2021 年 04 月 01 日,
Furion 所在群 dotNET China 突破 5000 人。
- 2021 年 04 月 06 日,
Furion 在 Gitee 平台获得 4000 stars。
- 2021 年 04 月 19 日,
Furion 正式发布 2.0.0 版本,并支持控制台应用开发。
- 2021 年 04 月 29 日,
Furion 所在群 dotNET China 突破 6000 人。
- 2021 年 05 月 13 日,
Furion 在 Gitee 平台获得 5000 stars。
- 2021 年 06 月 01 日,
Furion 所在群 dotNET China 突破 7000 人。
- 2021 年 06 月 22 日,
Furion 在 Gitee 平台获得 6000 stars。
- 2021 年 07 月 04 日,
Furion 登顶 Gitee 平台 C# 语言板块第一名。
- 2021 年 07 月 16 日,
Furion 采用 百小僧 头像作为 Logo。
- 2021 年 07 月 20 日,
Furion 将 Apache 2.0 开源协议修改为 MulanPSL-2.0 (木兰宽松许可证)
- 2021 年 07 月 27 日,
Furion 正式支持全平台、.NET 全平台项目开发。
- 2021 年 08 月 11 日,
Furion 加入 木兰开源社区 重点孵化。
- 2021 年 08 月 21 日,
Furion 在 NuGet 平台突破 100万 下载量。
- 2021 年 08 月 30 日,
Furion 在 Gitee 平台获得 7000 stars。
- 2021 年 09 月 01 日,
Furion 诞生一周年。
- 2021 年 11 月 09 日,
Furion 正式发布 3.0.0 版本,全新的 .NET6 架构。
- 2021 年 11 月 22 日,
Furion 迎来了第一个赞助商。
2022 年
- 2022 年 05 月 20 日,
Furion 在 Gitee 平台获得 8000 Stars。
- 2022 年 05 月 28 日,
Furion 在 NuGet 平台突破 200万 下载量。
- 2022 年 06 月 18 日,
Furion 有了自己的入口函数 Serve.Run() 和错误页。
- 2022 年 06 月 20 日,
Furion 项目贡献者突破 200 人。
- 2022 年 07 月 25 日,
Furion 正式发布 4.0.0 版本,彻底实现大一统(.NET5-.NET N)都可以升级。
- 2022 年 08 月 01 日,
Furion 将 MulanPSL-2.0 开源协议修改为 MIT。
- 2022 年 08 月 18 日,
Furion 在 NuGet 平台突破 300万 下载量。
- 2022 年 09 月 01 日,
Furion 诞生两周年。
- 2022 年 09 月 18 日,
Furion 解散 QQ 群,回归最初的开源协作模式,了解更多。
- 2022 年 10 月 29 日,
Furion 在 NuGet 平台突破 400万 下载量。
- 2022 年 11 月 24 日,
Furion 发布了全新的分布式定时任务模块 Sundial。
- 2022 年 12 月 07 日,
Furion 在 NuGet 平台突破 500万 下载量。
- 2022 年 12 月 29 日,
Furion 获得开源云联盟优秀开源项目奖项:查看获奖。
2023 年
- 2023 年 02 月 04 日,
Furion 获得《2022 年中国开源年度报告》 Gitee 指数 Top 10 项目:查看报告。
- 2023 年 02 月 06 日,
Furion 在 NuGet 平台突破 600万 下载量。
- 2023 年 02 月 22 日,
Furion 正式适配 .NET8 架构。
- 2023 年 03 月 15 日,
Furion 在 NuGet 平台突破 700万 下载量。
- 2023 年 04 月 18 日,
Furion 在 Gitee 平台获得 9000 Stars。
- 2023 年 04 月 18 日,
Furion 在 NuGet 平台突破 800万 下载量。
- 2023 年 06 月 07 日,
Furion 正式开通微信公众号 Furion。
- 2023 年 06 月 08 日,
Furion 成功购买下 furion.net 域名:查看官宣。
- 2023 年 06 月 14 日,
Furion 在 NuGet 平台突破 900万 下载量。
- 2023 年 08 月 22 日,
Furion 在 NuGet 平台突破 1000万 下载量。
- 2023 年 09 月 01 日,
Furion 诞生三周年。
本期更新
-
新特性
- [新增] 验证特性
[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
-
问题修复
- [修复] 使用刷新
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 静态类文档、规范化文档、配置文档
-
贡献者