Skip to content

1.0.0

Choose a tag to compare

@MayueCif MayueCif released this 26 Jul 02:02
· 47 commits to main since this release
9e85d55

1.0.0

Breaking Changes

  • Cryptography: Unified AES and DES encryption methods, when the Key or IV does not exist, use the default Key or default IV (modification of the original AES encryption and DES encryption Key and IV use default value specifications are not uniform, please confirm whether the default Key or default IV ) #378
  • Cache: HashDecrementAsync processing failed to return Null #314
  • Add default no tracking for EFCore #517 542
  • Enumeration:Moving from Masa.BuildingBlocks.Ddd.Domain to Masa.BuildingBlocks.Data.Contracts

Bug Fixes

  • Caching:Fix perform delete memory cache failure #319、GetKeys, GetByKeyPattern methods fail to get (when T is generic) #322 、Fix GetList subscription event error in multilevel cache #361
  • Configuration: Fix ConfigurationApi.Dcc failed to get configuration object #322
  • EFCore: Fixed that when the configuration is changed, the data context of the current request is not affected #442
  • Caller: Fix issues-533 #534
  • ConnectionStringsIsolation: Fix ConnectionStrings options mode support #546
  • MinimalAPIs: Fix After disabling automatic mapping, the mapping route is incomplete #562
  • Serialization: Fixed dynamic type serialization not supported on .NET 7.0 and above #569
  • IntegrationEventBus:Fix #issues-607
  • DaprStarter: Cannot terminate sidecar when program exits abnormally #598 #605
  • DomainEventBus: Event bus and UnitOfWork are optional #618
  • Cache: Fix the problem that the global cache configuration does not take effect when the cache validity period is not set when using the GetOrSet method #619#622
  • Dispatcher: Fix issues-570 #624, Fix the order problem of multiple Handler calls #633
  • MultilevelCache : MultilevelCacheClient format key instanceId repeat #648

Features

  • RulesEngine:Add RulesEngine #311 #434
  • Dapr Starter:Add Dapr Starter #312 #341 #343
  • Configuration:Configuration.DCC supports encrypted configuration #313 #320、Support array #498
  • Caching:HashDecrementAsync support sliding expiration(HashDecrementAsync processing failure is changed to return Null)#314 、 DistributedCache Support UnSubscribe #319 Redis supports manual release #492
  • EventBus: The local event bus supports getting services from methods #324、Support CancellationTokenSource #340
  • Support I18n #330 #380 #381 #387 #404 #587 #584
  • Exception Support I18n #330 #333 #501
  • MasaDbContext supports value object nesting #347
  • Isolation:Support registering Repository based on entity type #352
  • Multiple DbContext optimization support #350 #585
  • Repository: Support registering Repository based on entity type #352
  • Added support for setting the global Assembly collection #398
  • Minimal-apis: MinimalAPI support a new way to register #432
  • Extensions: replenish extensions #435 [#449https://github.com//pull/498)
  • MinimalAPIs: MinimalAPIs auto-mapping supports public Get methods for public properties #554
  • EFCore: The CreationTime property cannot be customized to modify the value #566

Refactors

  • Caller: Refactor Caller and add middleware support #342 #365 #368 #391 #494 #528
  • IntegrationEventBus:Optimize integration events #344 374 #384 #399 #402
  • EventBus:Adjust the order of middleware to first-in-first-execute #412
  • Configuration:Refactoring sets global configuration environment variables with default values #349 #382
  • Refactor Elasticsearch #364 392 394 #395
  • QueryableExtensions remove IEntity constraint #367
  • FluentValidation: Refactor FluentValidation to support localization #369、Check ignores Null values and provides WhenNotEmpty method#485
  • DI : Refactor DI #372
  • Cryptography : Refactor dotnet and Cryptography #378
  • OIDC: Client detail sql linq add SplitQuery #396、optimize OIDC #408
  • Cache:Cache value allows null #400
  • Repository:GetPaginatedListAsync Supported override #403
  • Isolation:Refactor Isolation #521 #523
  • Refactoring IdGenerator #574
  • MasaException: Rewrite the message of MasaException #602
  • IntegrationEventBus: IntegrationEventBus supports isolation#604
  • LocalEventBus: Fix #issues-597
  • DomainEventBus: Checking the event bus in the AddDomainEventBus method should be changed to a warning instead of a direct error #594

