意义非凡
开源之旅,曲折而又意义非凡。
回想三年前,我初次迈出 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
静态类文档、规范化文档、配置文档
- [新增]
-
贡献者
- 陶泥 (@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
还没有评论,来说两句吧...