Releases: MonkSoul/Furion
Releases · MonkSoul/Furion
v1.4.3
-
新特性
- [新增]
Furion
支持二级虚拟目录部署功能 #I28B77 - [新增]
Furion.Template.RazorWithWebApi
脚手架 #I28QGI - [新增]
Furion.Template.BlazorWithWebApi
脚手架 #I27Z3O - [新增]
EFCore
时态查询拓展 #I28AJ - [新增]
[AppDbContext(连接字符串,数据库类型)]
配置支持 #I28QTB - [新增]
DateTimeOffset
转DateTime
拓展方法 #I27MQA - [新增]
ValidationTypes
验证正则表达式智能提示 #I2801V - [新增]
ValiationTypes.WordWithNumber
验证 #I2805 - [新增] 获取客户端和服务端 IP 地址 #I28QV9
- [新增]
-
突破性变化
-
问题修复
- [修复] 多数据库上下文配置定位器后实体无法正确生成 bug #I2888L
- [修复] 多租户数据库上下文实体生成 bug #I2891G
- [修复] 对象验证失败提示消息没有应用
JSON
大小写配置 bug #I27UTX - [修复] 仓储
Insert
或Update
方法指定ignoreNullValues
无效 bug #I27UN6 - [修复]
Controller
派生类如果贴了[Route]
特性后出现在Swagger
中 bug #I27TN7 - [修复]
SqlScalar
执行sql
返回Nullable
类型出现转换失败 bug #I27S2N - [修复]
[UnitOfWork]
特性异常 bug #I27MLM - [修复]
sql
静态执行方式和sql
高级代理无法监听数据库连接状态 bug #I27M4F - [修复] 修复更换Json序列化库无效 bug,如替换为
Microsoft.AspNetCore.Mvc.NewtonsoftJson
#I27M43 - [修复]
Furion Tools
工具生成模型 bug #I27XI5 - [修复] 软删除没有生效 bug #I2804I
- [修复]
Furion Tools
识别带多个\\
的连接字符串识别 bug #I280TS,#PR91 - [修复]
Furion Tools
无法取消生成 bug #I2816M - [修复]
DateTimeOffset
转本地时间差 8 小时 bug #I28BA9 - [修复] 启用
bundle js&css
压缩后启动异常 bug #I28KR - [修复]
ValidationTypes.Required
无效 bug #PR98 - [修复] 规范化结果
OnValidateFailed
参数名拼写错误 bug #PR93,#PR92 - [修复] 授权管道验证失败还显示结果 bug #PR89
-
其他更改
-
文档变化
-
问答答疑
- [建议] 希望
api
返回的值自动将 null 转为 '' 或 [] #I286IJ,【已关闭】 - [建议] 添加网关功能 #I27TP7,【已关闭】
- [建议] 新增
SqlQuery<T>
获取单条记录方法 #I28M1V,【已关闭】 - [建议] 希望可以提供集成
Serilog
例子 #I282J4,【已关闭】 - [疑问] 如何通过特性配置唯一约束 #I2891L,【已关闭】
- [疑问] 怎么读取
appsettings.json
数组 #I27WU,【已关闭】 - [疑问]
IRepository<TEntity>
出现空异常 #I281IE,【已关闭】 - [疑问] 规范化接口问题问题 #I28NMZ,【已关闭】
- [疑问] 统一返回值模型中OnResponseStatusCodes未执行 #I28NNL,【已关闭】
- [建议] 希望
v1.1.9
-
新特性
- [新增] 雪花算法 #I26OXG, #PR78
- [新增]
[AppDbContext]
配置数据库提供器支持 #I27G3T - [新增] 实体表数据更改监听接口
IEntityDataChangedListener
#I278DD, #I278LQ - [新增] 全局服务接口AOP拦截功能 #I278CP
- [新增] 定位器仓储
IDbRepository<TDbContextLocator>
#I276Q3 - [新增] 数据库操作
InsertOrUpdate
支持排除空字符串功能 #I272OG - [新增] 数据库操作
UpdateInclude
和UpdateExclude
匿名对象支持 #I271X0 - [新增] 数据验证传入空对象跳过验证支持 #I273R4
- [新增] 应用启动时支持排除特定配置文件自动加载 #I26U0A
- [新增] 单个实体表名前缀支持 #I26LX0
- [新增]
MySql
数据库自动配置默认版本号 #I26XQ6 - [优化] 授权处理程序代码
-
突破性变化
-
问题修复
- [修复] 视图引擎加载外部程序集出错 bug
- [修复] 依赖注入代理接口报空对象异常 bug
- [修复]
EFCore
取消附加实体出错 bug - [修复] 数据库仓储在非Web请求下出现空异常 bug
- [修复] 多个授权策略共存问题出现无效 bug
- [修复] 友好异常
Oop.Oh
不支持普通方法 bug - [修复] 获取多租户对象时数据库上下文出现作用域验证失败 bug
- [修复] 工作单元不支持
Sql代理
拦截 bug #I27GST
-
其他更改
-
文档变化
- [新增] 实体数据监听器 文档
- [更新] 一分钟入门、应用启动、官方脚手架、数据库操作指南、对象映射、规范化文档、异常处理、鉴权授权文档
v1.1.0
-
新特性
- [新增]
Db.GetDbContext()
获取默认数据库上下文方法 - [新增]
HttpContextUtility.GetCurrentHttpContext()
获取全局HttpContext
上下文 - [新增]
App.GetRequiredService<>
解析服务方法 - [新增]
object.GetService<>
对象拓展方法 - [新增] 策略授权
PolicyPipeline
基类方法,支持多重判断授权 - [新增]
JWTEncryption.ValidateJwtBearerToken
手动验证静态方法 - [新增] 全局数据库上下文
InsertOrUpdateIgnoreNullValues
和EnabledEntityStateTracked
全局配置 - [新增]
Swagger Jwt授权
全局授权参数 #I26GLR - [新增]
InsertOrUpdate
支持自定义判断条件功能 #I269Q1 - [新增] 字符串字段小写命名支持 #I2695D
- [新增] 字符串文本对比功能 #I268LE
- [新增] 全局异常特性消息功能 #I2662O
- [新增]
Insert
或Update
数据库忽略空值功能 #I264Q4
- [新增]
-
突破性变化
- [调整]
Fur
项目名为Furion
- [调整]
Db.GetRequestDbContext<>()
命名为Db.GetDbContext<>()
- [调整]
Db.GetDbContext<>()
命名为Db.GetDuplicateDbContext<>()
- [重构]
App.GetService<>
解析服务的底层逻辑,大大提高了解析服务的性能 - [重构] 授权核心代码,保持和微软一致的授权规范 #I26DCB
- [移除]
App.GetRequestService<>
方法 - [移除]
ValidateJwtBearer
Jwt授权方法,无需手动判断了
- [调整]
-
问题修复
- [修复] Furion 官方脚手架生成后编译异常 bug
- [修复]
Tenant
内置属性不是virtual
修饰 bug - [修复]
dockerfile
新命名构建失败 bug - [修复] 自定义角色授权和多个授权共存出现 403 bug #I26H1L
- [修复]
httpContext.GetEndpoint()
空异常 bug #PR73 - [修复]
Oops.Oh
空异常和不支持服务服务抛异常 bug #I26EFU,#I26GM4 - [修复]
cli.ps
生成文件编码乱码 bug #I26DVT - [修复]
Swagger
文件上传按钮不显示 #I26B6U - [修复] 规范化结果授权状态码序列化大小写不一致问题 #I26B26
- [修复] 未启用规范化结果时中文乱码 bug #I268T5
- [修复]
MySql
异步异常捕获不到 bug #I265SO - [修复]
cli.ps1
提示找不到数据库连接字符串 bug #I2647U
-
其他更改
-
文档变化
- [更新] 一分钟入门、安全鉴权、数据库等文档
v1.0.3
-
新特性
- [新增] Mvc 模板脚手架:
Fur.Template.Mvc
- [新增] WebApi 模板:
Fur.Template.Api
- [新增] Mvc/WebApi 模板:
Fur.Template.App
- [新增] Razar Pages 模板:
Fur.Template.Razor
- [新增] Blazor 模板:
Fur.Template.Blazor
- [新增] Mvc 模板脚手架:
-
突破性变化
- [调整]
PagedList
到System.Collections.Generic
命名空间下 - [优化] 解析服务性能问题,底层代码大量优化
- [调整]
-
问题修复
-
其他更改
- 无
-
文档变化
- [更新] 入门文档、数据库上下文文档、多数据库操作文档
v1.0.2
-
新特性
-
突破性变化
- [更新]
Mapster
包至7.0.0
版 - [调整]
App.Services
名为App.ServiceProvider
- [移除]
App.ApplicationServices
和App.GetRequestService<>()
- [移除] 非Web主机注入拓展
- [更新]
-
问题修复
-
其他更改
- [调整]
EntityBase
和Entity
所有属性为vitural
修饰 - [优化]
Jwt
读取和解析性能 - [优化] 优化代码支持 C# 9.0 最新语法
- [优化]
MD5
加密性能 #PR71 - [移除] 无用或未使用代码
- [调整]
-
文档
- [更新] 数据库上下文、多数据库、一分钟入门文档
v1.0.0
-
新特性
- [新增] 网络请求
RemoteRequest
组件 #I1YYWD - [新增]
.AddInjectBase()
注入,只包含基础服务注入 - [新增] 所有服务都支持
IServiceCollection
和IMvcBuilder
注入 - [新增] 抛异常状态码设置功能
StatusCode
- [新增]
Swagger
序列化支持Pascal
属性命名方式
- [新增] 网络请求
-
突破性变化
- [更新] 所有的包为
.NET 5
正式版
- [更新] 所有的包为
-
问题修复
- [修复]
SqlProxy
代理异步处理 bug - [修复] 数据库类型
Datetime
转DateTimeOffset
bug - [修复] 属性首字母大小写序列化不匹配出现
null
bug - [修复] 对象序列化中文出现乱码 bug
- [修复] 默认序列化配置无效 bug
- [修复] 数据库非依赖注入方式提交无效 bug
- [修复] 应用程序池提交所有
DbContext
空异常 bug - [修复]
Saas
多租户Tenant
类型字符串属性在MySql
数据库下出现longtext
类型 bug - [修复]
Mvc
自动验证字符串空值 bug #I24M2T - [修复] 枚举注释被覆盖 bug #I24N6J
- [修复] 忽略规范化结果无效bug #I24B8P
- [修复]
Swagger
默认ContentType
不是applicaiton/json
bug #I24F3U - [修复] 内置
System.Text.Json
和Newtonsoft.Json
冲突 bug #I24F3U
- [修复]
-
其他更改
- [调整]
Fur
框架域名为:https://furos.cn - [调整] 仓储
FromSqlRaw
和FromSqlInterpolated
接口位置 - [优化] 数据加解密性能,#PR70
- [调整]
-
文档
- [更新] README.md、框架介绍、数据库上下文、配置选项、多租户、跨域文档
v1.0.0-rc.final.90
-
新特性
- [新增]
.AddInjectBase()
、.UseInjectBase()
服务注册,此服务和中间件不包含Swagger
文档 - [新增]
[NonUnify]
特性,支持配置Aciton
跳过规范化结果处理
- [新增]
-
突破性变化
- [调整]
[DataValidation]
命名空间为System.ComponentModel.DataAnnotations
,保持和微软一致 - [调整]
[NonValidation]
命名空间为Microsoft.AspNetCore.Mvc
,保持和微软一致 - [调整]
[ApiDescriptionSettings]
命名空间为Microsoft.AspNetCore.Mvc
,保持和微软一致 - [调整]
[ApiSeat]
命名空间为Microsoft.AspNetCore.Mvc
,保持和微软一致 - [调整]
[UnifyResult]
命名空间为Microsoft.AspNetCore.Mvc
,保持和微软一致
- [调整]
-
问题修复
- [修复] 工作单元
[UnitOfWork]
并发下异常 bug - [修复] 动态 WebApi 全局配置
KeepVerb
无效 bug - [修复] 动态 WebApi 指定特定后缀并未移除 bug
- [修复] 规范化结果指定
[ProduceResponeseType]
配置无效 bug #I24B8P
- [修复] 工作单元
-
其他更改
- [关闭] #I24ALB
-
文档
- 无
v1.0.0-rc.final.84
-
新特性
- [新增] 友好异常可配置机制,支持配置是非显示状态码还有默认错误 #I22U5I
- [新增] 非项目启动层配置文件热更新 #I2446X
- [新增] 支持规范化结果传输额外数据 #I23WGK, #I2419S
- [新增] 支持配置文件提供程序,比如从数据库中加载 #I240W7
- [新增]
Fur.Extras.DependencyModel.CodeAnalysis
程序集扫描和动态编译拓展包 - [新增] 规范化结果
Extras
附加其他数据功能,UnifyResultContext.Fill(extras)
和UnifyResultContext.Take()
- [新增] 注册数据库上下文时可配置更多参数,如:
services.AddDb<FurDbContext>(DbProvider.Sqlite, options=>{ });
-
突破性变化
- [移除]
MiniProfiler.EntityFramework
第三方包,Fur 内部提供类似功能 - [调整] 所有查询默认为 跟踪查询
- [移除]
-
问题修复
- [修复] 多线程工资单元事务异常 bug #I242HT
- [修复] 未启用规范化结果时,异常没有显示 500 错误码的 bug
- [修复] 友好异常未定义Message时抛空异常 bug
- [修复]
EntityFrameworkCore
的Interceptor
无效 bug - [修复] 序列化中文出现乱码 bug
- [修复] 自定义基类二次继承
Entity
和EntityBase
之后扫描不到实体类型 bug - [修复] 自定义配置文件无法监听 bug
-
其他更改
-
文档
- [更新] 动态Api控制器、配置选项文档
v1.0.0-rc.final.71
-
新特性
-
突破性变化
-
问题修复
- [修复] 验证异常状态码显示500 bug
- [修复] 不传入授权处理Handler时,
[AppAuthorize]
出错 bug
-
其他更改
- [调整]
RESTfulResultProvider
核心代码 - [调整] 跨域默认允许所有来源了,也就是无需配置
WithOrigns
也可以前后端调配
- [调整]
-
文档
- [更新] 规范化文档,动态WebAPI文档、跨域文档、授权文档 #PR68
v1.0.0-rc.final.60
-
新特性
- [新增] 规范化文档、友好异常、动态 WebApi 服务注入方法
- [新增]
HttpContext
和IHttpContextAccessor
快速获取Token
拓展方法 - [新增]
Jwt
和Cookie
等多身份验证授权支持 #I23IM0 - [新增] 规范化文档
Server
列表 - [新增]
Swagger
枚举Description
特性支持
-
突破性变化
- [移除]
Newtonsoft.Json
拓展包,采用默认的System.Text.Json
- [重构] 规范化文档、目前使用更加灵活简单
- [调整]
AddJWTAuthorization
命名为AddJwt
- [移除]
-
问题修复
- [修复]
packages
拓展文件夹被.gitignore
排除的 bug - [修复]
UnitOfWork
工作单元 bug - [修复]
Oops
友好异常 bug - [修复] 规范化结果
OnSuccessed
在程序出异常情况下也进入的 bug - [修复] 执行
sql
语句打印多次 bug #I233NC
- [修复]
-
其他更改
- [其他] 代码优化及性能小优化
-
文档
- [更新] SaaS 、规范化文档、配置等文档 #PR66