Perfs

  • Caching:Improve user experience #315 #318
  • Fix does not support available user types #322 #331

Renames

  • Masa.Contrib.Data.Contracts.EFCore -> Masa.Contrib.Data.Contracts #346

  • Isolation: #345 #349

    • Environment -> MultiEnvironment
    • ITenantContext -> IMultiTenantContext
    • ITenantSetter -> IMultiTenantSetter
    • IEnvironmentContext -> IMultiEnvironmentContext
    • IEnvironmentSetter -> IMultiEnvironmentSetter
  • EventBus: Change IMiddleware to IEventMiddleware #430

  • ObjectStorage: IClient -> IObjectStorageClient #436

  • DistributedCacheClientFactoryBase -> DefaultDistributedCacheClientFactory、MultilevelCacheClientFactoryBase -> DefaultMultilevelCacheClientFactory #499

  • Enqueue -> EnqueueAsync #512

Chores

  • Remove useless Utils class library #317
  • Repair the homepage document and redis configuration default value #338
  • FluentValidationExtensions: Support nullable property #497
  • Refactoring of Serialization and Identity #514
  • CI: Update Bug Issues Template #535 #539
  • Modify namespace #536
  • IntegrationEvent: Fix printing log error #620 #556

StackSdks

AUTH

  • Auth:SendEmailTypes add bind #309
  • Modify the return type of the login method by mobile phone number #316
  • Fix third party multilevel cache #321
  • Add email and phoneNumber #327
  • Update call initialization information #348
  • Add GetUserSystemDataAsync by userId #371
  • Add UserStatusException #377
  • Modify Mul Cache Sub key prefix #406
  • Register user add return UserModel #437
  • Update userService verfyMsgCode #446
  • Support third party idp login
  • Add SaveUserSystemData method、 add remove user
  • Add name field to UpdateUserBasicInfoModel#511
  • Update token validator #553
  • UserSerivce add bindRoles method #615

TSC

  • forcibly interrupted the trace of SignalR #329
  • Elasticsearch Support for Observability (log and trace) #335
  • rename: Masa.Contrib.StackSdks.Tsc.Elasticseach -> Masa.Contrib.StackSdks.Tsc.Elasticsearch #351
  • fix: correct aggs terms return null #351
  • feat: ITraceService adds GetAll method #351
  • fixed tracing bugs between api and blazor #356
  • fixed trace query bugs and testing cases #362
  • Add custom metrics #390
  • Check slices num must geater 1 when scroll query #393
  • update scroll search method #397
  • Add layer for opentelemtry resource builder #500

MC

  • Added Code to the message template #337
  • send messages split into internal and external #360
  • Support app push #373#375
  • Added BindClientId api #447
  • MessageTask add extraProperties
  • websiteMessage add extraProperties
  • GetWebsiteMessageModel add tag #495
  • WebsiteMessageService add GetListByTagAsync #496
  • GetListByTagAsync supports channel code #621
  • Add GetUnreadAsync #623

Config

  • Add StackSdks Config #409 #410 #415 #417 #421 #423 #424
  • Added get default Id #444
  • Fix business configuration empty exception error #448
  • update stack config environment #516
  • remove no used tsc_layer #522
  • Rename ElasticNodes to Nodes #530
  • Modify Elastic configuration #530
  • Support multi environment #559
  • MasaStackConfig: remove stack name and rename GetAllUINames to GetUIDomainPairs #603
  • Rename MasaStackConfigConstant const #630

Scheduler

  • Supports job status notify #504
  • SDK add update Job #616

Alert

Middleware

Stack Caller

Isolation

  • Create library MasaStack Isolation #632

破坏性修改

  • 密码: 统一 AES 和 DES 加密方式, 当 Key 或 IV 不存在时, 使用默认 Key 或默认 IV(修改原 AES 加密与 DES 加密 Key 以及 IV 使用默认值规范不统一, 请确认是否默认 Key 或默认 IV)#378
  • 缓存: HashDecrementAsync处理失败改为返回Null #314
  • EFCore 添加默认无跟踪 #517 542
  • 枚举类: 从 Masa.BuildingBlocks.Ddd.Domain 移动到 Masa.BuildingBlocks.Data.Contracts

