Skip to content

Releases: dromara/hutool

5.8.11

27 Dec 14:16
Compare
Choose a tag to compare

5.8.11 (2022-12-27)

🐣新特性

  • 【core 】 CharUtil.isBlankChar增加\u180e(pr#2738@Github)
  • 【core 】 SyncFinisher线程同步结束器添加立即结束方法(pr#879@Gitee)
  • 【core 】 HtmlUtil中escape方法,增加不断开空格(nbsp)转译,防止xss攻击(pr#2755@Github)
  • 【extra 】 修正sftp.cd方法 方法注释和实际效果不符(issue#2758@Github)
  • 【core 】 修改PhoneUtil容易歧义的注释(issue#I63GWK@Gitee)
  • 【crypto】 KeyUtil中的读取KeyStore文件的方法增加全局Provider(issue#I6796G@Gitee)
  • 【extra 】 CompressUtil 新增 stripComponents 参数(pr#904@Gitee)
  • 【extra 】 ServletUtil和JakartaServletUtil新增获取所有响应头的方法(pr#2828@Github)
  • 【core 】 BooleanUtil增加toString重载(pr#2816@Github)

🐞Bug修复

  • 【json 】 修复普通byte数组转JSONArray时的异常(pr#875@Gitee)
  • 【core 】 修复ArrayUtil.insert()不支持原始类型数组的问题(pr#874@Gitee)
  • 【core 】 修复HexUtil.isHexNumber()判断逻辑超出long的精度问题(issue#I62H7K@Gitee)
  • 【core 】 修复BiMap中未重写computeIfAbsent和putIfAbsent导致双向查找出问题(issue#I62X8O@Gitee)
  • 【json 】 修复JSON解析栈溢出部分问题(issue#2746@Github)
  • 【json 】 修复getMultistageReverseProxyIp未去除空格问题(issue#I64P9J@Gitee)
  • 【db 】 修复NamedSql中in没有判断大小写问题(issue#2792@Github)
  • 【core 】 修复ZIP bomb漏洞(issue#2797@Github)
  • 【core 】 修复JSONXMLSerializer将Json转为XML时,遇到嵌套需要递归情况时会丢失contentKeys问题(pr#903@Gitee)
  • 【db 】 修复使用mariadb通过jdbcurl创建SimpleDataSource报NullPointException(pr#900@Gitee)
  • 【core 】 修复UrlBuilder中参数中包括"://"判断错误问题(pr#898@Gitee)
  • 【core 】 修复IndexedComparator导致的数据错乱问题(ExcelWriter使用部分别名导致字段丢失)(issue#I66Z6B@Gitee)
  • 【crypto】 修复sm2构造方法NullPointerException(pr#2820@Github)
  • 【core 】 修复ConverterRegistry中无效加载导致的问题(issue#2812@Github)
  • 【core 】 修复CoordinateUtil坐标转换参数错误(pr#895@Gitee)

5.8.10

17 Nov 01:07
Compare
Choose a tag to compare

5.8.10 (2022-11-17)

🐣新特性

  • 【http 】 HttpResponse增加getFileNameFromDisposition方法(pr#2676@Github)
  • 【core 】 FileUtil.copy,当来源为文件时,返回文件而非目录(issue#I5YCVL@Gitee)
  • 【db 】 DialectFactory增加identifyDriver重载(issue#I5YWI6@Gitee)
  • 【core 】 去除ClassloaderUtil的Cache(issue#I5YWI6@Gitee)
  • 【core 】 ClassScanner 增加忽略加载错误类的扫描方法(pr#855@Gitee)
  • 【core 】 DateUtil和LocalDateTimeUtil添加区间退化为点,点与区间,点与点之间关系判断。(pr#2725@Github)
  • 【http 】 UserAgentUtil增加对钉钉PC端的支持(issue#I60UOP@Gitee)
  • 【extra 】 兼容ZipArchiveInputStream多参数情况(issue#2736@Github)

🐞Bug修复

  • 【db 】 修复分页时order by截断问题(issue#I5X6FM@Gitee)
  • 【core 】 修复Partition计算size除数为0报错问题(pr#2677@Github)
  • 【core 】 由于对于ASCII的编码解码有缺陷,且这种BCD实现并不规范,因此BCD标记为弃用(issue#I5XEC6@Gitee)
  • 【core 】 修复IoUtil.copyByNIO方法写出时没有flush的问题
  • 【core 】 修复TreeBuilder中使用HashMap导致默认乱序问题(issue#I5Z8C5@Gitee)
  • 【core 】 修复StrUtil.subWithLength负数问题(issue#I5YN49@Gitee)
  • 【core 】 修复DefaultTrustManager空指针问题(issue#2716@Github)
  • 【core 】 修复时间轮添加任务线程安全问题(pr#2712@Github)
  • 【core 】 修复 BeanUtil#copyProperties 源对象与目标对象都是 Map 时设置忽略属性无效问题(pr#2698@Github)
  • 【core 】 修复ChineseDate传入农历日期非闰月时获取公历错误问题(issue#I5YB1A@Gitee)
  • 【core 】 修复key为弱引用 value为强引用 会导致key无法被回收 弱引用失效问题(pr#2723@Github)
  • 【core 】 修复BeanUtil.copyProperties 包含EnumSet ,类型转换异常问题(pr#2684@Github)
  • 【extra 】 修复Ftp.uploadFileOrDirectory上传目录错误调用错误问题(issue#I5R2DE@Gitee)
  • 【extra 】 修复字节数组转float 返回类型却是double的bug(pr#867@Gitee)

5.8.9

22 Oct 14:57
Compare
Choose a tag to compare

5.8.9 (2022-10-22)

🐣新特性

  • 【core 】 DateUtil增加isLastDayOfMonth、getLastDayOfMonth方法(pr#824@Gitee)
  • 【core 】 AnnotationUtil类支持Lambda获取某注解属性值(pr#827@Gitee)
  • 【core 】 CharUtil.isBlank添加Hangul Filler字符(issue#I5UGSQ@Gitee)
  • 【poi 】 优化合并单元格读取(issue#I5UJZ1@Gitee)
  • 【extra 】 增加QLExpress支持(issue#2653@Github)
  • 【core 】 UrlBuilder增加getPortWithDefault方法(pr#835@Gitee)
  • 【core 】 FuncKeyMap的子类,传入可被序列化的keyFunc(pr#838@Gitee)
  • 【extra 】 SpringUtil支持SpringBoot3自动配置(pr#839@Gitee)
  • 【core 】 CollectorUtil添加支持对值集合进行映射的分组方法(pr#844@Gitee)
  • 【core 】 FileTypeUtil增加ppt识别(issue#2663@Github)

🐞Bug修复

  • 【poi 】 修复ExcelReader读取只有标题行报错问题(issue#I5U1JA@Gitee)
  • 【http 】 修复Http重定向时相对路径导致的问题(issue#I5TPSY@Gitee)
  • 【http 】 修复Http重定全局设置无效问题(pr#2639@Github)
  • 【core 】 修复ReUtil.replaceAll替换变量错误问题(pr#2639@Github)
  • 【core 】 修复FileNameUtil.mainName二级扩展名获取错误问题(issue#2642@Github)
  • 【cache 】 修复LRUCache移除事件监听失效问题(issue#2647@Github)
  • 【core 】 修复MapToMap中ignoreNullValue无效问题(issue#2647@Github)
  • 【core 】 修复ReflectUtil.invokeRaw方法转换失败抛出异常问题(pr#837@Gitee)
  • 【core 】 修复TableMap没有default方法导致的问题(issue#I5WMST@Gitee)

5.8.8

26 Sep 15:32
Compare
Choose a tag to compare

5.8.8 (2022-09-26)

🐣新特性

  • 【core 】 StreamUtil.of方法新增对 Iterator 支持;StreamUtil.of(Iterable) 方法优化(pr#807@Gitee)
  • 【core 】 增加.wgt格式的MimeType(pr#2617@Github)
  • 【core 】 EnumUtil.getBy增加带默认值重载(issue#I5RZU6@Gitee)
  • 【core 】 ModifierUtil和ReflectUtil增加removeFinalModify(pr#810@Gitee)
  • 【core 】 AbsCollValueMap添加removeValue和removeValues方法,用于list value值移除(pr#813@Gitee)
  • 【extra 】 hutool-extra ftp 支持上传文件或目录(pr#821@Gitee)
  • 【core 】 CharsetDetector增加默认识别的长度(issue#2547@Github)

🐞Bug修复

  • 【core 】 修复FileNameUtil.cleanInvalid无法去除换行符问题(issue#I5RMZV@Gitee)
  • 【core 】 修复murmur3_32实现错误(pr#2616@Github)
  • 【core 】 修复PunyCode处理域名的问题(pr#2620@Github)
  • 【core 】 修复ObjectUtil.defaultIfNull去掉误加的deprecated(issue#I5SIZT@Gitee)
  • 【core 】 修复ReflectUtil 反射方法中桥接判断问题(issue#2625@Github)
  • 【poi 】 修复ExcelWriter导出List引起的个数混乱问题(issue#2627@Github)
  • 【poi 】 修复ExcelReader读取时间变成12小时形式问题(issue#I5Q1TW@Gitee)
  • 【db 】 修复DB工具分页查询的时候oracle数据库会把ROWNUM_也带出来问题(issue#2618@Github)
  • 【crypto 】 修复部分环境下使用 Bouncy Castle可能的JCE cannot authenticate the provider BC问题(issue#2631@Github)

5.8.7

15 Sep 15:59
Compare
Choose a tag to compare

5.8.7 (2022-09-15)

🐣新特性

  • 【core 】 BooleanUtil的andOfWrap和orOfWrap()忽略null(issue#2599@Github)
  • 【jwt 】 优化JWT自动识别header中的算法,并可自定义header中key的顺序(issue#I5QRUO@Gitee)
  • 【core 】 IdcardUtil增加convert18To15方法(issue#I5QYCP@Gitee)
  • 【core 】 新增AnsiColors(改自Spring Boot)、AnsiColorWrapper,优化QrCodeUtil(pr#778@Gitee)
  • 【core 】 TemplateUtil的实现类增加getRawEngine方法(issues#2530@Github)
  • 【core 】 ImgUtil中颜色相关方法剥离到ColorUtil中
  • 【core 】 增加SafeConcurrentHashMap

🐞Bug修复

  • 【core 】 修复ObjectUtil.defaultIfXXX中NPE问题(pr#2603@Github)
  • 【db 】 修复Hive2驱动无法识别问题(issue#2606@Github)
  • 【core 】 修复computeIfAbsent问题(issue#I5PTN3@Gitee)
  • 【extra 】 修复Ftp中路径问题(issue#I5R2DE@Gitee)
  • 【core 】 修复ConcurrentHashMap.computeIfAbsent缺陷导致的问题
  • 【core 】 修复DateUtil.parseUTC时对-的处理问题(issue#2612@Github)
  • 【core 】 修复Convert.chineseMoneyToNumber角分丢失问题(issue#2611@Github)

5.8.6

05 Sep 10:13
Compare
Choose a tag to compare

5.8.6 (2022-09-05)

❌不兼容特性

  • 【json 】 由于设计缺陷,导致JSONObject#write方法中Filter中key的泛型不得已变动为Object,以解决无法递归的bug(issue#I5OMSC@Gitee)

🐣新特性

  • 【core 】 CollUtil新增addIfAbsent方法(pr#750@Gitee)
  • 【core 】 DateUtil.parseUTC支持只有时分的格式(issue#I5M6DP@Gitee)
  • 【core 】 NumberUtil.parseInt忽略科学计数法(issue#I5M55F@Gitee)
  • 【core 】 IterUtil.getFirst优化(pr#753@Gitee)
  • 【core 】 增加Tree add 类型校验(pr#2542@Github)
  • 【core 】 增加PunyCode处理完整域名(pr#2543@Github)
  • 【core 】 增加替换字符串中第一个指定字符串和最后一个指定字符串方法(pr#2533@Github)
  • 【jwt 】 JWT补充部分算法(pr#2546@Github)
  • 【core 】 NumberUtil.roundStr() 修改为使用toPlainString(pr#775@Gitee)
  • 【extra 】 QrCodeUtil新增SVG格式、Ascii Art字符画格式(pr#763@Gitee)
  • 【jwt 】 JWTUtil的parseToken增加空值异常抛出(issue#I5OCQB@Gitee)
  • 【extra 】 resource.loader等过期参数替换(issue#2571@Github)
  • 【core 】 添加ObjectUtil的别名工具类ObjUtil
  • 【core 】 扩展LocalDateTimeUtil.isIn方法使用场景(pr#2589@Github)
  • 【core 】 MapUtil增加根据entry分组(pr#2591@Github)
  • 【core 】 优化 getProcessorCount 潜在的获取不到的问题(pr#792@Gitee)
  • 【core 】 ImgUtil增加sliceByRowsAndCols重载方法支持自定义图片格式(pr#793@Gitee)

🐞Bug修复

  • 【http 】 修复https下可能的Patch、Get请求失效问题(issue#I3Z3DH@Gitee)
  • 【core 】 修复RandomUtil#randomString 入参length为负数时报错问题(issue#2515@Github)
  • 【core 】 修复SecureUtil传入null的key抛出异常问题(pr#2521@Github)
  • 【core 】 修复UrlBuilder的toURI方法将url重复编码(issue#2503@Github)
  • 【core 】 修复CollUtil.lastIndexOf序号错误问题
  • 【core 】 修复zip被识别成jar和apk被识别成jar或zip的问题(pr#2548@Github)
  • 【core 】 修复UrlBuilder.addPath 方法传入非有效路径字符串时,会出现空指针异常的问题(issue#I5O4ML@Gitee)
  • 【core 】 修复FilterIter当参数filter为空时存在问题(issue#I5OG7U@Gitee)
  • 【poi 】 修复Excel读取提示信息错误(issue#I5OSFC@Gitee)
  • 【json 】 解决JSONObject#write无法递归的bug(issue#I5OMSC@Gitee)
  • 【json 】 修复DayOfWeek转json异常问题(issue#2572@Github)
  • 【extra 】 Ftp方法isDir和exist修复及改进(pr#2574@Github)
  • 【json 】 修复JSON反序列化时,引用字段类型的自定义JsonDeserializer无效(issue#2555@Github)

5.8.5

29 Jul 15:54
Compare
Choose a tag to compare

5.8.5 (2022-07-29)

❌不兼容特性

  • 【core 】 合成注解相关功能重构,增加@link及其子注解(pr#702@Gitee)

🐣新特性

  • 【core 】 NumberUtil新增isIn方法(pr#669@Gitee)
  • 【core 】 修复注解工具类getAnnotations的NPE问题,注解扫描器添新功能(pr#671@Gitee)
  • 【core 】 合成注解SyntheticAnnotation提取为接口,并为实现类添加注解选择器和属性处理器(pr#678@Gitee)
  • 【core 】 增加BeanValueProvider(issue#I5FBHV@Gitee)
  • 【core 】 Convert工具类中,新增中文大写数字金额转换为数字工具方法(pr#674@Gitee)
  • 【core 】 新增CollectorUtil.reduceListMap()(pr#676@Gitee)
  • 【core 】 CollStreamUtil为空返回空的集合变为可编辑(pr#681@Gitee)
  • 【core 】 增加StrUtil.containsAll(pr#2437@Github)
  • 【core 】 ForestMap添加getNodeValue方法(pr#699@Gitee)
  • 【http 】 优化HttpUtil.isHttp判断,避免NPE(pr#698@Gitee)
  • 【core 】 修复Dict#containsKey方法没区分大小写问题(pr#697@Gitee)
  • 【core 】 增加比较两个LocalDateTime是否为同一天(pr#693@Gitee)
  • 【core 】 增加TemporalAccessorUtil.isIn、LocalDateTimeUtil.isIn(issue#I5HBL0@Gitee)
  • 【core 】 ReUtil增加getAllGroups重载(pr#2455@Github)
  • 【core 】 PageUtil#totalPage增加totalCount为long类型的重载方法(pr#2442@Github)
  • 【crypto 】 PemUtil.readPemPrivateKey支持pkcs#1格式,增加OpensslKeyUtil(pr#2456@Github)
  • 【core 】 添加了通用的注解扫描器 GenericAnnotationScanner,并在 AnnotationScanner 接口中统一提供了提前配置好的扫描器静态实例(pr#715@Github)
  • 【json 】 JSONConfig增加允许重复key配置,解决不规整json序列化的问题(pr#720@Github)
  • 【core 】 完善了codec包下一些方法的入参空校验(pr#719@Gitee)
  • 【extra 】 完善QrCodeUtil对于DATA_MATRIX生成的形状随机不可指定的功能(pr#722@Gitee)
  • 【core 】 修改NetUtil.ipv6ToBigInteger,原方法标记为过期(pr#2485@Github)
  • 【core 】 ZipUtil新增zip文件解压大小限制,防止zip炸弹(pr#726@Gitee)
  • 【core 】 CompressUtil增加压缩和解压tgz(.tar.gz)文件(issue#I5J33E@Gitee)

🐞Bug修复

  • 【core 】 修复CollUtil里面关于可变参数传null造成的crash问题(pr#2428@Github)
  • 【socket 】 修复异常socket没有关闭问题(pr#690@Gitee)
  • 【core 】 修复当时间戳为Integer时时间转换问题(pr#2449@Github)
  • 【core 】 修复bmp文件判断问题(issue#I5H93G@Gitee)
  • 【core 】 修复CombinationAnnotationElement造成递归循环(issue#I5FQGW@Gitee)
  • 【core 】 修复Dict缺少putIfAbsent、computeIfAbsent问题(issue#I5FQGW@Gitee)
  • 【core 】 修复Console.log应该把异常信息输出位置错误问题(pr#716@Gitee)
  • 【core 】 修复UrlBuilder无法配置末尾追加“/”问题(issue#2459@Github)
  • 【core 】 修复SystemPropsUtil.getBoolean方法应该只有值为true时才返回true,其他情况都应该返回false(pr#717@Gitee)
  • 【core 】 修复isBase64判断不准确的问题(pr#727@Gitee)
  • 【core 】 修复Convert#toMap默认转成HashMap的问题(pr#729@Gitee)

5.8.4

27 Jun 13:53
Compare
Choose a tag to compare

5.8.4 (2022-06-27)

🐣新特性

  • 【extra 】 Sftp增加构造重载,支持超时(pr#653@Gitee)
  • 【core 】 BeanUtil增加isCommonFieldsEqual(pr#653@Gitee)
  • 【json 】 修改byte[]统一转换为数组形式(issue#2377@Github)
  • 【http 】 HttpResponse增加body方法,支持自定义返回内容(pr#655@Gitee)
  • 【core 】 修改ObjectUtil.isNull逻辑(issue#I5COJF@Gitee)
  • 【core 】 BlockPolicy增加线程池关闭后的逻辑(pr#660@Gitee)
  • 【core 】 Ipv4Util增加ipv4ToLong重载(pr#661@Gitee)
  • 【core 】 LocalDateTimeUtil.parse改为blank检查(issue#I5CZJ9@Gitee)
  • 【core 】 BeanPath在空元素时默认加入map,修改根据下标类型赋值List or map(issue#2362@Github)
  • 【core 】 localAddressList 添加重构方法(pr#665@Gitee)
  • 【cron 】 从配置文件加载任务时,自定义ID避免重复从配置文件加载(issue#I5E7BM@Gitee)
  • 【core 】 新增注解扫描器和合成注解(pr#654@Gitee)

🐞Bug修复

  • 【extra 】 修复createExtractor中抛出异常后流未关闭问题(pr#2384@Github)
  • 【core 】 修复CsvData.getHeader没有判空导致空指针问题(issue#I5CK7Q@Gitee)
  • 【core 】 修复单字母转换为数字的问题(issue#I5C4K1@Gitee)
  • 【core 】 修复IterUtil.filter无效问题
  • 【core 】 修复NumberUtil传入null,返回了true(issue#I5DTSL@Gitee)
  • 【core 】 修复NumberUtil.isDouble问题(pr#2400@Github)
  • 【core 】 修复ZipUtil使用append替换文件时,父目录存在报错问题(issue#I5DRU0@Gitee)

5.8.3

10 Jun 15:30
Compare
Choose a tag to compare

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

27 May 13:38
Compare
Choose a tag to compare

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)