hutool/CHANGELOG.md
2020-05-05 23:24:00 +08:00

434 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog
-------------------------------------------------------------------------------------------------------------
## 5.3.3 (2020-05-05)
### 新特性
* 【core 】 ImgUtil.createImage支持背景透明issue#851@Github
* 【json 】 更改JSON转字符串时"</"被转义的规则为不转义issue#852@Github
* 【cron 】 表达式的所有段支持L关键字issue#849@Github
* 【extra 】 增加PinyinUtil封装TinyPinyin
* 【extra 】 Ftp和Sftp增加FtpConfig提供超时等更多可选参数
* 【extra 】 SpringUtil增加getActiveProfiles、getBeansOfType、getBeanNamesForType方法issue#I1FXF3@Gitee
* 【bloomFilter】 避免布隆过滤器数字溢出pr#119@Gitee
* 【core 】 增加IoUtil.writeObjissue#I1FZIE
* 【core 】 增加FastStringWriter
* 【core 】 增加NumberUtil.ceilDiv方法pr#858@Github
* 【core 】 IdcardUtil增加省份校验issue#859@Github
* 【extra 】 TemplateFactory和TokenizerFactory增加单例的get方法
### Bug修复
* 【core 】 修复URLBuilder中请求参数有`&amp;`导致的问题issue#850@Github
* 【core 】 修复URLBuilder中路径以`/`结尾导致的问题issue#I1G44J@Gitee
* 【db 】 修复SqlBuilder中orderBy无效问题issue#856@Github
-------------------------------------------------------------------------------------------------------------
## 5.3.2 (2020-04-23)
### 新特性
* 【core 】 增加NetUtil.isOpen方法
* 【core 】 增加ThreadUtil.sleep和safeSleep的重载
* 【core 】 Sftp类增加toString方法issue#I1F2T4@Gitee
* 【core 】 修改FileUtil.size逻辑不存在的文件返回0
* 【extra 】 Sftp.ls遇到文件不存在返回空集合而非抛异常issue#844@Github
* 【http 】 改进HttpRequest.toString()格式添加url
### Bug修复
* 【db 】 修复PageResult.isLast计算问题
* 【cron 】 修复更改系统时间后CronTimer被阻塞的问题issue#838@Github
* 【db 】 修复Page.addOrder无效问题issue#I1F9MZ@Gitee
* 【json 】 修复JSONConvert转换日期空指针问题issue#I1F8M2@Gitee
* 【core 】 修复XML中带注释Xpath解析导致空指针问题issue#I1F2WI@Gitee
* 【core 】 修复FileUtil.rename原文件无扩展名多点的问题issue#839@Github
* 【db 】 修复DbUtil.close可能存在的空指针问题issue#847@Github
-------------------------------------------------------------------------------------------------------------
## 5.3.1 (2020-04-17)
### 新特性
* 【core 】 ListUtil、MapUtil、CollUtil增加empty方法
* 【poi 】 调整别名策略clearHeaderAlias和addHeaderAlias同时清除aliasComparatorissue#828@Github
* 【core 】 修改StrUtil.equals逻辑改为contentEquals
* 【core 】 增加URLUtil.UrlDecoder
* 【core 】 增加XmlUtil.setNamespaceAwaregetByPath支持UniversalNamespaceCache
* 【aop 】 增加Spring-cglib支持改为SPI实现
* 【json 】 增加JSONUtil.parseXXX增加JSONConfig参数
* 【core 】 RandomUtil.randomNumber改为返回char
* 【crypto 】 SM2支持设置Digest和DSAEncodingissue#829@Github
### Bug修复
* 【json 】 修复解析JSON字符串时配置无法传递问题issue#I1EIDN@Gitee
* 【core 】 修复ServletUtil.readCookieMap空指针问题issue#827@Github
* 【crypto 】 修复SM2中检查密钥导致的问题issue#I1EC47@Gitee
* 【core 】 修复TableMap.isEmpty判断问题
* 【http 】 修复编码后的URL传入导致二次编码的问题issue#I1EIMN@Gitee
-------------------------------------------------------------------------------------------------------------
## 5.3.0 (2020-04-07)
### 新特性
* 【extra 】 JschUtil增加execByShell方法(issue#I1CYES@Gitee)
* 【core 】 StrUtil增加subBetweenAll方法Console增加where和lineNumber方法(issue#812@Github)
* 【core 】 TableMap增加getKeys和getValues方法
* 【json 】 JSONObject和JSONArray增加set方法标识put弃用
* 【http 】 增加SimpleHttpServer
* 【script 】 增加createXXXScript区别单例
* 【core 】 修改FileUtil.writeFileToStream等方法返回值为long
* 【core 】 CollUtil.split增加空集合判定issue#814@Github
* 【core 】 NetUtil增加parseCookies方法
* 【core 】 CollUtil增加toMap方法
* 【core 】 CollUtil和IterUtil废弃一些方法
* 【core 】 添加ValidateObjectInputStream避免对象反序列化漏洞风险
* 【core 】 添加BiMap
* 【all 】 cn.hutool.extra.servlet.multipart包迁移到cn.hutool.core.net下
* 【core 】 XmlUtil.mapToXml方法支持集合解析issue#820@Github
* 【json 】 解析Object中对是否为bean单独判断而不是直接解析
* 【core 】 SimHash锁改为StampedLock
* 【core 】 Singleton改为SimpleCache实现
* 【core 】 增加CalendarUtilDateUtil相关方法全部迁移到此
### Bug修复
* 【extra 】 修复SpringUtil使用devtools重启报错问题
* 【http 】 修复HttpUtil.encodeParams针对无参数URL问题issue#817@Github
* 【extra 】 修复模板中无效引用的问题
* 【extra 】 修复读取JSON文本配置未应用到子对象的问题issue#818@Github
* 【extra 】 修复XmlUtil.createXml中namespace反向问题
* 【core 】 修复WatchMonitor默认无event问题
-------------------------------------------------------------------------------------------------------------
## 5.2.5 (2020-03-26)
### 新特性
* 【core 】 增加逻辑对于原始类型注入使用默认值issue#797@Github
* 【core 】 增加CityHash算法
* 【core 】 PageUtil支持setFirstPageNo自定义第一页的页码issue#I1CGNZ@Gitee
* 【http 】 UserAgentUtil增加Chromium内核的Edge浏览器支持issue#800@Github
* 【cache 】 修改FIFOCache中linkedHashMap的初始容量策略pr#801@Github
* 【core 】 修改XmlUtil中setNamespaceAware默认为true
* 【core 】 TreeNode增加extra
* 【core 】 CollUtil.newHashSet重载歧义更换为set方法
* 【core 】 增加ListUtil增加Hash32、Hash64、Hash128接口
* 【crypto 】 BCUtil增加readPemPrivateKey和readPemPublicKey方法
* 【cache 】 替换读写锁为StampedLock增加LockUtil
### Bug修复
* 【core 】 修复NumberWordFormatter拼写错误issue#799@Github
* 【poi 】 修复xls文件下拉列表无效问题issue#I1C79P@Gitee
* 【poi 】 修复使用Cglib代理问题issue#I1C79P@Gitee
* 【core 】 修复DateUtil.weekCount跨年计算问题
-------------------------------------------------------------------------------------------------------------
## 5.2.4
### 新特性
* 【setting】 Setting中增加addSetting和autoLoad重载pr#104@Gitee
* 【core 】 增加copyProperties根据Class创建对象并进行属性拷贝pr#105@Gitee
* 【core 】 添加获取class当前文件夹名称方法pr#106@Gitee
* 【core 】 BooleanUtil中重载歧义修正修改了包装参数的方法名issue#I1BSK8@Gitee
* 【core 】 XmlUtil增加xmlToBean和beanToXml方法
* 【db 】 设置全局忽略大小写DbUtil.setCaseInsensitiveGlobal(true)issue#784@Github
* 【core 】 增加CallerUtil.getCallerMethodName方法
* 【core 】 Tree增加getParent方法可以获取父节点抽象Node接口
* 【core 】 增加社会信用代码工具CreditCodeUtilpr#112@Gitee
* 【core 】 ChineseDate增加构造重载增加toStringNormalissue#792@Github
* 【core 】 BeanUtil.toBean增加重载issue#797@Github
### Bug修复
* 【core 】 修复TypeUtil无法获取泛型接口的泛型参数问题issue#I1BRFI@Gitee
* 【core 】 修复MySQL中0000报错问题
* 【core 】 修复BeanPath从Map取值为空的问题issue#790@Github
* 【poi 】 修复添加图片尺寸的单位问题issue#I1C2ER@Gitee
* 【setting】 修复getStr中逻辑问题pr#113@Gitee
* 【json 】 修复JSONUtil.toXml汉字被编码的问题pr#795@Gitee
* 【poi 】 修复导出的Map列表中每个map长度不同导致的对应不一致的问题issue#793@Gitee
-------------------------------------------------------------------------------------------------------------
## 5.2.3
### 新特性
* 【http 】 UserAgentUtil增加识别ios和android等issue#781@Github
* 【core 】 支持新领车牌issue#I1BJHE@Gitee
### Bug修复
* 【core 】 修复PageUtil第一页语义不明确的问题issue#782@Github
* 【extra 】 修复TemplateFactory引入包导致的问题
* 【core 】 修复ServiceLoaderUtil.loadFirstAvailable问题
-------------------------------------------------------------------------------------------------------------
## 5.2.2
### 新特性
### Bug修复
* 【http 】 修复body方法添加多余头的问题issue#769@Github
* 【bloomFilter 】修复默认为int类型,左移超过32位后,高位丢失问题pr#770@Github
* 【core 】 修复beginOfWeek和endOfWeek一周开始计算错误问题issue#I1BDPW@Gitee
* 【db 】 修复Db.query使用命名方式查询产生的歧义issue#776@Github
-------------------------------------------------------------------------------------------------------------
## 5.2.1
### 新特性
* 【core 】 修改FastDateParser策略与JDK保持一致issue#I1AXIN@Gitee
* 【core 】 增加tree树状结构pr#100@Gitee
* 【core 】 增加randomEleListpr#764@Github
### Bug修复
* 【setting】 修复Props.toBean方法null的问题
* 【core 】 修复DataUtil.parseLocalDateTime无时间部分报错问题issue#I1B18H@Gitee
* 【core 】 修复NetUtil.isUsableLocalPort()判断问题issue#765@Github
* 【poi 】 修复ExcelWriter写出多个sheet错误的问题issue#766@Github
* 【extra 】 修复模板引擎自定义配置失效问题issue#767@Github
-------------------------------------------------------------------------------------------------------------
## 5.2.0
### 新特性
* 【core 】 NumberUtil.decimalFormat增加Object对象参数支持
* 【core 】 增加ReflectUtil.getFieldValue支持Alias注解
* 【core 】 Bean字段支持Alias注解包括转map,转bean等
* 【core 】 增加ValueListHandler优化结果集获取方式
* 【http 】 支持patch方法issue#666@Github
* 【crypto】 BCUtil支持更加灵活的密钥类型增加writePemObject方法
* 【core 】 增加ServiceLoaderUtil
* 【core 】 增加EnumUtil.getEnumAt方法
* 【core 】 增强EnumConvert判断能力issue#I17082@Gitee
* 【all 】 log、template、tokenizer使用SPI机制代替硬编码
* 【poi 】 Word07Writer增加addPicture
* 【crypto】 RSA算法中BlockSize长度策略调整issue#721@Github
* 【crypto】 删除SM2Engine使用BC库中的对象替代
* 【crypto】 增加PemUtil工具类
* 【dfa 】 WordTree增加Filter支持自定义特殊字符过滤器
* 【poi 】 对于POI依赖升级到4.1.2
* 【crypto】 增加国密SM2验签密钥格式支持issue#686@Github
### Bug修复
-------------------------------------------------------------------------------------------------------------
## 5.1.5
### 新特性
* 【poi 】 Excel合并单元格读取同一个值不再为空
* 【core 】 增加EscapeUtil.escapeAllissue#758@Github
* 【core 】 增加formatLocalDateTime和parseLocalDateTime方法pr#97@Gitee
### Bug修复
* 【core 】 修复EscapeUtil.escape转义错误issue#758@Github
* 【core 】 修复Convert.toLocalDateTime(Object value, Date defaultValue)返回结果不是LocalDateTime类型的问题pr#97@Gitee
-------------------------------------------------------------------------------------------------------------
## 5.1.4
### 新特性
* 【poi 】 增加单元格位置引用例如A11等方式获取单元格
* 【extra】 ServletUtil.fillBean支持数据和集合字段issue#I19ZMK@Gitee
* 【core 】 修改ThreadUtil.newSingleExecutor默认队列大小issue#754@Github
* 【core 】 修改ExecutorBuilder默认队列大小issue#753@Github
* 【core 】 FileTypeUtil增加mp4的magicissue#756@Github
### Bug修复
* 【core 】 修复CombinationAnnotationElement数组判断问题issue#752@Github
* 【core 】 修复log4j2使用debug行号打印问题issue#I19NFJ@Github
* 【poi 】 修复sax读取excel03数组越界问题issue#750@Github
-------------------------------------------------------------------------------------------------------------
## 5.1.3
### 新特性
* 【core 】 废弃isMactchRegex改为isMatchRegex方法错别字
* 【core 】 修正hasNull()方法上注释错误issue#I18TAG@Gitee
* 【core 】 Snowflake的起始时间可以被指定pr#95@Gitee
* 【core 】 增加PropsUtil及getFirstFound方法issue#I1960O@Gitee
### Bug修复
* 【core 】 CharsetUtil在不支持GBK的系统中运行报错问题issue#731@Github
* 【core 】 RandomUtil的randomEleSet方法顺序不随机的问题pr#741@Github
* 【core 】 修复StopWatch的toString判断问题issue#I18VIK@Gitee
-------------------------------------------------------------------------------------------------------------
## 5.1.2
### 新特性
* 【core 】 XmlUtil支持可选是否输出omit xml declarationpr#732@Github
* 【core 】 车牌号校验兼容新能源车牌pr#92@Gitee
* 【core 】 在NetUtil中新增ping功能pr#91@Gitee
* 【core 】 DateUtil.offset不支持ERA增加异常提示issue#I18KD5@Gitee
* 【http 】 改进HttpUtil访问HTTPS接口性能问题SSL证书使用单例issue#I18AL1@Gitee
### Bug修复
* 【core 】 修复isExpired的bugissue#733@Gtihub
-------------------------------------------------------------------------------------------------------------
## 5.1.1
### 新特性
* 【core 】 ClassUtil.isSimpleValueType增加TemporalAccessor支持issue#I170HK@Gitee
* 【core 】 增加Convert.toPrimitiveByteArray方法Convert支持对象序列化和反序列化
* 【core 】 DateUtil增加isExpired(Date startDate, Date endDate, Date checkDate)issue#687@Github
* 【core 】 增加Alias注解
* 【core 】 修正NumberChineseFormatter和NumberWordFormatter类名拼写错误
* 【all 】 修正equals避免可能存在的空指针问题pr#692@Github
* 【core 】 提供一个自带默认值的Mappr#87@Gitee
* 【core 】 修改Dict在非大小写敏感状态下get也不区分大小写issue#722@Github
* 【core 】 StrUtil增加contains方法issue#716@Github
* 【core 】 QrCodeUtil增加背景透明支持pr#89@Gitee
* 【core 】 增加农历ChineseDatepr#90@Gitee
* 【core 】 ZipUtil增加zip方法写出到流issue#I17SCT@Gitee
* 【db 】 Db.use().query的方法中增加Map参数接口issue#709@Github
* 【db 】 getDialect使用数据源作为锁issue#720@Github
### Bug修复
* 【core 】 修复NumberUtil.mul中null的结果错误问题issue#I17Y4J@Gitee
* 【core 】 修复当金额大于等于1亿时转换会多出一个万字的bugpr#715@Github
* 【core 】 修复FileUtil.listFileNames位于jar内导致的文件找不到问题
* 【core 】 修复TextSimilarity.similar去除字符导致的问题issue#I17K2A@Gitee
* 【core 】 修复unzip文件路径问题issue#I17VU7@Gitee
-------------------------------------------------------------------------------------------------------------
## 5.1.0
### 新特性
* 【core 】 新增WatchServerissue#440@Github
* 【core 】 ReflectUtil.getFieldValue支持staticissue#662@Github
* 【core 】 改进Bean判断和注入逻辑支持public字段注入issue#I1689L@Gitee
* 【extra】 新增SpringUtil
* 【http 】 Get请求支持body移除bodyJSON方法issue#671@Github
* 【core 】 ReflectUtil修正getFieldValue逻辑防止歧义
### Bug修复
* 【db 】 修复SqlExecutor.callQuery关闭Statement导致的问题issue#I16981@Gitee
* 【db 】 修复XmlUtil.xmlToMap中List节点的问题pr#82@Gitee
* 【core】 修复ZipUtil中对于/结尾路径处理的问题issue#I16PKP@Gitee
* 【core】 修复DateConvert对int不支持导致的问题issue#677@Github
-------------------------------------------------------------------------------------------------------------
## 5.0.7
### 新特性
* 【core 】 解决NumberUtil导致的ambiguous问题issue#630@Github
* 【core 】 BeanUtil.isEmpty()忽略字段支持增加isNotEmptyissue#629@Github
* 【extra】 邮件发送后获取message-idissue#I15FKR@Gitee
* 【core 】 CaseInsensitiveMap/CamelCaseMap增加toStringissue#636@Github
* 【core 】 XmlUtil多节点改进issue#I15I0R@Gitee
* 【core 】 Thread.excAsync修正为execAsyncissue#642@Github
* 【core 】 FileUtil.getAbsolutePath修正正则issue#648@Github
* 【core 】 NetUtil增加getNetworkInterface方法issue#I15WEL@Gitee
* 【core 】 增加ReflectUtil.getFieldMap方法issue#I15WJ7@Gitee
### Bug修复
* 【extra】 修复SFTP.upload上传失败的问题issue#I15O40@Gitee
* 【db】 修复findLike匹配错误问题
* 【core 】 修复scale方法透明无效问题issue#I15L5S@Gitee
* 【extra】 修复exec返回无效issue#I15L5S@Gitee
* 【cron】 修复CronPattern注释pr#646@Github
* 【json】 修复LocalDateTime等JDK8时间对象不被支持的问题issue#644@Github
-------------------------------------------------------------------------------------------------------------
## 5.0.6
### 新特性
* 【setting】 toBean改为泛型增加class参数重载pr#80@Gitee
* 【core】 XmlUtil使用JDK默认的实现避免第三方实现导致的问题issue#I14ZS1@Gitee
* 【poi】 写入单元格数据类型支持jdk8日期格式pr#628@Github
### Bug修复
* 【core】 修复DateUtil.format使用DateTime时区失效问题issue#I150I7@Gitee
* 【core】 修复ZipUtil解压目录遗留问题issue#I14NO3@Gitee
* 【core】 修复等比缩放给定背景色无效问题pr#625@Github
* 【poi 】 修复sax方式读取excel中无样式表导致的空指针问题
* 【core】 修复标准化URL时domain被转义的问题pr#654@Github
-------------------------------------------------------------------------------------------------------------
## 5.0.5
### 新特性
* 【core】 增加MapUtil.removeAnyissue#612@Github
* 【core】 Convert.toList支持[1,2]字符串issue#I149XN@Gitee
* 【core】 修正DateUtil.thisWeekOfMonth注释错误issue#614@Github
* 【core】 DateUtil增加toLocalDate等方法DateTime更好的支持时区
* 【core】 BeanUtil.getProperty返回泛型对象issue#I14PIW@Gitee
* 【core】 FileTypeUtil使用扩展名辅助判断类型issue#I14JBH@Gitee
### Bug修复
* 【db】 修复MetaUtil.getTableMeta()方法未释放ResultSet的bugissue#I148GH@Gitee
* 【core】 修复DateUtil.age闰年导致的问题issue#I14BVN@Gitee
* 【extra】 修复ServletUtil.getCookie大小写问题pr#79@Gitee
* 【core】 修复IdcardUtil.isValidCard18报错问题issue#I14LTJ@Gitee
* 【poi】 修复double值可能存在的精度问题issue#I14FG1@Gitee
* 【core】 修复Linux下解压目录不正确的问题issue#I14NO3@Gitee
-------------------------------------------------------------------------------------------------------------
## 5.0.4
### 新特性
* 【setting】 增加System.getenv变量替换支持
* 【core】 XmlUtil中mapToStr支持namespacepr#599@Github
* 【core】 ZipUtil修改策略:默认关闭输入流issue#604@Github
* 【core】 改进CsvReader支持RowHandler按行处理issue#608@Github
* 【core】 增加MapUtil.sortJoin改进SecureUtil.signParams支持补充字符串issue#606@Github
* 【core】 增加Money类issue#605@Github
### Bug修复
* 【core】 解决ConcurrentHashSet不能序列化的问题issue#600@Github
* 【core】 解决CsvReader.setErrorOnDifferentFieldCount循环调用问题
-------------------------------------------------------------------------------------------------------------
## 5.0.3
### 新特性
### Bug修复
* 【extra】 修复遗留的getSession端口判断错误issue#594@Github
-------------------------------------------------------------------------------------------------------------
## 5.0.2
### 新特性
* 【core】 强化java.time包的对象转换支持
### Bug修复
* 【db】 修正字段中含有as导致触发关键字不能包装字段的问题issue#I13ML7@Gitee
* 【extra】 修复QrCode中utf-8不支持大写的问题。issue#I13MT6@Gitee
* 【http】 修复请求defalte数据解析错误问题。pr#593@Github
-------------------------------------------------------------------------------------------------------------
## 5.0.1
### 新特性
* 【json】 JSONUtil.toBean支持JSONArray
### Bug修复
* 【extra】 修复getSession端口判断错误
-------------------------------------------------------------------------------------------------------------
## 5.0.0
### 新特性
* 【all】 升级JDK最低 支持到8
* 【log】 Log接口添加get的static方法
* 【all】 部分接口添加FunctionalInterface修饰
* 【crypto】 KeyUtil增加readKeyStore重载
* 【extra】 JschUtil增加私钥传入支持issue#INKDR@Gitee
* 【core】 DateUtil、DateTime、Convert全面支持jdk8的time包
### Bug修复
* 【http】 修复Cookie中host失效导致的问题issue#583@Github