修复Bug

  • Caching:修复执行删除内存缓存失败 #319、修复 GetKeys、GetByKeyPattern 方法获取失败(当 T 为泛型) #322 修复多级缓存中GetList订阅事件错误#361 Redis支持手动释放 #492
  • ConfigurationApi: 修复 ConfigurationApi.Dcc 获取配置对象失败 #322
  • EFCore:修复当配置改变时,不影响当前请求的数据上下文 #442
  • Caller: 修复 issues-533 #534
  • 修复ConnectionStrings选项模式支持 #546
  • MinimalAPIs:修复禁用自动映射后,映射路由不完整的问题#562
  • 修复.NET 7.0及更高版本上不支持动态类型序列化 #569
  • 集成事件总线:Fix #issues-607
  • Dapr Starter: 程序异常退出时无法终止sidecar #598 #605
  • 领域事件总线: 事件总线和UnitOfWork是可选的#618
  • Cache: 修复使用GetOrSet方法时未设置缓存有效期时全局缓存配置不生效的问题#619#622
  • Dispatcher: 修复 issues-570 #624, 修复多个Handler调用顺序问题 #633
  • MultilevelCache : 多级缓存客户端格式密钥instanceId重复 #648

功能

  • RulesEngine: 添加规则引擎 #311 #434
  • Dapr Starter: 添加 Dapr Starter #312 #341 #343
  • Configuration: Configuration.DCC 支持加密配置 #313 #320 支持数组#498
  • Caching: HashIncrementAsync, HashDecrementAsync 支持滑动过期(HashDecrementAsync处理失败改为返回Null)#314、分布式缓存支持取消订阅 #319
  • EventBus: 本地事件总线支持从方法上获取服务 #324、支持 CancellationTokenSource #340
  • 支持 I18n #330 #380 #381 #387 #404 #587 #584
  • 异常支持 I18n #330 #333 #501
  • MasaDbContext 支持值对象嵌套 #347
  • 租户隔离以及环境隔离增加解析器 #349
  • 多DbContext 优化支持 #350 #585
  • 新增支持设置全局Assembly集合 #398
  • Minimal-apis: MinimalAPI 支持新的注册方式 #432
  • Extensions: 补充扩展方法 #435 #449
  • 更新ConfigurationApiManage函数支持json序列化#515
  • MinimalAPIs自动映射支持公共属性的公共Get方法#554
  • EFCore: 支持自定义修改CreationTime #566

重构

  • Caller:重构 Caller,并增加支持中间件支持 #342 #365 #368 #391 #494 #528
  • IntegrationEventBus:优化集成事件 #344 374 #384 #399 #402
  • EventBus:调整中间件顺序为先进先执行 #412
  • Configuration:重构设置全局配置环境变量与默认值,优化使用体验 #349 #382
  • 重构 Elasticsearch #364 392 394 #395
  • QueryableExtensions 移除 IEntity 约束 #367
  • FluentValidation: 重构FluentValidation支持本地化 #369、检查忽略 Null 值并提供 WhenNotEmpty 方法#485
  • DI : 重构 DI #372
  • Cryptography : 重构dotnet和Cryptography #378
  • Repository: FindAsync 使用过滤器禁用软删除 #385
  • OIDC:客户端详细信息 sql linq 添加 SplitQuery #396、优化 OIDC #408
  • Cache:支持缓存null值 #400
  • Repository:GetPaginatedListAsync 支持重写 #403
  • Isolation:重构隔离性 #521 #523
  • 重构 IdGenerator #574
  • MasaException: 重写MasaException的消息 #602
  • 集成事件总线: 集成事件总线支持隔离性#604
  • 本地事件总线: 修复 #issues-597
  • 领域事件总线: 检查AddDomainEventBus方法中的事件总线应改为警告,而不是直接错误 #594

优化

  • Caching: 删除部分重载方法,优化使用体验 #315 #318、优化多级缓存删除缓存时偶发出错 #439
  • 修复不支持可用的用户类型 #322 #331
  • 优化使用DomainService的体验 #438
  • Orm: 优化使用多数据库上下文字符串别名 #441 #445
  • 序列化和身份的重构#514

