Skip to content

Releases: buession/buessionframework

v2.3.3

06 May 14:02
4c019f5
Compare
Choose a tag to compare

🔨依赖升级

⭐ 新特性

  • buession-core: 新增默认线程工厂 DefaultThreadFactory
  • buession-core: 新增默认线程池执行器 DefaultThreadPoolExecutor
  • buession-core: File 新增创建软链接方法
  • buession-core: PropertyMapper 新增 alwaysApplyingWhenNull 条件为 null 时,alwaysApplyingWhenNonText 条件为 null 或无字符串(不含空格、换行符、制表位)时

🔔 变化

  • buession-core: 废弃 ThreadPoolConfiguration name 属性
  • buession-core: 废弃 ThreadPoolConfiguration timeUnit 属性,使用 keepAliveTimeUnit 替代
  • buession-core: 废弃 ObjectUtils 使用 java 原生 API Optional
  • buession-core: 废弃 StatusUtils ,迁移至枚举 Status 本身

🐞 Bug 修复

  • buession-core: 修复 StringUtils 类忽略大小写判断是否以字符开头或结尾,错误判断的 BUG
  • buession-dao: 修复 MongoDBDao 处理 in、nin 条件值错误传递问题

⏪ 优化

  • buession-core: 优化数据验证,减少内存占用
  • buession-json: 数据脱敏,性能优化

v2.3.2

27 Dec 02:23
09bfe57
Compare
Choose a tag to compare

🔨依赖升级

⭐ 新特性

  • buession-core: ClassUtils、MethodUtils、FieldUtils 增加检测是否含义任意注解的方法
  • buession-core: AnnotationUtils 增加检测属性是否含义任意注解的方法
  • buession-core: 断言 Assert 可指定异常
  • buession-core: 新增对象工具类 ObjectUtils
  • buession-core: AbstractBeanConverter 新增支持 String 转枚举
  • buession-core: 新增反射工具类 ReflectionUtils
  • buession-aop: 新增注解处理器支持解析注解属性中的变量
  • buession-json: 注解 @sensitive 增加支持邮箱脱敏
  • buession-httpclient: OKHTTP client 增加可设置 maxRequests
  • buession-velocity: 新增验证工具 ValidateTool
  • buession-web: 新增注解处理器支持解析注解属性中的变量

🔔 变化

  • buession-core: 废弃 JsonSerializer 和 JsonDeserializer
  • buession-core: ListConverter、SetConverter、MapConverter 默认返回原始类型
  • buession-core: 移除 spring-beans 依赖
  • buession-json: 注解 @sensitive 内容替换策略,替换符可通过属性 replacement 设置

🐞 Bug 修复

  • buession-core: 修改错误的类名 BuesssionFrameworkVersion 为 BuessionFrameworkVersion
  • buession-beans: 修复 NumberPropertyConverter 字符串转换为数字时异常的 BUG
  • buession-beans: 修复 Map 转换为 bean 时字段为 null 值的 BUG
  • buession-beans: 修复 Map 转换为 bean 或 bean 转换为 map 时缓存导致的异常
  • buession-dao: 修复分页插件 PaginationInterceptor 当页码大于等于 2 时,无法返回数据的 BUG
  • buession-dao: 修复分页对象下一页值错误的 BUG
  • buession-git: 修复无法解析 git 信息时,空指针异常
  • buession-web: 修复分页对象下一页值错误的 BUG

⏪ 优化

  • buession-beans: 代码优化
  • buession-httpclient: 代码优化
  • buession-redis: 代码优化
  • buession-redis: 优化 RedisAccessor 多次调用 afterPropertiesSet 时,重复初始化 RedisConnectionFactory
  • buession-geoip: 优化 GeoIPResolverFactoryBean 多次调用 afterPropertiesSet 时,重复初始化 DatabaseResolver
  • buession-thesaurus: 优化 ThesaurusFactoryBean 多次调用 afterPropertiesSet 时,重复初始化 Parser
  • buession-velocity: 优化 VelocityEngineFactoryBean 多次调用 afterPropertiesSet 时,重复初始化 VelocityEngine

📔 文档

  • buession-aop: 完善注释
  • buession-httpclient: 完善注释
  • buession-redis: 完善注释
  • buession-velocity: 完善注释
  • buession-web: 完善注释

v2.3.1

17 Nov 02:10
662cee2
Compare
Choose a tag to compare

🔨依赖升级

⭐ 新特性

  • buession-beans: 新增 bean 转换器 BeanConverter , 支持 map、bean 互转
  • buession-core: 新增日期、时间格式化工具类 DateFormatUtils
  • buession-core: DateTime 新增日期时间对象、日历对象、时钟对象转换为时间戳方法
  • buession-core: 新增线程池饱和策略 ThreadPolicy
  • buession-dao: 新增实验性的 MyBatis 分页插件
  • buession-json: 注解 Sensitive 增加 strategyType 用于定义脱敏策略类,优先级高于 strategy

