坑坑坑坑
Furion 在 2022年07月25日发布 v4.0.0 版本,支持所有历史版本升级到该版本,在此之前已花费了 22 天的时间去测试,去改进。
万万没想到的是,大量的旧项目在这期间都选择了升级,短短一周时间 Nuget 安装量暴增了 30万,但问题也随之而来,由于使用者项目用法千奇百怪,导致一些项目升级之后无法正常运行或出现了比较严重的 Bug。
所以,自那天开始,终日疲于处理各种升级兼容问题,修复了近 20 个 Bug,做了诸多改进,总算实现了真正的无缝升级。
开源感想
自 2012年注册了 Github 之后,每一年都推出一款开源项目,持续了 10 年,在此期间见证了中国开源乃至国际开源的发展历程,感触良多。
1. 开源是一把双刃刀,处理得当名利双收,处理不妥道德谴责,佛系开源不痛不痒。
2. 做开源最难的不是零到一的过程,而是持续维护的勇气。
3. 开源如同人的脸,好坏一面便知,缺点可能会受到嘲讽批评,优点也会收获赞扬尊重。别担心,他们正在塑造更好的你。
4. 在国内做开源是一件很考验人的耐力活,你会在短时间内因为使用者的各种问题导致情绪复杂多变,仿佛在甲亢甲减这种现代病的边缘徘徊。
5. 当你停止提交代码的次数越多,那么离放弃这个项目不远了。
还有很多很多感想,今天就略写几条~
本期更新
-
新特性
- [新增]
Furion.Xunit拓展包,正式实现Xunit单元测试完整支持Furion063a034e - [新增]
services.AddMonitorLogging()日志监视器服务,支持非常灵活的日志操作 81df742 - [新增]
Serve.Run(silence: true)等一系列强大的静默启动功能 #I5JBSQ #I5J98T 7cced4 - [新增]
SpecificationDocumentBuilder.GetOpenApiGroups()方法获取底层的规范化接口分组信息 4ff03c5 - [新增]
logger.ScopeContext()配置日志上下文功能 #I5JC0D - [新增] 跨域配置
CorsAccessorSettings.SignalRSupport配置选项,支持配置SignalR跨域 #I5JREM - [新增] 事件总线
UseUtcTimestamp选项配置,可选择使用DateTime.UtcNow还是DateTime.Now,默认是DateTime.Now#I5JSEU - [新增] 规范化文档
[OperationId]配置,解决自定义Swagger UI不能正确显示路由问题 #I5K1IB - [新增] 远程请求
IHttpDispatchProxy方式全局拦截支持多态(继承) #I5K8FS
- [新增]
-
突破性变化
- [新增]
Furion.Xunit拓展包,正式实现Xunit单元测试完整支持Furion063a034e - [移除]
Furion.Extras.DatabaseAccessor.SqlSugar拓展插件中的[SqlSugarUnitOfWork]工作单元特性,将使用通用工作单元替换,查看最新实现文档 - [移除]
Inject.Create()方法,再也不需要了,框架提供了无敌强大的Serve.Run()静默启动方式 200848e - [调整]
Serve.Run的ConfigureConfiguration方法参数,由configuration => {}改为(environment, configuration) => {}83c97bb
- [新增]
-
问题修复
- [修复]
[LoggingMonitor]异常消息日志级别为Information错误问题 ab46cdf - [修复] 新版本日志组件频繁提示文件占用问题,将文件独占锁改为共享锁 #I5J3S6
- [修复] 配置数据库日志读写器为
EFCore时控制台出现无限打印问题 #I5J474 - [修复]
[LoggingMonitor]针对byte[]类型参数输出过大问题 5380f35 - [修复] 友好异常和规范化结果丢失了原始
ErrorCode问题 #I5IX2R - [修复] 新版本日志组件自定义数据库读写器注入
IRepository仓储导致死循环问题 #I5IX2R - [修复]
Mvc默认手动验证和Furion全局验证冲突问题 2a06c39 - [修复]
Serve.Run()模式不支持SuperSocket第三方包问题,原生是支持的。186ca0a - [修复]
SignalR跨域错误问题 #I5JREM - [修复]
[LoggingMonitor]将Oops.Oh和Oops.Bah记录到了错误日志中,默认应该是Information且提供可配置 #I5JZ1H - [修复] 自定义
Swagger UI之后个别UI要求必须配置operationId,否则出现guid序号 #I5K1IB - [修复] 主动抛出
NotFoundResult和NotFoundObjectResult无效问题 #I5KALZ - [修复]
[LoggingMonitor]解析方法参数但前端未传入时出现错误问题 #I5KC5P - [修复]
[LoggingMonitor]无法序列化IQueryable返回值问题 #I5KJD1 - [修复]
[LoggingMonitor]不能记录全局验证错误问题 b44087d - [修复]
[LoggingMonitor]存在注册顺序差异问题 b44087d
- [修复]




还没有评论,来说两句吧...