Hutool Versions Save

🍬A set of tools that keep Java sweet.

test

1 year ago

5.8.16 (2023-03-26)

🐣新特性

  • 【core 】 改进Calculator.conversion,兼容乘法符号省略写法(issue#2964@Github)
  • 【core 】 改进XmlUtil.xmlToBean,支持xml转bean时父节点忽略大小写
  • 【core 】 优化ArrayUtil的空判断(pr#2969@Github)
  • 【extra 】 优化SpringUtil在非Spring环境下的异常(issue#2835@Github)
  • 【core 】 StrUtil增加commonPrefix和commonSuffix方法(pr#3007@Github)
  • 【core 】 NumberUtil增加重载parseXXX方法, 解析失败返回默认值(pr#3007@Github)
  • 【core 】 FileUtil增加readLines重载,支持filter(pr#3006@Github)
  • 【json 】 当用户选择ignoreError时,错误对象转JSON也忽略

🐞Bug修复

  • 【crypto】 修复NoSuchMethodError未捕获问题(issue#2966@Github)
  • 【poi 】 修复SXSSFWorkbook调用setComment时错位的问题(issue#I6MBS5@Gitee)
  • 【core 】 修复BeanUtil.hasGetter没有跳过getClass方法的问题(issue#I6MBS5@Gitee)
  • 【core 】 修复FileMagicNumber长度判断问题导致的越界异常(issue#I6MACI@Gitee)
  • 【core 】 修复DateUtil针对ISO8601时间格式部分场景下的解析存在问题(issue#2981@Github)
  • 【core 】 修复JSONUtil.toBean可能的空指针问题(issue#2987@Github)
  • 【core 】 修复CalendarUtil.isSameMonth没有判断公元前导致不一致的问题(issue#3011@Github)
  • 【core 】 修复WatchUtil createModify maxDepth传递后没有使用问题(issue#3005@Github)
  • 【core 】 修复NullComparator反转无效问题(pr#964@Gitee)
  • 【setting】 修复props.toBean 数组字段未赋值问题(issue#3008@Github)

5.8.15

1 year ago

5.8.15 (2023-03-09)

🐣新特性

  • 【http 】 新增followRedirectsCookie配置,支持开启自动重定向携带cookie(pr#2961@Github)

🐞Bug修复

  • 【all 】 修复Automatic-Module-Name错误问题(issue#2952@Github)
  • 【core 】 修复NumberWithFormat导致转换Long异常问题(issue#I6L2LO@Gitee)

5.8.14

1 year ago

🐣新特性

  • 【core 】 增加PathMover(issue#I666HB@Github)

🐞Bug修复

  • 【core 】 修复FileUtil.moveContent会删除源目录的问题(issue#I666HB@Github)
  • 【http 】 修复HttpBase.body导致的空指针问题

5.8.13

1 year ago

5.8.13 (2023-03-03)

🐣新特性

  • 【core 】 PhoneUtil.isTel400800支持400-XXX-XXXX格式(issue#2929@Github)
  • 【core 】 build(pom): 添加 Automatic-Module-Name属性(pr#2926@Github)
  • 【core 】 根据JDK-8080225修改了部分新建文件输入流和文件输出流的创建方式(pr#2930@Github)
  • 【http 】 HttpRequest#body增加支持Resource重载(issue#2901@Github)
  • 【core 】 JavaSourceCompiler#compile增加自定义options重载(issue#I6IVZK@Gitee)

🐞Bug修复

  • 【db 】 修复识别JDBC驱动时重复问题(pr#940@Gitee)
  • 【core 】 修复法定年龄计算的BUG(pr#935@Gitee)
  • 【core 】 修复FileUtil.rename报NoSuchFileException问题(pr#2894@Github)
  • 【core 】 修复StrUtil.split切分长度为0时的bug(pr#944@Gitee)
  • 【core 】 修复ReUtil.delAll方法当 content 仅为空格时的问题(issue#I6GIMT@Gitee)
  • 【core 】 修复ReUtil.delAll方法当 content 仅为空格时的问题(issue#I6GIMT@Gitee)
  • 【core 】 修复Tailer文件内容跟随在调用stop后,文件依旧被占用问题(issue#I6GFD2@Gitee)
  • 【core 】 修复ReflectUtil.invokeRaw方法中参数类型转换动作未生效的问题(pr#2912@Github)
  • 【core 】 修复isXXX转换时的匹配问题(issue#I6H0XF@Gitee)
  • 【core 】 修复MutableObj.equals空指针问题
  • 【core 】 修复JavaSourceFileObject在编译错误时抛出IOException异常而非CompilerException问题(pr#2942@Github)
  • 【jwt 】 修复JWT自定义时间格式后的时间戳转换问题(issue#I6IS5B@Gitee)

5.8.12

1 year ago

5.8.12 (2023-02-09)

🐣新特性

  • 【http 】 HttpGlobalConfig.allowPatch()调用时忽略错误(issue#2832@Github)
  • 【core 】 重构根据file magic number判断文件类型(pr#2834@Github)
  • 【core 】 增加WGS84 坐标与墨卡托投影互转(pr#2811@Github)
  • 【extra 】 ServletUtil遵循rfc 3986优化(issue#I6ALAO@Gitee)
  • 【http 】 HttpUtil.decodeParams增加isFormUrlEncoded重载(pr#918@Gitee)
  • 【db 】 AbstractDb添加返回类型为PageResult的page重载方法(pr#916@Gitee)
  • 【core 】 DesensitizedUtil增加对IPv4和IPv6支持(issue#I6ABCS@Gitee)
  • 【core 】 针对CollUtil.subtract coll1 为只读集合的补偿(pr#2865@Github)
  • 【core 】 DateUtil.date方法统一修改规则,传入null返回null(pr#2877@Github)
  • 【core 】 DateUtil.parseUTC统一规范,舍弃3位毫秒数后的数字(pr#2889@Github)

🐞Bug修复

  • 【core 】 修复HexUtil.isHexNumber()对"-"的判断问题(issue#2857@Github)
  • 【core 】 修复FileTypeUtil判断wav后缀的录音文件类型不能匹配问题(pr#2834@Github)
  • 【core 】 修复FileUtil的rename在newName与原文件夹名称一样时,文件夹会被删除问题(issue#2845@Github)
  • 【core 】 修复IoUtil.readBytes使用SocketInputStream读取不完整问题(issue#I6AT49@Gitee)
  • 【core 】 修复ClassScanner自定义classload无效问题(issue#I68TV2@Gitee)
  • 【core 】 【重要】删除XmlUtil.readObjectFromXml方法,避免漏洞(issue#2857@Github)
  • 【core 】 修复Ipv4Util.list()方法的bug(pr#929@Gitee)
  • 【poi 】 修复“sax方式读取excel2003版本,会调用两次doAfterAllAnalysed方法”问题。(pr#919@Gitee)

5.8.11

1 year ago

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

1 year ago

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

1 year ago

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

1 year ago

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<Map>引起的个数混乱问题(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

1 year ago

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)