Releases: dromara/hutool
Releases · dromara/hutool
5.8.3
5.8.3 (2022-06-10)
🐣新特性
- 【extra 】 mail增加writeTimeout参数支持(issue#2355@Github)
- 【core 】 FileTypeUtil增加pptx扩展名支持(issue#I5A0GO@Gitee)
- 【core 】 IterUtil.get增加判空(issue#I5B12A@Gitee)
- 【core 】 FileTypeUtil增加webp类型判断(issue#I5BGTF@Gitee)
🐞Bug修复
- 【core 】 修复NumberUtil.isXXX空判断错误(issue#2356@Github)
- 【core 】 修复Convert.toSBC空指针问题(issue#I5APKK@Gitee)
- 【json 】 修复Bean中存在bytes,无法转换问题(issue#2365@Github)
- 【core 】 ArrayUtil.setOrAppend()传入空数组时,抛出异常(issue#I5APJE@Gitee)
- 【extra 】 JschSessionPool修复空指针检查问题(issue#I5BK4D@Gitee)
- 【core 】 修复使用ValueProvider中setFieldMapping无效问题(issue#I5B4R7@Gitee)
- 【json 】 修复byte[]作为JSONArray构造问题(issue#2369@Github)
5.8.2
5.8.2 (2022-05-27)
🐣新特性
- 【core 】 BeanUtil拷贝对象增加空检查(issue#I58CJ3@Gitee)
- 【db 】 Column#size改为long
- 【core 】 ClassUtil增加isInterface等方法(pr#623@Gitee)
- 【socket 】 增加ChannelUtil
🐞Bug修复
- 【extra 】 修复SshjSftp初始化未能代入端口配置问题(issue#2333@Github)
- 【core 】 修复Convert.numberToSimple转换问题(issue#2334@Github)
- 【core 】 修复TemporalAccessorConverter导致的转换问题(issue#2341@Github)
- 【core 】 修复NumberUtil除法空指针问题(issue#I58XKE@Gitee)
- 【core 】 修复CAR_VIN正则(pr#624@Gitee)
- 【db 】 修复count查询别名问题(issue#I590YB@Gitee)
- 【json 】 修复json中byte[]无法转换问题(issue#I59LW4@Gitee)
- 【core 】 修复NumberUtil.isXXX未判空问题(issue#2350@Github)
- 【core 】 修复Singleton中ConcurrentHashMap在JDK8下的bug引起的可能的死循环问题(issue#2349@Github)
5.8.1
5.8.1 (2022-05-16)
🐣新特性
- 【core 】 BooleanUtil增加toBooleanObject方法(issue#I56AG3@Gitee)
- 【core 】 CharSequenceUtil增加startWithAnyIgnoreCase方法(issue#2312@Github)
- 【system 】 JavaInfo增加版本(issue#2310@Github)
- 【core 】 新增CastUtil(pr#2313@Github)
- 【core 】 ByteUtil新增bytesToShort重载(issue#I57FA7@Gitee)
- 【core 】 ReflectUtil.invoke方法抛出运行时异常增加InvocationTargetRuntimeException(issue#I57GI2@Gitee)
- 【core 】 NumberUtil.parseNumber支持16进制(issue#2328@Github)
🐞Bug修复
- 【core 】 MapUtil.map对null友好,且修复了测试用例中分组问题(pr#614@Gitee)
- 【core 】 修复BeanUtil.beanToMap中properties为null的空指针问题(issue#2303@Github)
- 【db 】 DialectName中修正为POSTGRESQL(issue#2308@Github)
- 【core 】 修复BeanPath无法识别引号内的内容问题(issue#I56DE0@Gitee)
- 【core 】 修复Map.entry方法返回可变不可变相反问题
- 【jwt 】 修复jwt的过期容忍时间问题(issue#2329@Gitee)
5.8.0
5.8.0 (2022-05-06)
❌不兼容特性
- 【extra 】 升级jakarta.validation-api到3.x,包名变更导致不能向下兼容
- 【core 】 BeanUtil删除了beanToMap(Object)方法,因为有可变参数的方法,这个删除可能导致直接升级找不到方法,重新编译项目即可。
🐣新特性
- 【core 】 Singleton增加部分方法(pr#609@Gitee)
- 【core 】 BeanUtil增加beanToMap重载(pr#2292@Github)
- 【core 】 Assert增加对应的equals及notEquals方法(pr#612@Gitee)
- 【core 】 Assert增加对应的equals及notEquals方法(pr#612@Gitee)
- 【core 】 DigestUtil增加sha512方法(issue#2298@Github)
🐞Bug修复
- 【db 】 修复RedisDS无法设置maxWaitMillis问题(issue#I54TZ9@Gitee)
5.8.0.M4
5.8.0.M4 (2022-04-27)
❌不兼容特性
- 【json 】 【可能兼容问题】JSONArray删除部分构造
- 【json 】 【可能兼容问题】JSONTokener使用InputStream作为源时,由系统编码变更为UTF-8
🐣新特性
- 【core 】 BeanUtil增加toBean重载(pr#598@Gitee)
- 【json 】 新增JSONParser
- 【json 】 JSON新增在解析时的过滤方法(issue#I52O85@Gitee)
- 【core 】 添加ArrayUtil.distinct、CollUtil.distinct重载(issue#2256@Github)
- 【core 】 添加TransMap、FuncMap、ReferenceConcurrentMap、WeakConcurrentMap
- 【json 】 添加ObjectMapper
- 【core 】 CHINESE_NAME正则条件放宽(pr#599@Gitee)
- 【extra 】 增加JakartaServletUtil(issue#2271@Github)
- 【poi 】 ExcelWriter支持重复别名的数据写出(issue#I53APY@Gitee)
- 【core 】 增加Hashids(issue#I53APY@Gitee)
- 【core 】 ReflectUtil.newInstanceIfPossible添加枚举、数组等类型的默认实现
- 【core 】 CombinationAnnotationElement增加过滤(pr#605@Gitee)
- 【all 】 精简CHANGELOG
- 【core 】 新增AnsiEncoder
- 【log 】 新增彩色日式输出风格ConsoleColorLog(pr#607@Gitee)
🐞Bug修复
- 【core 】 修复StrUtil.firstNonX非static问题(issue#2257@Github)
- 【core 】 修复SimpleCache线程安全问题
- 【core 】 修复ClassLoaderUtil中可能的关联ClassLoader错位问题
- 【extra 】 修复Sftp错误内容解析大小写问题(issue#I53GPI@Gitee)
- 【core 】 修复Tailer当文件内容为空时,会报异常问题(pr#602@Gitee)
5.8.0.M2
5.8.0.M2 (2022-04-02)
❌不兼容特性
- 【extra 】 【可能兼容问题】BeanCopierCache的key结构变更
- 【http 】 【可能兼容问题】HttpInterceptor增加泛型标识,HttpRequest中配置汇总于HttpConfig
- 【core 】 【可能兼容问题】UrlQuery.addQuery参数2从String变更为Object
- 【core 】 【可能兼容问题】WorkbookUtil.createBook实现改为WorkbookFactory.create
🐣新特性
- 【core 】 MapUtil增加entry、ofEntries方法
- 【core 】 ZipWriter增加add方法重载
- 【core 】 IterUtil增加filtered,增加FilterIter(issue#2228)
- 【core 】 增加NodeListIter、ResettableIter
- 【crypto 】 HmacAlgorithm增加SM4CMAC(issue#2206@Github)
- 【http 】 增加HttpConfig,响应支持拦截(issue#2217@Github)
- 【core 】 增加BlockPolicy,ThreadUtil增加newFixedExecutor方法(pr#2231@Github)
- 【crypto 】 BCMacEngine、Mac、CBCBlockCipherMacEngine、SM4MacEngine(issue#2206@Github)
🐞Bug修复
- 【core 】 IdcardUtil#getCityCodeByIdCard位数问题(issue#2224@Github)
- 【core 】 修复urlWithParamIfGet函数逻辑问题(issue#I50IUD@Gitee)
- 【core 】 修复IoUtil.readBytes限制长度读取问题(issue#2230@Github)
- 【http 】 修复HttpRequest中编码对URL无效的问题(issue#I50NHQ@Gitee)
- 【poi 】 修复读取excel抛NPE错误(pr#2234@Github)
5.8.0.M1
5.8.0 (2022-03-28)
❌不兼容特性
- 【db 】 【不向下兼容 】增加MongoDB4.x支持返回MongoClient变更(pr#568@Gitee)
- 【json 】 【可能兼容问题】修改JSONObject结构,继承自MapWrapper
- 【core 】 【可能兼容问题】BeanCopier重构,新建XXXCopier,删除XXXValueProvider
- 【core 】 【可能兼容问题】URLEncoder废弃,URLEncoderUtil使用RFC3986
- 【core 】 【可能兼容问题】Base32分离编码和解码,以便减少数据加载,支持Hex模式
- 【core 】 【可能兼容问题】Base58分离编码和解码
- 【core 】 【可能兼容问题】Base62分离编码和解码,增加inverted模式支持
- 【core 】 【兼容问题 】PunyCode参数由String改为Charsequence
- 【cron 】 【可能兼容问题】SimpleValueParser改名为AbsValueParser,改为abstract
- 【poi 】 【可能兼容问题】ExcelUtil.getBigWriter返回值改为BigExcelWriter
- 【core 】 【可能兼容问题】Opt.ofEmptyAble参数由List改为Collection子类(pr#580@Gitee)
- 【json 】 【可能兼容问题】JSON转Bean时,使用JSON本身的相关设置,而非默认(issue#2212@Github)
- 【json 】 【可能兼容问题】JSONConfig中isOrder废弃,默认全部有序
🐣新特性
- 【http 】 HttpRequest.form采用TableMap方式(issue#I4W427@Gitee)
- 【core 】 AnnotationUtil增加getAnnotationAlias方法(pr#554@Gitee)
- 【core 】 FileUtil.extName增加对tar.gz特殊处理(issue#I4W5FS@Gitee)
- 【crypto 】 增加XXTEA实现(issue#I4WH2X@Gitee)
- 【core 】 增加Table实现(issue#2179@Github)
- 【core 】 增加UniqueKeySet(issue#I4WUWR@Gitee)
- 【core 】 阿拉伯数字转换成中文对发票票面金额转换的扩展(pr#570@Gitee)
- 【core 】 ArrayUtil增加replace方法(pr#570@Gitee)
- 【core 】 CsvReadConfig增加自定义标题行行号(issue#2180@Github)
- 【core 】 FileAppender优化初始List大小(pr#2197@Github)
- 【core 】 Base32增加pad支持(pr#2195@Github)
- 【core 】 Dict增加setFields方法(pr#578@Gitee)
- 【db 】 新加db.meta的索引相关接口(pr#563@Gitee)
- 【db 】 Oracle中Column#typeName后的长度去掉(pr#563@Gitee)
- 【poi 】 优化ExcelReader,采用只读模式(pr#2204@Gitee)
- 【poi 】 优化ExcelBase,将alias放入
- 【poi 】 优化ExcelBase,将alias放入
- 【core 】 改进StrUtil#startWith、endWith性能
- 【cron 】 增加CronPatternParser、MatcherTable
- 【http 】 GlobalHeaders增加系统属性allowUnsafeServerCertChange、allowUnsafeRenegotiation
- 【http 】 UserAgentUtil 解析,增加MiUI/XiaoMi浏览器判断逻辑(pr#581@Gitee)
- 【core 】 FileAppender添加锁构造(pr#2211@Github)
- 【poi 】 ExcelReader增加构造(pr#2213@Github)
- 【core 】 MapUtil提供change函数,EnumUtil提供getBy函数,通过lambda进行枚举字段映射(pr#583@Gitee)
- 【core 】 CompareUtil增加comparingIndexed(pr#585@Gitee)
- 【db 】 DruidDataSource构建时支持自定义参数(issue#I4ZKCW@Gitee)
- 【poi 】 ExcelWriter增加addImg重载(issue#2218@Github)
- 【bloomFilter】 增加FuncFilter
- 【http 】 增加GlobalInterceptor(issue#2217)
🐞Bug修复
- 【core 】 修复ObjectUtil.hasNull传入null返回true的问题(pr#555@Gitee)
- 【core 】 修复NumberConverter对数字转换的问题(issue#I4WPF4@Gitee)
- 【core 】 修复ReflectUtil.getMethods获取接口方法问题(issue#I4WUWR@Gitee)
- 【core 】 修复NamingCase中大写转换问题(pr#572@Gitee)
- 【http 】 修复GET重定向时,携带参数问题(issue#2189@Github)
- 【core 】 修复FileUtil、FileCopier相对路径获取父路径错误问题(pr#2188@Github)
- 【core 】 修复CopyOptions中fieldNameEditor无效问题(issue#2202@Github)
- 【json 】 修复JSON对Map.Entry的解析问题
- 【core 】 修复MapConverter中map与map转换兼容问题
- 【poi 】 解决sax读取时,POI-5.2.x兼容性问题
- 【core 】 修复判断两段时间区间交集问题(pr#2210@Github)
- 【http 】 修复标签误删问题(issue#I4Z7BV@Gitee)
- 【core 】 修复Win下文件名带*问题(pr#584@Gitee)
- 【core 】 FileUtil.getMimeType增加rar、7z支持(issue#I4ZBN0@Gitee)
- 【json 】 JSON修复transient设置无效问题(issue#2212@Github)
- 【core 】 修复IterUtil.getElementType获取结果为null的问题(issue#2222@Github)
- 【core 】 修复农历转公历在闰月时错误(issue#I4ZSGJ@Gitee)
5.7.22
🐣新特性
- 【poi 】 ExcelUtil.readBySax增加对POI-5.2.0的兼容性(issue#I4TJF4@gitee)
- 【extra 】 Ftp增加构造(issue#I4TKXP@gitee)
- 【core 】 GenericBuilder支持Map构建(pr#540@Github)
- 【json 】 新增TemporalAccessorSerializer
- 【core 】 使多个xxxBuilder实现Builder接口,扩展CheckedUtil(pr#545@Gitee)
- 【core 】 CheckedUtil删除第二个参数为RuntimeException的方法
- 【core 】 FileUtil增加getTotalLines方法
- 【db 】 MetaUtil增加getTableMeta重载(issue#2157@Github)
- 【http 】 增加HttpGlobalConfig.setDecodeUrl(issue#I4U8YQ@Gitee)
- 【core 】 增加Base58(pr#2162@Github)
- 【core 】 增加AntPathMatcher(issue#I4T7K5@Gitee)
- 【core 】 StrJoiner修改toString策略,调用不再修改Appendable
- 【core 】 StrJoiner增加length和merge方法
- 【core 】 CRC16增加getHexValue方法(issue#I4VO3U@Gitee)
🐞Bug修复
- 【cache 】 修复ReentrantCache.toString方法线程不安全问题(issue#2140@Github)
- 【core 】 修复SystemPropsUtil.getInt返回long问题(pr#546@Gitee)
- 【crypto 】 修复SM2.getD前导0问题(pr#2149@Github)
- 【core 】 修复ChineseDate在1970年之前农历差一天问题(issue#I4UTPK@Gitee)
- 【core 】 修复CoordinateUtil精准问题及转换bug(pr#551@Gitee)
- 【json 】 修复JSONObject解析XML后没有返回的bug(issue#2160@Github)
- 【extra 】 修复GanymedUtil错误信息读取位置问题(issue#I4VDZ2@Gitee)
5.7.21
5.7.21 (2022-02-14)
🐣新特性
- 【extra 】 增加jetbrick模板支持
- 【extra 】 EmojiUtil增加方法(pr#519@Gitee)
- 【core 】 DateUtil 添加两个日期是否同一周方法(pr#516@Gitee)
- 【db 】 新增条件组,用于处理复杂的where条件(pr#514@Gitee)
- 【core 】 新增LocalDateTimeUtil.weekOfYear(issue#I4RWXC@Gitee)
- 【core 】 Month增加toJdkMonth、getValueBaseOne
- 【core 】 CsvWriter修改规则,去除末尾多余换行符(issue#I4RSQY@Gitee)
- 【core 】 DateUtil增加rangeFunc和rangeConsume(issue#I4RSQY@Gitee)
- 【core 】 DateTime增加setUseJdkToStringStyle方法
- 【core 】 CharSequenceUtil增加replace重载(issue#2122@Github)
- 【core 】 IntMap和LongMap使用位运算快速求解取余运算(pr#2123@Github)
- 【core 】 新增通用builder类:GenericBuilder(pr#526@Gitee)
- 【core 】 新增copySafely方法与mkdirsSafely方法(pr#527@Gitee)
- 【core 】 新增MetroHash(pr#532@Gitee)
- 【core 】 SpringUtil增加publishEvent重载(pr#2139@Github)
- 【core 】 DateUtil增加rangeContains、rangeNotContains(pr#537@Gitee)
- 【core 】 Resource增加isModified默认方法
- 【core 】 增加VfsResource
- 【json 】 JSONConfig增加setKeyComparator、setNatureKeyComparator方法,支持自定义排序(issue#I4RBZ4@Gitee)
🐞Bug修复
- 【core 】 修复ChineseDate农历获取正月出现数组越界BUG(issue#2112@Github)
- 【extra 】 修复EmojiUtil.toHtmlHex()方法(pr#519@Gitee)
- 【system 】 修复CpuInfo.getUsed()方法(issue#2116@Github)
- 【dfa 】 修复密集匹配和贪婪匹配冲突问题(issue#2126@Github)
- 【db 】 修复c3p0丢失信息问题(issue#I4T7XZ@Gitee)
- 【http 】 修复Action中HttpExchange没有关闭问题
5.7.20
5.7.20 (2022-01-20)
🐣新特性
- 【core 】 增加对null值友好的groupingBy操作的Collector实现,可指定map类型(pr#498@Gitee)
- 【core 】 增加KetamaHash(issue#2084@Github)
- 【crypto 】 增加SignUtil
- 【json 】 JSONGetter增加getBeanList方法
- 【core 】 ObjectUtil 添加三个defaultIfXxxx方法,用于节省CPU及内存损耗(pr#2094@Github)
- 【db 】 增加单条数据原生upsert语义支持(pr#501@Gitee)
- 【core 】 在CollectorUtil提交Collectors.toMap的对null友好实现,避免NPE(pr#502@Gitee)
- 【http 】 增加HttpGlobalConfig.setIgnoreEOFError(issue#2092@Github)
- 【core 】 RandomUtil.randomStringWithoutStr排除字符串兼容大写字母(pr#503@Gitee)
- 【core 】 LocalDateTime增加isOverlap方法(pr#512@Gitee)
- 【core 】 Ipv4Util.getBeginIpLong、getEndIpLong改为public(pr#508@Gitee)
🐞Bug修复
- 【core 】 修复setter重载导致匹配错误(issue#2082@Github)
- 【core 】 修复RegexPool汉字匹配范围小问题(pr#2081@Github)
- 【core 】 修复OS中的拼写错误(pr#500@Gitee)
- 【core 】 修复CustomKeyMap的merge失效问题(issue#2086@Github)
- 【core 】 修复FileUtil.appendLines换行问题(issue#I4QCEZ@Gitee)
- 【core 】 修复java.time.Month解析问题(issue#2090@Github)
- 【core 】 修复PathUtil.moveContent移动覆盖导致的问题(issue#I4QV0L@Gitee)
- 【core 】 修复Opt.ofTry中并发环境下线程安全问题(pr#504@Gitee)
- 【core 】 修复PatternFinder中end边界判断问题(issue#2099@Github)
- 【core 】 修复格式化为中文日期时,0被处理为空串(pr#507@Gitee)
- 【core 】 修复UrlPath转义冒号问题(issue#I4RA42@Gitee)