Skip to content

Releases: MonkSoul/Furion

v1.4.3

09 Dec 06:58
Compare
Choose a tag to compare
  • 新特性

    • [新增] Furion 支持二级虚拟目录部署功能 #I28B77
    • [新增] Furion.Template.RazorWithWebApi 脚手架 #I28QGI
    • [新增] Furion.Template.BlazorWithWebApi 脚手架 #I27Z3O
    • [新增] EFCore 时态查询拓展 #I28AJ
    • [新增] [AppDbContext(连接字符串,数据库类型)] 配置支持 #I28QTB
    • [新增] DateTimeOffsetDateTime 拓展方法 #I27MQA
    • [新增] ValidationTypes 验证正则表达式智能提示 #I2801V
    • [新增] ValiationTypes.WordWithNumber 验证 #I2805
    • [新增] 获取客户端和服务端 IP 地址 #I28QV9
  • 突破性变化

    • [升级] .NET 5.0版本至 .NET 5.0.1 版本 #I28QU
    • [重构] 视图引擎功能,优化不规范命名和新增字符串模板编译 #I28G0S
    • [重构] 数据库实体查找算法,并优化性能 #I28QUQ
    • [优化] 应用启动初始化性能和数据库第一次自动配置 DbSet 性能
  • 问题修复

    • [修复] 多数据库上下文配置定位器后实体无法正确生成 bug #I2888L
    • [修复] 多租户数据库上下文实体生成 bug #I2891G
    • [修复] 对象验证失败提示消息没有应用 JSON 大小写配置 bug #I27UTX
    • [修复] 仓储 InsertUpdate 方法指定 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
  • 其他更改

    • [更新] README.md 友情连接地址 #PR88
    • [更新] 模板脚手架源码,添加 EFCore Tools#PR87
    • [更新] README.md Nuget 图标 #PR85
    • [废弃] 将 List<T>DateTable #PR97
  • 文档变化

    • [新增] 视图引擎模板文档 #I27ZVA
    • [新增] EFCore 时态查询文档 #I28AJ, DOC
    • [更新] 仓储文档书写纰漏 bug #PR90
    • [更新] 选项文档错误 bug #PR86
    • [更新] 实体数据监听器 文档书写错误 bug #PR83
    • [更新] 数据库上下文、多数据库、脚手架等文档
  • 问答答疑

    • [建议] 希望 api 返回的值自动将 null 转为 '' 或 [] #I286IJ,【已关闭】
    • [建议] 添加网关功能 #I27TP7,【已关闭】
    • [建议] 新增 SqlQuery<T> 获取单条记录方法 #I28M1V,【已关闭】
    • [建议] 希望可以提供集成 Serilog 例子 #I282J4,【已关闭】
    • [疑问] 如何通过特性配置唯一约束 #I2891L,【已关闭】
    • [疑问] 怎么读取 appsettings.json 数组 #I27WU,【已关闭】
    • [疑问] IRepository<TEntity> 出现空异常 #I281IE,【已关闭】
    • [疑问] 规范化接口问题问题 #I28NMZ,【已关闭】
    • [疑问] 统一返回值模型中OnResponseStatusCodes未执行 #I28NNL,【已关闭】

v1.1.9

