Releases: chinabugotech/hutool
Releases · chinabugotech/hutool
5.8.38
5.8.38(2025-05-13)
🐣新特性
- 【core 】
PathUtil#del
增加null检查(pr#1331@Gitee) - 【db 】 增加SAP HANA识别及方言(pr#3914@Github)
- 【crypto 】 增加
Argon2
类,实现Argon2算法(issue#3890@Github) - 【core 】
CharSequenceUtil
增加toLoweCase和toUpperCase方法(issue#IC0H2B@Gitee) - 【core 】 增加分段锁实现
SegmentLock
(pr#1330@Gitee) - 【core 】 重载subtractToList方法,提供isLinked选项(pr#3923@Github)
- 【extra 】
TemplateConfig
增加setUseCache
方法(issue#IC3JRY@Gitee) - 【extra 】
AbstractFtp
增加rename
方法(issue#IC3PMI@Gitee) - 【core 】 优化
PropDesc
缓存注解判断,提升性能(pr#1335@Gitee) - 【core 】 添加
RecordUtil
支持record类(issue#3931@Github) - 【core 】
Dict
的customKey方法访问权限修改为protected(pr#1340@Gitee) - 【ai 】 增加hutool-ai模块,对AI大模型的封装实现(pr#3937@Github)
🐞Bug修复
- 【setting】 修复
Setting
autoLoad可能的加载为空的问题(issue#3919@Github) - 【db 】 修复某些数据库的getParameterMetaData会返回NULL,导致空指针的问题。(pr#3936@Github)
- 【extra 】 修正
SshjSftp
在SftpSubsystem服务时报错问题(pr#1338@Gitee)
5.8.37
5.8.37(2025-03-31)
🐣新特性
- 【json 】 ObjectMapper删除重复trim(pr#3859@Github)
- 【core 】
FileWriter
增加方法,可选是否追加换行符(issue#3858@Github) - 【core 】
IdcardUtil
验证10位身份证兼容中英文括号(issue#IBP6T1@Gitee) - 【extra 】
PinyinUtil
增加重载可选是否返回声调(pr#3875@Github) - 【http 】
HttpBase
增加重载可选是否返回声调(pr#3883@Github) - 【core 】 增加
VersionUtil
版本比较工具(pr#3876@Github) - 【db 】 增加GoldenDB识别(pr#3886@Github)
- 【http 】 改进
UrlQuery
对无参URL增加判断识别(issue#IBRVE4@Gitee) - 【core 】 改进
PropDesc
中去除Transient引用避免NoClassDefFoundError(issue#3901@Github) - 【core 】
StrUtil.isBlank
增加\u200c
判断(issue#3903@Github) - 【core 】 优化
CombinationAnnotationElement
注解数组性能(pr#1323@Gitee) - 【core 】 完善季度相关 API(pr#1324@Gitee)
🐞Bug修复
- 【setting】 修复
SettingLoader
load未抛出异常导致配置文件无法正常遍历的问题(pr#3868@Github) - 【cache 】 修复
ReentrantCache#getOrRemoveExpired
方法丢失onRemove触发问题(pr#1315@Gitee) - 【json 】 修复
JsonUtil.toBean
泛型数组类型丢失问题(pr#3876@Github) - 【http 】 修复
HttpUtil.normalizeParams
规则问题(issue#IBQIYQ@Gitee) - 【http 】 修复
NumberChineseFormatter.format
中自定义单位在0时错误问题(issue#3888@Github)
What's Changed
- [bug修复] Update ObjectMapper.java 删除重复调用StrUtil.trim(source)代码 by @ghjdegithub in #3859
- PinyinUtil增加选择是否返回声调 by @elichow in #3872
- Revert "PinyinUtil增加选择是否返回声调" by @looly in #3874
- V5 dev by @elichow in #3875
- feat(hutool-http): 控制请求头是否聚合 by @zsdddz in #3883
- JsonUtil.toBean泛型数组类型丢失修复以及新增VersionUtil版本比较工具 by @winlans in #3876
- feat: 添加中兴数据库GoldenDB的url识别jdbc-driver逻辑 by @zchazc in #3886
New Contributors
- @ghjdegithub made their first contribution in #3859
- @zsdddz made their first contribution in #3883
- @zchazc made their first contribution in #3886
Full Changelog: 5.8.36...5.8.37
5.8.36
5.8.36(2025-02-18)
🐣新特性
- 【crypto 】 增加BCUtil.decodeECPrivateKey方法(issue#3829@Github)
- 【core 】 增加HtmlUtil.cleanEmptyTag方法(pr#3838@Github)
- 【db 】 GlobalDbSetting优化默认配置读取规则,优先读取文件而非jar中的文件(issue#900@Github)
- 【dfa 】 删除StopChar类中存在重复字符(pr#3841@Github)
- 【http 】 支持鸿蒙设备 UA 解析(pr#1301@Gitee)
🐞Bug修复
- 【aop 】 修复ProxyUtil可能的空指针问题(issue#IBF20Z@Gitee)
- 【core 】 修复XmlUtil转义调用方法错误问题,修复XmlEscape未转义单引号问题(pr#3837@Github)
- 【core 】 修复FileUtil.isAbsolutePath没有判断smb路径问题(pr#1299@Gitee)
- 【core 】 修复AbstractFilter没有检查参数长度问题(issue#3854@Github)
5.8.35
5.8.35(2024-12-25)
🐣新特性
- 【poi 】 优化ExcelWriter中使用比较器writer的方法,只对第一条数据进行排序(pr#3807@Github)
- 【extra 】 优化Ftp.download,返回false抛出异常(issue#3805@Github)
- 【core 】 优化MAC地址正则(issue#IB95X4@Gitee)
- 【json 】 JSON的getByPath方法新增更为通用的指定出参类型重载(pr#3814@Github)
- 【core 】 DateUtil.parseUTC方法标记废弃,改名为parseISO8601(issue#IBB6I5@Gitee)
- 【core 】 添加EnumUtil#getBy(Class, Func1, Object)方法(pr#1283@Gitee)
- 【db 】 添加Entity.addCondition方法(issue#IBCDL2@Gitee)
- 【poi 】 添加StopReadException,定义sax读取时用户可手动终止(issue#3820@Github)
🐞Bug修复
- 【crypto 】 修复JWTSignerUtil.createSigner中algorithmId未转换问题(issue#3806@Github)
- 【core 】 修复DateUtil.rangeContains未重置问题(issue#IB8OFS@Gitee)
- 【cache 】 修复StampedCache类get方法并发问题(issue#IBCIQG@Gitee)
- 【cache 】 修复FIFOCache类使用StampedCache导致并发读的并发问题(issue#IBCIQG@Gitee)
- 【cache 】 废弃StampedCache,可能造成Map循环调用导致死锁(issue#IBDGBZ@Gitee)
5.8.34
5.8.34(2024-11-25)
🐣新特性
- 【http 】 增加Windows微信浏览器识别(issue#IB3SJF@Gitee)
- 【core 】 ZipUtil.unzip增加编码容错(issue#I3UZ28@Gitee)
- 【core 】 Calculator兼容
x
字符作为乘号(issue#3787@Github) - 【poi 】 Excel07SaxReader中,对于小数类型,增加精度判断(issue#IB0EJ9@Gitee)
- 【extra 】 SpringUtil增加getBean重载(issue#3779@Github)
- 【core 】 DataSizeUtil 新增format方法(issue#IB6UUX@Gitee)
🐞Bug修复
- 【core 】 修复DateUtil.rangeToList中step小于等于0时无限循环问题(issue#3783@Github)
- 【cron 】 修复cron模块依赖log模块问题
- 【extra 】 修复MailUtil发送html格式邮件无法正常展示图片问题(pr#1279@Gitee)
- 【core 】 【可能的向下兼容问题】修复双引号转义符转义错误问题,修改规则后,对非闭合双引号字段的策略变更,如"aa,则被识别为aa(issue#IB5UQ8@Gitee)
- 【extra 】 修复Sftp中传入Session重连时逻辑错误问题(issue#IB69U8@Gitee)
- 【json 】 修复JSONUtil.toBean()中将JSON数组字符串转Map对象返回错误问题(issue#3795@Github)
5.8.33
5.8.33(2024-11-05)
🐣新特性
- 【core 】 SyncFinisher增加setExecutorService方法(issue#IANKQ1@Gitee)
- 【http 】 HttpConfig增加
setUseDefaultContentTypeIfNull
方法(issue#3719@Github) - 【core 】 用ArrayList重新实现权重随机类:WeightListRandom(pr#3720@Github)
- 【crypto 】 SM2解密时,兼容GmSSL非压缩省略的04头的密文(issue#IAP1QJ@Gitee)
- 【core 】 兼容NumberUtil.add方法传入整型自动类型转换为浮点类型的精度丢失问题(pr#3721@Github)
- 【core 】 ModifierUtil明确注释,并增加hasAllModifiers方法(issue#IAQ2U0@Gitee)
- 【http 】 HttpRequest增加setFixedContentLength方法(issue#3462@Github)
- 【db 】 AbstractDb增加getDs方法(issue#IARKZL@Gitee)
- 【db 】 QrCodeUtil添加二维码logo支持配置圆角(pr#3747@Github)
- 【core 】 TreeUtil.buildSingle指定rootId节点存在时,作为根节点(issue#IAUSHR@Gitee)
- 【core 】 EscapeUtil.escapeHtml4增加空处理(issue#IAZMYU@Gitee)
- 【core 】 PropDesc.isTransientForGet使用className,避免Android下类找不到问题(issue#IB0JP5@Gitee)
- 【core 】 优化NumberUtil.count(pr#3772@Github)
- 【crypto 】 SM2.signHex改名为signHexFromHex,原名标记废弃,避免歧义(issue#IB0NVY@Gitee)
- 【all 】 优化所调用的ObjectUtil#defaultIfNull避免重复创建(pr#1274@Gitee)
- 【core 】 NetUtil.bigIntegerToIPv6增加长度修正(issue#IB27HV@Gitee)
🐞Bug修复
- 【json 】 修复JSONConfig.setDateFormat设置后toBean无效问题(issue#3713@Github)
- 【core 】 修复RegexPool.CHINESE_NAME范围太大的问题(issue#IAOGDR@Gitee)
- 【http 】 修复重定向没有按照RFC7231规范跳转的问题,修改为除了307外重定向使用GET方式(issue#3722@Github)
- 【core 】 修复ArrayUtil.lastIndexOfSub死循环问题(issue#IAQ16E@Gitee)
- 【core 】 修复ImgUtil.write写出临时文件未清理问题(issue#IAPZG7@Gitee)
- 【json 】 修复ignoreNullValue在JSONArray中无效问题(issue#3759@Github)
5.8.32
5.8.32(2024-08-30)
🐣新特性
- 【core 】 FileUtil.getTotalLines()支持CR换行符(issue#IAMZYR@Gitee)
- 【json 】 GlobalSerializeMapping增加null检查(issue#IANH1Y@Gitee)
🐞Bug修复
- 【http 】 修复getFileNameFromDisposition不符合规范问题(issue#IAKBPD@Gitee)
- 【crypto 】 修复SymmetricCrypto.setParams和setRandom没有加锁问题(issue#IAJIY3@Gitee)
- 【crypto 】 修复ZipUtil压缩成流的方法检查文件时报错问题(issue#3697@Github)
- 【core 】 修复CopyOptions.setFieldValueEditor后生成null值setIgnoreNullValue无效问题(issue#3702@Github)
- 【json 】 修复JSONConfig.setDateFormat设置后setWriteLongAsString失效问题(issue#IALQ0N@Gitee)
- 【core 】 修复Tree.cloneTree的Parent节点引用错误问题(issue#IANJTC@Gitee)
5.8.31
5.8.30
5.8.30(2024-08-09)
🐣新特性
- 【core 】 Converter转换规则变更,空对象、空值转为Bean时,创建默认对象,而非null(issue#3649@Github)
- 【core 】 UrlQuery增加remove方法
- 【extra 】 增加JakartaMailUtil,支持新包名的mail
- 【core 】 CharSequenceUtil增加removeAllPrefix和removeAllSuffix方法(pr#3655@Github)
- 【core 】 CharSequenceUtil增加stripAll方法(pr#3659@Github)
- 【crypto 】 支持"RSA/ECB/OAEPWithSHA-1AndMGF1Padding"的RSA加解密(pr#3675@Github)
- 【core 】 Opt增加ifFail(pr#1239@Gitee)
- 【poi 】 增加GlobalPoiConfig(issue#IAEHJH@Gitee)
- 【core 】 优化IndexedComparator性能(pr#1240@Gitee)
- 【http 】 改进ContentType.get忽略空格(pr#3664@Github)
- 【http 】 CompressUtil.createExtractor支持tgz自动识别(pr#3674@Github)
- 【poi 】 ExcelWriter.autoSizeColumn增加可选widthRatio参数,可配置中文字符宽度倍数(pr#3689@Github)
- 【mail 】 MailAccount增加自定义参数支持(issue#3687@Github)
- 【mail 】 增加文字颜色与背景颜色色差设置(pr#1252@gitee)
- 【mail 】 XmlUtil增加xmlToBean重载,支持CopyOptions参数(issue#IAISBB@gitee)
- 【core 】 增加默认色差方法(pr#1257@gitee)
- 【all 】 单元测试由Junit4变更为Junit5
🐞Bug修复
- 【core 】 修复因RFC3986理解有误导致的UrlPath处理冒号转义问题(issue#IAAE88@Gitee)
- 【core 】 修复FileUtil.cleanEmpty无法正确清空递归空目录问题(pr#1233@Gitee)
- 【core 】 修复BeanUtil.copyProperties中mapToMap时key被转为String问题(issue#3645@Github)
- 【core 】 修复FileUtil.file末尾换行符导致路径判断错误的问题(issue#IAB65V@Gitee)
- 【core 】 修复FileTypeUtil.getType空指针问题(issue#IAD5JM@Gitee)
- 【core 】 修复IdcardUtil.isValidHKCard校验问题(issue#IAFOLI@Gitee)
- 【core 】 修复Convert.digitToChinese(0)输出金额无
元整问题
(issue#3662@Github) - 【core 】 修复CsvParser中对正文中双引号处理逻辑问题(pr#1244@Gitee)
- 【core 】 修复ZipUtil.zip压缩到本目录时可能造成的死循环问题(issue#IAGYDG@Gitee)
- 【cache 】 修复AbstractCache.get中锁不一致导致的并发问题(issue#3686@Github)
- 【cron 】 修复CronPatternUtil.nextDateAfter栈溢出问题(issue#3685@Github)
5.8.29
5.8.29(2024-07-03)
🐣新特性
- 【core 】 DateUtil增加offsetYear方法
- 【core 】 ListUtil增加move方法(issue#3603@Github)
- 【core 】 CollUtil.subtract增加空判定(issue#3605@Github)
- 【core 】 优化DateUtil.format(Date date, String format)接口效率(pr#1226@Gitee)
- 【csv 】 CsvWriter.writeBeans增加重载,可选是否写出表头(issue#IA57W2@Gitee)
- 【core 】 BetweenFormatter支持自定义设置单位(pr#1228@Gitee)
- 【cache 】 Cache.put变更策略,对于替换的键值对,不清理队列(issue#3618@Github)
- 【core 】 添加 Windows 资源管理器风格字符串比较器(pr#3620@Github)
- 【core 】 Week.of支持中文名称(issue#3637@Github)
- 【core 】 ThreadUtil.newExecutor等方法变更方法签名,返回值变更为ThreadPoolExecutor(pr#1230@Gitee)
🐞Bug修复
- 【core 】 修复AnnotationUtil可能的空指针错误
- 【core 】 修复BeanUtil.isBean判断Dict错误问题(issue#I9VTZG@Gitee)
- 【core 】 修复VersionComparator传入空字符串报错问题(pr#3614@Github)
- 【core 】 修复CaseInsensitiveLinkedMap顺序错误问题(issue#IA4K4F@Gitee)
- 【core 】 修复DateUtil.offset空指针问题(issue#3617@Github)
- 【core 】 修复PathMover.moveContent问题(issue#IA5Q8D@Gitee)
- 【db 】 修复PooledConnection可能的数据库驱动未找到问题(issue#IA6EUQ@Gitee)
- 【http 】 修复Mac下的微信浏览器被识别为移动端问题(issue#IA74K2@Gitee)
- 【core 】 修复Tailer指定初始读取行数的计算错误问题(issue#IA77ML@Gitee)
- 【http 】 修复getFileNameFromDisposition获取头错误问题(issue#3632@Github)
- 【core 】 修复\n#出现在双引号中解析错误问题(issue#IA8WE0@Gitee)
- 【core 】 修复FastDatePrinter处理YY错误问题(issue#3641@Github)