🐞 Bug 修复

  • buession-core: 修复 ClassUtils instantiate 方法初始化类时,参数长度错误判断异常
  • buession-core: 修复 MapBuilder 增加 putIfPresent 方法,值不为 null 时添加到 Map 中
  • buession-dao: 修复修改数据 BUG
  • buession-web: 修复获取客户端真实 IP 注解判断错误 BUG
  • buession-web: 修复 velocity JsonTool 为设置日期时间格式时,无法设置时区的 BUG

⏪ 优化

  • buession-httpclient: okhttp3 连接池关闭时驱逐连接资源

v2.3.0

15 Aug 06:58
1ec1213
Compare
Choose a tag to compare

🔨依赖升级

🔔 变化

  • buession-core: 废弃 com.buession.core.serializer.type.TypeReference 使用 com.buession.core.type.TypeReference【3.0.0 版本删除】
  • buession-core: 将序列化类,拆分成序列化和反序列化
  • buession-dao: 废弃 DefaultEnumTypeHandler 使用 mybatis 原生 EnumTypeHandler【3.0.0 版本删除】
  • buession-httpclient: 废弃 Request.setUrl(String url) 使用 Request.setUri(URI uri) 替代【3.0.0 版本删除】
  • buession-web: AbstractRestController 添加主键类型、数据传输对象类型、数据输出对象类型
  • buession-web: Response 的 Pagination 类型由 com.buession.core.Pagination 更改为 com.buession.web.mvc.Pagination 不再返回数据
  • buession-redis: 废弃 bitfield 通过可变参数传参

⭐ 新特性

  • buession-lang: 新增浏览器类型 BrowserType、设备类型 DeviceType、渲染引擎 RenderingEngine、版本 Version、浏览器 Browser、操作系统 OperatingSystem 定义
  • buession-lang: 新增重试配置 Retry
  • buession-aop: 增加 AfterReturningAdviceMethodInvocationAdapter、AfterThrowingAdviceMethodInvocationAdapter、AroundAdviceMethodInvocationAdapter
  • buession-core: 新增类型引用类 com.buession.core.type.TypeReference
  • buession-core: 新增配置器接口 Configurer
  • buession-core: 新增定制器接口 Customizer
  • buession-core: 新增线程池配置类 ThreadPoolConfiguration
  • buession-core: Arrays 新增元素重复填充方法
  • buession-core: StringUtils 新增截取左边指定个字符串
  • buession-core: DateTime 新增如果获取原生日期、时间对象方法
  • buession-dao: 删除数据时,支持指定删除条数
  • buession-httpclient: 新增实验性 HTTP 异步请求客户端
  • buession-httpclient: 请求方法支持传 URI
  • buession-httpclient: 支持为每次请求单独配置 readTimeout
  • buession-jdbc: DataSource 可设置驱动、JDBC URL、数据库用户名、数据库密码信息
  • buession-jdbc: 新增 javax.sql.DataSource 初始化回调接口 Callback
  • buession-redis: bitfield API 支持通过 BitFieldArgument 传参
  • buession-net: SslConfiguration 增加 sslContext 属性
  • buession-net: 新增 SSL 配置 SslConfigure

🐞 Bug 修复

  • buession-redis: 修复 Jedis StringCommands.SetArgument 设置过期时间戳,处理成过期时间的 BUG
  • buession-redis: 修复 Client 对象返回的 cmd 类型错误的 BUG
  • buession-jdbc: 修复 DataSource 未设置 PoolConfiguration 创建原生 DataSource 空指针 BUG
  • buession-httpclient: 修复 HttpClient request 方法,无法发送 report、proppatch 请求 BUG
  • buession-httpclient: 修复 OkHttpClientConnectionManager 中错误设置 IdleConnectionTime 的 BUG
  • buession-web: 修复 AbstractBasicRestController 无法调用重写 pageNotFound(final String uri) 方法 BUG
  • buession-web: 修复 ServerInfoFilter 通过 setHeaderName 方法设置响应头名称无效的 BUG
  • buession-web: 修复 ServerInfoFilter 通过构造函数设置响应头名称未进行有效性验证的 BUG
  • buession-web: 修复 ServletContentTypeAnnotationHandler、ServletResponseHeadersAnnotationHandler 空指针 BUG
  • buession-web: 修复 servlet 下 ExceptionResolver 处理异常时,响应流异常关闭的 BUG

⏪ 优化

  • buession-httpclient: 内部优化
  • 其它优化

v2.2.1

31 Mar 13:43
4e1d6e0
Compare
Choose a tag to compare

🔨依赖升级

