1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dromara-hutool

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG_5.0-5.7.md 140 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 03.12.2024 06:09 0656fc9

🚀Журнал изменений

5.7.22 (2022-03-01)

🐣Новые функции

  • 【poi】 ExcelUtil.readBySax добавлена совместимость с POI-5.2.0 (issue#I4TJF4@Gitee)
  • 【extra】 Ftp добавлен конструктор (issue#I4TKXP@Gitee)
  • 【core】 GenericBuilder поддерживает построение Map (pr#540@Github)
  • 【json】 Добавлен TemporalAccessorSerializer
  • 【core】 Несколько xxxBuilder реализуют интерфейс Builder, расширяя CheckedUtil (pr#545@Gitee)
  • 【core】 В CheckedUtil удалён метод со вторым параметром RuntimeException
  • 【core】 FileUtil добавил метод getTotalLines
  • 【db】 MetaUtil добавил перегруженный метод getTableMeta (issue#2157@Github)
  • 【http】 Добавлен HttpGlobalConfig.setDecodeUrl (issue#I4U8YQ@Gitee)
  • 【core】 Добавлен Base58 (pr#2162@Github)
  • 【core】 Добавлен AntPathMatcher (issue#I4T7K5@Gitee)
  • 【core】 StrJoiner изменил стратегию toString, больше не изменяет Appendable
  • 【core】 У StrJoiner появились методы length и merge
  • 【core】 CRC16 добавил метод getHexValue (issue#I4VO3U@Gitee)

🐞Исправления ошибок

  • 【cache】 Исправлена проблема с потокобезопасностью метода toString в ReentrantCache (issue#2140@Github)
  • 【core】 Исправлена ошибка, когда SystemPropsUtil.getInt возвращал long (pr#546@Gitee)
  • 【crypto】 Исправлено отсутствие ведущих нулей в SM2.getD (pr#2149@Github)
  • 【core】 Исправлено расхождение на один день в китайском календаре до 1970 года (issue#I4UTPK@Gitee)
  • 【core】 Исправлены проблемы точности и преобразования в CoordinateUtil (pr#551@Gitee)
  • 【json】 Исправлен баг, при котором JSONObject после разбора XML ничего не возвращал (issue#2160@Github)
  • 【extra】 Исправлена ошибка позиционирования в GanymedUtil (issue#I4VDZ2@Gitee)

5.7.21 (2022-02-14)

🐣Новые функции

  • 【extra】 Поддержка jetbrick шаблонов
  • 【extra】 EmojiUtil добавлены методы (pr#519@Gitee)
  • 【core】 DateUtil добавил два метода для проверки совпадения дат по неделе (pr#516@Gitee)
  • 【db】 Добавлена условная группа для обработки сложных условий where (pr#514@Gitee)
  • 【core】 LocalDateTimeUtil.weekOfYear (issue#I4RWXC@Gitee)
  • 【core】 Month добавил toJdkMonth, getValueBaseOne
  • 【core】 CsvWriter изменил правила, удалив лишние переносы строк в конце (issue#I4RSQY@Gitee)
  • 【core】 DateUtil добавил rangeFunc и rangeConsume (issue#I4RSQY@Gitee)
  • 【core】 DateTime добавил setUseJdkToStringStyle
  • 【core】 CharSequenceUtil добавил перегрузку replace (issue#2122@Github)
  • 【core】 IntMap и LongMap используют битовые операции для быстрого вычисления остатка (pr#2123@Github)
  • 【core】 Добавлено GenericBuilder (pr#526@Gitee)
  • 【core】 Добавлены copySafely и mkdirsSafely (pr#527@Gitee)
  • 【core】 MetroHash (pr#532@Gitee)
  • 【core】 SpringUtil добавил publishEvent (pr#2139@Github)
  • 【core】 DateUtil добавил rangeContains, rangeNotContains (pr#537@Gitee)
  • 【core】 Resource добавил isModified по умолчанию
  • 【core】 Добавил VfsResource
  • 【json】 JSONConfig добавил setKeyComparator, setNatureKeyComparator для поддержки пользовательской сортировки (issue#I4RBZ4@Gitee)

🐞Исправления ошибок

  • 【core】 Исправлено получение первого месяца в ChineseDate, вызывавшее ошибку выхода за пределы массива (issue#2112@Github)
  • 【extra】 Исправлено в EmojiUtil.toHtmlHex (pr#519@Gitee)
  • 【system】 Исправлено использование CpuInfo.getUsed (issue#2116@Github)
  • 【dfa】 Исправлено столкновение интенсивного и жадного сопоставления (issue#2126@Github)
  • 【db】 Исправлено потеря информации c3p0 (issue#I4T7XZ@Gitee)
  • 【http】 Исправлено незакрытие HttpExchange в Action
  • 【http】 Исправлено незакрытие HttpExchange в Action

5.7.20 (2022-01-20)

🐣Новые функции

  • 【core】 Добавлен Collector для groupingBy, дружественный к null значениям, с возможностью указания типа map (pr#498@Gitee)
  • 【core】 KetamaHash (issue#2084@Github)
  • 【crypto】 SignUtil
  • 【json】 JSONGetter добавил getBeanList
  • 【core】 ObjectUtil добавил три метода defaultIfXxxx для экономии CPU и памяти (pr#2094@Github)
  • 【db】 Поддержка upsert для одной записи (pr#501@Gitee)
  • 【core】 Коллектор Collectors.toMap теперь дружественен к null в CollectorUtil (pr#502@Gitee)
  • 【http】 HttpGlobalConfig.setIgnoreEOFError (issue#2092@Github)
  • 【core】 RandomUtil.randomStringWithoutStr исключает совместимость со строками, содержащими заглавные буквы (pr#503@Gitee)
  • 【core】 LocalDateTime добавил isOverlap (pr#512@Gitee)
  • 【core】 Ipv4Util.getBeginIpLong, getEndIpLong стали public (pr#508@Gitee)

🐞Исправления ошибок

  • 【core】 Исправлено неправильное сопоставление из-за перегрузки setter (issue#2082@Github)
  • 【core】 Исправлено небольшое ограничение диапазона соответствия иероглифов в RegexPool (pr#2081@Github)
  • 【core】 Исправлено написание ОС (pr#500@Gitee)
  • 【core】 Исправлено слияние CustomKeyMap (issue#2086@Github)
  • 【core】 Исправлено добавление строк в FileUtil (issue#I4QCEZ@Gitee)
  • 【core】 Исправлено java.time.Month (issue#2090@Github)
  • 【core】 Исправлено перемещение содержимого PathUtil (issue#I4QV0L@Gitee)
  • 【core】 Opt.ofTry исправлена безопасность потоков в многопоточной среде (pr#504@Gitee) # 5.7.19 (2022-01-07)

Новые функции

  • 【db 】 Оптимизация разделения параметров Condition (pr#2046@Github).
  • 【core 】 Улучшение производительности ArrayUtil.isAllEmpty (pr#2045@Github).
  • 【core 】 Метод CharSequenceUtil.replace теперь поддерживает добавление символов (pr#2041@Github).
  • 【extra 】 Добавление SshjSftp (pr#493@Gitee).
  • 【core 】 Добавление CheckedUtil (pr#491@Gitee).
  • 【extra 】 Расширение условий для выбрасывания исключений в Sftp.isDir (issues#I4P9ED@Gitee).

Исправления ошибок

  • 【http 】 Проблема с количеством перенаправлений HttpUtil (issue#I4O28Q@Gitee).
  • 【core 】 Исправление проблемы с пустым path в UrlPath (issue#I49KAL@Gitee).
  • 【core 】 Исправлена проблема, когда при записи файла через ServletUtil не добавлялись двойные кавычки, что приводило к ошибкам со специальными символами (issue#I4P1BF@Gitee).
  • 【core 】 NumberUtil: добавление перегрузки equals для long решило проблему сравнения (pr#2064@Github).
  • 【core 】 Исправлено некорректное отображение номеров строк в CsvParser (pr#2065@Github).
  • 【http 】 Исправлено автоматическое добавление http префикса в HttpRequest.of (issue#I4PEYL@Gitee).
  • 【core 】 Исправлено переполнение строк в методе CharSequenceUtil.brief(str, maxLength) и несоответствие результатов ожидаемым при определённых значениях maxLength (pr#2068@Github).
  • 【core 】 Исправлено преобразование символов в нижнем подчёркивании и цифрах в NamingCase (issue#2070@Github).
  • 【core 】 Исправлено несогласованное определение пустых значений в split (pr#496@Gitee).
  • 【crypto 】 Исправлено удаление ведущих нулей в SM2.getDHex(), что приводило к ошибке получения ключа (pr#2073@Github).
  • 【core 】 Исправлено исключение EmptyStackException в Calculator.conversion() (pr#2076@Github).
  • 【core 】 Исправлено зацикливание в StrUtil.subBetweenAll (issue#I4PT3M@Gitee).

5.7.18 (2021-12-25)

Новые функции

  • 【core 】 Добавлен CollStreamUtil.groupKeyValue (pr#479@Gitee).
  • 【core 】 Создан DatePattern.createFormatter (pr#483@Gitee).
  • 【core 】 Увеличение IdUtil.getSnowflakeNextId (pr#485@Gitee).
  • 【log 】 Компиляция log4j2 зависит от api, core — от test (pr#2019@Github).
  • 【core 】 По умолчанию Img.scale использует сглаживание, добавлены перегрузки scale с опциональными режимами (issue#I4MY6X@Gitee).
  • 【core 】 В excel добавлен метод записи изображений (pr#486@Gitee).
  • 【core 】 CollStreamUtil получил метод groupBy (pr#484@Gitee).
  • 【core 】 CollUtil получил setValueByMap (pr#482@Gitee).
  • 【core 】 LocalDateTimeUtil получил endOfDay перегрузки (issue#2025@Github).
  • 【core 】 IoCopier получил setFlushEveryBuffer (issue#2022@Github).

Исправления ошибок

  • 【core 】 LineReadWatcher#onModify некорректно обрабатывал пустые файлы (issue#2013@Github).
  • 【core 】 Исправлено преобразование 4-х байтовых чисел в float (issue#I4M0E4@Gitee).
  • 【core 】 Решена проблема с CharSequenceUtil.replace (issue#I4M16G@Gitee).
  • 【json 】 Устранена проблема неиспользования размера инициализации JSONObject (issue#2016@Github).
  • 【core 】 StrUtil.startWith корректно обрабатывает null (issue#I4MV7Q@Gitee).
  • 【core 】 PasswdStrength теперь работает правильно (issue#I4N48X@Gitee).
  • 【core 】 UserAgentUtil корректно распознаёт EdgA (issue#I4MCBP@Gitee).
  • 【extra 】 Archiver больше не добавляет / в начало пути (issue#I4NS0F@Gitee).
  • 【extra 】 getMainColor корректно работает с rgbFilters (pr#2034@Github).
  • 【core 】 ChineseDate теперь корректно определяет високосные месяцы (issue#I4NQQW@Gitee).
  • 【core 】 BeanDesc теперь правильно определяет регистр (issue#2009@Github).

5.7.17 (2021-12-09)

Новые функции

  • 【core 】 Добавлено AsyncUtil (pr#457@Gitee).
  • 【http 】 Добавлено HttpResource (issue#1943@Github).
  • 【http 】 Добавлено BytesBody и FormUrlEncodedBody.
  • 【cron 】 TaskTable.remove теперь возвращает значение (issue#I4HX3B@Gitee).
  • 【core 】 Tree получил методы filter, filterNew, cloneTree и hasChild (issue#I4HFC6@Gitee).
  • 【poi 】 Добавлено ColumnSheetReader и ExcelReader.readColumn для чтения столбцов.
  • 【core 】 IdCardUtil.isValidCard больше не автоматически обрезает данные (issue#I4I04O@Gitee).
  • 【core 】 Улучшен TextFinder, добавлена поддержка ограничения конечной позиции и обратного поиска.
  • 【core 】 Opt получил новые методы (pr#459@Gitee).
  • 【core 】 DefaultCloneable добавлен (pr#459@Gitee).
  • 【core 】 CollStreamUtil теперь имеет параллельную версию (pr#467@Gitee).
  • 【core 】 ResourceClassLoader получил кэш (pr#1959@Github).
  • 【crypto 】 CipherWrapper получил setRandom (issue#1958@Github).
  • 【core 】 Opt добавил ofTry метод (pr#1956@Github).
  • 【core 】 DateUtil.toIntSecond помечен как устаревший (issue#I4JHPR@Gitee).
  • 【db 】 Db.executeBatch получил перегруженную версию, помеченную как устаревшую (issue#I4JIPH@Gitee).
  • 【core 】 CharSequenceUtil.subPreGbk получил перегрузки (issue#I4JO2E@Gitee).
  • 【core 】 ReflectUtil.getMethod игнорирует методы-мосты (pr#1965@Github). ### 🐞Исправления ошибок
  • 【core】 Исправлено, что параметр fileName в конструкторе FileResource был недействительным (issue#1942@Github).
  • 【cache】 Исправлена проблема невозможности очистки памяти из-за сильной связи WeakCache (issue#1953@Github).
  • 【core】 Исправлена ошибка получения родительского пути в ZipUtil для относительных путей (issue#1961@Github).
  • 【http】 Исправлена проблема с HttpUtil.normalizeParams, которая возникала из-за отсутствия проверки на null (issue#1975@Github).
  • 【poi】 Исправлена проблема, когда при чтении даты в пользовательском стиле ячейка отображала 1899 год (pr#1977@Github).
  • 【poi】 Исправлено использование параметров в SoapClient.
  • 【core】 Устранена проблема использования параметров в HashUtil.cityHash128.
  • 【core】 Исправлены проблемы с отображением DateUtil.formatChineseDate (issue#I4KK5F@Gitee).
  • 【poi】 Решена проблема записи значений в CellUtil.setCellValueStyle, если параметр был пустым (issue#1995@Github).
  • 【poi】 Исправлен параметр в CellUtil.setComment.
  • 【core】 Решены ошибки, связанные с разбором путей в QueryBuilder (issue#1989@Github).
  • 【core】 Исправлена проблема в DateTime.between, связанная с неверным значением DateUnit (issue#I4LGNP@Gitee).
  • 【crypto】 Решён вопрос с SM2.getD, который возвращал bytes с битами знака (issue#2001@Github).

🐣Новые функции

  • 【core】 Добавлена функция DateTime.toLocalDateTime.
  • 【core】 CharSequenceUtil получил метод normalize (pr#444@Gitee).
  • 【core】 MailAccount получил метод setEncodefilename, позволяющий выбрать кодирование имени файла вложения (issue#I4F160@Gitee).
  • 【core】 В MailAccount добавлен charset по умолчанию, если значение равно null.
  • 【core】 NumberUtil.compare получил исправление комментариев (issue#I4FAJ1@Gitee).
  • 【core】 Добавлен класс RFC3986.
  • 【extra】 Sftp получил перегрузки put и upload (issue#I4FGDH@Gitee).
  • 【core】 TemporalUtil получил методы toChronoUnit и toTimeUnit (issue#I4FGDH@Gitee).
  • 【core】 StopWatch получил перегрузку prettyPrint (issue#1910@Github).
  • 【core】 Изменён Ipv4 в RegexPool.
  • 【json】 Filter стал MutablePair для редактирования пар ключ-значение (issue#1921@Github).
  • 【core】 Opt получил метод peeks (pr#445@Gitee).
  • 【extra】 В MailAccount user по умолчанию заменён на полное имя почтового ящика (issue#I4FYVY@Gitee).
  • 【core】 Появился CoordinateUtil (pr#446@Gitee).
  • 【core】 DateUtil получил перегруженный rangeToList (pr#1925@Github).
  • 【core】 CollUtil получил безопасный метод contains (pr#1926@Github).
  • 【core】 ActualTypeMapperPool получил метод getStrKeyMap (pr#447@Gitee).
  • 【core】 TreeUtil получил метод walk (pr#1932@Gitee).
  • 【crypto】 SmUtil получил функцию sm3WithSalt (pr#454@Gitee).
  • 【http】 Появился HttpInterceptor (issue#I4H1ZV@Gitee).
  • 【core】 Opt добавил flattedMap (issue#I4H1ZV@Gitee).

🐞Исправления ошибок

  • 【core】 Решена двусмысленность UrlBuilder.addPath (issue#1912@Github).
  • 【core】 Исправлен расчёт общей длины в StrBuilder (issue#I4F9L7@Gitee).
  • 【core】 Поправлен расчёт предопределённой длины в CharSequenceUtil.wrapIfMissing (issue#I4FDZ2@Gitee).
  • 【poi】 При объединении ячеек в дату и экспорте данных ячейки отображаются как числа (issue#1911@Github).
  • 【core】 CompilerUtil.getFileManager получил исправленный параметр (issue#I4FIO6@Gitee).
  • 【core】 NetUtil.isInRange получил исправление в проверке CIDR (pr#1917@Github).
  • 【core】 RegexPool получил исправление URL-совпадений (issue#I4GRKD@Gitee).
  • 【core】 UrlQuery получил исправление для application/x-www-form-urlencoded (issue#1931@Github).

# 5.7.15 (2021-10-21)

🐣 Новые функции

  • 【db】 Db.quietSetAutoCommit получил проверку на null (issue#I4D75B@Gitee).
  • 【core】 Добавился RingIndexUtil (pr#438@Gitee).
  • 【core】 Assert получил перегруженный checkBetween (pr#436@Gitee).
  • 【core】 ReUtil получил перегрузку именованных групп (pr#439@Gitee).
  • 【json】 toString и writer получили Filter (issue#I4DQNQ@Gitee).
  • 【core】 ContentType получил перегруженный build (pr#1898@Github).
  • 【bom】 Поддерживается scope=import (issue#1561@Github).
  • 【core】 Новый интерфейс Hash, от которого наследуются HashXXX.
  • 【core】 ZipUtil получил метод append (pr#441@Gitee). ### Добавление перегрузок в CollUtil (issue#I4E9FS@Gitee)
  • 【core 】 CopyOptions добавлен setFieldValueEditor (issue#I4E08T@Gitee).
  • 【core 】 Добавлен SystemPropsUtil (issue#1918@Gitee).
  • 【core 】 Добавлено системное свойство hutool.date.lenient (issue#1918@Gitee).

Исправления ошибок (Bug Fixes)

  • 【core 】 Исправлена ошибка, при которой CollUtil.isEqualList возвращал некорректный результат при двух null значениях (issue#1885@Github).
  • 【poi 】 Исправлена проблема с ExcelWriter, связанная с лишней отладочной информацией (issue#1884@Github).
  • 【poi 】 Исправлена проблема, возникающая при использовании TemporalAccessorUtil.toInstant с DateTimeFormatter (issue#1891@Github).
  • 【poi 】 Исправлена проблема, из-за которой sheet.getRow(y) возвращал null (issue#1893@Github).
  • 【cache 】 Исправлена проблема безопасности потоков в LRUCache (issue#1895@Github).
  • 【crypto 】 Исправлена потеря информации об исключении в KeyUtil (issue#1902@Github).
  • 【core 】 Исправлена несогласованность между StrUtil.split и splitToArray (issue#I4ELU5@Github).
  • 【core 】 Исправлена проблема в SymmetricCrypto, когда CipherOutputStream не закрывался (issue#I4EMST@Gitee).
  • 【core 】 Исправлены проблемы с экранированием в QueryBuilder (issue#1904@Github).

Версия 5.7.14 (2021-10-09)

Новые функции (🐣新特性)

  • 【extra 】 Исправлено несоответствие RFC6265 при установке cookies в HttpCookie (issue#I4B70D@Gitee).
  • 【http 】 Оптимизировано определение версии браузера.
  • 【setting】 Добавлен YamlUtil.
  • 【extra 】 SenvenZExtractor переименован в SevenZExtractor, добавлены методы getFirst и get.
  • 【core 】 DateConverter теперь возвращает java.util.Date вместо DateTime (issue#I4BOAP@Gitee).
  • 【core 】 Добавлены IterableIter и ComputeIter.
  • 【core 】 В CsvConfig добавлен метод disableComment (issue#1842@Github).
  • 【core 】 Опциональный строгий режим для конструкторов DateTime и метода DateUtil.parse (issue#1849@Github).
  • 【core 】 TreeBuilder получил дополнительные методы для установки значений отдельных корневых узлов (issue#1848@Github).
  • 【core 】 Метод Base64.isBase64 оптимизирован путём сокращения лишних проверок (pr#1860@Github).
  • 【cache 】 FIFOCache оптимизирован: при отсутствии стратегии истечения срока действия объекты не перебираются (pr#425@Gitee).
  • 【core 】 Добавлен класс Opt (pr#426@Gitee).
  • 【core 】 Week получил перегрузку of, поддерживающую DayOfWeek (pr#1872@Github).
  • 【poi 】 Улучшен метод read, чтобы избежать многократного создания CopyOptions (issue#1875@Github).
  • 【core 】 CsvReader оптимизирован для контролируемого обхода (pr#1873@Github).
  • 【core 】 Оптимизация метода Base64.isBase64 (pr#1879@Github).
  • 【core 】 StrFormatter получил метод formatWith (pr#430@Gitee).

Исправления ошибок (🐞Bug修复)

  • 【http 】 Исправлено несоответствие RFC6265 при установке cookies в HttpCookie (pr#418@Gitee).
  • 【http 】 Устранена проблема с нерабочим фильтром в Extractor.
  • 【json 】 Исправлена проблема определения null в JSONGetter.getJSONArray (issue#I4C15H@Gitee).
  • 【db 】 Устранены проблемы с отсутствием кавычек в SQL при использовании Condition без заполнителей (issue#1846@Github).
  • 【cache 】 Решена проблема с неработающим обратным вызовом remove в FIFOCache (pr#1856@Github).
  • 【json 】 Исправлена ошибка в JSONArray.set при индексе равном 0 (issue#1858@Github).
  • 【core 】 Решён вопрос с исключением в FileUtil.checkSlip при получении CanonicalPath (issue#1858@Github).

Версия 5.7.13 (2021-09-17)

Новые функции (🐣新特性)

  • 【core 】 В CsvReadConfig добавлен параметр trimField (issue#I49M0C@Gitee).
  • 【http 】 HttpBase получил метод clearHeaders (issue#I49P23@Gitee).
  • 【core 】 Параметры write и writeBeans в CsvWriter заменены на Iterable (issue#I49O4S@Gitee).
  • 【core 】 BitStatusUtil получил заявление о происхождении (issue#1824@Github).
  • 【core 】 UrlQuery.build получил перегрузки с опциональным экранированием (issue#I4AIX1@Gitee).
  • 【core 】 ListUtil получил методы swapTo и swapElement (pr#416@Gitee).
  • 【poi 】 ExcelWriter поддерживает Hyperlink (issue#I49QAL@Gitee).

Исправления ошибок (🐞Bug修复)

  • 【core 】 Исправлена неработающая функция FuncKey.
  • 【core 】 Решена проблема с ошибкой ширины и высоты при загрузке изображения в ImgUtil.copyImage по сетевому URL (issue#1821@Github).
  • 【core 】 Восстановлена потерянная конфигурация в StrJoiner.append (issue#I49K1L@Gitee).
  • 【core 】 Исправлена проблема недостаточной длины шестнадцатеричного кода специальных символов в EscapeUtil (issue#I49JU8@Gitee).
  • 【core 】 Решены проблемы с кодировкой фрагмента в UrlBuilder (issue#I49KAL@Gitee).
  • 【core 】 Исправлен баг преобразования Enum (issue#I49VZB@Gitee).
  • 【json 】 JSONUtil.parse корректно обрабатывает MapWrapper.
  • 【core 】 IdcardUtil.isValidCard работает корректно (issue#I4AJ8S@Gitee).

Версия 5.7.12 (2021-09-09)

Новые функции (🐣新特性)

  • 【system 】 OshiUtil получил метод getCurrentProcess.

  • 【extra 】 SpringUtil получил методы getApplicationName и publishEvent (issue#I485NZ@Gitee).

  • 【core 】 BeanUtil.getProperty получил проверку на null (issue#I488HA@Gitee).

  • 【core 】 OptionalBean объявлен устаревшим (pr#1182@Github).

  • 【setting】 Setting и Props теперь используют Resource вместо URL (pr#1182@Github).

  • 【json 】 JSONUtil.toJsonStr получил перегрузки для JSONConfig (issue#I48H5L@Gitee).

  • 【crypto 】 SymmetricCrypto получил метод setMode, а update использует режим накопления (pr#1642@Github).

  • 【core 】 ZipReader поддерживает Filter.

  • 【all 】 Sftp, Ftp, HttpDownloader: добавлены перегрузки download для предотвращения повреждения передаваемых файлов (pr#407@Gitee)

  • crypto
    AES: изменение IvParameterSpec для AlgorithmParameterSpec (issue#1814@Gitee). Добавление FPE, ZUC (issue#1814@Gitee).

🐞 Исправления ошибок

  • core
    Исправление проблемы выхода за границы в методе ListUtil.split (issue#I48Q0P@Gitee). Исправление некорректной работы isTryHarder и isPureBarcode у QrCode (issue#1815@Github). Исправление ошибки в DatePattern.CHINESE_DATE_FORMATTER (issue#I48ZE3@Gitee). Исправление проблем с ListUtil.split. Исправление NumberUtil.parseNumber для длинных чисел (issue#1818@Github).

5.7.11 (2021-08-31)

🐣 Новые функции

  • crypto
    Изменение логики инициализации SymmetricCrypto.
  • core
    FileTypeUtil: добавлена поддержка распознавания docx, отредактированных в WPS (issue#I47JGH@Gitee). Money: изменение конструктора, 0 означает чтение всех дробей (issue#1796@Github).
  • json
    Добавлены JSONXMLParser и JSONXMLSerializer. XML: поддержка пользовательских тегов содержимого (issue#I47TV8@Gitee).

🐞 Исправления ошибок

  • cron
    Важно: исправление ошибки, при которой Scheduler запускался с null в качестве пула потоков по умолчанию (issue#I47PZW@Gitee).

5.7.10 (2021-08-26)

🐣 Новые функции

  • core
    Добавлен класс NamingCase. ListUtil: добавлена перегрузка метода page (pr#1761@Github). Crypto: добавлен ASN1Util. CsvConfig: переход на обобщённую форму. Partition: добавлен. Http: SoapClient.sendForResponse стал public (issue#I466NN@Gitee). XmlUtil: добавлена перегрузка append (issue#I466Q0@Gitee). Poi: добавлен EscapeStrCellSetter (issue#I466ZZ@Gitee). ExcelBase: добавлены renameSheet и cloneSheet (issue#I466ZZ@Gitee). ListUtil: добавлен splitAvg (pr#397@Gitee). Excel07SaxReader: поддержка числовых имён листов, поддержка sheetName: префиксов имён (issue#I46OMA@Gitee). Extra: Mail добавил метод build (issue#I46LGE@Gitee). XmlUtil: добавлена beanToXml с перегрузкой, поддерживает игнорирование null. Core: добавлены NullComparator и FuncComparator (issue#I471X7@Gitee). LambdaUtil: добавлен getFieldName (issue#I4750U@Gitee). Cron: Scheduler добавил setThreadExecutor (issue#I47A6N@Gitee). CharsetDetector: добавлена detect с перегрузкой, поддерживающей пользовательский размер кэша (issue#I478E5@Gitee). Core: добавлен PartitionIter (pr#402@Gitee). All: добавлен переключатель стека исключений (pr#403@Gitee). Core: оптимизирована логика C(n, n) в Combination (pr#1792@Github). Csv: чтение и запись поддерживают псевдонимы (issue#1791@Github).

🐞 Исправления ошибок

  • core
    Исправлена проблема с несовпадением MapUtil.sort компаратора, возвращающего исходную карту (issue#I46AQJ@Gitee). Исправлены проблемы, вызванные циклическими ссылками по умолчанию в JSONSupport (issue#1779@Github). Poi: исправлена утечка ресурсов в ExcelUtil.readBySax (issue#1789@Github).

5.7.9 (2021-08-16)

🐣 Новые функции

  • extra
    FileUtil: добавлен метод moveContent (issue#I45H30@Gitee). JschPool: проверка состояния соединения при получении сессии (issue#I45N5I@Gitee).

🐞 Исправления ошибок

  • extra
    Исправлено возможное неправильное распознавание TinyPinyinEngine при пустом конструировании. HTTP: исправлена ошибка, возникающая при установке Content-Length на сервере в режиме gzip (issue#1766@Github). DB: исправлена логическая ошибка при закрытии PooledDataSource.

5.7.8 (2021-08-11)

🐣 Новые функции

  • core
    MapProxy: добавлен setter, возвращающий this (pr#392@Gitee). BeeDSFactory: удаление кода исправления транзакций sqlite, исправлено в новой версии BeeCP. Compress: добавлен пакет, расширяющий гибкость операций Zip. JSON: добавлен JSONBeanParser. Poi: CellSetter позволяет настраивать вывод значений ячеек. CsvReader: добавлен readFromStr (pr#1755@Github). Socket: SocketUtil добавил connection. Extra: JschUtil добавил перегрузку bindPort (issue#I44UTH@Github). DefaultTrustManager: теперь наследуется от X509ExtendedTrustManager. IoCopier: добавлен.

🐞 Исправления ошибок

  • core
    Улучшен алгоритм NumberChineseFormatter, добавлены полные юнит-тесты, решена проблема с нулями. Исправлен формат изображений после преобразований Img (issue#I44JRB@Gitee).

5.7.7 (2021-08-02)

🐣 Новые функции

  • core
    LookupFactory и MethodHandleUtil добавлены (issue#I42TVY@Gitee). RegexPool.TEL: улучшена поддержка номеров без тире (pr#387@Gitee). PhoneUtil: добавлены методы для получения кодов зон и номеров стационарных телефонов (pr#387@Gitee). JSONGetter: добавлен метод getLocalDateTime (pr#387@Gitee). JNDIUtil: добавлен (issue#1727@Github). # 5.7.3 (2021-06-29)

🐣 Новые возможности

  • 【core】 Добавлен метод Convert.toSet (issue#I3XFG2@Gitee).
  • 【core】 CsvWriter добавил метод writeBeans (pr#345@Gitee).
  • 【core】 Введён JAXBUtil (pr#346@Gitee).
  • 【poi】 ExcelWriter добавил setColumnStyleIfHasData и setRowStyleIfHasData (pr#347@Gitee).
  • 【json】 При пользовательском формате даты и времени, этот формат также используется для парсинга.
  • 【core】 Добавлена возможность настройки формата даты GlobalCustomFormat.
  • 【jwt】 JWT изменил порядок по умолчанию и установил формат даты в payload в секундах.
  • 【json】 Добавлен JSONWriter.
  • 【core】 IdUtil добавил getWorkerId и getDataCenterId (issueI3Y5NI@Gitee).
  • 【core】 JWTValidator добавил перегрузку leeway.
  • 【core】 Добавлен RegexPool (issue#I3W9ZF@Gitee).

🐞 Исправления ошибок

  • 【json】 Исправлена проблема с экранирующими символами XML (issue#I3XH09@Gitee).
  • 【core】 Исправлена циклическая ссылка в FormatCache (pr#1673@Github).
  • 【core】 Исправлена ошибка получения кода провинции в getIdcardInfo.getProvinceCode (issue#I3XP4Q@Gitee).
  • 【core】 Исправлена некорректная работа CollUtil.subtract с нестандартными Set и пустыми указателями (issue#I3XN1Z@Gitee).
  • 【core】 Исправлены проблемы с пустыми указателями в SqlFormatter (issue#I3XS44@Gitee).
  • 【core】 Исправлена ошибка вычисления DateRange (issue#I3Y1US@Gitee).
  • 【core】 Исправлена неработающая функция setFieldNameEditor в BeanCopier (pr#349@Gitee).
  • 【core】 Исправлен поиск в ArrayUtil.indexOfSub (issue#1683@Github).
  • 【core】 Исправлена пустая ссылка при сравнении весов узлов в Node (issue#1681@Github).
  • 【core】 Исправлена обработка пустых параметров в UrlQuery (issue#1688@Github).

5.7.2 (2021-06-20)

🐣 Новые возможности

  • 【core】 Добавлен UserPassAuthenticator.
  • 【db】 При получении данных из источника данных группы удаляются общие атрибуты.
  • 【core】 Добавлены StrJoiner и TreeBuilder.
  • 【core】 IterUtil добавил метод getFirstNonNull.
  • 【core】 NumberUtil проверка на пустоту заменена на isBlank (issue#1664@Github).
  • 【jwt】 Добавлены JWTValidator и RegisteredPayload.
  • 【db】 Добавлен Phoenix диалект (issue#1656@Github).

🐞Исправления ошибок

  • 【db】 Исправлена ошибка синтаксиса SQL в Oracle при использовании псевдонимов (issue#I3VTQW@Gitee).
  • 【core】 Исправлена проблема повторного использования ConcurrencyTester, когда он начинал тестирование без очистки предыдущих задач (issue#I3VSDO@Gitee).
  • 【poi】 Исправлена невозможность изменения значения ячейки при использовании BigWriter (issue#I3VSDO@Gitee).
  • 【jwt】 Исправлена генерация подписи в виде hex при использовании алгоритма Hmac (issue#I3W6IP@Gitee).
  • 【core】 Исправлена неработающая deep в TreeUtil.build (issue#1661@Github).
  • 【json】 Исправлена ошибка в XmlUtil.xmlToBean (issue#1663@Github).

5.7.1 (2021-06-16)

🐣Новые возможности

  • 【db】 NamedSql поддерживает операцию in (issue#1652@Github).
  • 【all】 Модуль JWT добавлен в пакеты all и bom (issue#1654@Github).
  • 【core】 Удалены все операции, связанные с Map, в CollUtil.
  • 【all】 Важно! Удалены устаревшие методы.
  • 【core】 Добавлен класс IterChian.

🐞Исправления ошибок


5.7.0 (2021-06-15)

🐣Новые возможности

  • 【jwt】 Добавлен модуль JWT, который реализует создание, разбор и проверку JWT.
  • 【crypto】 SymmetricCrypto добавил метод update (pr#1642@Github).
  • 【crypto】 MacEngine добавил интерфейсы update, doFinal, reset и др.
  • 【core】 StrSpliter переименован в StrSplitter.
  • 【core】 В decimalFormat класса NumberUtil добавлена проверка цифр.
  • 【http】 Метод httpVersion класса HttpBase сделан недействительным (issue#1644@Github).
  • 【extra】 Sftp добавил перезагрузку download (issue#I3VBSL@Gitee).
  • 【cache】 Изменён начальный размер FIFOCache (issue#1647@Github).

🐞Исправления ошибок

  • 【db】 Исправлена потеря параметра в методе count (issue#I3VBSL@Gitee).
  • 【db】 Исправлена неработоспособность SpringUtil под аннотацией @PostConstruct (pr#341@Gitee).
  • 【json】 Исправлена недоработка метода parse в JSONUtil, связанная с проверкой упорядоченности (issue#I3VHVY@Gitee).
  • 【json】 Исправлена невозможность добавления элементов за пределы массива в JSONArray (issue#I3VMLU@Gitee).

5.6.7 (2021-06-08)

🐣Новые возможности

  • 【core】 CharSequenceUtil добавил перегрузку join (issue#I3TFJ5@Gitee).
  • 【http】 HttpRequest добавил перегруженный метод form (pr#337@Gitee).
  • 【http】 ImgUtil добавил метод getMainColor (pr#338@Gitee).
  • 【core】 Улучшена производительность алгоритма в TreeUtil.buid (pr#1594@Github).
  • 【core】 Методы setXXX класса CsvConfig возвращают this (issue#I3UIQF@Gitee).
  • 【all】 Добавлены jmh бенчмарки.
  • 【core】 Добавлены StreamUtil и CollectorUtil.
  • 【poi】 ### Добавление content-type (pr#1639@Github)

Исправление ошибок

  • 【core】 Исправлена проблема с удалением конечных пробелов в FileUtil.normalize (issue#1603@Github).
  • 【core】 Исправлено закрытие CharsetDetector (issue#1603@Github).
  • 【core】 Проблема с разделением пробела в кавычках в RuntimeUtil.exec исправлена (issue#I3UAYB@Gitee).

5.6.6 (2021-05-26)

Новые функции

  • 【cron】 Добавлена простая реализация колеса времени.
  • 【core】 BeanUtil.copyToList добавлен с перегрузкой (pr#321@Gitee).
  • 【core】 SyncFinisher добавил метод stop (issue#1578@Github).
  • 【cache】 Методы CacheObj по умолчанию изменены на protected (issue#I3RIEI@Gitee).
  • 【core】 FileUtil.isEmpty возвращает true, если файл не существует (issue#1582@Github).
  • 【core】 PhoneUtil добавил проверку китайских мобильных номеров в Макао и на Тайване (pr#331@Gitee).
  • 【db】 Добавлены параметры для постраничного запроса, пользовательского SQL запроса.
  • 【core】 IdCardUtil.isValidCard добавил проверку на null.
  • 【json】 JSONObject конструктор добавил проверку SortedMap (pr#333@Gitee).
  • 【core】 Tuple добавил несколько методов (pr#333@Gitee).
  • 【log】 Добавлена поддержка LogTube.
  • 【core】 Добавлен BitStatusUtil (pr#1600@Github).

Исправление ошибок

  • 【core】 В XmlUtil исправлена проблема с параметром omitXmlDeclaration (issue#1581@Github).
  • 【core】 NumberUtil.decimalFormat параметр передан неправильно (issue#I3SDS3@Gitee).
  • 【json】 JSONArray.put метод не может перезаписать значение.
  • 【poi】 Sax способ чтения xls не работает для получения данных по имени листа (issue#I3S4NH@Gitee).
  • 【core】 Несколько ~ в пути заменяются некорректно (pr#1599@Github).
  • 【core】 CRC16 не является public (issue#1601@Github).

5.6.5 (2021-05-08)

Новые функции

  • 【http】 HttpUtil добавил метод closeCookie.
  • 【core】 NumberUtil добавил перегрузку decimalFormat (issue#I3OSA2@Gitee).
  • 【extra】 Ftp remoteVerificationEnabled изменен на false (issue#I3OSA2@Gitee).
  • 【core】 MaskBit добавил метод обратного преобразования маски getMaskBit() (pr#1563@Github).
  • 【core】 ReUtil и другие добавили методы indexOf, delLast (pr#1555@Github).
  • 【poi】 ExcelWriter добавил writeSecHeadRow, стили границ объединенных ячеек (pr#318@Gitee).

Исправление ошибок

  • 【core】 Создатель ScheduledExecutor не работал в миллисекундах (issue#I3OYIW@Gitee).
  • 【core】 Tailer не имел метода stop (issue#I3PQLQ@Gitee).
  • 【core】 Ошибка при чтении пустых excel (issue#1552@Github).
  • 【extra】 Sftp.mkDirs вызывал ошибки (issue#1536@Github).
  • 【core】 Bcrypt не поддерживает префикс $2y$ (pr#1560@Github).
  • 【system】 isWindows8 имел орфографическую ошибку (pr#1557@Github).
  • 【db】 MongoDS по умолчанию группировка параметров не работала (issue#1548@Github).
  • 【core】 UrlPath кодировка символов вызывала проблемы с URL кодировкой (issue#1537@Github).

5.6.4 (2021-04-25)

Новые функции

  • 【core】 DatePattern дополнен DateTimeFormatter (pr#308@Gitee).
  • 【core】 DateUtil.compare добавил поддержку сравнения в заданном формате (pr#310@Gitee).
  • 【core】 BeanUtil добавил метод edit (issue#I3J6BG@Gitee).
  • 【db】 Column добавлено поле columnDef с дефолтным значением (issue#I3J6BG@Gitee).
  • 【core】 BeanUtil добавил copyToList метод (issue#1526@Github).
  • 【extra】 MailAccount добавил customProperty для пользовательских свойств (pr#317@Gitee).
  • 【system】 SystemUtil.getUserInfo() унифицировал пути всех платформ с добавлением / в конце (issue#I3NM39@Gitee).
  • 【http】 Новый HttpDownloader, автоматический редирект включен по умолчанию (issue#I3NM39@Gitee).

Исправление ошибок

  • 【db】 SQL пагинация некорректно работала без использования алиасов, count игнорировал order by (issue#I3IJ8X@Gitee).
  • 【extra】 Sftp.reconnectIfTimeout некорректная проверка (issue#1524@Github).
  • 【core】 NumberChineseFormatter некорректно конвертировал числа (issue#I3IS3S@Gitee).

5.6.3 (2021-04-10)

Новые функции

  • 【core】 Изменена реализация цифрового преобразования, добавлена возможность преобразования согласно указанной последовательности байтов (pr#1492@Github).
  • 【core】 Изменение правил для последней группы при разбиении byte массива (pr#1494@Github).
  • 【core】 Добавлено получение праздников по дате (pr#1496@Github).
  • 【core】 mapToBean() добавил распознавание префикса is для булевых значений (pr#294@Gitee).
  • 【core】 Октябрь и ноябрь переименованы в Холодный месяц и Зимний месяц (pr#301@Gitee).
  • 【core】 Добавлен шаблон для гонконгских, макаоских и тайваньских телефонных номеров (pr#301@Gitee).
  • 【core】 Добавлена маскировка банковских карт (pr#301@Gitee).
  • 【cache】 LongAddr используется вместо AtomicLong (pr#301@Gitee).
  • 【cache】 EnumUtil использует LinkedHashMap (pr#304@Gitee).
  • 【crypto】 SymmetricCrypto поддерживает шифрование и дешифрование больших объёмов данных (pr#1497@Gitee).
  • 【http】 SoapClient добавил заголовки для разных протоколов (pr#305@Gitee).
  • 【http】 HttpRequest поддерживает распознавание статусов 307 и 308 (issue#1504@Github).
  • 【core】 CharUtil.isBlankChar добавил проверку \u0000 (pr#1505@Github).
  • 【extra】 Добавлена поддержка пиньинь по системе Хоуби (pr#1506@Github).
  • 【core】 Добавлен LambdaUtil (pr#295@Gitee).
  • 【core】 Добавлены StrPool и CharPool.
  • 【extra】 ### CglibUtil增加toBean和fillBean方法
  • 【db 】 增加DriverNamePool

🐞Bug修复

  • 【core 】 修复Validator.isUrl()传空返回true(issue#I3ETTY@Gitee)
  • 【db 】 修复数据库driver根据url的判断识别错误问题(issue#I3EWBI@Gitee)
  • 【json 】 修复JSONStrFormatter换行多余空行问题(issue#I3FA8B@Gitee)
  • 【core 】 修复UrlPath中的+被转义为空格%20的问题(issue#1501@Github)
  • 【core 】 修复DateUtil.parse方法对UTC时间毫秒少于3位不识别问题(issue#1503@Github)

5.6.2 (2021-03-28)

🐣新特性

  • 【core 】 Validator增加车架号(车辆识别码)验证、驾驶证(驾驶证档案编号)的正则校验(pr#280@Gitee)
  • 【core 】 CopyOptions增加propertiesFilter(pr#281@Gitee)
  • 【extra 】 增加Wit模板引擎支持
  • 【core 】 增加DesensitizedUtil(pr#282@Gitee)
  • 【core 】 增加DateTime字符串构造(issue#I3CQZG@Gitee)
  • 【core 】 修改ArrayUtil代码风格(pr#287@Gitee)
  • 【json 】 JSONConfig增加setStripTrailingZeros配置(issue#I3DJI8@Gitee)
  • 【db 】 升级兼容BeeCP3.x

🐞Bug修复

  • 【core 】 修复FileTypeUtil中OFD格式判断问题(pr#1489@Github)
  • 【core 】 修复CamelCaseLinkedMap和CaseInsensitiveLinkedMap的Linked失效问题(pr#1490@Github)
  • 【core 】 修复UrlPath中=被转义的问题

5.6.1 (2021-03-18)

🐣新特性

  • 【crypto 】 SecureUtil去除final修饰符(issue#1474@Github)
  • 【core 】 IoUtil增加lineIter方法
  • 【core 】 新增函数式懒加载加载器(pr#275@Gitee)
  • 【http 】 UserAgentUtil增加miniProgram判断(issue#1475@Github)
  • 【db 】 增加Ignite数据库驱动识别
  • 【core 】 DateUtil.parse支持带毫秒的UTC时间
  • 【core 】 IdcardUtil.Idcard增加toString(pr#1487@Github)
  • 【core 】 ChineseDate增加getGregorianXXX方法(issue#1481@Github)

🐞Bug修复

  • 【core 】 修复IoUtil.readBytes的FileInputStream中isClose参数失效问题(issue#I3B7UD@Gitee)
  • 【core 】 修复DataUnit中KB不大写的问题
  • 【json 】 修复JSONUtil.getByPath类型错误问题(issue#I3BSDF@Gitee)
  • 【core 】 修复BeanUtil.toBean提供null未返回null的问题(issue#I3BQPV@Gitee)
  • 【core 】 修复ModifierUtil#modifiersToInt中逻辑判断问题(issue#1486@Github)

5.6.0 (2021-03-12)

🐣新特性

  • 【poi 】 重要:不再兼容POI-3.x,增加兼容POI-5.x(issue#I35J6B@Gitee)
  • 【core 】 FileTypeUtil使用长匹配优先(pr#1457@Github)
  • 【core 】 IterUtil和CollUtil增加isEqualList方法(issue#I3A3PY@Gitee)
  • 【crypto 】 增加PBKDF2(issue#1416@Github)
  • 【core 】 增加FuncKeyMap(issue#1402@Github)
  • 【core 】 增加StrMatcher(issue#1379@Github)
  • 【core 】 NumberUtil增加factorial针对BigInterger方法(issue#1379@Github)
  • 【core 】 TreeNode增加equals方法(issue#1467@Github)
  • 【core 】 增加汉字转阿拉伯数字Convert.chineseToNumber(pr#1469@Github)
  • 【json 】 JSONUtil增加getByPath方法支持默认值(issue#1470@Github)
  • 【crypto 】 SecureUtil增加hmacSha256方法(pr#1473@Github)
  • 【core 】 FileTypeUtil判断流增加文件名辅助判断(pr#1471@Github)

🐞Bug修复

  • 【socket 】 修复Client创建失败资源未释放问题。
  • 【core 】 修复DataSizeUtil中EB单位错误问题(issue#I39O7I@Gitee)
  • 【core 】 修复BeanDesc.isMatchSetter的ignoreCase未使用问题(issue#I3AXIJ@Gitee)
  • 【core 】 修复CRC16Checksum中(issue#I3AXIJ@Gitee)
  • 【core 】 修复UrlQuery中对空key解析丢失问题(issue#I3B3J6@Gitee)

5.5.9 (2021-02-26)

🐣新特性

  • 【crypto 】 PemUtil.readPemKey支持EC(pr#1366@Github)
  • 【extra 】 Ftp等cd方法增加同步(issue#1397@Github)
  • 【core 】 StrUtil增加endWithAnyIgnoreCase(issue#I37I0B@Gitee)
  • 【crypto 】 Sm2增加getD和getQ方法(issue#I37Z4C@Gitee)
  • 【cache 】 AbstractCache增加keySet方法(issue#I37Z4C@Gitee)
  • 【core 】 NumberWordFormatter增加formatSimple方法(pr#1436@Github)
  • 【crypto 】 增加读取openSSL生成的sm2私钥
  • 【crypto 】 增加众多方法,SM2兼容各类密钥格式(issue#I37Z75@Gitee)

🐞Bug修复

  • 【json 】 JSONUtil.isJson方法改变trim策略,解决特殊空白符导致判断失败问题
  • 【json 】 修复SQLEXception导致的栈溢出(issue#1399@Github)
  • 【extra 】 修复Ftp中异常参数没有传入问题(issue#1397@Github)
  • 【crypto 】 修复Sm2使用D构造空指针问题(issue#I37Z4C@Gitee)
  • 【poi 】 修复ExcelPicUtil中图表报错问题(issue#I38857@Gitee)
  • 【core 】 修复ListUtil.page方法返回空列表无法编辑问题(issue#1415@Github) ### 5.5.8 (2021-01-30)

🐣 Новые функции

  • 【extra 】 Добавлен автоматический монтаж класса SpringUtil (pr#1366@Github).
  • 【extra 】 В ArrayUtil добавлена перегрузка метода map.
  • 【crypto 】 AsymmetricAlgorithm дополнен RSA_ECB("RSA/ECB/NoPadding") (issue#1368@Github).
  • 【core 】 Дополнены комментарии к StrUtil.padXXX (issue#I2E1S7@Gitee).
  • 【core 】 Изменена логика проверки загружаемых файлов.
  • 【core 】 Исправлены проблемы с комментариями к методу offset в LocalDateTimeUtil (issue#I2EEXC@Gitee).
  • 【extra 】 getRowEngine в VelocityEngine заменён на getRawEngine (issue#I2EGRG@Gitee).
  • 【cache 】 У кэша снижена степень детализации блокировок, повышена параллельность (pr#1385@Github).
  • 【core 】 В SimpleCache снижена степень детализации блокировок, повышена параллельность (pr#1385@Github).
  • 【core 】 Добавлен RadixUtil (pr#260@Gitee).
  • 【core 】 BeanUtil.getFieldValue поддерживает получение коллекции полей (pr#254@Gitee).
  • 【core 】 DateConvert при ошибке преобразования по умолчанию генерирует исключение (issue#I2M5GN@Gitee).
  • 【http 】 HttpServerRequest добавлен метод getParam.
  • 【http 】 RootAction добавлен опциональный параметр name, возвращающий указанное имя файла.
  • 【db 】 Поддерживается распознавание драйвера для Народного банка Китая.
  • 【db 】 ThreadUtil добавлены createScheduledExecutor и schedule (issue#I2NUTC@Gitee).
  • 【core 】 ImgUtil добавлен метод getImage (issue#I2DU1Z@Gitee).
  • 【core 】 Дата начала часа в DateUtil (pr#269@Gitee).
  • 【core 】 MapUtil дополнен методом sortByValue (pr#259@Gitee).
  • 【core 】 TypeUtil исправлено hasTypeVeriable на hasTypeVariable.
  • 【core 】 RandomUtil.getRandom заменён на new SecureRandom, чтобы избежать блокировки.

🐞 Исправления ошибок

  • 【core 】 Решены проблемы с автоматическим созданием родительских каталогов в FileUtil.move и PathUtil.copy (issue#I2CKTI@Gitee).
  • 【core 】 Исправлено неполное чтение данных в Console.input (pr#263@Gitee).
  • 【core 】 URLUtil.encodeAll теперь проверяет пустые указатели (issue#I2CNPS@Gitee).
  • 【core 】 UrlBuilder.of больше не теряет данные в query, содержащие ? (issue#I2CNPS@Gitee).
  • 【crypto 】 Исправлена ошибка BCrypt.checkpw (issue#1377@Github).
  • 【extra 】 Решена проблема с Fftp, когда cd не срабатывал (issue#1371@Github).
  • 【poi 】 Исправлен комментарий к ExcelWriter.merge (issue#I2DNPG@Gitee).
  • 【core 】 CsvReader теперь корректно обрабатывает строки с комментариями (issue#I2D87I@Gitee).

5.5.7 (2021-01-07)

🐣 Новые функции

  • 【core 】 DynaBean.create дополнено перегрузками (pr#245@Gitee).
  • 【core 】 IdcardUtil дополнено перегрузкой с игнорированием регистра (issue#1348@Github).
  • 【poi 】 SheetRidReader получил метод getRidByIndex (issue#1342@Github).
  • 【extra 】 MailAccount получил настройку sslProtocols (issue#IZN95@Gitee).
  • 【extra 】 MailUtil получил метод getSession.
  • 【setting】 Добавились setByGroup и putByGroup, а set и put помечены как устаревшие (issue#I2C42H@Gitee).
  • 【crypto 】 SymmetricAlgorithm получил исправления в комментариях (issue#1360@Github).
  • 【all 】 Все файлы в META-INF/maven в pom исключены (pr#1355@Github).
  • 【http 】 SimpleServer получил методы addFilter и другие, использует глобальный пул потоков.
  • 【core 】 CollUtil.forEach получил проверку на null (pr#250@Gitee).
  • 【extra 】 FtpConfig получил настройки serverLanguageCode и systemKey, Ftp.download дополнено перегрузкой (pr#248@Gitee).

🐞Исправления ошибок

  • 【core 】 CsvReader больше не имеет проблем с экранированием двойных кавычек (issue#I2BMP1@Gitee).
  • 【json 】 JSONUtil.parse исправил проблему с некорректной конфигурацией (issue#1363@Github).
  • 【http 】 Content-Length в ответах SimpleServer теперь корректен (issue#1358@Github).
  • 【http 】 Исключены ошибки проверки сертификата в Https запросах в некоторых средах (issue#I2C1BZ@Gitee).

5.5.6 (2020-12-29)

🐣Новые функции

  • 【core 】 Унифицированное управление регулярными выражениями для стационарных телефонов в классе инструментов для работы со смартфонами (pr#243@Gitee).
  • 【extra 】 В Mail добавлен метод setDebugOutput (issue#1335@Gitee).

🐞Исправления ошибок

  • 【core 】 ZipUtil.unzip больше не закрывает поток при распаковке (issue#I2B0S1@Gitee).
  • 【poi 】 Excel07Writer больше не создаёт беспорядок в таблицах (issue#I2B57B@Gitee).
  • 【poi 】 SheetRidReader корректно считывает поля (issue#1342@Github).
  • 【core 】 FileUtil.getMimeType теперь поддерживает css и js (issue#1341@Github).

5.5.5 (2020-12-27)

🐣Новые функции

  • 【core 】 Перегрузки для URLUtil.normalize (pr#233@Gitee).
  • 【core 】 PathUtil получил isSub и toAbsNormal методы.
  • 【db 】 RedisDS реализует сериализацию (pr#1323@Github).
  • 【poi 】 StyleUtil получил getFormat метод (pr#235@Gitee).
  • 【poi 】 Расширена поддержка форматов дат в ExcelDateUtil (issue#1316@Github).
  • 【core 】 NumberUtil.toBigDecimal поддерживает различные числовые форматы, включая 1,234.56 (issue#1334@Github).
  • 【core 】 NumberUtil получил parseXXX методы (issue#1334@Github). Excel07SaxReader поддерживает чтение через sheetName (issue#I2AOSE@Gitee)

🐞Исправление ошибок

  • 【core 】 Проблема с FileUtil.isSub для определения относительного пути (pr#1315@Github)
  • 【core 】 Добавление проверки на пустоту в TreeUtil (issue#I2ACCW@Gitee)
  • 【db 】 Решение проблемы с получением имён таблиц в Hive (issue#I2AGLU@Gitee)
  • 【core 】 Исправление проблемы с некорректным результатом из-за отсутствия строгого режима в DateUtil.parse (issue#1332@Github)
  • 【core 】 Исправление ошибки, связанной с тем, что RuntimeUtil.getUsableMemory не является статическим методом (issue#I2AQ2M@Gitee)
  • 【core 】 Исправление строгих проверок в ArrayUtil.equals (issue#I2AO8B@Gitee)
  • 【poi 】 Исправление ошибки чтения в SheetRidReader при получении rid (issue#I2AOQW@Gitee)
  • 【core 】 Исправление зависимости от POI (issue#1336@Github)

5.5.4 (2020-12-16)

🐣Новые функции

🐞Исправление ошибок

  • 【core 】 Исправление проблем с IoUtil.readBytes

5.5.3 (2020-12-11)

🐣Новые функции

  • 【core 】 IdcardUtil добавляет административное деление 83 (issue#1277@Github)
  • 【core 】 Изменение int на long в multipart для решения проблемы переполнения при загрузке больших файлов (issue#I27WZ3@Gitee)
  • 【core 】 Проверка в ListUtil.page (pr#224@Gitee)
  • 【db 】 Db добавляет метод page с использованием sql (issue#247@Gitee)
  • 【cache 】 Логическое изменение isExpired() в CacheObj (issue#1295@Github)
  • 【json 】 JSONStrFormater изменено на JSONStrFormatter
  • 【dfa 】 Добавлены FoundWord (pr#1290@Github)
  • 【core 】 Добавлен Segment (pr#1290@Github)
  • 【core 】 Добавлена CharSequenceUtil
  • 【poi 】 Excel07SaxReader разделён на SheetDataSaxHandler
  • 【core 】 CollUtil.addAll добавляет проверку на пустоту (pr#228@Gitee)
  • 【core 】 Исправлена ошибка в комментариях к DateUtil.betweenXXX (issue#I28XGW@Gitee)
  • 【core 】 Добавлен NioUtil
  • 【core 】 Добавлен GanymedUtil
  • 【poi 】 Поддержка OFD добавлена, добавлен OfdWriter
  • 【poi 】 Исправлена орфографическая ошибка в NumberUtil (pr#1311@Github)
  • 【core 】 MapUtil добавил метод getQuietly (issue#I29IWO@Gitee)

🐞Исправление ошибок

  • 【cache 】 Устранена проблема с повторным подсчётом misCount в кэше (issue#1281@Github)
  • 【poi 】 Решена проблема с невозможностью распознавания типа даты при чтении ячеек пользовательского формата через sax (issue#1283@Github)
  • 【core 】 Устранена проблема выхода за пределы в CollUtil.get (issue#1292@Github)
  • 【core 】 TemporalAccessorUtil исправляет проблему форматирования LocalDate с временем (issue#1289@Github)
  • 【json 】 Решён вопрос отсутствия кавычек вокруг LocalDateTime в пользовательском формате даты (issue#1289@Github)
  • 【cache 】 В методе get unlock заменено на unlockRead (issue#1294@Github)
  • 【db 】 Решено проблемы с именами таблиц, содержащими точки (issue#1300@Github)
  • 【poi 】 Решена проблема, вызванная xdr:row тегом (issue#1297@Github)
  • 【core 】 FileUtil.loopFiles использует FileFilter исправлено (issue#I28V48@Gitee)
  • 【extra 】 JschUtil.execByShell возвращает пустое значение исправлено (issue#1067@Github)
  • 【poi 】 Решена проблема чтения значений при использовании sax для чтения специальных excel (issue#1303@Github)
  • 【http 】 HttpUtil класс исправлена условная ошибка (pr#232@Gitee)

5.5.2 (2020-12-01)

🐣Новые функции

  • 【crypto 】 KeyUtil добавляет перегрузки, AES конструктор добавляет перегрузки (issue#I25NNZ@Gitee)
  • 【json 】 JSONUtil добавляет toList перегрузки (issue#1228@Github)
  • 【core 】 Новый CollStreamUtil (issue#1228@Github)
  • 【extra 】 Новая реализация движка выполнения выражений Rhino (pr#1229@Github)
  • 【crypto 】 Добавляет проверку на пустоту (issue#1230@Github)
  • 【core 】 xml.setXmlStandalone(true) оптимизирован (pr#1234@Github)
  • 【core 】 AnnotationUtil добавляет setValue метод (pr#1250@Github)
  • 【core 】 ZipUtil добавляет get метод (issue#I27CUF@Gitee)
  • 【cache 】 Использование volatile ключевого слова для переменных CacheObj и т. д.
  • 【core 】 Base64 добавляет encodeWithoutPadding метод (issue#I26J16@Gitee)
  • 【core 】 ExceptionUtil добавляет message сообщение, упакованное как исключение времени выполнения (pr#1253@Gitee)
  • 【core 】 DatePattern добавляет константы форматирования года и месяца (pr#220@Gitee)
  • 【core 】 ArrayUtil добавляет shuffle метод (pr#1255@Github)
  • 【core 】 Некоторые методы ArrayUtil выделены в PrimitiveArrayUtil
  • 【crypto 】 opt заменено на otp пакет (issue#1257@Github)
  • 【cache 】 Добавлено CacheListener (issue#1257@Github)
  • 【core 】 TimeInterval поддерживает группировку (issue#1238@Github)
  • 【core 】 добавлен compile пакет (pr#1243@Github)
  • 【core 】 добавлены ResourceClassLoader, CharSequenceResource, FileObjectResource
  • 【core 】 изменено IoUtil.read(Reader), логика по умолчанию закрывает Reader
  • 【core 】 ZipUtil добавил Zip метод (pr#222@Gitee)
  • 【all 】 добавлено Hutool.getAllUtils и printAllUtils методы
  • 【core 】 добавлен PunyCode (issue#1268@Gitee)
  • 【core 】 ArrayUtil добавил isSorted метод (pr#1271@Github)
  • 【captcha】 добавлена GifCaptcha (pr#1273@Github)
  • 【core 】 добавлены SSLUtil, SSLContextBuilder

🐞Исправление ошибок

  • 【cron 】 исправлена проблема возможного бесконечного цикла в CronTimer (issue#1224@Github)
  • 【core 】 исправлена ошибка Calculator.conversion с выходом за пределы одного числа (issue#1222@Github)
  • 【poi 】 # 5.5.1 (2020-11-16)

🐣 Новые возможности

  • 【core 】 Добавлены CopyVisitor и DelVisitor.

🐞 Исправления ошибок

  • 【core 】 Исправлена проблема сбоя FileUtil.move в Linux (issue#I254Y3@Gitee).
  • 【http 】 Исправлено несколько замен / в UrlUtil и UrlBuilder (issue#I25MZL@Gitee).

5.5.0 (2020-11-14)

Основные новые функции

  • 【extra 】 Добавлено Jakarta Validation API: ValidationUtil (pr#207@Gitee).
  • 【extra 】 Добавлен Expression Engine: ExpressionUtil (pr#1203@Github).
  • 【extra 】 Новая реализация на основе Apache FtpServer: SimpleFtpServer.
  • 【extra 】 Новая реализация на основе Commons Compress: CompressUtil.

🐣 Новые функции

  • 【core 】 NumberUtil.parseInt и другие поддерживают числа типа 123,2.00 (issue#I23ORQ@Gitee).
  • 【core 】 Добавлены методы ArrayUtil.isSub, indexOfSub, lastIndexOfSub (issue#I23O1K@Gitee).
  • 【core 】 Поддержка передачи значений параметров как null при рефлексивном вызове (pr#1205@Github).
  • 【core 】 HexUtil получил метод format (issue#I245NF@Gitee).
  • 【poi 】 ExcelWriter получил метод setCurrentRowToEnd (issue#I24A2R@Gitee).
  • 【core 】 Увеличение поддержки enum для чисел (issue#I24QZY@Gitee).
  • 【core 】 NumberUtil.toBigDecimal преобразует пустые символы в 0 (issue#I24MRP@Gitee).
  • 【core 】 CollUtil и IterUtil получили метод size (pr#208@Gitee).
  • 【poi 】 Метод read у ExcelReader для чтения пустых ячеек добавил обработку CellEditor (issue#1213@Github).

🐞Исправления ошибок

  • 【core 】 Дата исправлена в DateUtil.current, использующем System.nanoTime (issue#1198@Github).
  • 【core 】 Исправлена ошибка определения даты в Excel03SaxReader (issue#I23M9H@Gitee).
  • 【core 】 ClassUtil.getTypeArgument исправлен для корректной работы с дженериками (issue#1207@Github).
  • 【core 】 Ipv4Util исправил проблему с разделителем (issue#I24A9I@Gitee).
  • 【core 】 Устранены проблемы с Ipv4Util.longToIp.
  • 【poi 】 Ошибка чтения формулы в Excel07SaxReader исправлена (issue#I23VFL@Gitee).
  • 【http 】 HttpUtil.isHttp теперь работает корректно (pr#1208@Github).
  • 【http 】 Исправлен баг с повторением ID из-за времени Snowflake (issue#1206@Github).
  • 【core 】 StrUtil.lastIndexOf теперь корректно ищет строки в начале (issue#I24RSV@Gitee).
  • 【poi 】 BigExcelWriter autoSizeColumnAll теперь работает правильно (pr#1221@Github).
  • 【core 】 StrUtil.subBetweenAll теперь поддерживает одинаковые символы (pr#1217@Github).

5.4.7 (2020-10-31)

🐣Новые функции

  • 【core 】 Добавлен OptionalBean (pr#1182@Github).
  • 【core 】 Добавлены методы Ganzhi (issue#1186@Github).
  • 【core 】 CollUtil получил перегрузку forEach (issue#I22NA4@Gitee).
  • 【core 】 CollUtil.map теперь игнорирует пустые значения, а также обрабатывает элементы исходного массива (issue#I22N08@Gitee).
  • 【http 】 SoapClient получил addSOAPHeader с перегрузкой.
  • 【http 】 ArrayUtil получил containsAll метод.
  • 【core 】 Добавлен CharsetDetector.
  • 【cron 】 CronTask добавлен, поддержка получения id (issue#I23315@Gitee).

🐞Исправления ошибок

  • 【core 】 Исправлена проблема с возвратом null в BeanUtil.beanToMap.
  • 【core 】 ImgUtil.toBufferedImage исправил проблемы с цветовым режимом (issue#1194@Github).
  • 【cron 】 Исправлено некорректное задание TimeZone (issue#I23315@Gitee).

5.4.6 (2020-10-23)

🐣Новые возможности

  • 【http 】 HttpRequest получил basicProxyAuth метод (issue#I1YQGM@Gitee).
  • 【core 】 NumberUtil.toStr изменил логику, удалив научную нотацию BigDecimal (pr#196@Gitee).
  • 【core 】 ListUtil.page использует PageUtil для первой страницы (pr#198@Gitee).
  • 【http 】 Добавилась поддержка распознавания UA для WeChat и корпоративного WeChat (pr#1179@Github).
  • 【core 】 ObjectUtil получил defaultIfXXX (pr#199@Gitee).
  • 【json 】 JSONObject теперь выбрасывает исключения для неподдерживаемых типов объектов при построении.

🐞Исправления ошибок

  • 【core 】 ChineseDate исправил ошибки, связанные с отсутствием игнорирования часов, минут и секунд (issue#I1YW12@Gitee).
  • 【core 】 FileUtil исправил некорректную проверку параметров в copyFile (issue#I1Z2NY@Gitee).
  • 【core 】 BeanDesc исправил проблему перезаписи свойств дочернего класса свойствами родительского (pr#1175@Github).
  • 【aop 】 SimpleAspect исправил ошибку, связанную с перегруженным after методом (issue#I1YUG9@Gitee).
  • 【poi 】 03 sax исправил чтение дат (issue#I1Z83N@Gitee).
  • 【core 】 FileUtil.size исправил проблемы, вызванные использованием символических ссылок (pr#200@Gitee).
  • 【core 】 JSONObject исправил ошибки при передаче JSONArray в конструкторе (issue#I22FDS@Gitee). # 5.4.5 (2020-10-18)

Новые возможности

  • 【core 】 Оптимизация кода ConsoleTable (pr#190@Gitee).
  • 【http 】 Добавление перегрузки setProxy для HttpRequest (pr#190@Gitee).
  • 【core 】 XmlUtil.cleanComment (pr#191@Gitee).
  • 【core 】 ArrayUtil.unWrap с добавлением значения по умолчанию (pr#1149@Github).
  • 【core 】 Изменение проверки на равенство double в ArrayUtil.indexOf (pr#1147@Github).
  • 【core 】 Улучшение проверки параметров и логической обработки в StrUtil (pr#1144@Github).
  • 【core 】 Упрощение логики CreditCode с удалением ненужного Character.toUpperCase (pr#1145@Github).
  • 【core 】 NumberUtil: добавление перегрузки generateRandomNumber с возможностью настройки seed (issue#I1XTUT@Gitee).
  • 【core 】 DataSizeUtil теперь поддерживает десятичные числа (pr#1158@Github).
  • 【core 】 Доработка комментариев (pr#193@Gitee).
  • 【core 】 Улучшение Combination.countAll (pr#1159@Github).
  • 【core 】 Улучшение метода split для списка (pr#194@Gitee).
  • 【poi 】 ExcelWriter: добавлен метод setRowStyle.
  • 【core 】 Assert: добавлены функции интерфейса (pr#1166@Github).
  • 【core 】 Добавлены преобразования AtomicIntegerArray и AtomicLongArray.
  • 【extra 】 PinyinUtil: добавлена поддержка Bopomofo4j.
  • 【core 】 TemporalUtil: новый инструмент, добавлены методы работы со временем.

Исправления ошибок

  • 【core 】 Решена проблема с определением праздников по лунному календарю из-за отсутствия проверки размера месяца (issue#I1XHSF@Gitee).
  • 【core 】 Исправлена проблема возможного переполнения int при вычислении общей суммы в ListUtil (pr#1150@Github).
  • 【json 】 Исправлено преобразование double в JSON, при котором терялась точность дробных чисел (pr#192@Gitee).
  • 【core 】 Исправлен метод remove в CaseInsensitiveMap, который не учитывал регистр (pr#1163@Gitee).
  • 【poi 】 Исправлена ошибка чтения значений объединённых ячеек.
  • 【poi 】 Исправлена ошибка разбора NamedSql типа col::numeric (issue#I1YHBX@Gitee).
  • 【core 】 Исправлено вычисление разницы в днях.

5.4.4 (2020-09-28)

Новые возможности

  • 【core 】 ServiceLoaderUtil: переход на использование contextClassLoader (pr#183@Gitee).
  • 【core 】 NetUtil: добавлен метод getLocalHostName (pr#1103@Github).
  • 【extra 】 FTP: добавлен метод stat (issue#I1W346@Gitee).
  • 【core 】 Convert.toNumber: поддерживается преобразование строк типа 12.2F (issue#I1VYLJ@Gitee).
  • 【core 】 Замена констант типа 999 на статические переменные (issue#I1W8IB@Gitee).
  • 【core 】 URLUtil: автоматическое trim (issue#I1W803@Gitee).
  • 【crypto 】 RC4: добавлен ecrypt (pr#1108@Github).
  • 【core 】 CharUtil and StrUtil: добавлено @ (pr#1106@Github).
  • 【extra 】 Улучшена логика поиска EMOJ (pr#1112@Github).
  • 【extra 】 CollUtil: улучшено управление размером результирующего множества операций объединения и пересечения (pr#1110@Github).
  • 【core 】 PageUtil: оптимизирован алгоритм радуги (issue#1110@Github).
  • 【core 】 IoUtil: добавлен метод readUtf8.
  • 【core 】 Глобальная инициализация учётных записей электронной почты: улучшена логика (pr#1114@Github).
  • 【http 】 SoapClient: добавлен метод addSOAPHeader.
  • 【http 】 Улучшены комментарии в StrUtil (pr#186@Gitee).
  • 【aop 】 Удалены отладочные логи (issue#1116@Github).
  • 【core 】 Добавлено «обратное экранирование» (pr#1121@Github).
  • 【poi 】 SheetReader и XXXRowHandler (issue#I1WHJP@Gitee).
  • 【dfa 】 Фильтрация символов (pr#1122@Github).
  • 【dfa 】 SensitiveUtil: добавлен метод setCharFilter (pr#1123@Github).
  • 【all 】 Стандартизация регистра констант (pr#188@Gitee).
  • 【core 】 Числовая обработка BigDecimal в NumberUtil (pr#1127@Github).
  • 【core 】 Уточнены комментарии к NumberUtil.factorial (pr#1126@Github).
  • 【core 】 NumberUtil: добавлен метод isPowerOfTwo (pr#1132@Github).
  • 【core 】 BooleanUtil: улучшена проверка (pr#1137@Github).
  • 【poi 】 Улучшено чтение с использованием sax, поддерживается sheetId (issue#1141@Github).
  • 【core 】 XmlUtil: добавлен метод readBySax.

Исправления ошибок

  • 【crypto 】 SM2: исправлена невозможность расшифровки после проверки подписи (issue#I1W0VP@Gitee).
  • 【core 】 TreeSet: исправлена проблема отсутствия дефолтного компаратора при создании нового объекта (issue#1101@Github).
  • 【core 】 Linux: исправлена ошибка распаковки при использовании путей Windows (issue#I1MW0E@Gitee).
  • 【core 】 Word07Writer: исправлена проблема записи map (issue#I1W49R@Gitee).
  • 【script 】 Функции библиотеки: исправлено выполнение скриптов.
  • 【core 】 RGB: исправлены некорректные верхние пределы случайных цветов и дублирование API (pr#1136@Gihub).

5.4.3 (2020-09-16)

Новые возможности

  • 【core 】 Использование статического метода of для создания объектов (pr#177@Gitee).
  • 【setting】 Setting: добавлен store без аргументов (issue#1072@Github).
  • 【setting】 StatementUtil: добавлен кэш для null (pr#1076@Github).
  • 【core 】 Расширение функций консоли, поддержка переменного количества аргументов (issue#1077@Github).
  • 【crypto 】 ECKeyUtil (issue#I1UOF5@Gitee).
  • 【core 】 TransXXX (issue#I1TU1Y@Gitee).
  • 【core 】 Generator.
  • 【db 】 Column: добавлены поля, указывающие на первичные ключи и количество сохраняемых цифр.
  • 【cache 】 Cache: интерфейс дополнен перегруженным методом get (issue#1080@Github).
  • 【core 】 Interner и InternUtil (issue#I1TU1Y@Gitee).
  • 【core 】 Calculator (issue#1090@Github).
  • 【core 】 IdcardUtil: добавлен getIdcardInfo (issue#1092@Github).
  • 【core 】 ObjectUtil.equal: улучшенная поддержка сравнения BigDecimal. ``` ArrayConverter增加可选是否忽略错误(issue#I1VNYQ@Gitee)
  • 【db 】 增加ConditionBuilder
  • 【setting】 Setting和Props增加create方法
  • 【log 】 增加TinyLog2支持(issue#1094@Github)

🐞Bug修复

  • 【core 】 修复Dict.of错误(issue#I1UUO5@Gitee)
  • 【core 】 修复UrlBuilder地址参数问题(issue#I1UWCA@Gitee)
  • 【core 】 修复StrUtil.toSymbolCase转换问题(issue#1075@Github)
  • 【log 】 修复打印null对象显示{msg}异常问题(issue#1084@Github)
  • 【extra 】 修复ServletUtil.getReader中未关闭的问题
  • 【extra 】 修复QrCodeUtil在新版本zxing报错问题(issue#1088@Github)
  • 【core 】 修复LocalDateTimeUtil.parse无法解析yyyyMMddHHmmssSSS的bug(issue#1082@Github)
  • 【core 】 修复VersionComparator.equals递归调用问题(issue#1093@Github)

5.4.2 (2020-09-09)

🐣新特性

  • 【core 】 lock放在try外边(pr#1050@Github)
  • 【core 】 MailUtil增加错误信息(issue#I1TAKJ@Gitee)
  • 【core 】 JschUtil添加远程转发功能(pr#171@Gitee)
  • 【db 】 AbstractDb增加executeBatch重载(issue#1053@Github)
  • 【extra 】 新增方便引入SpringUtil的注解@EnableSpringUtil(pr#172@Gitee)
  • 【poi 】 RowUtil增加插入和删除行(pr#1060@Github)
  • 【extra 】 SpringUtil增加注册bean(pr#174@Gitee)
  • 【core 】 修改NetUtil.getMacAddress避免空指针(issue#1057@Github)
  • 【core 】 增加EnumItem接口,枚举扩展转换,增加SPI自定义转换(pr#173@Gitee)
  • 【core 】 TypeUtil增加getActualType,增加ActualTypeMapperPool类(issue#I1TBWH@Gitee)
  • 【extra 】 QRConfig中添加qrVersion属性(pr#1068@Github)
  • 【core 】 ArrayUtil增加equals方法
  • 【core 】 BeanDesc增加方法
  • 【core 】 增加@PropIgnore注解(issue#I1U846@Gitee)

🐞Bug修复

  • 【core 】 重新整理农历节假日,解决一个pr过来的玩笑导致的问题
  • 【poi 】 修复ExcelFileUtil.isXls判断问题(pr#1055@Github)
  • 【poi 】 修复CglibUtil.copyList参数错误导致的问题
  • 【http 】 修复GET请求附带body导致变POST的问题
  • 【core 】 修复double相等判断问题(pr#175@Gitee)
  • 【core 】 修复DateSizeUtil.format越界问题(issue#1069@Github)
  • 【core 】 修复ChineseDate.getChineseMonth问题(issue#I1UG72@Gitee)

5.4.1 (2020-08-29)

🐣新特性

  • 【core 】 StrUtil增加firstNonXXX方法(issue#1020@Github)
  • 【core 】 BeanCopier修改规则,可选bean拷贝空字段报错问题(pr#160@Gitee)
  • 【http 】 HttpUtil增加downloadFileFromUrl(pr#1023@Github)
  • 【core 】 增加toEpochMilli方法
  • 【core 】 Validator修改isCitizenId校验(pr#1032@Github)
  • 【core 】 增加PathUtil和FileNameUtil,分离FileUtil中部分方法
  • 【core 】 改造IndexedComparator,增加InstanceComparator
  • 【extra 】 增加CglibUtil
  • 【core 】 增加Ipv4Util(pr#161@Gitee)
  • 【core 】 增加CalendarUtil和DateUtil增加isSameMonth方法(pr#161@Gitee)
  • 【core 】 Dict增加of方法(issue#1035@Github)
  • 【core 】 StrUtil.wrapAll方法不明确修改改为wrapAllWithPair(issue#1042@Github)
  • 【core 】 EnumUtil.getEnumAt负数返回null(pr#167@Gitee)
  • 【core 】 ChineseDate增加天干地支和转换为公历方法(pr#169@Gitee)
  • 【core 】 Img增加stroke描边方法(issue#1033@Github)

🐞Bug修复#

  • 【poi 】 修复ExcelBase.isXlsx方法判断问题(issue#I1S502@Gitee)
  • 【poi 】 修复Excel03SaxReader日期方法判断问题(pr#1026@Github)
  • 【core 】 修复StrUtil.indexOf空指针问题(issue#1038@Github)
  • 【extra 】 修复VelocityEngine编码问题和路径前缀问题(issue#I1T0IG@Gitee)

5.4.0 (2020-08-06)

🐣新特性

  • 【socket】 对NioServer和NioClient改造(pr#992@Github)
  • 【core 】 StrUtil增加filter方法(pr#149@Gitee)
  • 【core 】 DateUtil增加beginOfWeek重载
  • 【core 】 将有歧义的BeanUtil.mapToBean方法置为过期(使用toBean方法)
  • 【core 】 添加WatchAction(对Watcher的抽象)
  • 【core 】 修改UUID正则,更加严谨(issue#I1Q1IW@Gitee)
  • 【core 】 ArrayUtil增加isAllNull方法(issue#1004@Github)
  • 【core 】 CollUtil增加contains方法(pr#152@Gitee)
  • 【core 】 ArrayUtil增加isAllNotNull方法(pr#1008@Github)
  • 【poi 】 closeAfterRead参数无效,方法设为过期(issue#1007@Github)
  • 【core 】 CollUtil中部分方法返回null变更为返回empty
  • 【all 】 添加英文README(pr#153@Gitee)
  • 【extra 】 SpringUtil增加getBean(TypeReference)(pr#1009@Github)
  • 【core 】 Assert增加方法,支持自定义异常处理(pr#154@Gitee)
  • 【core 】 BooleanConverter增加数字转换规则(issue#I1R2AB@Gitee)
  • 【poi 】 sax方式读取增加一个sheet结束的回调(issue#155@Gitee)
  • 【db 】 增加BeeCP连接池支持

### 🐞Исправления ошибок #
* 【core】 Исправлено: при преобразовании исходного типа данных, если преобразование не удаётся и не генерируется исключение.
* 【core】 Исправлено: в BeanUtil.mapToBean проблема с невозможностью создания экземпляра класса bean, если поле class не пустое.
* 【core】 Исправлено: проблема замены нескольких последовательных переменных в NamedSql.
* 【core】 Исправлено: ошибка получения данных из-за полей с одинаковыми именами в Bean, которые отличаются только регистром букв (issue#I1QBQ4@Gitee).
* 【http】 Исправлено: некорректная работа заголовков ответа в SimpleServer (issue#1006@Github).
* 【core】 Исправлено: получение одинаковых случайных чисел в ThreadLocalRandom из-за общего seed (pr#151@Gitee).

-------------------------------------------------------------------------------------------------------------

# 5.3.11 (2020-08-01)

### 🐣Новые функции
* 【captcha】 В AbstractCaptcha добавлен метод getImageBase64Data (pr#985@Github).
* 【core】 Добавлен PhoneUtil (pr#990@Github).
* 【core】 Улучшен Img: для целевых изображений, тип которых не определён, используется тип исходного изображения (issue#I1PB0B@Gitee).
* 【json】 В JSONConfig добавлен параметр Transient (issue#I1PLHN@Gitee).
* 【core】 В MapUtil добавлены перегрузки методов getXXX с дефолтными значениями (issue#I1PTGI@Gitee).
* 【core】 CalendarUtil получил метод parseByPatterns (issue#993@Github).

### 🐞Исправления ошибок #

-------------------------------------------------------------------------------------------------------------

## 5.3.10 (2020-07-23)

### 🐣Новые функции
* 【db】 Добавлена функция DbUtil.setReturnGeneratedKeyGlobal (issue#I1NM0K@Gitee).
* 【core】 Добавились DataSize и DataSizeUtil (issue#967@Github).
* 【core】 ImgUtil получил обработку исключений для предотвращения NullPointerException (issue#I1NKXG@Gitee).
* 【core】 Добавлено несколько алгоритмов CRC16 (pr#963@Github).
* 【core】 LocalDateTimeUtil получил методы format и другие (pr#140@Gitee).
* 【http】 UserAgentUtil получил возможность распознавания браузера Android (pr#975@Github).
* 【crypto】 Добавлен класс ECIES алгоритма (issue#979@Github).
* 【crypto】 CollUtil получил методы padLeft и padRight (pr#141@Gitee).
* 【core】 IdCardUtil поддерживает удаление проверки первой буквы в гонконгских удостоверениях личности (issue#I1OOTB@Gitee).

### 🐞Исправления ошибок
* 【core】 Исправлена проблема в ZipUtil, когда метод finish находился внутри цикла (issue#961@Github).
* 【core】 Исправлена ошибка в CollUtil.page, связанная с отсутствием проверки выхода за границы (issue#I1O2LR@Gitee).
* 【core】 Исправлен баг в StrUtil.removeAny (issue#977@Github).

-------------------------------------------------------------------------------------------------------------

## 5.3.9 (2020-07-12)

### 🐣Новые функции
* 【core】 DateUtil получил функцию formatChineseDate (pr#932@Github).
* 【core】 ArrayUtil.isEmpty изменил логику (pr#948@Github).
* 【core】 Повышена производительность StrUtil для пустых проверок (pr#949@Github).
* 【core】 Устаревший millsecond заменён на millisecond (issue#I1M9P8@Gitee).
* 【core】 Появился LocalDateTimeUtil (issue#I1KUVC@Gitee).
* 【core】 Month получил метод getLastDay.
* 【core】 ChineseDate теперь поддерживает годы до 2099.

### 🐞Исправления ошибок
* 【core】 Исправлена проблема с остатком в NumberUtil.partValue (issue#I1KX66@Gitee).
* 【core】 Исправлена ошибка, из-за которой BeanUtil.isEmpty не игнорировал static поля (issue#I1KZI6@Gitee).
* 【core】 Исправлена длина в StrUtil.brief (pr#930@Github).
* 【socket】 Исправлена некорректная обработка таймаута в AioSession (pr#941@Github).
* 【setting】 Исправлена ошибка GroupSet.contains (pr#943@Github).
* 【core】 Исправлена недоработка в ZipUtil, где не вызывался метод finish (issue#944@Github).
* 【extra】 Исправлена отрицательная длина ArrayList в Ftp (pr#136@Github).
* 【core】 Исправлены проблемы с заглавными/строчными буквами в Dict (issue#I1MU5B@Gitee).
* 【core】 Исправлена ошибка чтения чисел в POI через sax (issue#931@Github).
* 【core】 Исправлена ошибка DateUtil.endOfQuarter (issue#I1NGZ7@Gitee).
* 【core】 Исправлено преобразование URL с пробелами в «+» (issue#I1NGW4@Gitee).
* 【core】 Исправлена работа CollUtil.intersectionDistinct с пустым множеством.
* 【core】 Исправлена ошибка расчёта ChineseDate в 1996 году (issue#I1N96I@Gitee).

-------------------------------------------------------------------------------------------------------------

## 5.3.8 (2020-06-16)

### 🐣Новые функции
* 【core】 Поддержка формата даты ISO8601 (issue#904@Github).
* 【setting】 Изменение правил обработки исключений Props (issue#907@Github).
* 【setting】 Добавлена поддержка GIF.
* 【core】 Возможность копирования Bean объекта и игнорирования некоторых свойств (pr#130@Gitee).
* 【core】 Дата DateUtil.parse поддерживает больше форматов (issue#I1KHTB@Gitee).
* 【crypto】 Проверка на null при получении ключа (issue#925@Github).
* 【core】 Метод StrUtil.removeAny добавлен (issue#923@Github).
* 【db】 Частичная поддержка параметров Connection (issue#924@Github).
* 【core】 FileUtil получил псевдонимы методов (pr#926@Github).
* 【poi】 ExcelReader получил перегрузку read для обработки каждой ячейки отдельно (issue#I1JZTL@Gitee).

### 🐞Исправления ошибок
* 【json】 Исправлена неработающая передача данных в JSONConfig из-за метода append (issue#906@Github).
* 【core】 Исправлена ошибочная логика в CollUtil.subtractToList (pr#915@Github).
* 【poi】 WordWriter больше не создаёт проблем при записи таблиц (pr#914@Github).
* 【core】 IoUtil.readBytes корректно работает с длиной буфера (issue#I1KIUE@Gitee).
* 【core】 Устранена проблема BigExcelWriter при многократном вызове flush (issue#920@Github).
* 【extra】 Обошли ошибку Pinyin4j с последним разделителем (issue#921@Github). ## 5.3.7 (2020-06-03)
### Новые возможности
* 【core】 Возвращаемое значение метода setUncaughtExceptionHandler класса ThreadFactoryBuilder — this (проблема №I1J4YJ на Gitee).

### Исправления ошибок
* 【core】 Исправлена проблема с некорректным анализом даты и времени DateUtil.parse (дата «2020-5-8 3:12:13») (проблема №I1IZA3 на Gitee).
* 【core】 Устранена проблема с неверным размером Img.pressImg (проблема №I1HSWU на Gitee).
* 【core】 Проблема с незавершённой остановкой задач CronUtil.stop исправлена (проблема №I1JACI на Gitee).
-------------------------------------------------------------------------------------------------------------
## 5.3.6 (2020-05-30)
### Новые возможности
* 【core】 Для типа Long добавлен преобразователь NumberConverter, который позволяет преобразовывать дату (PR №872 на Github).
* 【all】 Исправление комментариев в StrUtil и SymmetricCrypto (PR №873 на Github).
* 【core】 CsvReader теперь поддерживает возврат Bean (проблема №869 на Github).
* 【core】 В Snowflake добавлено ожидание следующего времени без зацикливания на длительное время, добавлена проверка на откат часов назад (PR №874 на Github).
* 【extra】 Добавлен возврат QRCode в формате base64 (PR №878 на Github).
* 【core】 ImgUtil получил метод toBase64DateUri, а URLUtil — метод getDataUri.
* 【core】 IterUtil получил инструмент для преобразования List в Map (PR №123 на Gitee).
* 【core】 При неудачном преобразовании BeanValueProvider возвращает исходные данные, а не null.
* 【core】 Поддерживается преобразование BeanUtil.toBean(object, Map.class) (проблема №I1I4HC на Gitee).
* 【core】 MapUtil и CollUtil получили метод clear (проблема №I1I4HC на Gitee).
* 【core】 Добавлен FontUtil, можно определить, будет ли pressText начинаться с середины (проблема №I1HSWU на Gitee).
* 【http】 SoapClient поддерживает пользовательские заголовки запросов (проблема №I1I0AO на Gitee).
* 【script】 ScriptUtil получил методы evalInvocable и invoke (проблема №I1HHCP на Gitee).
* 【core】 ImgUtil получил метод удаления фона (PR №124 на Gitee).
* 【system】 OshiUtil получил метод получения загрузки CPU (PR №124 на Gitee).
* 【crypto】 AsymmetricAlgorithm удалил EC (проблема №887 на Github).
* 【cache】 Размер пула потоков по умолчанию для кэша с таймаутом равен 1 (проблема №890 на Github).
* 【poi】 ExcelSaxReader поддерживает метод handleCell.
* 【core】 Snowflake допускает временное смещение на 2 секунды назад (проблема №I1IGDX на Gitee).
* 【core】 StrUtil получил методы isAllNotEmpty и isAllNotBlank (PR №895 на Github).
* 【core】 DateUtil получил метод dayOfYear (PR №895 на Github).
* 【http】 HttpUtil получил метод downloadBytes (PR №895 на Github).
* 【core】 Пометка о неработоспособности isMactchRegex, добавлен метод isMatchRegex (проблема №I1IPJG на Gitee).
* 【core】 Оптимизирован Validator.isChinese.
* 【core】 ArrayUtil.addAll получил поддержку исходных типов (проблема №898 на Github).
* 【core】 Дата DateUtil.parse поддерживает формат «2020-1-1» (проблема №I1HGWW на Github).

### Исправления ошибок
* 【core】 Решена проблема взаимоблокировки SimpleCache (проблема №I1HOKB на Gitee).
* 【core】 Решён вопрос освобождения SemaphoreRunnable (проблема №I1HLQQ на Gitee).
* 【poi】 Решена проблема некорректного чтения номера строки Excel при использовании Sax (проблема №882 на Github).
* 【poi】 Решена проблема несоответствия типов данных Excel при чтении дат в режимах Sax 03 и 07 (проблема №I1HL1C на Gitee).
* 【poi】 Исправлена ошибка построения CamelCaseLinkedMap (проблема №I1IZ30 на Gitee).
-------------------------------------------------------------------------------------------------------------
## 5.3.5 (2020-05-13)
### Новые возможности
* 【core】 CollUtil получил метод map.
* 【extra】 Появился метод Sftp.lsEntries, Ftp и Sftp получили функцию recursiveDownloadFolder (PR №121 на Gitee).
* 【system】 OshiUtil получил метод getNetworkIFs.
* 【core】 CollUtil получил методы unionDistinct и unionAll (PR №122 на Gitee).
* 【core】 IoUtil.readObj получил перегрузку, ValidateObjectInputStream позволяет пользователю настроить безопасную проверку.
* 【http】 Изменена часть загрузки файлов в HttpRequest, добавлен класс MultipartBody.

### Исправления ошибок
* 【core】 Исправлено несколько проблем, вызванных безопасной проверкой в IoUtil.readObj, безопасная проверка удалена.
* 【http】 Решена проблема 404 при доступе к файлам на SimpleServer (проблема №I1GZI3 на Gitee).
* 【core】 Исправлена логическая ошибка в BeanCopier при работе с циклическими ссылками (проблема №I1H2VN на Gitee).
-------------------------------------------------------------------------------------------------------------
## 5.3.4 (2020-05-10)
### Новые возможности
* 【core】 URLUtil получил метод getContentLength (проблема №I1GB1Z на Gitee).
* 【extra】 PinyinUtil появился (проблема №I1GMIV на Gitee).

### Исправления ошибок
* 【extra】 Решена проблема установки тайм-аута Ftp (проблема №I1GMTQ на Gitee).
* 【core】 TreeUtil: исправлена NPE при поиске дочерних узлов по id (PR №120 на Gitee).
* 【core】 BeanUtil.copyProperties: исправлена проблема с неработающей аннотацией Alias (проблема №I1GK3M на Gitee).
* 【core】 CollUtil.containsAll: исправлена ошибка при проверке пустого множества (проблема №I1G9DE на Gitee).
* 【core】 XmlUtil.xmlToBean: исправлены ошибки (проблема №865 на Github).
-------------------------------------------------------------------------------------------------------------
## 5.3.3 (2020-05-05)
### Новые возможности
* 【core】 Метод ImgUtil.createImage теперь поддерживает прозрачный фон (проблема №851 на Github).
* 【json】 Изменение правила экранирования при преобразовании JSON в строку: символ «</» больше не экранируется (проблема №852 на Github).
* 【cron】 Все сегменты выражения теперь поддерживают ключевое слово L (проблема №849 на Github).
* 【extra】 Появление PinyinUtil, обёртка TinyPinyin. ### Добавление FtpConfig в Ftp и Sftp, предоставление дополнительных параметров, таких как таймаут
* 【extra】 SpringUtil добавил методы getActiveProfiles, getBeansOfType, getBeanNamesForType (issue#I1FXF3@Gitee).
* 【bloomFilter】 Избежание переполнения чисел в фильтре Блума (pr#119@Gitee).
* 【core】 Добавил IoUtil.writeObj (issue#I1FZIE).
* 【core】 Добавил FastStringWriter.
* 【core】 Добавил метод ceilDiv в NumberUtil (pr#858@Github).
* 【core】 IdcardUtil добавил проверку провинций (issue#859@Github).
* 【extra】 TemplateFactory и TokenizerFactory добавили метод get для синглтона.

### 🐞Исправления ошибок
* 【core】 Исправлено некорректное поведение URLBuilder при наличии амперсанда в параметрах запроса (issue#850@Github).
* 【core】 Исправлена проблема с путями, заканчивающимися на / в URLBuilder (issue#I1G44J@Gitee).
* 【db】 Исправлена ошибка с orderBy в SqlBuilder (issue#856@Github).
* 【core】 Исправлена ошибка StrUtil.subBetweenAll (issue#861@Github).

-------------------------------------------------------------------------------------------------------------
## 5.3.2 (2020-04-23)

### 🐣Новые функции
* 【core】 Добавлен метод isOpen в NetUtil.
* 【core】 Добавлены перегрузки sleep и safeSleep в ThreadUtil.
* 【core】 Класс Sftp добавил метод toString (issue#I1F2T4@Gitee).
* 【core】 Изменена логика FileUtil.size, теперь несуществующие файлы возвращают 0.
* 【extra】 Sftp.ls возвращает пустое множество, если файл не существует, а не выбрасывает исключение (issue#844@Github).
* 【http】 Улучшен формат HttpRequest.toString(), добавлен url.

### 🐞Исправления ошибок
* 【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 (issue#839@Github).
* 【db】 Устранен потенциальный пустой указатель в DbUtil.close (issue#847@Github).

-------------------------------------------------------------------------------------------------------------
## 5.3.1 (2020-04-17)

### 🐣Новые возможности
* 【core】 ListUtil, MapUtil и CollUtil получили метод empty.
* 【poi】 Скорректирована стратегия псевдонимов, clearHeaderAlias и addHeaderAlias удаляют aliasComparator (issue#828@Github).
* 【core】 Логика StrUtil.equals изменена на contentEquals.
* 【core】 URLUtil получил UrlDecoder.
* 【core】 XmlUtil получил setNamespaceAware и поддержку UniversalNamespaceCache для getByPath.
* 【aop】 Добавлена поддержка Spring-cglib через SPI.
* 【json】 JSONUtil.parseXXX получил параметр JSONConfig.
* 【core】 RandomUtil.randomNumber теперь возвращает char.
* 【crypto】 SM2 поддерживает настройку Digest и DSAEncoding (issue#829@Github).

### 🐞Исправления ошибок
* 【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 изменил возвращаемое значение методов записи файла на 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 lock изменен на StampedLock.
* 【core】 Singleton теперь реализован через SimpleCache.
* 【core】 CalendarUtil и DateUtil перенесены в этот пакет.

### 🐞Исправления ошибок
* 【extra】 Решено проблему с ошибкой перезапуска при использовании devtools в SpringUtil.
* 【http】 HttpUtil.encodeParams теперь корректно обрабатывает URL без параметров (issue#817@Github).
* 【extra】 Исправлены проблемы с некорректными ссылками в шаблонах.
* 【extra】 Исправлено применение конфигурации из JSON текста к дочерним объектам (issue#818@Github).
* 【extra】 Устранено некорректное отображение namespace в XmlUtil.createXml.
* 【core】 WatchMonitor теперь по умолчанию имеет события.

-------------------------------------------------------------------------------------------------------------
## 5.2.5 (2020-03-26)

### 🐣Новые характеристики
* 【core】 Добавлена логика использования значений по умолчанию при инъекции примитивных типов (issue#797@Github).
* 【core】 CityHash алгоритм добавлен. ### Поддержка настройки первой страницы
* PageUtil поддерживает настройку первой страницы с помощью setFirstPageNo (issue#I1CGNZ@Gitee).

* UserAgentUtil добавил поддержку браузера Edge на базе Chromium в ядре Chromium (issue#800@Github).

* В FIFOCache изменена стратегия начальной ёмкости для linkedHashMap (pr#801@Github).
* XmlUtil: setNamespaceAware по умолчанию имеет значение true.
* TreeNode добавлен extra.
* CollUtil.newHashSet перегружен, заменён на метод set.
* Добавлен ListUtil, добавлены интерфейсы Hash32, Hash64, Hash128.
* BCUtil добавил методы readPemPrivateKey и readPemPublicKey.
* Вместо блокировок чтения-записи используется StampedLock, добавлен LockUtil.

### Исправления ошибок
* NumberWordFormatter исправлена орфографическая ошибка (issue#799@Github).
* Исправлена проблема с неработающим выпадающим списком в xls файлах (issue#I1C79P@Gitee).
* Исправлено использование Cglib прокси (issue#806@Github).
* DateUtil.weekCount исправлена ошибка расчёта через год.

## 5.2.4

### Новые функции
* Setting добавил перегруженные addSetting и autoLoad (pr#104@Gitee).
* Добавлена copyProperties, которая создаёт объект на основе класса и копирует свойства (pr#105@Gitee).
* Добавлен метод получения имени текущей папки класса (pr#106@Gitee).
* BooleanUtil исправил неоднозначность перегрузки, изменил имена методов параметров упаковки (issue#I1BSK8@Gitee).
* XmlUtil добавил xmlToBean и beanToXml.
* DbUtil позволяет установить глобальное игнорирование регистра (DbUtil.setCaseInsensitiveGlobal(true)) (issue#784@Github).
* CallerUtil добавил метод getCallerMethodName.
* У Tree добавлен метод getParent, который позволяет получить родительский узел (абстрактный интерфейс Node).
* Добавлен CreditCodeUtil для работы с социальными кредитными кодами (pr#112@Gitee).
* ChineseDate добавил перегрузку конструктора и toStringNormal (issue#792@Github).
* BeanUtil.toBean добавил перегрузку (issue#797@Github).

### Исправления ошибок
* TypeUtil исправлена ошибка получения универсального параметра интерфейса (issue#I1BRFI@Gitee).
* MySQL исправлена ошибка с сообщением «0000».
* BeanPath исправлена ошибка, когда значение из Map было пустым (issue#790@Github).
* Poi исправлена ошибка добавления единицы измерения размера изображения (issue#I1C2ER@Gitee).
* setting исправлена логическая ошибка в getStr (pr#113@Gitee).
* JSONUtil.toXml исправлена ошибка кодирования китайских иероглифов (pr#795@Gitee).
* Poi исправлена проблема несоответствия длины каждого map в экспортированном списке карт (issue#793@Gitee).

## 5.2.3

### Новые функции
* UserAgentUtil распознаёт iOS и Android (issue#781@Github).
* Поддержка новых автомобильных номеров (issue#I1BJHE@Gitee).

### Исправления ошибок
* PageUtil исправлена семантическая неоднозначность первой страницы (issue#782@Github).
* TemplateFactory исправлена ошибка при импорте пакета.
* ServiceLoaderUtil.loadFirstAvailable исправлена ошибка.

## 5.2.2

### Новые функции

### Исправления ошибок
* Http исправлена ошибка добавления лишних заголовков в body методе (issue#769@Github).
* BloomFilter исправлена потеря старших битов при сдвиге влево более чем на 32 бита (pr#770@Github).
* Core исправлена ошибка вычисления начала и конца недели (issue#I1BDPW@Gitee).
* Db исправлена неоднозначность при использовании именованного способа запроса (issue#776@Github).

## 5.2.1

### Новые функции
* FastDateParser модифицирован для соответствия JDK (issue#I1AXIN@Gitee).
* Добавлено дерево (структура данных в виде дерева) (pr#100@Gitee).
* Added randomEleList (pr#764@Github).

### Исправления ошибок
* Props.toBean исправлена ошибка null.
* DataUtil.parseLocalDateTime исправлена ошибка отсутствия временной части (issue#I1B18H@Gitee).
* NetUtil.isUsableLocalPort() исправлена ошибка определения (issue#765@Github).
* ExcelWriter исправлена ошибка записи нескольких листов (issue#766@Gitee).
* Extra исправлена ошибка пользовательских настроек шаблона (issue#767@Github).

## 5.2.0

### Новые функции
* NumberUtil.decimalFormat добавлена поддержка Object объекта в качестве параметра.
* ReflectUtil.getFieldValue добавлена поддержка Alias аннотации.
* Поля Bean поддерживают Alias аннотацию (включая преобразование в map, преобразование в bean и т. д.).
* ValueListHandler оптимизирует способ получения результатов.
* Support patch method (issue#666@Github).
* BCUtil поддерживает более гибкие типы ключей и добавил writePemObject.
* Добавлен ServiceLoaderUtil.
* EnumUtil.getEnumAt добавлен.
* Улучшена способность EnumConvert определять (issue#I17082@Gitee).
* log, template, tokenizer используют SPI механизм вместо жёстко заданного кода.
* Word07Writer добавил addPicture.
* RSA алгоритм скорректировал стратегию длины BlockSize (issue#721@Github).
* SM2Engine удалён, объекты заменены на те, что в BC библиотеке.
* Добавлен PemUtil.
* WordTree добавил Filter, поддерживает пользовательские фильтры специальных символов.
* POI зависимость обновлена до версии 4.1.2. ### Добавление поддержки формата верификационного ключа SM2 (issue#686@Github)

### 🐞 Исправления ошибок

-------------------------------------------------------------------------------------------------------------

## 5.1.5

### 🐣 Новые функции
* 【poi  】     При чтении из Excel объединённых ячеек с одинаковым значением, ячейки больше не пустые.
* 【core 】     Добавлен EscapeUtil.escapeAll (issue#758@Github).
* 【core 】     Добавлены методы formatLocalDateTime и parseLocalDateTime (pr#97@Gitee).

### 🐞Исправления ошибок
* 【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 добавил magic для mp4 (issue#756@Github).

### 𐞞Исправления ошибок
* 【core 】     Исправлены проблемы с массивом CombinationAnnotationElement (issue#752@Github).
* 【core 】     Исправлена проблема с использованием debug и выводом номеров строк в log4j2 (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).
### 🐞Исправления ошибок
* 【core 】     CharsetUtil вызывает ошибки при работе в системах, не поддерживающих GBK (issue#731@Github).
* 【core 】     Метод randomEleSet в RandomUtil не генерирует случайную последовательность (pr#741@Github).
* 【core 】     Исправлена проблема со StopWatch toString (issue#I18VIK@Gitee).

-------------------------------------------------------------------------------------------------------------

## 5.1.2

### 🐣Новые функции
* 【core 】     XmlUtil поддерживает необязательный вывод omit xml declaration (pr#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).

### 🐞Исправления ошибок
* 【core 】     Исправлен баг в isExpired (issue#733@Gtihub).

-------------------------------------------------------------------------------------------------------------

## 5.1.1

### 🐣Новые функции
* 【core 】     ClassUtil.isSimpleValueType теперь поддерживает TemporalAccessor (issue#I170HK@Gitee).
* 【core 】     Добавлен метод Convert.toPrimitiveByteArray, Convert поддерживает сериализацию и десериализацию объектов.
* 【core 】     Дата истечения срока действия DateUtil (issue#687@Github).
* 【core 】     Добавлена аннотация Alias.
* 【core 】     Исправлены NumberChineseFormatter и NumberWordFormatter (ошибки в написании классов).
* 【all  】     Исправлены equals, чтобы избежать возможных проблем с пустыми указателями (pr#692@Github).
* 【core  】     Предоставлена карта со встроенными значениями по умолчанию (pr#87@Gitee).
* 【core  】     Dict в режиме без учёта регистра также не различает регистр при получении (issue#722@Github).
* 【core  】     StrUtil добавил метод contains (issue#716@Github).
* 【core  】     QrCodeUtil добавил поддержку прозрачного фона (pr#89@Gitee).
* 【core  】     Добавлена ChineseDate для лунного календаря (pr#90@Gitee).
* 【core  】     ZipUtil добавил метод zip для записи в поток (issue#I17SCT@Gitee).
* 【db    】     Db.use().query() добавил интерфейс параметров Map (issue#709@Github).
* 【db    】     getDialect использует источник данных в качестве блокировки (issue#720@Github).

### 🐞Исправления ошибок
* 【core 】     NumberUtil.mul исправил ошибку с результатом null (issue#I17Y4J@Gitee).
* 【core 】     Исправлена ошибка, когда при сумме равной или превышающей 100 миллионов, добавлялся лишний разряд «десять тысяч» (pr#715@Github).
* 【core 】     Fixed FileUtil.listFileNames, файлы не находились, если они были внутри jar.
* 【core 】     TextSimilarity.similar исправил проблему, связанную с удалением символов (issue#I17K2A@Gitee).
* 【core 】     unzip исправил проблемы с путями к файлам (issue#I17VU7@Gitee).

-------------------------------------------------------------------------------------------------------------

## 5.1.0

### 🐣Новые функции
* 【core 】     Новый WatchServer (issue#440@Github).
* 【core 】     ReflectUtil.getFieldValue теперь поддерживает static (issue#662@Github).
* 【core 】     Улучшены логика проверки и внедрения Bean: поддерживается внедрение публичных полей (issue#I1689L@Gitee).
* 【extra】     Новая функция SpringUtil.
* 【http 】     Get запрос поддерживает body, удалён метод body (JSON) (issue#671@Github).
* 【core 】     Отражение ReflectUtil исправлено, предотвращая неоднозначность getFieldValue.

### 🐞Исправления ошибок
* 【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 (issue #630 на Github).
* **core.** BeanUtil.isEmpty() игнорирует поддержку полей, добавлен isNotEmpty (issue #629 на Github).
* **extra.** Получение message-id после отправки письма (issue #I15FKR на Gitee).
* **core.** В CaseInsensitiveMap и CamelCaseMap добавлен метод toString (issue #636 на Github).
* **core.** Улучшения для нескольких узлов в XmlUtil (issue #I15I0R на Gitee).
* **core.** Thread.excAsync исправлен на execAsync (issue #642 на Github).
* **core.** FileUtil.getAbsolutePath — исправлено регулярное выражение (issue #648 на Github).
* **core.** NetUtil — добавлен метод getNetworkInterface (issue #I15WEL на Gitee).
* **core.** Добавлен метод ReflectUtil.getFieldMap (issue #I15WJ7 на Gitee).

### Исправления ошибок
* **extra.** Исправлена проблема с загрузкой при неудачной загрузке SFTP.upload (issue #I15O40 на Gitee).
* **db.** Исправлены ошибки сопоставления findLike.
* **core.** Исправлена прозрачность метода scale (issue #I15L5S на Gitee).
* **extra.** Исправлено возвращение недопустимого значения exec (issue #I15L5S на Gitee).
* **cron.** Исправлены комментарии CronPattern (pr #646 на Github).
* **json.** Исправлена ошибка, из-за которой не поддерживались объекты времени JDK8 LocalDateTime и другие (issue #644 на Github).

## 5.0.6
### Новые функции
* **setting.** toBean стал универсальным, добавлена перегрузка параметра class (pr #80 на Gitee).
* **core.** XmlUtil использует реализацию по умолчанию от JDK, чтобы избежать проблем, связанных с реализацией сторонних разработчиков (issue #I14ZS1 на Gitee).
* **poi.** Поддержка записи типа данных ячейки в формате JDK8 (pr #628 на Github).

### Исправления ошибок
* **core.** Дата исправления проблемы с использованием DateTime в DateUtil.format (issue #I150I7 на Gitee).
* **core.** Исправление проблемы с распаковкой ZipUtil (issue #I14NO3 на Gitee).
* **core.** Исправлено некорректное масштабирование с заданным фоновым цветом (pr #625 на Github).
* **poi.** Исправлено чтение Excel без таблицы стилей, вызывающее исключение NullPointerException.
* **core.** Исправлено преобразование URL при нормализации домена (pr #654 на Github).

## 5.0.5
### Новые функции
* **core.** Добавление MapUtil.removeAny (issue #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).

### Исправления ошибок
* **db.** Исправлено освобождение ResultSet в методе MetaUtil.getTableMeta (issue #I148GH на Gitee).
* **core.** Исправлено вычисление возраста в DateUtil для високосного года (issue #I14BVN на Gitee).
* **extra.** Исправлено получение Cookie в нижнем регистре в ServletUtil (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.** Поддержка namespace в mapToStr в XmlUtil (pr #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).

### Исправления ошибок
* **core.** Решена проблема сериализации ConcurrentHashSet (issue #600 на Github).
* **core.** Устранена проблема циклического вызова CsvReader.setErrorOnDifferentFieldCount.

## 5.0.3
### Новые функции
### Исправления ошибок
* **extra.** Исправлено определение порта сеанса (issue #594 на Github).

## 5.0.2
### Новые функции
* **core.** Усилена поддержка преобразования объектов пакета java.time.

### Исправления ошибок
* **db.** Исправлена проблема, когда ключевое слово в поле приводило к невозможности переноса поля (issue #I13ML7 на Gitee).
* **extra.** Исправлено отсутствие поддержки utf-8 в верхнем регистре в QrCode (issue #I13MT6 на Gitee).
* **http.** Исправлено ошибочное парсинг данных запроса defalte (pr #593 на Github).

## 5.0.1
### Новые функции
* **json.** JSONUtil.toBean поддерживает JSONArray.

### Исправления ошибок
* **extra.** Исправлено определение порта сессии.

## 5.0.0
### Новые функции
* **all.** Обновление минимальной версии JDK до 8.
* **log.** Добавлен статический метод get в интерфейсе Log.
* **all.** Некоторые интерфейсы добавлены с аннотацией FunctionalInterface.
* **crypto.** KeyUtil добавил перегрузку readKeyStore.
* **extra.** JschUtil增加私钥传入支持(issue#INKDR@Gitee)
* 【core】       DateUtil、DateTime、Convert全面支持jdk8的time包

### 🐞Исправления ошибок
* 【http】       Исправлена проблема с истекающими host в Cookie (issue#583@Github)

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dromara-hutool.git
git@api.gitlife.ru:oschina-mirror/dromara-hutool.git
oschina-mirror
dromara-hutool
dromara-hutool
v5-master