https://hutool.cn/
Hutool 是一个功能丰富且易用的 Java 工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务。 这些封装的工具涵盖了字符串、数字、集合、编码、日期、文件、IO、加密、数据库 JDBC、JSON、HTTP 客户端等一系列操作, 可以满足各种不同的开发需求。
----------------------------------------------------------------------------
此次更新为常规bug修复,整体来说5.x已经进入一个稳定期,之后的版本主要集中在bug修复上,最近的所谓bug,其实是对jdk9+的兼容性修复,还有针对graalvm的兼容性修复。
这里略微发发牢骚,随着Hutool使用的广泛,用户群也逐渐扩展开来,甚至到了一些我的知识盲区,没办法,只能是一边修复bug,一边学习,很多兼容性bug有的是用户抽出大量时间帮忙测试,有的是用户debug代码直接指明错误位置,甚至提交PR直接修复,还热心给出修复的原因以及参考的资料,在此为广大热心的用户表示感谢,你们的负重前行,会让后续的用户少走弯路。
第二个发牢骚的点就是JDK本身了,说实话,可能在大部分人心目中JDK是完美的存在的,一出问题不是框架库的问题,就是自己知识太浅薄,事实上根据用户提出的一些issue,发现是JDK本身设计的不合理和bug,我们需要总是需要通过一些“非常规”手段去绕过那些bug(比如通过反射修改JDK某些参数属性),当然这些蜜汁操作,在升级JDK9+后会成为用户的噩梦,换来的当然是对工具库和框架的强力吐槽。最后总结是:JDK有bug,可以当面试题啊Spring有bug,你摆脱不掉还得继续用啊。其实国内开源环境的优点是沟通渠道顺畅,这也是一把双刃剑,优点是可以将用户的诉求及时反馈和处理,缺点也很明显,用户的情绪传递也很快,也会影响开发者的情绪。
“没有银弹”,没有无bug的程序和代码,也没有完美的用户,我们也不是考试满分的神童,我们也是普通的开发者和学习者,开源的意义在于“分享”和"沟通",好的开源项目不只是提供便利的工具,而是传递一种开源精神,一种协作方式和默契精神,从而更快的完成需求和团队协作。
----------------------------------------------------------------------------
主要更新如下:
🐣新特性
- 【cache 】 Cache增加get重载,可自定义超时时间(issue#I8G0DL@Gitee)
- 【cache 】 JWT#sign增加重载,可选是否增加默认的typ参数(issue#3386@Github)
- 【db 】 增加识别OpenGauss的驱动类(issue#I8K6C0@Gitee)
- 【core 】 修复CharSequenceUtil注释和引用,避免循环引用
- 【extra 】 SpringUtil增加getProperty重载(pr#1122@Gitee)
- 【core 】 FileTypeUtil增加null判断(issue#3419@Github)
- 【core 】 DateUtil.parse支持毫秒时间戳(issue#I8NMP7@Gitee)
- 【extra 】 优化TokenizerEngine使用IK分词器支持并发(pr#3427@Github)
- 【core 】 Opt.ofEmptyAble支持更多类型(issue#I8OOSY@Gitee)
- 【http 】 HTMLFilter保留p标签(issue#3433@Gitee)
🐞Bug修复
- 【core 】 修复LocalDateTime#parseDate未判断空问题问题(issue#I8FN7F@Gitee)
- 【http 】 修复RootAction send404 抛异常问题(pr#1107@Gitee)
- 【extra 】 修复Archiver 最后一个 Entry 为空文件夹时未关闭 Entry问题(pr#1123@Gitee)
- 【core 】 修复ImgUtil.convert png转jpg在jdk9+中失败问题(issue#I8L8UA@Gitee)
- 【cache 】 修复StampedCache的get方法非原子问题(issue#I8MEIX@Gitee)
- 【core 】 修复StrSplitter.splitByRegex使用空参数导致的OOM问题(issue#3421@Github)
- 【db 】 修复嵌套SQL中order by子句错误截断问题(issue#I89RXV@Gitee)
- 【http 】 修复graalvm编译后,未读取Content-Length可能导致的读取时间过长问题(issue#I6Q30X@Gitee)
- 【core 】 修复JavaSourceCompiler.addSource目录处理错误问题(issue#3425@Github)
- 【core 】 修复时间戳转Bean时异常问题(issue#I8NMP7@Gitee)
- 【core 】 修复PostgreSQL使用upsert字段大小写问题问题(issue#I8PB4X@Gitee)
- 【extra 】 修复TinyPinyinEngine可能的空指针问题(issue#3437@Github)
- 【core 】 修复graalvm原生打包使用http工具被转为file协议问题(issue#I8PY3Y@Gitee)
- 【poi 】 修复cloneSheet参数错误导致非XSSFWorkbook错误命名问题(issue#I8QIBB@Gitee)
还没有评论,来说两句吧...