hutool/CHANGELOG.md
2019-08-30 08:13:12 +08:00

1361 lines
72 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
-------------------------------------------------------------------------------------------------------------
## 4.6.5
### 新特性
### Bug修复
-------------------------------------------------------------------------------------------------------------
## 4.6.4
### 新特性
* 【http】 自动关闭HttpURLConnection的头安全检查issue#512@Github
* 【setting】 Setting变量替换支持从系统参数中取值issue#I11BV1@Gitee
* 【core】 改进NumberUtil.isNumber方法pr#68@Gitee
* 【system】 增加Oshi工具封装
### Bug修复
* 【db】 解决ThreadLocalConnection多数据源被移除问题pr#66@Gitee
* 【core】 解决ArrayUtil.emptyCount计数错误问题issue#509@Github
-------------------------------------------------------------------------------------------------------------
## 4.6.3
### 新特性
* 【core】 改进CollUtil.zip逻辑减少内存复制issue#I10T01@Gitee
* 【extra】 邮件增加图片支持pr#495@Github
* 【core】 MapUtil、CollUtil增加emptyIfNullissue#502@Github
* 【core】 增加emptyIfNull等issue#503@Github
* 【setting】 Props增加toBean方法issue#499@Github
* 【poi】 CellUtil增加getMergedRegionValue方法ExcelWriter增加getDisposition方法
* 【http】 HttpBase增加headerMap方法
* 【core】 FileUtil.loopFile增加重载支持定义深度
### Bug修复
* 【http】 修复HttpRquest中body方法长度计算问题issue#I10UPG@Gitee
* 【system】 修复获取本地IP问题pr#65@Gitee
* 【poi】 修复设置单元格样式无效问题
-------------------------------------------------------------------------------------------------------------
## 4.6.2
### 新特性
* 【core】 Tuple增加支持equals和hashcodeissue#469@Github
* 【http】 Accept修改默认权重json优先issue#472@Github
* 【http】 增加HttpGlobalConfigissue#I10DHC@Gitee
* 【core】 CollUtil.getFieldValues避免空指针issue#I10FK9@Gitee
* 【http】 改进HtmlUtil.unescape改为EscapeUtil.unescapeHtml4实现issue#I10AUY@Gitee
* 【core】 TextSimilarity改进判断issue#456@Github
* 【poi】 ExcelWriter支持下拉列表issue#476@Github
* 【core】 强化ExceptionUtilissue#459@Github
* 【core】 增强日期工具类pr#455@Github
* 【setting】 构造Setting增加默认字符编码
* 【extra】 ServletUtil增加getHeaderMap方法
* 【poi】 CellUtil改进数字支持解决空指针问题pr#489@Github
* 【core】 增加DEFAULT_BUFFER_SIZE
### Bug修复
* 【cache】 修复missCount规则issue#465@Github
* 【core】 修复父目录拷贝到子目录导致的递归问题
* 【crypto】 修复RSA中分段加密计算导致的异常issue#481@Github
* 【json】 修复TypeReference传入Type类型参数导致的异常issue#488@Github
-------------------------------------------------------------------------------------------------------------
## 4.6.0
### 新特性
* 【all】 增加hutool-bom模块用于可排除的依赖引入
* 【core】 ResourceUtil增加readBytes方法
* 【captcha】 更换为逻辑字体
* 【extra】 Mail增加replyissue#445@Github
* 【core】 去掉重复方法issue#IZQYR@Gitee
* 【db】 改进结果集转Bean的下划线和驼峰兼容性issue#IZOPL@Gitee
* 【system】 增加JavaInfo对新版本java的支持pr#454@Github
* 【extra】 增加可选标志位是否返回当前目录issue#446@Github
### Bug修复
* 【core】 修复ImgUtil.slice宽高取反问题issue#438@Github
* 【crypto】 修复MD516位摘要长度错误问题issue#IZNPE@Gitee
* 【core】 修复ImgUtil.hexToColor调用参数问题issue#449@Github
* 【http】 修复可能存在的Http请求结束未关闭连接的情况issue#449@Github
-------------------------------------------------------------------------------------------------------------
## 4.5.18
### 新特性
* 【poi】 增加ExcelUtil.getWriterWithSheet方法感谢@【长沙】NULL
* 【core】 EnumUtil和ObjectUtil增加方法pr#57@Gitee
* 【core】 EnumUtil增加fromString重载支持默认值issue#IZFXJ@Gitee
* 【core】 DateUtil.parse增加Locale对象重载issue#437@Github
### Bug修复
* 【core】 修复无效的日志打印issue#IZFW9@Gitee
* 【core】 修复Validator.isBirthday注释issue#IZFMG@Gitee
* 【core】 修复TextSimilarity 的bugissue#435@Github
* 【core】 修复Tailer预读取行bugissue#IZHAT@Gitee
* 【core】 修复使用slf4j-simple不打印日志问题
-------------------------------------------------------------------------------------------------------------
## 4.5.17
### 新特性
* 【http】 SoapClient增加超时设置issue#IYQHK@Gitee
* 【captcha】 修正验证码位置增加可选文字透明度issue#421@Github
* 【poi】 ExcelWriter.setRowHeight增加空指针检查issue#IYN63@Gitee
* 【core】 ImgUtil增加copyImage可选背景色issue#IYX3E@Gitee
* 【core】 CollUtil.sub方法在空列表时返回空数组而非nullissue#430@Github
* 【core】 改进本地IP地址获取方法issue#428@Github
* 【core】 WatchMonitor增加ClosedWatchServiceException异常处理issue#427@Github
### Bug修复
* 【crypto】 修复DigestUtil.md5方法的注释issue#IYQHG@Gitee
* 【core】 修复MapUtil.newHashMap初始容量问题issue#IYKJJ@Gitee
* 【core】 修复HttpUtil.encodeParam多出=问题issue#IZ3PI@Gitee
* 【core】 修复Img.scale变形问题issue#431@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.5.16
### 新特性
* 【cache】 缓存增加get重载pr#404@Github
* 【poi】 增加WordUtil
* 【core】 改进fnvHash避免负数issue#IYDK6@Gitee
* 【core】 改进BeanCoper逻辑pr#45@Gitee
* 【all】 实现必要序列化接口
* 【db】 Entity增加可选忽略大小写issue#IYGVW@Gitee
* 【core】 MapUtil增加renameKey方法感谢@【帝都】宁静)
### Bug修复
* 【poi】 修复sax中读取Excel普通单元格设置日期格式识别问题issue#IYD0L@Gitee
* 【http】 修复setParam非String值失效问题issue#IYF9Y@Gitee
* 【core】 修复FileUtil.cleanEmpty第二层直接删除文件夹的问题感谢@【上海】风景)
-------------------------------------------------------------------------------------------------------------
## 4.5.15
### 新特性
### Bug修复
* 【extra】 修复JschUtil.exec不执行命名的问题issue#405@Github
* 【http】 修复CookieManager全局设定导致的可能存在的冲突增加自定义的GlobalCookieManager
-------------------------------------------------------------------------------------------------------------
## 4.5.14
### 新特性
* 【poi】 增加TableUtil
* 【http】 HttpRequest增加setCookieManager方法
* 【http】 改进url错误时的报错信息感谢@【北京】thumb
### Bug修复
* 【core】 修复ZipUtil.zlib压缩识别问题感谢@【上海】 沙漏)
* 【log】 调整log模块层次结构兼容slf4j的APIissue#IY8DX@Gitee
* 【core】 Convert.toXXX带默认值换成convertQuietly实现避免异常issue#403@Gitee
* 【log】 解决行号错误问题
* 【log】 修复decimalFormatMoney中整数丢失问题issue#IY9OV@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.5.13
### 新特性
* 【crypto】 提供HmacSM3支持issue#396@Github
* 【setting】 SettingLoader添加同步锁issue#396@Github
### Bug修复
* 【log】 修复log模块模板拼接时没有判断等级关闭与否的问题
-------------------------------------------------------------------------------------------------------------
## 4.5.12
### 新特性
* 【json】 解析JSON字符串去除两边空白符(同时解决字符串中bom问题issue#381@Github
* 【poi】 Sax解析增加在异常后关闭文件的逻辑issue#IXBOU@Gitee
* 【core】 MapUtil增加get重载TypeReferenceissue#IXL81@Gitee
* 【crypto】 RC4增加encryptHex和encryptBase64方法issue#387@Github
* 【core】 DateUtil.parse增加格式issue#385@Github
* 【core】 增加CollUtil.containsAny感谢【北京】宁静
* 【core】 增加CollUtil.keySet和valuesissue#IXYQJ@Gitee
### Bug修复
* 【poi】 解决三目运算符导致类型转换问题issue#385@Github
* 【core】 解决NumberUtil.decimalFormatMoney格式错误问题issue#391@Github
-------------------------------------------------------------------------------------------------------------
## 4.5.11
### 新特性
* 【core】 DateUtil.parse方法识别时间增强issue#IWMM6@Gitee
* 【extra】 Mail中Files附件可选为空issue#365@Github
* 【extra】 EmojiUtil增加containsEmoji方法pr#373@Github
* 【core】 Convert.toDBC()增加空校验issue#369@Github
### Bug修复
* 【core】 修复NumberUtil.decimalFormatMoney只有整数的bugissue#IWKVL@Gitee
* 【bloomFilter】 修复BitMapBloomFilter构造数bugissue#IWMIN@Gitee
* 【extra】 MailUtil.send方法传入自定义Setting失效问题感谢@【上海】康)
* 【core】 修复NetUtil.localIpv4s方法名改为localIpsissue#IWS2C@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.5.10
### 新特性
* 【extra】 修改MailUtil中的逻辑默认为非单例邮件客户端issue#IWFRQ@Gitee
### Bug修复
* 【http】 修复HttpUtil.toParams方法某些符号未转义问题issue#356@Github
* 【captcha】 修复验证码被遮挡问题issue#IWERW@Gitee
* 【poi】 修复readBySax重复问题issue#IVKLQ@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.5.9
### 新特性
* 【core】 修改Singleton单例策略IdUtil增加getSnowflakeissue#IWA0G@Gitee
* 【core】 增加RandomUtil.randomBooleanissue#351@Github
* 【core】 增加Base62实现Base62类
### Bug修复
* 【json】 修复JSON中含有日期导致的时间戳包含双引号问题
-------------------------------------------------------------------------------------------------------------
## 4.5.8
### 新特性
* 【cron】 CronPatternUtil增加nextDateAfter方法issue#IVYNL@Github
* 【core】 增加RandomUtil.randomDate方法issue#IW49T@Github
* 【db】 Table增加comment字段调整元信息逻辑issue#IW49S@Gitee
* 【core】 增加ConcurrencyTesterpr#41@Gitee
* 【core】 ZipUtil增加对流的解压支持issue#IW798@Gitee
### Bug修复
* 【core】 修复Enjoy模板创建多个引擎报错问题issue#344@Github
* 【crypto】 修复Linux下RSA/ECB/PKCS1Padding算法无效问题
* 【core】 修复ImgUtil.scale方法操作png图片透明失效问题issue#341@Github
* 【core】 修复JSON自定义日期格式无引号问题issue#IW4F6@Gitee
* 【core】 修复Android下CallerUtil.getCallerCaller空指针问题issue#IW68U@Gitee
* 【cache】 修复Cache中超时太大导致Long越界问题issue#347@Github
-------------------------------------------------------------------------------------------------------------
## 4.5.7
### 新特性
* 【core】 新增StrClipboardListenerissue#325@Github
* 【core】 新增DesktopUtilissue#326@Github
* 【core】 CollUtil.getFieldValues增加可选是否忽略null值issue#IVGEE@Gitee
* 【http】 新增SoapUtilSoapClient支持返回SOAPMessage
* 【core】 RobotUtil增加鼠标相关操作
* 【core】 增加DateModifierDateUtil增加truncate和ceiling方法issue#IVL9A@Gitee
* 【core】 PageUtil增加getStartissue#IVN0C@Gitee
* 【core】 CopyOptions增加ignoreXXX方法感谢@【南昌】...
* 【core】 ObjectUtil增加isEmpty方法感谢@【成都】AliK
### Bug修复
* 【core】 修复PatternPool中的URL_HTTP不支持端口的问题issue#IVF1V@Gitee
* 【extra】 修复JschUtil.exec多次connect的问题issue#339@Github
* 【http】 修复SoapUtil.toString乱码问题pr#337@Github
* 【http】 解决Cookie不规范导致的请求响应失败问题issue#336@Github
* 【setting】 GroupedMap增加读写锁解决并发问题issue#336@Github
* 【json】 修复JSONArray中add方法导致覆盖问题感谢@【江门】小草哥)
* 【core】 修复Convert对泛型支持不完善的问题issue#IVMD5@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.5.6
### 新特性
* 【http】 SoapClient增加setParams增加构造使用默认的namespaceURI方法
* 【core】 FileUtil增加cleanEmpty方法issue#319@Github
* 【core】 增加ClipboardMonitorissue#320@Github
* 【http】 SoapClient增加部分方法
* 【http】 HttpRequest增加setConnectionTimeout和setReadTimeoutissue#322@Github
* 【core】 Console增printPrograss
* 【core】 DateBetween增加null校验issue#IVC23@Gitee
* 【core】 增加CollUtil.getFieldValues重载issue#IV96S@Gitee
* 【db】 SqlExecutor和Db增加executeBatch重载支持批量SQLissue#324@Github
### Bug修复
* 【bloomFilter】修复负数导致的问题issue#IV6X6@Gitee
* 【setting】 修复Props监听问题
* 【json】 修复TypeUtil中空指针导致的注入失败问题issue#IVCLW@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.5.5
### 新特性
### Bug修复
* 【core】 Assert中NullPointerException改为IllegalArgumentExceptionissue#IV41L@Gitee
* 【core】 修复创建新sheet时比较器未清空导致的顺序问题issue#318@Github
-------------------------------------------------------------------------------------------------------------
## 4.5.4
### 新特性
* 【core】 NetUtil增加getUsableLocalPort方法并迁移至cn.hutool.core.net包
* 【core】 FileUtil增加isSub方法pr#39@Gitee
* 【core】 增加VoidFunc
* 【extra】 mail适配mail.setting和config/mail.setting双配置文件感谢@【江门】小草哥)
* 【corn】 cron适配cron.setting和config/cron.setting双配置文件感谢@【江门】小草哥)
* 【poi】 ExcelWriter增加autoSizeColumnAll方法ExcelBase增加getColumnCount、getRowCount方法感谢@@【长沙】M
* 【http】 添加SoapClient删除SoapRequest
### Bug修复
* 【db】 修复Session中事务问题issue#IUQMN@Gitee
* 【db】 修复Db中关闭逻辑错误导致的事务问题感谢@【宁波】mojie126
* 【http】 修复form方法使用Resource可能导致的空指针问题
* 【crypto】 修复SM2Engine逻辑错误感谢bcgit/bc-java
-------------------------------------------------------------------------------------------------------------
## 4.5.3
### 新特性
* 【core】 Simhash添加读写锁issue#IUF9O@Gitee
* 【core】 Img增加round方法圆角给定图片
* 【extra】 二维码中的图片做圆角处理
* 【core】 CsvData实现Iterable接口
* 【extra】 Ftp增加重连方法pr#38@Gitee
* 【extra】 Velocity升级至2.x不再兼容1.7
### Bug修复
* 【core】 修复ReflectUtil新建Map对象错误问题issue#IUF9O@Gitee
* 【core】 修复ImgUtil字体为null导致的空指针问题issue#IUF3X@Gitee
* 【extra】 修复Ftp中文件上传mkdirs方法创建多余文件夹的问题issue#ITAYV@Gitee
* 【extra】 修复Ftp中文件上传mkdirs方法创建多余文件夹的问题issue#ITAYV@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.5.2
### 新特性
* 【crypto】 增加读取pem格式私钥文件和公钥证书的方法位于BCUtilissue#ISJ5M@Gitee
* 【core】 增加StrUtil.byteLengthissue#284@Github
* 【core】 增加GlobalBouncyCastleProvider单例使用BouncyCastleProvider
* 【crypto】 增强对BC库的兼容性明确RSA为RSA/ECB/PKCS1Padding
* 【core】 snowflake生成器添加id反推生成时间等信息的方法pr#293@Github
* 【poi】 CellUtil.getCellValue增加null验证
* 【core】 增加文件内容跟随器Tailer
* 【crypto】 增加RC4算法
* 【core】 增加FixedLinkedHashMap
* 【extra】 增加ChannelTypeJschUtil增加createSession、createChannel、openChannel等方法
* 【core】 WatchUtil增加createModify
* 【core】 新增ImgUtil废弃ImageUtil
### Bug修复
* 【core】 修复ExceptionUtilpr#35@Gitee
* 【core】 修复RandomUtil注释标注问题pr#288@Github
* 【core】 修复TimedCache中onRemove失效问题issue#ITD0O@Gitee
* 【core】 修复DateConverter日期负数问题issue#ITWK4@Gitee
* 【json】 修复toBean时父类定义泛型字段导致的注入问题issue#ITGGN@Gitee
* 【cahce】 修复读锁导致的LRU异常issue#303@Gtihub
* 【captcha】 修复在某些未知情况下获取字体高度导致的问题
-------------------------------------------------------------------------------------------------------------
## 4.5.1
### 新特性
* 【socket】 socket模块加入到all中
* 【core】 增加Jdk8DateConverter用于支持jdk8中的时间issue#IS32N@Gitee
* 【core】 StrUtil.subPreGbk优化代码规范pull#277@Github
* 【crypto】 MD5支持16位值生成
* 【crypto】 Digester支持自定义盐所在位置
* 【captcha】 增加算数计算类验证码issue#282@Github
### Bug修复
* 【json】 修复JSON中toString导致的中文引号被转义问题感谢@【内蒙】程序员)
* 【core】 修复15位身份证生日校验问题issue#ISBUO@Gitee
* 【extra】 修复部分模板引擎classpath路径获取失败问题
-------------------------------------------------------------------------------------------------------------
## 4.5.0
### 新特性
* 【socket】 增加Socket模块
* 【core】 Validator增加isIpV4方法issue#IRQ6W@Gitee
* 【crypto】 增加SM2Engine支持C1C2C3和C1C3C2两种模式
* 【core】 StrUtil.splitTrim支持其它空白符issue#IRVPC@Gitee
* 【http】 请求支持DELETE附带参数模式issue#IRW9E@Gitee
* 【bloomFilter】调整BitMap注释
### Bug修复
* 【crypto】 修复KeyUtil中使用BC库导致的其它密钥生成异常
* 【core】 修正DateUtil.formatHttpDate方法
* 【extra】 修复FTP.ls无法遍历文件问题issue#IRTA3@Gitee
* 【extra】 修复QrCodeUtil中ratio参数失效问题调整默认纠错为M感谢@【上海】皮皮今)
* 【core】 修复FileTypeUtil对jpg文件识别问题issue#275@Github
* 【cache】 修复cache使用读锁导致的删除节点并发问题issue#IRZTL@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.4.5
### 新特性
* 【core】 增加StrFormater代码逻辑可读性pr#269@Github
* 【core】 Validator中使用泛型
* 【core】 NumberUtil增加toBytes和toInt方法
* 【core】 XmlUtil增加format方法支持缩进
* 【http】 SoapRequest增加executeBody方法issue#IRN6I@Gitee
* 【core】 调整XmlUtil.toStr方法对编码的逻辑
### Bug修复
* 【core】 修复AnnotationUtil.getAnnotationValue获取对象错误问题issue#271@Github
-------------------------------------------------------------------------------------------------------------
## 4.4.4
### 新特性
* 【crypto】 增加EC公钥压缩/解压缩pr#264@Github
* 【db】 Entity支持IS NOT NULL形式调整逻辑强化Condition的toStringissue#267@Github
### Bug修复
* 【core】 修复Profile中路径参数失效问题issue#265@Github
* 【core】 修复MapConvert中值类型转换错误的问题issue#268@Github
-------------------------------------------------------------------------------------------------------------
## 4.4.3
### 新特性
* 【crypto】 MD5以及Digester增加加盐支持issue#256@Github
* 【crypto】 整理KeyUtil减少冗余代码
* 【core】 增加Zodiac类DateUtil增加getZodiac、getChineseZodiac用于获取星座和生肖issue#260@Github
### Bug修复
* 【core】 修复ExceptionUtil.stacktraceToString中limit参数无效问题issue#IR7UE@Gitee
* 【core】 修复StrUtil.repeatByLength中数组越界问题issue#IRB2C@Gitee
* 【core】 修复FileUtil.remove移动后删除失败问题issue#IRF8R@Gitee
* 【extra】 修复Ftp中delDir逻辑导致的问题issue#IRCQ8@Gitee
* 【core】 修复XmlUtil.mapToXml中map值为空导致的空指针问题。issue#IRD7X@Gitee
* 【poi】 修复ExcelWriter中setOnlyAlias没有排除值的问题。issue#IRF9L@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.4.2
### 新特性
* 【core】 JSON中添加getStrEscaped方法并修改原getStr逻辑不再自动转义issue#IR7SW@Gitee
* 【core】 CLassLoaderUtil增加getJarClassLoader和loadClass重载方法issue#IR94T@Gitee
* 【crypto】 SM2密钥生成曲线修改为使用sm2p256v1pr#249@Github
* 【json】 JSONUtil增加空判断issue#253@Github
* 【core】 改进HexUtil.isHexNumberissue#254@Github
* 【http】 HttpRequest增加getConnection方法issue#251@Github
### Bug修复
* 【core】 修复URL转义问题issue#IR6QP@Gitee
* 【core】 修复WeightRandom权重为0的对象问题issue#252@Github
-------------------------------------------------------------------------------------------------------------
## 4.4.1
### 新特性
* 【core】 增加Rot回转N位简易替换密码、凯撒密码和莫尔斯电码
* 【crypto】 增加Vigenere密码
* 【db】 增加达梦7的驱动识别
* 【extra】 TemplateEngine适配更广泛的参数类型
* 【core】 HexUtil增加toHex方法增加CRC8和CRC16issue#IQWNB@Gitee
* 【http】 添加text/xml ContentTypepr#31@Gitee
* 【core】 Img、ImageUtil增加Resource和Path参数支持
* 【extra】 ServletUtil.getClientIP增加注释提示IP伪造风险
* 【poi】 增加Word07Writer
* 【crypto】 增加KeyUtilSecureUtil中的密钥生成迁移至此工具类中
* 【core】 增加URLEncoder自行实现解决空格转义问题HttpUtil废弃encode和decode方法
### Bug修复
* 【poi】 解决ExcelWriter中setSheet报错问题issue#235@Github
* 【crypto】 解决SecureUtil.readCertificate密码无效问题issue#240@Github
* 【json】 修复JSONUtil.toList针对对象中的类无法实例化导致的null问题issue#239@Github
* 【db】 修复MongoDS在Single模式下检查配置文件导致的问题issue#IR2BF@Github
-------------------------------------------------------------------------------------------------------------
## 4.4.0
### 新特性
* 【core】 增加MurmurHashMurmur3算法实现HashUtil增加murmur32、murmur64、murmur128方法
* 【core】 增加Simhash用于海量文本去重
* 【extra】 增加分词封装封装了ansj、HanLP、IKAnalyzer、Jcseg、Jieba、MMSeg、Lucene-analysis、Word的实现统一了接口
* 【core】 去除NumberUtil.parseInt和parseLong的8进制支持issue#234@Github
* 【extra】 Template部分修改命名减少歧义Engine->TemplateEngineEngineFactory->TemplateFactory
* 【poi】 ExcelWriter中Map支持aliasissue#IQISU@Gitee
### Bug修复
## 4.3.3
### 新特性
* 【poi】 ExcelWriter增加write重载可选强制加标题感谢@【北京】大熊)
* 【core】 ExceptionUtil增加isFromOrSuppressedThrowablepr#29@Gitee
* 【core】 ExceptionUtil增加convertFromOrSuppressedThrowablepr#30@Gitee
* 【crypto】 非对称和SM2构造传入的私钥和公钥支持Hex和Base64自动识别
### Bug修复
* 【core】 修复padAfter和padPre结果错误问题issue#IQANO@Gitee
* 【crypto】 修复SM2签名验证异常issue#IQAY0@Gitee
* 【extra】 修复Freemarker字符串模板无效问题issue#231@Github
* 【core】 修复StrUtil.strip问题issue#232@Github
-------------------------------------------------------------------------------------------------------------
## 4.3.2
### 新特性
* 【core】 StrUtil增加equalsAny和equalsAnyIgnoreCase方法issue#IPUQK@Gitee
* 【http】 StrUtil增加equalsAny和equalsAnyIgnoreCase方法issue#223@Github
* 【http】 StrUtil增加padPre、padAfter、center方法issue#IPWR0@Gitee
* 【core】 ImageUtil增加compress方法issue#IPYIF@Gitee
* 【core】 ReflectUtil增加getMethodByName、getMethodByNameIgnoreCaseissue#IQ2BO@Gitee
* 【crypto】 增加SmUtil国密算法工具类issue#225@Github
* 【crypto】 增加SM2非对称加密issue#225@Github
* 【db】 增加AbstractDSFactory减少冗余代码
* 【json】 JSONUtil.toBean增加可选是否忽略错误issue@227@Gtihub
### Bug修复
* 【core】 修复FileUtil.lastIndexOfSeparator空指针问题issue#IPXPK@Gitee
* 【core】 修复ArrayUtil.newArray泛型问题
* 【core】 修复CsvWriter循环调用问题issue#IQ8T6@Gitee
* 【poi】 修复ExcelReader读取Map空头导致的问题issue#IQ6F2@Gitee
* 【db】 修复Driver识别导致的SQL Server方言异常issue#IQ687@Gitee
* 【core】 修复Number.isInteger和isLong判断问题issue#229@Github
-------------------------------------------------------------------------------------------------------------
## 4.3.1
### 新特性
* 【core】 新增DateUtil.dateNew方法issue#217@Github
* 【extra】 JschUtil.exec增加重载可选错误输出issue#IPNAB@Gitee
* 【core】 增加NoLockissue#218@Github
* 【core】 QrCode.decode改进
* 【core】 合并无必要的构造方法
* 【setting】 Setting.getMap方法在分组不存在时返回空Map而非nullissue#IPU2X@Gitee
### Bug修复
* 【db】 解决数据源识别错误问题issue#IPNI7@Gitee
* 【core】 修复DateField.of缺失字段问题issue#IPP51@Gitee
* 【core】 JSONObject中忽略空值失效问题issue#221@Github
-------------------------------------------------------------------------------------------------------------
## 4.3.0
### 新特性
* 【core】 增加TypeReference类issue#IPAML@Gitee
* 【json】 支持TypeReference类转换并对toBean逻辑做了大量变动issue#IPAML@Gitee
* 【core】 ArrayUtil.get和CollUtil.get返回null而非空指针issue#IPKZO@Gitee
### Bug修复
* 【extra】 修复VelocityEngine中模板中文乱码问题issue#216@Github
-------------------------------------------------------------------------------------------------------------
## 4.2.2
### 新特性
* 【json】 JSONObject调整构造方法支持对象转为JSON可选是否有序issue#IP1Q2@Gitee
* 【core】 BeanUtil增加hasGetter和hasSetter方法
* 【core】 StrUtil增加isUperCase和isLowerCase方法增加removeAll和removeAllLineBreaksissue#IP7PT@Gitee
* 【db】 增加PostgreSQL的单元测试
* 【core】 ArrayUtil增加sub方法泛型支持
* 【core】 从Apache-commons-lang3移植Builderissue#IPALY@Gitee
* 【core】 增加Func1接口ReUtil和StrUtil增加Func1参数的replace方法pr#27@Gitee
* 【db】 Table增加getColumn方法Column补充注释issue#209@Github
### Bug修复
* 【cron】 修复L代表的最后一天无效问题issue#IP5PB@Gitee
* 【core】 修复验证15位身份证月的判断问题issue#IP70D@Gitee
* 【poi】 修复多次调用write方法写出多个标题问题issue#212@Github
* 【extra】 修复模板写出文件空白问题issue#208@Github
-------------------------------------------------------------------------------------------------------------
## 4.2.1
### 新特性
* 【extra】 增加基于emoji-java的EmojiUtil
* 【http】 增加User-agent解析
* 【crypto】 引入bouncycastle从而对国密SM2、SM3、SM4支持
* 【poi】 新增ExcelFileUtil改进错误提示
### Bug修复
-------------------------------------------------------------------------------------------------------------
## 4.1.22
### 新特性
* 【core】 BeanUtil.copyProperties方法支持目标为Mapissue#IOQHZ@Gitee
* 【poi】 ExcelWriter增加方法setOnlyAlias用于特定字段剔除issue#IOOVK@Gitee
* 【captcha】 增加setBackground方法issue#200@Github
* 【core】 NetUtil增加idnToASCII方法issue#201@Github
* 【log】 增加JBoss-Logging支持issue#IOVS1@Gitee
* 【http】 增加URL标准化从而支持非http开头的URL字符串
### Bug修复
* 【core】 修复Validator.isBirthday
-------------------------------------------------------------------------------------------------------------
## 4.1.21
### 新特性
* 【core】 RuntimeUtil增加getErrorResult方法issue#199@Github
* 【core】 ReflectUtil增加hasField方法感谢@【杭州】J辉
* 【core】 BeanUtil增加toBean方法感谢@【杭州】J辉
* 【db】 增加对HSQLDB支持改进Driver自定识别
### Bug修复
* 【core】 修复EnumUtil.getFieldNames定义name属性重复问题感谢@【杭州】J辉
* 【json】 修复List多层嵌套toBean转换失败问题
* 【core】 修复ObjectUtil.toString问题issue#IONLA@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.1.20
### 新特性
* 【http】 增强SoapRequest的兼容性感谢@【南京】陽光)
* 【core】 改进ZipUtil错误提示
* 【core】 DateUtil.parse方法读取时间时年月日按照当天计算。issue#INYCF@Gitee
* 【core】 DateUtil.parse改进支持UTC时间格式。
* 【db】 MongoDS支持客户端验证issue#IO2DS@Gitee
* 【core】 改进字符串转集合和数组支持逗号分隔形式pr#26@Gitee
* 【core】 改进DateConverterissue#IOCWR@Gitee
* 【core】 改进NumberUtil中转数字支持字母结尾issue#IOCWR@Gitee
* 【poi】 ExcelUtil增加indexToColName和colNameToIndex方法issue#IO8ZH@Gitee
* 【core】 Convert.toList修改为泛型issue#IOJZV@Gitee
* 【core】 BeanDesc中属性修改为使用LinkedHashMap存储
* 【core】 ArrayUtil.get和CollUtil.get对于越界返回null而非抛出异常issue#IOFKL@Gitee
* 【core】 EnumUtil增加likeValueOf方法issue#IOFKL@Gitee
* 【core】 删除CollUtil.sortPageAll2方法增加ColllUtil.page方法
### Bug修复
* 【core】 修正CollUtil.sortPageAll逻辑pr#186@Github
* 【core】 修复ClassLoaderUtil.loadClass不能加载内部类问题issue#IO4GF@Gitee
* 【core】 修复CustomKeyLinkedMap继承问题issue#IO5Y2@Gitee
* 【core】 修复NumberUtil.isPrimes没有参数校验导致的问题issue#IO57Q@Gitee
* 【extra】 修复QrConfig 引入包错误问题pr#194@Github
* 【extra】 修复Sftp创建目录问题issue#INZUP@Gitee
* 【core】 修复CollUtil.sortPageAll方法
* 【core】 修复ImageUtil图片旋转出现黑边问题pr#189@Github
-------------------------------------------------------------------------------------------------------------
## 4.1.19
### 新特性
* 【extra】 Ftp增加setMode方法issue#INPMZ@Gitee
* 【core】 IdUtil增加fastUUID和fastSimpleUUID方法issue#INU37@Gitee
* 【core】 DateUtil增加formatChineseDate方法issue#INT6I@Gitee
* 【core】 ClassUtil中部分方法迁移至ReflectUtil
* 【json】 新增JSONConfig统一JSON配置并添加可选的自定义输出日期格式支持
### Bug修复
* 【core】 修复ImageUtil文件流未关闭问题感谢@【西安】追寻)
* 【core】 修复ZipUtil中gzip和zlib方法未调用finish导致的问题issue#INSXF@Gitee
* 【core】 修复ZipUtil中文件目录同名无法压缩的问题issue#INQ1K@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.1.18
### 新特性
* 【http】 改进字符串匹配正则issue#INHPD@Gitee
* 【core】 增加gzip和UnGzip针对流的方法issue#INKMP@Gitee
* 【http】 增加ThreadLocalCookieStore
### Bug修复
* 【core】 修复BeanUtil.copyProperties参数多余问题
* 【cron】 修复表达式匹配错误问题issue#INLEE@Gitee
* 【core】 修复ReflectUtil获取空参数方法导致的问题issue#INN5W@Gitee
* 【json】 修复JSONArray.toList方法导致的问题issue#INO3F@Gitee
* 【core】 修复NumberUtil.parseLong中0转换问题方法导致的问题issue#INO3F@Gitee
* 【core】 修复CompareUtil循环引用问题issue#180@Github
-------------------------------------------------------------------------------------------------------------
## 4.1.17
### 新特性
### Bug修复
* 【core】 修复JDK7之后比较器中违反自反性导致的问题
* 【cron】 修改部分逻辑
-------------------------------------------------------------------------------------------------------------
## 4.1.16
### 新特性
* 【core】 Convert.增加boolean类型转数字issue#INCKM@Gitee
* 【core】 新增BooleanUtil
### Bug修复
* 【core】 修复JDK11下Caller被弃用导致的问题issue#174@Github
-------------------------------------------------------------------------------------------------------------
## 4.1.15
### 新特性
* 【core】 Convert.toInt增加容错NumberUtil增加toNumber方法issue#IN2LP@Gitee
* 【core】 ImageUtil增加cut切圆形方法issue#IN3JJ@Gitee
* 【core】 Img增加setPositionBaseCentre可选坐标计算基于中心issue#IN3JM@Gitee
* 【core】 ImageUtil增加逻辑判断颜色模式避免失色问题issue#IN3JK@Gitee
* 【cron】 改进规则支持20/2这类形式
* 【extra】 ServletUtil.write增加重载方法支持文件issue#IN9O0@Gitee
### Bug修复
* 【core】 修复DateUtil.yearAndQuarter计算错误的问题issue#IN38V@Gitee
* 【core】 修复ClassUtil.isPublic判断问题issue#IN38V@Gitee
* 【extra】 修复JschUtil中Session关闭未移除出池导致的问题issue#171@Github
* 【core】 修复NumberUtil.isInteger中0判断问题issue#IN9BS@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.1.14
### 新特性
* 【core】 StrUtil增加hide方法
* 【core】 PatternPool增加URL_HTTP原URL规则变更
* 【extra】 统一FTP和SFTP接口规范
* 【extra】 QrCodeUtil支持二维码中贴Logo图片
* 【core】 校准ImageUtil.pressText文字位置
* 【core】 ImageUtil增加getColor等方法
* 【core】 增加RobotUtil提供截屏等封装增加ScreenUtil用于获取屏幕属性
* 【extra】 QrCodeUtil增加条形码等其它类型支持issue#IN1CR@Gitee
* 【core】 增加DateUtil.parseUTC方法issue#IN1IO@Gitee
* 【core】 增加DateUtil.isWeekend方法
* 【all】 加入Travis-CI验证项目构建
### Bug修复
* 【core】 修复ImageUtil.convert转换png变色问题issue#IMWUO@Gitee
* 【core】 修复FileUtil.newerThan中null判断的问题issue#165@Github
* 【extra】 修复Ftp中mkdir方法引起的数组越界问题
-------------------------------------------------------------------------------------------------------------
## 4.1.13
### 新特性
* 【core】 增加RejectPolicy线程池线程拒绝策略枚举
* 【core】 DateUtil增加isSame方法
* 【core】 FileUtil.getAbsolutePath方法在获取不到ClassPath情况下返回原路径
* 【core】 打印SQL日志覆盖每一个方法
* 【core】 Convert.toXXX转数字的时候默认去除两边空白符
* 【poi】 增加BigExcelWriter支持Excel大数据导出issue#IK47S@Gitee
* 【core】 ExceptionUtil增加isCausedBy和getCausedBy方法
* 【poi】 EnumUtil增加toString和fromString
* 【poi】 新增IdUtil工具类
### Bug修复
* 【core】 修复RuntimeUtil.getResultLines未关闭Process问题pr#164@Github
* 【core】 修复ClassPathResource在jar运行模式下的空指针问题
-------------------------------------------------------------------------------------------------------------
## 4.1.12
### 新特性
* 【core】 ExcelReader.read方法返回的Map默认有序
### Bug修复
* 【core】 修复ZipUtil以及FileUtil中slip漏洞issue#162@Github
* 【core】 修复ZipUtil路径问题issue#IMUEK@Gitee
* 【core】 修复FileUtil.getParent方法获取父路径不严格导致空指针问题
-------------------------------------------------------------------------------------------------------------
## 4.1.11
### 新特性
* 【core】 Convert增加toList方法
* 【core】 StrUtil增加containsAny针对char的重载
* 【core】 FileUtil.mainName修正处理逻辑
* 【core】 CharUtil增加isFileSeparator方法
* 【core】 增加UUID类提升Simple模式下性能
* 【poi】 ExcelUtil增加setStyleSet方法修改write逻辑对于单列数据输出而非忽略感谢@【宁波】mojie126
* 【core】 新增WebAppResource类
* 【extra】 新增Thymeleaf模板支持
* 【setting】 去除Setting日志
### Bug修复
* 【script】 修复FullSupportScriptEngine构造中ext和mimeType方式获取引擎丢失问题
* 【cron】 修复定时任务执行阻塞问题
-------------------------------------------------------------------------------------------------------------
## 4.1.10
### 新特性
* 【extra】 Template增加Jfinal的Enjoy模板支持
* 【core】 Assert增加checkBetween方法Validator增加isBetween和validatorBetween
* 【core】 增加CollUtil.getLast方法感谢@【帝都】宁静)
* 【core】 修改Assert.notNull注释issue#IMI3Z@Gitee
* 【core】 BeanUtil增加isEmpty和hasNullField方法pr#157@Github
* 【log】 ConsoleLog增加setLevel方法issue#IMLZ3@Gitee
* 【captcha】 解决验证码超出背景的问题issue#IHWHE@Gitee
### Bug修复
* 【core】 修复BOMInputStream构造的问题pr#22@Gitee
* 【json】 修复toBean中如果字段中为字符串而JSON中为JSONObject对象注入失败问题issue#IMGBJ@Gitee
* 【setting】 修复keySet总返回空问题issue#IMHD7@Gitee
* 【extra】 修复starttls和SSL连接混淆问题issue#IMLMD@Gitee
* 【setting】 修复getStr无法获取默认值问题issue#IMLMI@Gitee
* 【core】 修复BeanUtil.mapToBean设置别名失效问题
-------------------------------------------------------------------------------------------------------------
## 4.1.9
### 新特性
* 【core】 MapUtil增加toObjectArray方法
* 【core】 URLUtil.normalize增加反斜杠处理issue#IM8BI@Gitee
* 【core】 增加ClassUtil.getShortClassNameissue#IM8XM@Gitee
* 【core】 增加ThreadFactoryBuilder和ExecutorBuilder
* 【cron】 定时任务改为线程池实现
* 【core】 Assert增加checkIndex方法
* 【core】 parseBoolean增加on、off关键字支持可选字符串
* 【core】 URLUtil.formatUrl方法兼容更多情况issue#IMAEA@Gitee
* 【core】 改进NumberUtil.isInteger和isLong判断issue#IMDGB@Gitee
* 【http】 HttpResponse增加isOk方法issue#155@Github
* 【http】 改进HttpUtil.downloadXXX方法返回非2XX抛出异常issue#IMCTT@Gitee
* 【http】 HttpRequest增加setUrlHandler方法issue#IMD1X@Gitee
* 【http】 HttpRequest增加getCookieManager和closeCookie方法issue#IMDND@Gitee
### Bug修复
* 【core】 修复IdcardUtil中isValidCard10空指针问题issue#IMB7R@Gitee
* 【core】 修复SoapRequest空指针问题issue#IMBUN@Gitee
* 【http】 修复文件上传没有关闭File的问题issue#IMDUY@Gitee
* 【json】 修复toBean中有Map参数导致的值丢失问题issue#IMDEM@Gitee
* 【bloomFilter】修复hash值负数问题issue#154@Github
* 【core】 修复Convert中Map强转导致的问题
-------------------------------------------------------------------------------------------------------------
## 4.1.8
### 新特性
* 【http】 HttpRequest增加getUrl、getMethod等方法
* 【core】 Validator增加isWord和ValidateWord感谢@【帝都】宁静)
* 【core】 增加CollUtil.filter针对List的重载issue#IM1NI@Gitee
* 【core】 增加ImageUtil.toBase64
* 【http】 增加SoapRequest
* 【poi】 ExcelWriter增加renameSheet方法issue#150@Github
* 【core】 ZipUtil增加unzipFileBytes方法issue#IM5KO@Gitee
* 【aop】 加入Cglib实现的切面支持issue#IM4Y2@Gitee
* 【extra】 加入FTP客户端支持基于commons-net封装
### Bug修复
* 【http】 修复编码自动识别的bugissue#IM33O@Gitee
* 【db】 修复Session中ds引起的空指针问题感谢@【武汉】jellard
* 【core】 修复ReflectUtil.newInstance二次调用资源问题issue#IM51X@Gitee
* 【core】 修复ClassScaner包名前缀引起的问题issue#IM5OJ@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.1.7
### 新特性
* 【db】 SqlRunner被弃用
### Bug修复
* 【db】 修复Oracle分页问题issue#ILZDA@Gitee
* 【db】 Dialect使用单例
-------------------------------------------------------------------------------------------------------------
## 4.1.6
### 新特性
* 【core】 OptNullBasicTypeGetter增加getDate方法issue#ILUQM@Gitee
* 【core】 RuntimeUtil增加可选环境变量参数issue#ILV2I@Gitee
* 【core】 修改Caller结构
### Bug修复
* 【db】 修复Oracle分页多一条问题issue#ILUQM@Gitee
* 【poi】 修复ExcelWriter换行问题issue#ILXLI@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.1.5
### 新特性
* 【poi】 ExcelWriter支持通过别名方式设置Bean写出的顺序感谢@【武汉】zzz
* 【db】 SQL日志打印扩展到所有SQL感谢@【河北】理想主义)
* 【core】 增加FileUtil.copyFilesFromDir方法issue#ILRLG@Gitee
* 【core】 EscapeUtil.unescapeHtml4和EscapeUtil.escapeHtml4issue#112@Github
* 【http】 增加CustomProtocolsSSLFactory和AndroidSupportSSLFactorypr#142@Github
* 【setting】 添加SettingUtil感谢@【杭州】t-io
* 【bloomFilter】添加BloomFilterUtil
* 【core】 添加Img类
### Bug修复
* 【http】 修复body方法判断Content-Type失效问题感谢@【上海】皮皮今)
* 【core】 修复FileUtil.copy方法在目标不存在的情况下报错问题
* 【core】 修复ClassScaner在Spring boot fat jar下扫描失败的问题issue#IKDJW@Gitee
* 【json】 修复JSONObject构造names列表为空导致的构造空对象issue#143@Github
* 【core】 修复ImageUtil.pressText图片有黑边的问题issue#141@Github
-------------------------------------------------------------------------------------------------------------
## 4.1.4
### 新特性
* 【all】 补充package-info
* 【db】 增加方法SqlExecutor.callQuery(issue#ILJ0N@Gitee)
* 【core】 ExceptionUtil增加部分方法
* 【system】 SystemUtil增加部分方法
* 【core】 新增NamedThreadLocalissue#ILJ0Z@Gitee
* 【core】 ZipUtil新增Zlib压缩解压
* 【core】 NumberUtil增加parseInt和parseLong支持10进制、8进制和16进制自动识别
* 【db】 Table继承自LinkedHashMap保证字段读出有序感谢@【帝都】宁静)
* 【json】 JSONObject子类自动判断是否有序感谢@【帝都】宁静)
* 【poi】 抽象ExcelBase提取共用方法
### Bug修复
* 【http】 修复HttpRequest.setFollowRedirects无效问题issue#ILIKG@Gitee
* 【core】 修复CharUtil.isEmoji问题
* 【http】 修复HttpResponse.writeBody同步模式下写出失败问题
* 【http】 修复Cookie机制导致的部分Cookie信息不能在请求时附带的问题
* 【json】 修复JSONArray.toArray转换为原始类型导致的异常问题
-------------------------------------------------------------------------------------------------------------
## 4.1.3
### 新特性
* 【all】 优化db的DsFactory、log的LogFactory、extra的TemplateUtil逻辑减少异常栈嵌套
* 【core】 Validator增加isMac、validateMac方法感谢@【上海】阳仔)
### Bug修复
* 【core】 修复ArrayUtil.join前后fix失效问题@【河北】理想主义)
* 【core】 修复DateRange最后一个元素逻辑问题issue#ILE38@Gitee
* 【cron】 修复调用CronUtil.stop()方法无法正常结束作业进程的问题issue#ILFCZ@Gitee
* 【db】 修复page方法在Oracle中丢失参数问题issue#ILGXP@Gitee
* 【extra】 修复QrCodeUtil.decode对复杂二维码解码失败问题感谢@【成都】小朋友)
-------------------------------------------------------------------------------------------------------------
## 4.1.2
### 新特性
* 【core】 MapUtil增加getDate方法感谢@【帝都】宁静)
* 【json】 putByPath方法增加容错性支持下标越界识别为追加issue#IKNM6@Gitee
* 【core】 增加FileUtil.getParent方法pr#18@Gitee
* 【core】 ImageUtil.pressText增加抗锯齿pr#19@Gitee
* 【core】 BeanUtil.getPropertyDescriptors去除class属性issue#IKVKR@Gitee
* 【json】 putByPath方法针对空的规则变更issue#IKX2H@Gitee
* 【captcha】 增加CodeGenerator可自定义验证码文字生成策略issue#IL3YH@Gitee
* 【core】 增加CollUtil.list方法更灵活的创建ArrayList和LinkedList
* 【core】 DateTime增加时区支持issue#131@Github
* 【extra】 QrCodeUtil二维码生成支持设置边距、颜色等自定义项issue#135@Github
### Bug修复
* 【core】 修复JSONUtil.formatJsonStr引号换行问题issue#IKMMK@Gitee
* 【core】 修复URLUtil.getDecodedPath可能导致的空指针问题issue#IKLRD@Gitee
* 【core】 修复PinyinUtil.getAllFirstLetter非汉字显示问题issue#IKM0P@Gitee
* 【json】 修复当Bean为私有类时无法实例化导致的JSON转换问题感谢@【上海】风景)
* 【json】 修复Bean中有Object字段时toBean产生的问题感谢@【上海】风景)
* 【core】 修复XmlUtil关闭XXE避免XXE攻击
* 【poi】 修复Excel03SaxReader读取小数的问题感谢@【深圳】rm -rf /
* 【core】 修复CollUtil.findOne空参数导致的空指针问题issue#133@Github
* 【core】 修复JSONArray.addAll问题pr#137@Github
* 【core】 修复UnicodeUtil单独空格无法转换问题
-------------------------------------------------------------------------------------------------------------
## 4.1.1
### 新特性
* 【poi】 ExcelWriter写出bean使用LinkedHashMap
* 【core】 UnicodeUtil新增1、\u大小写不区分2、\u后跟非16进制按照非Unicode符对待直接输出issue#IKJGU@Gitee
* 【crypto】 增加Bcrypt实现参照jBCrypt
* 【core】 XXXIterator修改为XXXIter同时实现Iterator和Iterable接口
* 【core】 Dict使用LinkedHashMapEntity也是
### Bug修复
* 【setting】 修复store方法无换行问题
* 【core】 修复UnicodeUtil.toString方法不正确Unicode死循环问题issue#IKJGU@Gitee
* 【http】 修复HttpsURLConnectionOLDImpl导致的转换异常issue#IKKGF@Gitee
* 【crypto】 修复RSA分段加密解密的bug感谢@【深圳】Demo
* 【poi】 修复ExcelWriter写出文件无法覆盖问题感谢@【宁波】mojie126
* 【poi】 修复sax方式读取空行空指针问题issue#124@Github
-------------------------------------------------------------------------------------------------------------
## 4.1.0
### 新特性
* 【extra】 模板工具改为模板门面,抽象各模板引擎
* 【core】 修改Season为quarterpr#114@Github
* 【core】 CollUtil增加removeAny方法
* 【core】 StrUtil增加emptyToDefault和blankToDefaultissue#115@Github
* 【core】 优化排列组合算法(感谢@【青岛】LQ
* 【core】 NumberUtil增加roundHalfEven感谢@【青岛】LQ
* 【http】 HttpRequest.form支持多文件上传相同keyissue#IJYWM@Gitee
* 【db】 新增SqlLog独立SQL日志打印配置
* 【poi】 ExcelReader新增readAsText方法ExcelWriter新增setHeaderOrFooter方法设置页眉页脚
* 【crypto】 删除DSA类DSA算法用在Sign中修改规则RSA分段方式变为全局issue#IKGKG@Gitee
* 【core】 DateUtil添加range和rangeToList方法增加DateRange类issue#119@Github
* 【core】 StrUtil增加concat方法可选是否null转""(感谢@【帝都】宁静)
### Bug修复
* 【core】 修复StrUtil.replace方法第一个字符无法替换问题issue#IJZR0@Gitee
* 【core】 修复Season计算问题pr#114@Github
* 【core】 修复PinyinUtil获取拼音特殊字符转数字问题issue#IJNWH@Gitee
* 【core】 修复FileUtil.isAbsolutePath方法正则问题issue#IJZUB@Gitee
* 【extra】 修复ServletUtil.getMultipart方法的问题
* 【http】 修复patch方法无效问题issue#IK2Z8@Gitee
* 【core】 修复DateUtil.parseTimeToday格式问题issue#IK25B@Gitee
* 【poi】 修复设置字体日期和小数无效问题issue#IK488@Gitee
* 【core】 修复NumberUtil.partValue的bugpr#15@Gitee
* 【poi】 调整了readBySax方式读取导致的部分问题
* 【core】 修复CsvRow的get方法越界问题issue#IK9CX@Gitee
* 【core】 修复UnicodeUtil丢失末尾字符串的问题issue#IKI6T@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.0.13
### 新特性
* 【json】 JSONArray添加jsonIter方法可以实现foreach语法遍历JSONObjectissue#IJPIJ@Gitee
* 【core】 强化FileTypeUtil中对PDF文件格式的识别兼容性issue#IJO1K@Gitee
* 【core】 修改BetweenFormater枚举规则修复不足1天显示空问题
* 【http】 由于JDK9移除了javax.activation导致的问题修复移除相关包依赖issue#109@Github
* 【core】 改进Resource增加getName方法增加构造支持name
* 【core】 RandomUtil增加randomStringUpper方法issue#IJVLS@Gitee
### Bug修复
* 【core】 修复XmlUtil.toStr方法注释丢失问题issue#IJPUA@Gitee
* 【core】 修复ImageUtil.scale和createFont方法的bugissue#IJOKE@Gitee
* 【core】 修复StrUtil.format方法Map参数中值为null导致的空指针问题issue#IJO31@Gitee
* 【core】 修复ReUtil.getAllGroups丢失最后一个分组问题issue#IJRJM@Gitee
* 【json】 修复Bean中为Map导致的泛型类型不匹配问题issue#IJRJM@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.0.12
### 新特性
* 【core】 ClassScaner支持jar的嵌套
### Bug修复
* 【setting】 修复Setting中size的bug
* 【cron】 修复Setting修改导致的定时任务读取错误问题issue#IJMVN@Gitee
* 【setting】 修复Props中autoLoad无效问题issue#IJMOE@Gitee
* 【cron】 修复表达式中年匹配位置的问题issue#106@Gtihub
* 【log】 修复log.info(null)空指针问题issue#IJNRW@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.0.11
### 新特性
* 【core】 Week.toChinese()添加可选参数,选择星期的前缀(比如是“星期”还是“周”)
* 【core】 PinyinUtil增加方法汉字转拼音pr#11@Gitee
* 【core】 Convert增加toList方法
* 【core】 CollUtil增加toList方法感谢@【帝都】宁静)
* 【poi】 新增FormulaCellValue对象用于写出公式支持感谢@【宁波】mojie126
### Bug修复
* 【core】 修复NumberChineseFormater.format()方法无“元”字的问题issue#IJ6MR@Gitee
* 【core】 修复FileUtil.loopFile遍历根目录时空指针错误问题
* 【poi】 修复ExcelReader遇到ERROR单元格时报错问题感谢@夏夜神话
* 【http】 修复HttpUtil.post传入json字符串导致的问题issue#99@Github
* 【json】 修复Unicode不可见字符转义导致的中文双引号等符号显示问题issue#IJFBD@Gitee
* 【core】 修复ReferenceUtil中SoftReference错误问题pr#105@Github
* 【db】 删除ActiveRsHandler歧义修复showSql属性报错问题issue#IJII8@Gitee
* 【setting】 大改Setting逻辑使用GroupedMap代替分组拼接方式解决了无分组情况下会包含分组的问题
-------------------------------------------------------------------------------------------------------------
## 4.0.10
### 新特性
* 【poi】 ExcelWriter.merge方法加入重载可选是否加入默认标题样式
* 【poi】 ExcelSaxReader改进按照流读取工作簿的构造使之对于mark不支持的流也可解析
* 【cron】 添加updatePattern方法可更新Task执行时间规则(感谢@【上海】嘿)
* 【cache】 添加get方法支持可选的是否更新lastAccess时间issue#IISC4@Gitee
* 【core】 StrUtil增加isNullOrUndefined、isEmptyOrUndefined、isBlankOrUndefined方法issue#IIR44@Gitee
* 【core】 isBlankChar方法迁移到CharUtil中
* 【db】 增加NamedSql
* 【poi】 对于POI未引入或版本错误提供更加明确的提示
* 【core】 增加UUIDConverter支持UUID对象的自动转换
* 【core】 IterUtil增加fieldValueList、fieldValueAsMap、join重载方法(issue#IIU4F@Gitee)
* 【core】 IoUtil增加checksum、toBuffered方法StrUtil增加maxLength方法参考osgl-tool
* 【poi】 ExcelReader支持自定义sheet
### Bug修复
* 【poi】 修复ExcelWriter合并单元格后样式失效问题
* 【http】 修复HttpUtil.download方法遇到特殊Disposition时处理异常问题感谢@【深圳】Bomb
* 【core】 修复StrUtil.toUnderlineCase方法中下划线转下划线导致的问题
* 【core】 修复RandomUtil.randomEles方法计数错误问题issue#98@Github
* 【core】 修复NumberChineseFormater负数小数结果错误问题pr#10@Gitee
* 【captcha】修复验证码无法序列化的问题issue#IJ2MI@Gitee
-------------------------------------------------------------------------------------------------------------
## 4.0.9
### 新特性
* 【core】 SecureUtil增加signParamsSha1方法感谢@【帝都】宁静)
* 【core】 XmlUtil增加mapToXml和xmlToMap感谢@【杭州】小宙子)
* 【captcha】修改逻辑在创建验证码对象时生成一个验证码感谢@【重庆】liuuuu
* 【core】 CopiedIterator使用LinkedList替代ArrayListissue#III8K@Gitee
* 【poi】 ExcelWriter增加getOrCreateCell、createStyleForCell方法便于自定义特殊单元格
* 【core】 增加AnnotationUtil类
* 【core】 IoUtil增加toMarkSupportStream方法
* 【poi】 ExcelReader改进按照流读取工作簿的构造使之对于mark不支持的流也可解析
* 【core】 新增BytesResource和InputStreamResource
* 【core】 RandomUtil新增randomBigDecimal感谢@【帝都】宁静)
* 【db】 Column对象添加comment字段
* 【core】 Base64增加encode方法参数为Inputstream和File新增decodeToFile、decodeToStreamissue#IILZS@Gitee
* 【core】 扩充XmlUtil部分方法
### Bug修复
* 【core】修复StrUtil.replace问题感谢@【上海】piaohao
* 【mail】解决在javax.mail大于1.5版本时附件名过长在国内邮箱导致的显示错误问题添加splitlongparameters参数
* 【core】修复ZipUtil.zip压缩目录时加入盘符问题感谢@【深圳】Vmo
* 【core】修复PropertyComparator失效问题感谢@【长沙】哼哼
* 【cron】修复20/2此类表达式无效问题感谢@【广州】杨小过
* 【core】修复XmlUtil.toStr编码设置无效问题
-------------------------------------------------------------------------------------------------------------
## 4.0.8
### 新特性
* 【core】新增PinyinComparator、CollUtil新增sortByPinyin感谢@【帝都】宁静)
* 【json】JSONUtil增加xmlToJson方法
* 【poi】 ExcelWriter增加setColumnWidth和setRowHeight方法
* 【core】FileUtil.clean增加字符串重载感谢@【帝都】宁静)
* 【core】ArrayUtil增加insert方法感谢@【帝都】宁静)
* 【core】RandomUtil.randomDouble增加可选保留小数重载感谢@【帝都】宁静)
* 【core】增加RandomUtil.randomDay随机天感谢@【帝都】宁静)
* 【poi】 ExcelWriter增加setOrCreateSheet方法从而支持多sheet生成
### Bug修复
* 【json】修复JSONArray中addAll加入两次的bug感谢@【天津】〓下页)
* 【core】修复BeanDesc中对static属性未忽略的问题感谢@【深圳】枫林晓寒)
* 【http】解决无法移除默认头信息的问题
* 【core】修复Base64在decode时针对urlSafe乱码问题issue#89@Github
* 【core】修复ReUtil.extractMulti(感谢@【杭州】徐承恩)
* 【core】修复DESede类中算法错误问题issue#93@Github
-------------------------------------------------------------------------------------------------------------
## 4.0.7
### 新特性
* 【core】新加math包并添加MathUtil工具类排列组合迁入此
* 【core】StrUtil增加move方法字符串位移感谢@【帝都】宁静)
* 【core】ArrayUtil的max和min采用可变参数T[]除外)(感谢@【帝都】宁静)
* 【core】NumberUtil增加max和min方法与ArrayUtil一致感谢@【帝都】宁静)
* 【poi】 去除InternalExcelUtil根据功能新增WorkbookUtil、RowUtil、CellUtil、ExcelPicUtil
* 【core】新增PinyinUtil感谢@【帝都】宁静)
* 【core】StrUtil增加wrapAll、wrapAllIfMissing感谢@【帝都】宁静)
* 【core】Singleton增加put方法
* 【core】Convert增加convertByClassName方法
* 【json】JSONUtil增加toList快捷方法
### Bug修复
* 【core】修复排列组合结果错误问题感谢@【帝都】宁静)
* 【poi】 修复StrUtil.unWrap传入null导致的越界问题issue#II1VU@Gitee
* 【core】修复ImageUtil.sliceByRowsAndCols方法计算错误感谢@【唐山】小虫)
* 【core】修复StrUtil.replace问题感谢@【霾都】QQ小冰
* 【core】修复FileTypeUtil对jpg的识别范围issue#91@Github
-------------------------------------------------------------------------------------------------------------
## 4.0.6
### 新特性
* 【poi】 ExcelReader增加getWriter、getOrCreateCell方法
* 【core】NetUtil增加isInRange方法感谢@【成都】小邓)
* 【core】新增BeanPath仅支持部分JSONPath语法
* 【core】CollUtil新增reverse、reverseNew方法
* 【core】集合中新增排列Arrangement和组合Combination感谢@【北京】宁静)
* 【core】StrUtil新增splitToLong和splitToInt方法
* 【core】MapUtil增加getXXX方法
* 【core】扩充Dict构造
* 【core】CollUtil新增sortByProperty方法
* 【json】toBean支持下划线转驼峰
* 【core】FileUtil新增更多方法包括路径拼接
* 【core】新增LineIterator、NullOutputStream两个类
### Bug修复
* 【core】修复IdcardUtil中身份证15转18位年的问题Issue#IHT1Q@Gitee
* 【http】忽略Premature EOF错误感谢@【南京】peckey
* 【core】修复ArrayConvert中集合转原始类型数组导致的异常
-------------------------------------------------------------------------------------------------------------
## 4.0.5
### 新特性
* 【json】 toBean方法支持Map.class参数消除歧义
* 【core】FileWriter和FileUtil增加writeMap方法
* 【core】新增CsvWriter和CsvUtil
* 【poi】 改进ExcelWriter.flush未指定文件时的报错信息
* 【db】 在配置文件不存在时优化错误提示
* 【core】BeanUtil.beanToMap方法支持自定义key
* 【core】增加ModifierUtil修饰符工具类
* 【http】下载文件时文件名首先从头信息中获取
* 【poi】 ExcelReader增加getCell方法
* 【db】 Oracle驱动变更
* 【extra】扩充Sftp方法感谢@【广西】Succy
* 【core】ImageUtil增加binary方法生成二值化图片感谢@【天津】〓下页)
### Bug修复
* 【poi】 修复ExcelReader获取Workbook为空的问题
* 【core】修复ImageUtil.scale的问题感谢@【北京】千古不见一人闲)
* 【json】 修复JSON转字符串时值中双引号转义问题感谢@【深圳】jae
-------------------------------------------------------------------------------------------------------------
## 4.0.4
### 新特性
* 【http】 HttpUtil.downloadFile增加超时重载感谢@【深圳】富)
* 【setting】Setting增加构造重载pr#8@Gitee
* 【core】 IterUtil增加fieldValueMap方法感谢@【苏州】陈华 万缕数据@【北京】宁静)
### Bug修复
* 【log】 修复StaticLog.warn打印级别错误问题issue#IHMF9@Gitee
* 【core】修复MapUtil.newHashMap中isOrder感谢@【珠海】hzhhui
* 【core】修复DateTime.season获取的问题感谢@西湖断桥
* 【cron】修复在秒匹配关闭时无法匹配的问题感谢@【北京】宁静)
-------------------------------------------------------------------------------------------------------------
## 4.0.3
### 新特性
* 【core】新增LocalPortGenerater本地端口生成器
* 【extra】新增Sftp类用于SFTP支持
* 【core】StrUtil增加replace支持参数从某个位置开始和replaceIgnoreCase方法感谢@【贵阳】shadow
* 【core】Number.equals方法迁移到CharUtilNumberUtil中依旧保留
* 【extra】mail增加抄送和密送支持感谢【成都】出错
* 【poi】ExcelReader别名在返回List时也被支持第一行
* 【poi】ExcelReader增加getSheets和getSheetNames方法感谢@【帝都】宁静)
* 【poi】ExcelReader增加readCellValue和readRow方法感谢@【苏州】马克)
* 【db】全局数据源工厂独立使用懒加载方式消除歧义
* 【log】全局日志工厂独立懒加载方式消除歧义
* 【extra】MailUtil增加快捷方法支持抄送和密送参数
### Bug修复
* 【core】修复获取子路径bugissue#IHI5K@Gitee
* 【poi】修复ExcelReader在读取文件后未关闭导致文件被占用问题感谢@【昆明】-@_@
* 【log】解决Tinylog实现显示类名和行行错误问题
* 【extra】修复Mail构造在MailAccount传入null时读取错误的问题
-------------------------------------------------------------------------------------------------------------
## 4.0.2
### 新特性
* 【core】优化BeanDesc适配更多Getter和Setter方法
* 【extra】增加基于zxing的二维码生成和解码zxing可选依赖
* 【core】增加VersionComparator用于版本比较同时添加StrUtil.compareVersion
* 【core】Convert支持Map、Bean之间的转换、enum新增BeanConverter和CastBeanConverter
* 【extra】ServletUtil中增加获取body和上传文件支持
* 【json】在json与bean互相转换时支持enum和字符串转换感谢@【帝都】宁静)
* 【core】增加OptArrayTypeGetter接口
* 【http】HttpUtil增加decodeParamMap方法返回单值map感谢@【帝都】宁静)
* 【poi】ExcelWriter增加writeCellValue方法
* 【cron】去除CronUtil以及Scheduler中的isMatchYear方法年的匹配通过表达式自动判断
* 【extra】邮件Mail对象增加setUseGlobalSession方法用于自定义是否使用单例会话
### Bug修复
* 【setting】修复clear方法未清空group的问题store方法未换行问题set方法分组丢失问题感谢@【广西】Succy
* 【json】修复Map嵌套转JSONObject时判断失误导致的值错误issue#@Gitee
* 【core】修复betweenYear注释错误感谢@【常州】在校学生)
* 【core】修复Convert.digitToChinese方法中角为0时显示问题issue#IHHE1@Gitee
* 【cron】修复在秒匹配模式下5位表达式执行异常问题修复cron.setting文件不存在报错问题
* 【extra】邮件配置中参数值转为String解决可能存在的bug
-------------------------------------------------------------------------------------------------------------
## 4.0.1
### 新特性
* 新增CharUtil
* 新增ASCIIStrCache对ASCII字符做String对应表提升字符转字符串性能
* 去除JschUtil中的同步修饰改为锁
* 新增MapUtil.sort
* SymmetricCrypto支持加密后转为Base64和从Base64解密
* AsymmetricCrypto支持Hex和Base64加密解密
* 新增SecureUtil.signParams方法用于参数签名感谢@【帝都】宁静)
* 新增Loader和LazyLoader抽象懒加载
* 新增CsvReader,CSV读取
* HttpRequest支持可选get请求下的url参数编码
* ExcelReader增加read重载方法ExcelUtil增加isEmpty(Sheet)方法pr#5@Gitee
* db模块针对IS NULL优化
### Bug修复
* 修复db模块中数据库为下划线而Bean为驼峰导致的注入失败问题感谢@【广西】Succy
* 修复findLike的bug感谢@cici
* 修复ArrayUtil.join循环引用bug
* FileTypeUtil针对pdf格式做修改issue#IHDNH@Gitee
* 修复Http模块中get方法拼接参数问题
* 修复db模块in方式查询错误问题
* 修复CollUtil.disjunction计算差集修复一个集合为空的情况感谢@【天津】〓下页)
* 修复Db模块中Number参数丢失问题感谢@【山东】小灰灰)
-------------------------------------------------------------------------------------------------------------
## 4.0.0
### 新特性
* 变更包名为cn.hutool.xxx
* 新增ObjecIdt类用于实现MongoDB的ID生成策略
* 验证码单独成为一个模块hutool-captcha
* 新增NamedThreadFactory
* 新增BufferUtil
* POI新增StyleUtilStyleSet新增方法可设置背景、边框等样式
* JDBC参数针对BigInteger处理
* db模块支持显示和格式化显示SQL
* 调整日志优先级ConsoleLog优先于JDKLogLog4j2优先于Log4j
* db模块的SqlRunner中可自定义Wrapper
* ExcelReader增加read重载方法pr#4@Gitee
* Convert.convert增加Class的重载解决返回值歧义感谢@t-io
* Http中使用byte[]存储body减少转换
* ExcelReader增加getWorkbook、getSheet方法
* 新增StrBuilder
* 新增JschUtil
* 新增UnicodeUtil
* db模块的BeanListHandler和BeanHandler支持Map、Collection、Array等类型
* NumberUtil加减乘支持多个值解决float和double混合运算导致的坑
### Bug修复
* 修复ExcelReader空行导致空指针问题pr#4@Gitee
* 修复BeanUtil.getProperty不能获取父类属性的问题
* 修复BeanDesc类中boolean类型字段名为isXXX的情况无法注入问题
* 解决类扫描后加载类中引用依赖导致的报错(感谢@【帝都】宁静)