hutool/CHANGELOG.md
2019-08-30 11:28:51 +08:00

72 KiB
Raw Blame History

Changelog


4.6.5

新特性

  • 【core】 CollUtil增加filterNew等方法原filter变更为filterNew新增filter

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的情况无法注入问题
  • 解决类扫描后加载类中引用依赖导致的报错(感谢@【帝都】宁静)