30 Nov 09:58
Compare
Choose a tag to compare
  • 新特性

    • [新增] 雪花算法 #I26OXG, #PR78
    • [新增] [AppDbContext] 配置数据库提供器支持 #I27G3T
    • [新增] 实体表数据更改监听接口 IEntityDataChangedListener #I278DD, #I278LQ
    • [新增] 全局服务接口AOP拦截功能 #I278CP
    • [新增] 定位器仓储 IDbRepository<TDbContextLocator> #I276Q3
    • [新增] 数据库操作 InsertOrUpdate 支持排除空字符串功能 #I272OG
    • [新增] 数据库操作 UpdateIncludeUpdateExclude 匿名对象支持 #I271X0
    • [新增] 数据验证传入空对象跳过验证支持 #I273R4
    • [新增] 应用启动时支持排除特定配置文件自动加载 #I26U0A
    • [新增] 单个实体表名前缀支持 #I26LX0
    • [新增] MySql 数据库自动配置默认版本号 #I26XQ6
    • [优化] 授权处理程序代码
  • 突破性变化

    • [新增] 实体表数据更改监听接口 IEntityDataChangedListener #I278DD, #I278LQ
    • [新增] 全局服务接口AOP拦截功能 #I278CP
    • [新增] 雪花算法 #I26OXG, #PR78
  • 问题修复

    • [修复] 视图引擎加载外部程序集出错 bug
    • [修复] 依赖注入代理接口报空对象异常 bug
    • [修复] EFCore 取消附加实体出错 bug
    • [修复] 数据库仓储在非Web请求下出现空异常 bug
    • [修复] 多个授权策略共存问题出现无效 bug
    • [修复] 友好异常 Oop.Oh 不支持普通方法 bug
    • [修复] 获取多租户对象时数据库上下文出现作用域验证失败 bug
    • [修复] 工作单元不支持 Sql代理 拦截 bug #I27GST
  • 其他更改

  • 文档变化

    • [新增] 实体数据监听器 文档
    • [更新] 一分钟入门、应用启动、官方脚手架、数据库操作指南、对象映射、规范化文档、异常处理、鉴权授权文档

v1.1.0

22 Nov 06:28
Compare
Choose a tag to compare
  • 新特性

    • [新增] Db.GetDbContext() 获取默认数据库上下文方法
    • [新增] HttpContextUtility.GetCurrentHttpContext() 获取全局 HttpContext 上下文
    • [新增] App.GetRequiredService<> 解析服务方法
    • [新增] object.GetService<> 对象拓展方法
    • [新增] 策略授权 PolicyPipeline 基类方法,支持多重判断授权
    • [新增] JWTEncryption.ValidateJwtBearerToken 手动验证静态方法
    • [新增] 全局数据库上下文 InsertOrUpdateIgnoreNullValuesEnabledEntityStateTracked 全局配置
    • [新增] Swagger Jwt授权 全局授权参数 #I26GLR
    • [新增] InsertOrUpdate 支持自定义判断条件功能 #I269Q1
    • [新增] 字符串字段小写命名支持 #I2695D
    • [新增] 字符串文本对比功能 #I268LE
    • [新增] 全局异常特性消息功能 #I2662O
    • [新增] InsertUpdate 数据库忽略空值功能 #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

17 Nov 07:48
Compare
Choose a tag to compare
  • 新特性

    • [新增] Mvc 模板脚手架:Fur.Template.Mvc
    • [新增] WebApi 模板:Fur.Template.Api
    • [新增] Mvc/WebApi 模板:Fur.Template.App
    • [新增] Razar Pages 模板:Fur.Template.Razor
    • [新增] Blazor 模板:Fur.Template.Blazor
  • 突破性变化

    • [调整] PagedListSystem.Collections.Generic 命名空间下
    • [优化] 解析服务性能问题,底层代码大量优化
  • 问题修复

    • [修复] ApiSears.ControllerEnd不起作用 bug #I25KH6
    • [修复] RemoteRequest 请求完成结果序列化属性大小写问题 #I25I8R
    • [修复] HttpContext.GetEndpoinet() 空异常 bug #PR73
  • 其他更改

  • 文档变化

    • [更新] 入门文档、数据库上下文文档、多数据库操作文档

v1.0.2

15 Nov 06:45
Compare
Choose a tag to compare
  • 新特性

    • [新增] Pomelo.EntityFrameworkCore.MySql 最新 .NET 5 包配置 #I24ZQK
    • [新增] .AddDateTimeJsonConverter(format) 时间格式序列化配置
    • [新增] DateTimeDateTimeOffset 类型序列化格式配置 #I253FI
  • 突破性变化

    • [更新] Mapster 包至 7.0.0
    • [调整] App.Services 名为 App.ServiceProvider
    • [移除] App.ApplicationServicesApp.GetRequestService<>()
    • [移除] 非Web主机注入拓展
  • 问题修复

    • [修复] services.AddFriendlyException() 缺少配置注入 bug
    • [修复] 数据库上下文池被释放和高并发下内存溢出 bug #I2524K#I24UMN
    • [修复] Sql代理 返回空数据时异常 bug #I24TCK
    • [修复] 工作单元 [UnitOfWork] 多数据库被释放 bug #I24Q6W
  • 其他更改

    • [调整] EntityBaseEntity 所有属性为 vitural 修饰
    • [优化] Jwt 读取和解析性能
    • [优化] 优化代码支持 C# 9.0 最新语法
    • [优化] MD5 加密性能 #PR71
    • [移除] 无用或未使用代码
  • 文档

    • [更新] 数据库上下文、多数据库、一分钟入门文档