重命名

  • Masa.Contrib.Data.Contracts.EFCore -> Masa.Contrib.Data.Contracts #346

  • 隔离性: #345 #349

    • Environment -> MultiEnvironment
    • ITenantContext -> IMultiTenantContext
    • ITenantSetter -> IMultiTenantSetter
    • IEnvironmentContext -> IMultiEnvironmentContext
    • IEnvironmentSetter -> IMultiEnvironmentSetter
  • 修改 IMiddleware -> IEventMiddleware #430

  • ObjectStorage: IClient -> IObjectStorageClient #436

  • DistributedCacheClientFactoryBase -> DefaultDistributedCacheClientFactory、MultilevelCacheClientFactoryBase -> DefaultMultilevelCacheClientFactory #499

  • Enqueue重命名为EnqueueAsync#512

杂务

  • 删除无用的 Utils 类库 #317
  • 修复首页文档以及redis配置默认值 #338
  • 创建问题标签 #429
  • 修复缓存文档错误 #451
  • 添加问题模板 #452
  • FluentValidationExtensions: 支持可空属性 #497
  • 修改Bug问题模版 #535 #539
  • 修改命名空间 #536
  • 集成事件: 修复打印日志错误 #620 #556

业务Sdk

权限中心

  • 发送邮箱类型支持Bind #309
  • 修改通过手机号登录方法的返回类型 #316
  • 修复第三方多级缓存使用错误 #321
  • 增加邮箱和手机号 #327
  • 更新调用初始化信息 #348
  • 增加根据用户id查询用户业务数据的方法 #371
  • 添加 UserStatusException #377
  • 修改多级缓存前缀 #406
  • 注册用户并且返回用户信息 #437
  • 更新用户服务校验验证码方法 #446
  • 支持第三方平台登录
  • 增加用户业务数据存储接口、增加删除用户
  • 修复用户服务GetSystemDataAsync报错 #488
  • Fix user service GetSystemDataAsync error #488
  • 更新用户基本信息模型增加Name字段#511
  • 更新令牌验证器 #553
  • 用户服务增加绑定角色方法 #615

故障排查控制台

  • 默认忽略 SignalR 的 Trace 的记录 #329
  • 支持可观察性 (日志和跟踪) #335
  • 重命名: Masa.Contrib.StackSdks.Tsc.Elasticseach -> Masa.Contrib.StackSdks.Tsc.Elasticsearch #351
  • 修复参数返回null #351
  • 功能: ITraceService 增加 GetAll 方法 #351
  • 修复了 api 和 blazor 之间的跟踪错误 #356
  • 修复跟踪查询错误和测试用例 #362
  • 添加自定义指标 #390
  • 滚动查询时检查切片数必须大于1 #393
  • 更新滚动搜索方法#397
  • 为 opentelemtry 资源构建器添加layer #500
  • 修复跟踪中的记录体错误 #538

消息中心

  • 新增消息模版 #337
  • 发送消息分为内部和外部 #360
  • 支持app推送 #373#375
  • 添加绑定Client API #447
  • 消息任务增加扩展属性
  • 站内信增加扩展属性
  • 站内信查询模型添加Tag属性 #495
  • 站内信服务添加根据标记查询站内信列表方法 #496
  • GetListByTagAsync 支持渠道编码查询 #621
  • 增加查询站内信未读数方法#623

配置

  • 增加 StackSdks Config #409 #410 #415 #417 #421 #423 #424
  • 增加获取默认用户id #444
  • 修复业务配置空异常错误 #448
  • 更新Stack配置环境 #516
  • 删除未使用的 tsc_layer #522
  • 重命名 ElasticNodesNodes #530
  • 修改Elastic配置 #530
  • 支持多环境 #559
  • MasaStackConfig: 删除Stack名称并将GetAllUINames重命名为GetUIDomainPair #603
  • 重命名MasaStackConfigConstant中常量 #630

调度中心

  • 创建调度Job支持状态通知回调 #504
  • 增加更新Job方法 #616

告警中心

  • 增加告警中心sdk#505 #509
  • 添加 SetIsEnabledAsync #549

中间件

Stack 调用者

  • 业务Sdk 服务调用增加认证 #508
  • 添加Stack验证#519、修复对Stack的错误引用#520

隔离性

  • 新增MasaStack 隔离性类库 #632