🔔 变化

  • buession-web: Servlet AbstractHandlerExceptionResolver doResolve 方法支持接收 handler

⭐ 新特性

  • buession-web: 新增实验性 User-Agent 解析工具

v2.2.0

10 Mar 05:56
4e1d6e0
Compare
Choose a tag to compare

2.2.0 (2023-03-10)

🔨依赖升级

⭐ 新特性

  • buession-core: ListBuilder、MapBuilder、QueueBuilder、SetBuilder 增加可以直接传递 List、Map、Queue、Set 实例的 create 方法
  • buession-core: Assert isEmpty 和 notEmpty 增加基础类型数组判断
  • buession-core: StringUtils 增加 random 增加支持字符串
  • buession-geoip: 增加返回 autonomous system number、autonomous system organization
  • buession-geoip: 增加可支持设置 asn 库地址或流
  • buession-httpclient: 支持原生 RequestBody 子类转换
  • buession-web: 增加 web binder 转换器工厂 IgnoreCaseEnumConverterFactory 忽略大小写将字符串转换为枚举值
  • buession-web: 获取客户端真实 IP,增加标头 Client-IP 的支持

🔔 变化

  • buession-web: 废弃 web binder 转换器 CaseTypeConverter、DomainTLDConverter、DomainTLDTypeConverter、GenderConverter、IpTypeConverter、ISBNTypeConverter、OrderConverter、StatusConverter,统一使用 web binder 转换器工厂 IgnoreCaseEnumConverterFactory
  • buession-core: Executor、Resolve 增加异常支持

🐞 Bug 修复

  • buession-core: 修复 RandomDigitIdGenerator 最大值大于最小值时报错的问题
  • buession-httpclient: 修复 Response 返回错误的 statusCode 和 statusText
  • buession-dao: 修复 DefaultJsonTypeHandler 为 null 或空字符串反序列化出错的 BUG

⏪ 优化

  • 其它优化

v2.1.2

13 Nov 10:00
170b5ef
Compare
Choose a tag to compare

🔨依赖升级

⭐ 新特性

  • buession-core: ListBuilder、MapBuilder、QueueBuilder、SetBuilder 增加可以指定 initialCapacity 和 Collection / Map 的 create 方法

⏪ 优化

  • buession-http: 优化 Response,使 statusCode、statusText 与 statusLine 的值始终保持一致
  • buession-geoip: 优化国家和地区词典解析,GeoIPResolverFactory 支持从默认词典返回文件对象或流对象,以及支持从 classpath 家长词典文件
  • 其它优化

🐞 Bug 修复

  • buession-redis: 修复 jedis 单例模式、哨兵模式下,不使用连接池的情况下,未创建 jedis 实例的 BUG

📔 文档

  • buession-redis: 修正错误的注释

v2.1.1

18 Aug 04:34
38966cd
Compare
Choose a tag to compare

🔨依赖升级

⭐ 新特性

  • buession-core: DateTime 增加统计年、月天数

v2.1.0

07 Aug 12:51
f961660
Compare
Choose a tag to compare

⭐ 新特性

  • buession-core: 新增对象解析接口 Resolve
  • buession-core: PropertyMapper 增加 alwaysApplyingWhenHasText() 方法,用于判断源属性是否含有内容
  • buession-web: 注解 @RequestClientIp 增加支持返回 InetAddress
  • buession-web: 注解 @RequestClientIp 支持指定获取真实 IP 的请求头名称

🔔 变化

  • buession-aop: 调整 AnnotationResolver 及其实现泛型参数,由类泛型参数,调整为 getAnnotation 泛型
  • buession-aop: AnnotationHandler execute 方法不再返回值
  • buession-web: 优化注解 @RequestClientIp HandlerMethodArgumentResolver,继承 spring 原生 HandlerMethodArgumentResolver 实现抽象类
  • buession-web: 废弃 MobileFilter,根据需要直接使用 RequestUtils.isMobile(request) 判断
  • buession-web: 删除 AopUtils、MethodUtils,删除 servlet HttpServlet、webflux ServerHttp
  • buession-web: MethodInterceptor 的抽象类移至 buession-aop
  • buession-velocity: 配置属性 springMacro.resource.loader.class 替换为 resource.loader.springMacro.class,resource.loader 替换 resource.loaders

⏪ 优化

  • buession-aop: 优化注解处理程序
  • buession-web: 优化 servlet 注解处理

🐞 Bug 修复

  • buession-aop: 修复注解在 cglib 代理模式下,连接点重复执行的 BUG
  • buession-web: 修复 ReactiveContentTypeAnnotationMethodInterceptor 使用成了 servlet 模式下的 ContentTypeAnnotationMethodInterceptor 的 BUG

v2.0.2

25 Jul 06:21
e3e224b
Compare
Choose a tag to compare