v1.0.0

11 Nov 06:27
Compare
Choose a tag to compare
  • 新特性

    • [新增] 网络请求 RemoteRequest 组件 #I1YYWD
    • [新增] .AddInjectBase() 注入,只包含基础服务注入
    • [新增] 所有服务都支持 IServiceCollectionIMvcBuilder 注入
    • [新增] 抛异常状态码设置功能 StatusCode
    • [新增] Swagger 序列化支持 Pascal 属性命名方式
  • 突破性变化

    • [更新] 所有的包为 .NET 5 正式版
  • 问题修复

    • [修复] SqlProxy 代理异步处理 bug
    • [修复] 数据库类型 DatetimeDateTimeOffset 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.JsonNewtonsoft.Json 冲突 bug #I24F3U
  • 其他更改

    • [调整] Fur 框架域名为:https://furos.cn
    • [调整] 仓储 FromSqlRawFromSqlInterpolated 接口位置
    • [优化] 数据加解密性能,#PR70
  • 文档

    • [更新] README.md、框架介绍、数据库上下文、配置选项、多租户、跨域文档

v1.0.0-rc.final.90

07 Nov 06:00
Compare
Choose a tag to compare
v1.0.0-rc.final.90 Pre-release
Pre-release
  • 新特性

    • [新增] .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
  • 其他更改

  • 文档

v1.0.0-rc.final.84

06 Nov 07:48
Compare
Choose a tag to compare
v1.0.0-rc.final.84 Pre-release
Pre-release
  • 新特性

    • [新增] 友好异常可配置机制,支持配置是非显示状态码还有默认错误 #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
    • [修复] EntityFrameworkCoreInterceptor 无效 bug
    • [修复] 序列化中文出现乱码 bug
    • [修复] 自定义基类二次继承 EntityEntityBase之后扫描不到实体类型 bug
    • [修复] 自定义配置文件无法监听 bug
  • 其他更改

  • 文档

    • [更新] 动态Api控制器、配置选项文档

v1.0.0-rc.final.71

04 Nov 09:25
Compare
Choose a tag to compare
v1.0.0-rc.final.71 Pre-release
Pre-release
  • 新特性

    • [新增] 自定义配置文件多个环境变量自由切换功能 #I23OMI
    • [新增] 规范化结果支持自定义状态码返回模型功能 #I23WCK
    • [新增] object.Validate() 验证拓展类,内部自动抛出异常信息
    • [新增] DataValidationResult 拓展方法 ThrowIf,简化抛异常处理代码
    • [新增] AuthorizationHandlerContext 拓展方法 ValidateJwtBearer,简化 Jwt 验证并读取代码
    • [新增] 字符串相似度比较拓展方法
  • 突破性变化

    • [新增] 自定义配置文件多个环境变量自由切换功能 #I23OMI
    • [新增] 规范化结果支持自定义状态码返回模型功能 #I23WCK
  • 问题修复

    • [修复] 验证异常状态码显示500 bug
    • [修复] 不传入授权处理Handler时,[AppAuthorize] 出错 bug
  • 其他更改

    • [调整] RESTfulResultProvider 核心代码
    • [调整] 跨域默认允许所有来源了,也就是无需配置 WithOrigns 也可以前后端调配
  • 文档

    • [更新] 规范化文档,动态WebAPI文档、跨域文档、授权文档 #PR68

v1.0.0-rc.final.60

02 Nov 03:16
Compare
Choose a tag to compare
v1.0.0-rc.final.60 Pre-release
Pre-release
  • 新特性

    • [新增] 规范化文档、友好异常、动态 WebApi 服务注入方法
    • [新增] HttpContextIHttpContextAccessor 快速获取 Token 拓展方法
    • [新增] JwtCookie 等多身份验证授权支持 #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