Releases: MonkSoul/Furion
Releases · MonkSoul/Furion
v2.1.0
v2.0.0
-
新特性
- [新增] 控制台应用程序及 Worker Services 支持 #I3K4DG
- [新增] 完整任务调度功能 #I3IRUX
- [新增]
Cron
表达式解析 #I3IQ9Y - [新增] 支持
Swagger
自定义配置swagger.json
地址模板 #I3IHMX - [新增] 支持配置动态 WebApi 区域 #I3IJAZ
- [新增] 远程请求新增支持传入服务提供器
IServiceProvider
#I3IVBL - [新增] 全局配置选型
SupportPackageNamePrefixs
配置,支持配置包前缀 #I3K0SN - [新增] 应用启动时支持
referenceassembly
类型程序集扫描 #I3K0SN
-
突破性变化
-
问题修复
- [修复] 关闭
InjectMiniProfiler
参数后内存缓存无效 #I3IHLR - [修复] 在多租户中调用
Tenant
属性出现偶然性数据库上下文被释放的情况 #I3IC70 - [修复] Sql 代理中如果返回基元类型抛出不能将 object 转换成对应类型的异常 #I3IC84
- [修复] 存储过程多返回值的时候,outputvalues 的 name 不是定义的 MSG 的 name,是 Msg 类型。 #I3IC7Y
- [修复] PhoneNumber 手机号验证正则表达式错误 #I3ID10
- [修复] 依赖注入 AOP 拦截无法捕获内部异常 #I3IGCC
- [修复] 全局拦截标记异常已被处理后异常过滤器依然执行 #I3J463
- [修复] 自定义全局异常拦截器不起作用 #I3K1SJ
- [修复] 关闭
-
其他更改
-
文档变化
-
问答答疑
- [答疑] 数据校验,自定义 ErrorMessage 无效问题 #I3ICL3
- [答疑] 最新 issue 中新增的“新增常用的 JSON 序列化方法” 会导致 AOP 拦截异常 #I3I7VE
- [答疑] Furion.DatabaseAccessor.PrivateEntityBase 中的 TenantId 数据类型设置为 object #I3IQV6
- [答疑] 有关异常拦截和处理的疑问 #I3IUFZ
- [答疑]
DataValidation
在空值的情况下被忽略掉了#I3IWSM - [答疑] 日志文档没有更新 #I3J1DX
- [答疑] 对于 webapi 简单类型参数,是否可以以 json 方式提交 #I3J18I
- [答疑]
IUnifyResultProvider
实现中如果UnifyModel
的 type 不是范型会报错 #I3JBXF - [答疑] 如何模块化开发新功能? #I3J7ZZ
- [答疑] 建议增加微服务中间件的集成 #I3JTZQ
-
不做实现
v1.19.0
-
新特性
-
突破性变化
- [升级] .NET 5 SDK 至 5.0.5 版本
-
问题修复
-
其他更改
-
文档变化
- [更新] 数据库上下文、多租户、仓储、日志、序列化等文档。
-
问答答疑
-
不做实现
v1.18.0
-
新特性
-
突破性变化
-
问题修复
-
其他更改
-
文档变化
- [更新] 数据库操作文档 #I3E84X
-
问答答疑
-
不做实现
v1.17.0
-
新特性
-
突破性变化
- [调整]
IRepository.AsAsyncEnumerable()
返回值 #I3DIQ1,调整为:rep.AsQueryable().ToListAsync()
- [调整]
-
问题修复
-
其他更改
-
文档变化
- [调整] 远程请求文档 #I3CPJO
-
问答答疑
- [答疑]
LinqExpression.And
没有 2 个参数的方法 #I3CXKZ - [答疑] 异常信息 如何记录到数据库中:) #I3DDGO
- [答疑] 无键实体选用
IEntityNotKey
#I3DWRF - [答疑] 根据主键删除一条记录不成功,无错误信息 #I3DWWF
- [答疑] 如何自定义接口返回格式 #I3DZN6
- [答疑] DynamicApiController 如何在运行时决定是否公开一个 Action #I3D5UL
- [答疑]
Furion.DatabaseAccessor.DbHelpers
方法:ConvertToDbParameters
是不是应该过滤掉贴NotMapped
的特性 #I3E2XS
- [答疑]
-
不做实现
- [废弃] 框架是否提供
ISoftDelete
类似接口 #I3CP93
- [废弃] 框架是否提供
v1.16.0
-
新特性
-
突破性变化
-
问题修复
- [修复]
MVC
模式下不支持验证自定义验证逻辑 #I39LM5 - [修复] 验证数值类型正则表达式不支持负数 bug #I39YUV
- [修复] 框架启动时无法加载未被引用的程序集 bug #I3A3Z4
- [修复]
EFCoreRepository.IsAttached()
方法判断错误 bug #I3A824 - [修复]
动态API
驼峰显示配置无效 bug #I3AF32 - [修复]
cli.ps1
不支持新版本EFCore
bug #I3APO9 - [修复]
EFCore
实体配置[Table]
特性无效 bug #I3BAYH - [修复] 动态 WebAPI
CheckIsSplitCamelCase
bug #I3BLKX - [修复] 修复动态 WebAPI 配置保留 Action 的 Async 后缀无效问题 #I3C3DA
- [修复]
JWT
Token 刷新后旧的刷新 Token 依旧可用 bug #I3C8ZH - [修复] 多语言
Razor
视图变量多语言乱码问题 #I3CBMU
- [修复]
-
其他更改
-
文档变化
-
问答答疑
- [答疑]
Furion.Extras.DatabaseAccessor.SqlSugar
配置多个数据库打印 SQL 语句问题 #I39PDC - [答疑]
ORACLE
数据库多租户模式下返回值为指定类型时系统卡死 #I39RNH - [答疑] 假删除指向异常 #I39XZA
- [答疑]
Furion
多语言配置节是放在AppSettings
里面还是外面呢? #I3A4SB - [答疑] 没找到数据库上下文 #I3A5HS
- [答疑] 有
QQ
交流群吗? #I3AAM7 - [答疑]
Vue3
环境下配置SignalR
跨域出错 #I3ALQ7 - [答疑] 设置
Swagger
参数非必填 #I3AT02 - [答疑] EFCore 调用 Insert 时报
Unknown column 'Discriminator' in 'field list'
异常 #I3B2LC - [答疑] 逆向
mysql
数据库时cli
出现错误 #I3B64F - [答疑] Sql 高级代理使用过程中 DateTime 类型的参数序列化失败 #I3AZXK
- [答疑] 使用 Mysql 执行 Add-Migration 报错 #I3B8EW
- [答疑] Saas 多租户模式-独立 Database 模式下无法获取 Tenant, 导致无法自动切换的问题#I3AVXU
- [答疑] 如何自定义 WebAPI 统一结果模型 #I3BBYW #I3BBYV
- [答疑] 在
Web.Entry
项目新建了一个Controller
,多了未知方法 #I3BKH5 - [答疑]
AOP
拦截如何解析服务 #I3BUM3 - [答疑] 动态 WebAPI 返回参数被省略 #I3C2XR
- [答疑] 如何设置某一个接口响应数据不自动转小写,按原始字段名返回 #I38L9B
- [答疑] code first 如何配置自动迁移 #I3CCR0
- [答疑] webapi 混合授权如何区分不同系统 #I3CJCY
- [答疑] EFCore 不支持递归无限级遍历关系 #I3CET9
- [答疑]
-
不做实现
v1.15.0
v1.14.0
-
新特性
-
突破性变化
-
问题修复
-
其他更改
-
文档变化
-
问答答疑
-
不做实现
v1.13.0
-
新特性
- [新增] 多语言功能及拓展 #I2DOCL
- [新增] 事件总线功能及消息中心 #I23BKN
- [新增]
Swagger
分组显示隐藏配置 #I2AHH8 - [新增]
Furion.Extras.Logging.Serilog
拓展插件 #I2AAN8 - [新增]
cli.ps
支持-Namespace
命名空间指定 #I2A175 - [新增]
Swagger
规范化化文档授权失效后自动取消授权锁 #I2AIWC - [新增]
Request.Body
支持重复读功能,主要解决微信SDK问题 #I2AMG0 - [新增] 网络请求功能及文档 #I2APGJ
- [新增]
SqlSugar
拓展包支持打印sql
到MiniProfiler
中 #I2ASLS - [新增]
Furion.Extras.DatabaseAccesssor.Dapper
拓展插件 #I2ASYA - [新增]
Furion.Extras.DatabaseAccessor.PetaPoco
拓展插件 #I2AUGA - [新增] 网络请求字符串拓展方法 #I2CPQ0
- [新增]
SqlSugar
拓展新增PagedList
拓展 #I2CW99 - [新增] 远程请求支持参数特性验证 #I2CX5L
- [新增]
App.User
获取当前授权用户信息便捷方法 #I2CZLO - [新增] 规范化文档可配置功能,支持
appsettings.json
配置 #I2D1K9 - [新增] 远程请求拦截器添加方法和方法参数 #I2D2CM
- [新增] 远程请求出错返回默认值支持 #I2D44M
- [新增] 远程请求
body
参数序列化支持设置PropertyNamingPolicy
#I2D685 - [新增] 远程服务接口客户端配置 #I2D7PS
- [新增]
AddInject
和UseInject
允许自定义SecurityDefinitions
和SwaggerUI
#I2DIMG - [新增]
[SecurityDefine]
默认构造函数 #I2DNXT - [新增]
AspectDispatchProxy
动态代理类 #I2DO6I - [新增]
[QueryParameters]
特性,支持一键将Action
参数添加[FromQuery]
特性 #I2G8TF - [新增] 动态日志配置及拓展方法 #I2GDGD
- [新增]
WebApi
请求谓词默认规则配置功能 #I2M70X
-
突破性变化
- [升级]
.NET 5
SDK 到.NET 5.0.2
版本 #I2D0PZ - [调整] 框架内所有拓展类命名空间,全部迁移到
Furion.模块.Extensions
下 #I2AH54 - [调整]
Swagger
记住授权存储方式,替换Session
存储方式为LocalStorage
方式 #I2AKUA - [调整]
Furion
框架包描述文件,减少框架体积 #I2APAU - [调整]
App.CanBeScanTypes
为App.EffectiveTypes
#I2B0ZR - [调整]
App.ServiceProvider
属性并移除App.GetDuplicateXXX
方法 #I2CYZE - [调整]
Db.GetDuplicateDbContext
为Db.GetNewDbContext
#I2CZ04 - [调整]
Db.GetSqlDispatchProxy
为Db.GetSqlProxy
#I2DO9T - [重构]
Aop
服务拦截器,支持异步、同步两种方式 #I2B9HQ - [重构] 网络请求所有功能 #I2BMR7
- [升级]
-
问题修复
- [修复]
Swagger
规范化化结果不一致 bug #I2ACF3 - [修复] 数据库新增或更新忽略空值操作方法报空异常 #I2AB6C
- [修复]
Startup.cs
Aop 全局拦截无效 #I2A7T2 - [修复]
Token
过期后自动刷新Token
无法获取最新的用户信息 bug #I2AWQI - [修复]
[ApiDescriptionSettings(Tag="xx")]
导致swagger.json
报错 bug #I2B47R - [修复]
Mysql
sql 数据库查询结果tinyint
类型转换出错 bug #I2BEBM - [修复] 规范化结果多次包裹类型 bug #I2BHHZ
- [修复] 动态Api 基元类型数组问题 #I2BMS5
- [修复]
sql
查询枚举类型转换异常 bug #I2BS2Y - [修复]
string.SqlQuerizeAsync<T1>()
拓展返回错误 bug #I2BSTS - [修复] 动态Api子类重写父类方法并取别名后
Swagger
异常bug #I2C9VP - [修复] 网络请求
application/json
序列化大小写问题 #I2CRJC - [修复] 多数据库定位器实体嵌套关联 bug #I2CVN0
- [修复] 跨域响应头设置无效 bug #I2CW5T
- [修复] 远程网络请求代理打印到
MiniProfiler
bug #I2CZBC - [修复] 远程请求响应拦截器 bug #I2D4DG
- [修复]
SqlSugar
框架AsQueryable()
一直追加参数 #I2DH1D - [修复] 自动刷新
Token
空异常 bug #I2DO29 - [修复] 生成
JWT Token
不传过期时间出现验证 401 bug #I2DO8L - [修复]
AppStartup
排序无效 #I2DVD2 - [修复] 未启用多语言服务时友好异常和验证出现空异常 #I2ECUJ
- [修复] 数据校验字母和数字组合无法匹配 bug #I2EF2Q
- [修复] 数据校验手机或固话无效 bug #I2M5IZ
- [修复]
Dapper
拓展解析SqlConnection
异常 bug #I2M5P2 - [修复] 开启多语言后,
EF
迁移异常 bug #I2M7DT - [修复]
IEntityTypeBuilder
不支持多重继承 bug #I2PAOD - [修复]
JwtHandler
设置自动刷新后,匿名访问无法通过 bug #I2SDOX - [修复]
Dapper
拓展中SqlServer
数据库获取连接对象类型 bug #PR159
- [修复]
-
其他更改
-
文档变化
-
[其他] 文档小调整,小优化
-
问答答疑
- [答疑] 跨域设置无效 #I2ASNJ
- [答疑]
MVC
视图无效,原因是.cshtml
文件没有设置为内容
#I2AXUU - [答疑]
Sql
操作可以实现事务吗?#I2B0NX - [答疑]
IRepository
操作数据库会打开多次数据库连接 #I2BB7B - [答疑] 如何进入自定义
AppAuthorizeHandler
断点 #I2BGXY - [答疑]
SqlSugar
注入问题 #I2C2AQ - [答疑] 建议增加 API 签名验证,时效验证 #I2C6ET
- [答疑] 多数据库多租户同时使用
Add-Migration
报错 #I2CEHS - [答疑]
ISqlSugarRepository
没有Getxxx
方法 #I2CJLZ - [答疑]
cli.ps1
如何将sql
里的表导出成model
类 #I2CSUL - [答疑] 手动修改
Swagger
终结点路径无效 #I2D608 - [答疑]
DefaultDbContext
不能识别 #I2DCZX - [答疑] 各分层项目
Startup.cs
支持Configuration
#I2DDUP - [答疑]
Aop
无法拦截,无效 #I2DEY8 - [答疑]
mysql
执行Add-Migration
报错 #I2DSB8\ - [答疑]
Entity
创建时间和是否删除添加默认值 #I2E04H - [答疑]
swagger
中多个servers
设置 #I2E0IF - [答疑] 全局筛选器 没有执行 #I2E5R4
- [答疑] 多数据库定位器疑问 #I2E77T
- [答疑]
cli.ps
逆向工程Mysql
数据库报错 #I2E7I5 - [答疑]
Swagger
开发环境applicationsettings.json
中文乱码 #I2EAG1 - [答疑] 增加指定路径程序集映射 #I2EEO2
- [答疑] 动态编译
cs
脚本文件 #I2EH66 - [答疑] 自定义中间件,返回的错误没有规范化结果 #I2NV8S
- [答疑]
Swagger
循环引用设置生成文档层级无效 [#I2PLQQ](htt...
v1.7.0
-
新特性
- [新增]
Furion.Extras.ObjectMapper.Mapster
拓展包 #I29LSJ - [新增]
Furion.Extras.Logging.Serilog
拓展包 #I2AAN8 - [新增]
Furion.Extras.Web.HttpContext
拓展包 #I29LSM - [新增] 内置
Token
刷新机制支持 #I29K57 - [新增] 动态数据库上下文,支持运行时执行
OnModelCreating
#I28UDT - [新增] 支持依赖注入排除指定接口 #I29693
- [新增] 规范化结果返回时间戳字段 #I29697
- [新增] 基础
CURD
父类操作例子 #I296SR - [新增]
sql.Change("定位器完整类型名称")
支持 #I29LAB - [新增]
UpdateInclude
和UpdateExclude
忽略空参数支持 #I29VUG - [新增] 数据库上下文内置假删除查询过滤器支持 #I29Y2R
- [新增] 忽略空值排除默认时间格式 #I29VUV
- [升级]
MiniProfiler
组件 #I297R9
- [新增]
-
突破性变化
- [调整]
AppAuthorizeHandler
授权管道为异步处理 #I29MD9 - [调整]
Swagger
默认启用JWT
授权支持 #I29LI4 - [调整]
HttpContextUtilities
名称改为HttpContextLocal
#I29KQE - [调整]
UnifyResultContext
名称改为UnifyContext
#I29LLZ - [调整] 只有执行迁移命令才扫描种子数据 #I29E6P
- [调整] 规范化结果
Successed
属性名为Succeeded
#I29NMV - [移除]
Mapster
对象组件,采用提供拓展方式 #I29D2M - [移除]
CacheManager
拓展类 #I29LU1 - [重构]
SaveChanges
拦截器 #I292LO
- [调整]
-
问题修复
- [修复] 未注册的数据库上下文也被引用全局查询拦截器 bug #I29ZXJ
- [修复] 手动返回
BadObjectResult
或ValidationProblemDetails
结果类型时规范化结果失效 bug #I29ZU9 - [修复] 动态WebApi
KeepName
,KeepVerb
、SplitCamelCase
无效 bug #I29X90 - [修复]
Sql代理
返回元组
类型出错 bug #I29SMV - [修复]
401,403
状态码规范化返回值属性变大写 bug #I29M8Y - [修复]
HttpContext
空异常 bug #I29LU4 - [修复] 接口无返回值没有应用规范化结果 bug #I29GT7
- [修复] 前端
Less
配置文件导致主机启动失败 bug #I29E7P - [修复] 执行
sql
结果转泛型后属性重复赋值 bug #I29BUO - [修复]
Swagger
关闭MiniProfiler
之后组中组
失效 #I29789 - [修复] 未启用规范化结果时异常返回
System.Object
字符 #I2969A - [修复] 正数数据验证 0 也验证通过 bug #I2955T
- [修复] 非泛型类集成泛型接口依赖注入 bug #I294YT
- [修复]
Swagger
不支持new
覆盖父类的 bug #I28Z1A - [修复]
JsonSerializerUtility
没有公开 bug #I28WMI - [修复]
SqlSugar
拓展查询泛型类型注册异常 bug #I28VMT - [修复]
Furion Tools
不支持生成不同命名空间的实体 bug #I2A175 - [修复] 全局拦截器无效 bug #I2A7T2
- [修复] 新增或更新忽略空值空异常 bug #I2AB6C
-
其他更改
- [优化]
Token
生成加密算法 #I29KIH
- [优化]
-
文档变化
- [新增] 日志文档 #I28Y9D
- [调整] 数据库上下文、实体拦截器、配置、一分钟入门等等文档
-
问答答疑
-
不做实现