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

OSCHINA-MIRROR/dromara-hutool

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

🚀Changelog


5.8.34(2024-11-25)

🐣新特性

  • 【http 】 Добавление распознавания браузера Windows WeChat (issue#IB3SJF@Gitee)
  • 【core 】 Увеличение кодировки с учётом ошибок в ZipUtil.unzip (issue#I3UZ28@Gitee)
  • 【core 】 Совместимость Calculator с символом x как оператором умножения (issue#3787@Github)
  • 【poi 】 В Excel07SaxReader добавлена проверка точности для типа данных «десятичное число» (issue#IB0EJ9@Gitee)
  • 【extra 】 Добавлена перегрузка getBean в SpringUtil (issue#3779@Github)
  • 【core 】 Добавлен метод format в DataSizeUtil (issue#IB6UUX@Gitee)

🐞Bug修复

  • 【core 】 Исправлена проблема бесконечного цикла в DateUtil.rangeToList при step <= 0 (issue#3783@Github)
  • 【cron 】 Исправлена зависимость cron-модуля от log-модуля
  • 【extra 】 Исправлено отображение изображений в HTML-письмах, отправляемых MailUtil (pr#1279@Gitee)
  • 【core 】 【Возможная проблема совместимости】 Исправлена ошибка экранирования двойных кавычек, изменены правила обработки неэкранированных двойных кавычек (например, "aa" теперь распознаётся как aa) (issue#IB5UQ8@Gitee)
  • 【extra 】 Исправлена логическая ошибка повторного подключения в Sftp (issue#IB69U8@Gitee)
  • 【json 】 Исправлена ошибка преобразования JSON-массива в Map в JSONUtil.toBean() (issue#3795@Github)

5.8.33(2024-11-05)

🐣新特性

  • 【core 】 Добавлено setExecutorService в SyncFinisher (issue#IANKQ1@Gitee)
  • 【http 】 Добавлен setUseDefaultContentTypeIfNull в HttpConfig (issue#3719@Github)
  • 【core 】 Переделан WeightListRandom с использованием ArrayList
  • 【crypto 】 При SM2-расшифровке поддерживается незаархивированный и сокращённый 04-заголовок GmSSL (issue#IAP1QJ@Gitee)
  • 【core 】 Решена проблема потери точности при NumberUtil.add с целыми числами (pr#3721@Github)
  • 【core 】 Появились комментарии к ModifierUtil и добавлен hasAllModifiers (issue#IAQ2U0@Gitee)
  • 【http 】 HttpRequest получил setFixedContentLength (issue#3462@Github)
  • 【db 】 AbstractDb получил getDs (issue#IARKZL@Gitee)
  • 【db 】 QrCodeUtil добавил поддержку закругления углов в логотипе QR-кода (pr#3747@Github)
  • 【core 】 TreeUtil.buildSingle теперь использует rootId как корневой узел (issue#IAUSHR@Gitee)
  • 【core 】 EscapeUtil.escapeHtml4 теперь обрабатывает пустые значения (issue#IAZMYU@Gitee)
  • 【core 】 PropDesc.isTransientForGet использует className для избежания проблем на Android (issue#IB0JP5@Gitee)
  • 【core 】 Оптимизирован NumberUtil.count (pr#3772@Github)
  • 【crypto 】 SM2.signHex переименован в signHexFromHex и помечен как устаревший (issue#IB0NVY@Gitee)
  • 【all 】 Оптимизация ObjectUtil#defaultIfNull для избежания дублирования (pr#1274@Gitee)
  • 【core 】 NetUtil.bigIntegerToIPv6 теперь корректирует длину (issue#IB27HV@Gitee)

🐞Bug修复

  • 【json 】 JSONConfig.setDateFormat теперь работает корректно после toBean (issue#3713@Github)
  • 【core 】 RegexPool.CHINESE_NAME теперь имеет более подходящий диапазон (issue#IAOGDR@Gitee)
  • 【http 】 Теперь перенаправление соответствует RFC7231, кроме 307, которые перенаправляются через GET (issue#3722@Github)
  • 【core 】 ArrayUtil.lastIndexOfSub больше не вызывает зацикливание (issue#IAQ16E@Gitee)
  • 【core 】 ImgUtil.write теперь корректно удаляет временные файлы (issue#IAPZG7@Gitee)
  • 【json 】 ignoreNullValue теперь работает правильно в JSONArray (issue#3759@Github)

**# 5.8.32(2024-08-30)

🐣新特性

  • 【core 】 FileUtil.getTotalLines() теперь поддерживает CR как символ конца строки (issue#IAMZYR@Gitee)
  • 【json 】 GlobalSerializeMapping теперь проверяет на null (issue#IANH1Y@Gitee)

🐞Bug修复

  • 【http 】 getFileNameFromDisposition теперь соответствует стандартам (issue#IAKBPD@Gitee)
  • 【crypto 】 SymmetricCrypto.setParams и setRandom теперь блокируются (issue#IAJIY3@Gitee)
  • 【crypto 】 ZipUtil теперь корректно обрабатывает ошибки при сжатии в поток (issue#3697@Github)
  • 【core 】 CopyOptions.setFieldValueEditor теперь корректно работает с setIgnoreNullValue (issue#3702@Github)
  • 【json 】 JSONConfig.setDateFormat теперь корректно работает после setWriteLongAsString (issue#IALQ0N@Gitee)
  • 【core 】 Tree.cloneTree теперь корректно копирует Parent узлы (issue#IANJTC@Gitee)

5.8.31(2024-08-12)

🐣新特性

  • 【core 】 TreeUtil получил build для создания древовидной структуры Bean (pr#3692@Github)

🐞Bug修复

  • 【extra 】 JakartaMailUtil теперь не ссылается на javax
  • 【core 】 GraphicsUtil.drawString теперь работает корректно (issue#3694@Github)

5.8.30(2024-08-09)

🐣新特性

  • 【core 】 Converter теперь создаёт объекты по умолчанию вместо null при преобразовании пустых объектов и значений (issue#3649@Github)
  • 【core 】 UrlQuery получил remove
  • 【extra 】 добавлен JakartaMailUtil для поддержки нового имени пакета mail
  • 【core 】 ### 🐞Исправления ошибок
  • Core. Добавлены методы removeAllPrefix и removeAllSuffix в CharSequenceUtil (pr#3655@Github).
  • Core. В CharSequenceUtil добавлен метод stripAll (pr#3659@Github).
  • Crypto. Поддержка RSA-шифрования и дешифрования с использованием алгоритма «RSA/ECB/OAEPWithSHA-1AndMGF1Padding» (pr#3675@Github).
  • Core. Opt добавлен метод ifFail (pr#1239@Gitee).
  • Poi. Добавлен GlobalPoiConfig (issue#IAEHJH@Gitee).
  • Core. Улучшена производительность IndexedComparator (pr#1240@Gitee).
  • Http. Улучшен метод getContentType, игнорирующий пробелы (pr#3664@Github).
  • Http. CompressUtil.createExtractor поддерживает автоматическое распознавание tgz (pr#3674@Github).
  • Poi. В ExcelWriter.autoSizeColumn добавлен необязательный параметр widthRatio для настройки ширины китайских символов (pr#3689@Github).
  • Mail. MailAccount добавлена поддержка пользовательских параметров (issue#3687@Github).
  • Mail. Добавлена настройка цветового контраста между текстом и фоном (pr#1252@gitee).
  • Mail. XmlUtil добавил перегруженный метод xmlToBean, поддерживающий CopyOptions (issue#IAISBB@gitee).
  • Core. Добавлен метод по умолчанию для определения цветового контраста (pr#1257@gitee).
  • All. Модульные тесты обновлены с JUnit4 на JUnit5.

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

  • Core. Исправлена проблема с обработкой двоеточия в UrlPath из-за неправильного понимания RFC3986 (issue#IAAE88@Gitee).
  • Core. Исправлено некорректное удаление пустых каталогов в FileUtil.cleanEmpty (pr#1233@Gitee).
  • Core. Исправлена ошибка в BeanUtil.copyProperties, когда ключ преобразовывался в String (issue#3645@Github).
  • Core. Решена проблема с ошибочным определением пути в FileUtil.file из-за символа конца строки (issue#IAB65V@Gitee).
  • Core. Устранена проблема с пустым указателем в FileTypeUtil.getType (issue#IAD5JM@Gitee).
  • Core. Исправлена проверка IdcardUtil.isValidHKCard (issue#IAFOLI@Gitee).
  • Core. Конвертер Convert.digitToChinese теперь корректно обрабатывает 0 (issue#3662@Github).
  • Core. Исправлены логические ошибки обработки двойных кавычек в CsvParser (pr#1244@Gitee).
  • Core. Решён вопрос с бесконечным циклом при сжатии ZipUtil в текущую директорию (issue#IAGYDG@Gitee).
  • Cache. Устранены проблемы с блокировкой в AbstractCache.get (issue#3686@Github).
  • Cron. Исправлен переполнение стека в CronPatternUtil.nextDateAfter (issue#3685@Github).

5.8.29 (2024-07-03)

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

  • Core. DateUtil получил метод offsetYear.
  • Core. ListUtil получил метод move (issue#3603@Github).
  • Core. CollUtil.subtract получил проверку на пустоту (issue#3605@Github).
  • Core. Оптимизирована эффективность интерфейса DateUtil.format (Date date, String format) (pr#1226@Gitee).
  • Csv. CsvWriter.writeBeans получил перегрузку с опцией записи заголовков (issue#IA57W2@Gitee).
  • Core. BetweenFormatter поддерживает пользовательские единицы измерения (pr#1228@Gitee).
  • Cache. Cache.put изменил стратегию, не очищая очередь при замене значений (issue#3618@Github).
  • Core. Добавлено сравнение строк в стиле Windows Explorer (pr#3620@Github).
  • Core. Week.of поддерживает китайские названия (issue#3637@Github).
  • Core. ThreadUtil.newExecutor изменил сигнатуру метода, возвращая ThreadPoolExecutor (pr#1230@Gitee).

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

  • Core. Исправлена возможная ошибка с пустым указателем в AnnotationUtil.
  • Core. Исправлена ошибка проверки Dict в BeanUtil.isBean (issue#I9VTZG@Gitee).
  • Core. Версия VersionComparator больше не выдаёт ошибку при пустой строке (pr#3614@Github).
  • Core. Исправлена последовательная ошибка в CaseInsensitiveLinkedMap (issue#IA4K4F@Gitee).
  • Core. Дата DateUtil.offset больше не вызывает проблем с пустым указателем (issue#3617@Github).
  • Core. PathMover.moveContent теперь работает корректно (issue#IA5Q8D@Gitee).
  • Db. Решено возможное отсутствие драйвера базы данных в PooledConnection (issue#IA6EUQ@Gitee).
  • Http. На Mac исправлено определение браузера WeChat как мобильного (issue#IA74K2@Gitee).
  • Core. Tailer теперь правильно вычисляет начальное количество строк для чтения (issue#IA77ML@Gitee).
  • Http. Исправлена ошибка получения имени файла в getFileNameFromDisposition (issue#3632@Github).
  • Core. Проблема с анализом \n в двойных кавычках решена (issue#IA8WE0@Gitee).
  • Core. FastDatePrinter теперь корректно обрабатывает YY (issue#3641@Github).

5.8.28 (2024-05-29)

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

  • Core. Исправлены комментарии к описанию в XmlUtil (issue#I9CPC7@Gitee).
  • Core. StrUtil получил метод toStringOrEmpty (issue#I9CPC7@Gitee).
  • Extra. Возможность установить способ аутентификации при входе через jsch, пропуская Kerberos (pr#3530@Github).
  • Extra. Добавлена возможность устанавливать размер капчи и добавлять комментарии к alias (pr#3533@Github).
  • Json. JSONConfig получил опцию setWriteLongAsString для записи Long в виде строки (issue#3541@Github).
  • Cache. CacheUtil.newTimedCache получил перегруженный метод с параметром schedulePruneDelay (issue#I9HO25@Gitee).
  • Core. NumberChineseFormatter предоставляет поддержку многозначного преобразования арабских чисел в китайские (pr#3552@Github).
  • Captcha. При установке фона Captcha в null фон становится прозрачным (issue#3558@Github).
  • Captcha. HttpDownloader.downloadBytes получил перегрузки с таймаутом (issue#3556@Github).
  • Http. Добавлены ExceptionFilter и DefaultExceptionFilter для обработки исключений (issue#3568@Github).
  • Poi. ExcelWriter получил addIgnoredErrors для поддержки игнорирования предупреждений (issue#3570@Github). ### Добавление перегрузок в PropertyComparator
  • 【db】 Добавить инференс драйвера OceanBase (pr#1217@Gitee).
  • 【http】 HttpRequest#get больше не пытается использовать пути к файлам (issue#I9O6DA@Gitee).
  • 【core】 Добавлены IdConstants, улучшена производительность инициализации Snowflake (issue#3581@Github).
  • 【core】 Улучшены имена параметров в startWithAny() и startWithAnyIgnoreCase() в CharSequenceUtil (pr#1219@Gitee).
  • 【core】 ListUtil.setOrPadding получил перегрузки с возможностью ограничения размера индекса (issue#3586@Github).
  • 【http】 getFileNameFromDisposition стал более стандартизированным, получает значения из нескольких заголовков, отдавая предпочтение filename* (pr#3590@Gitee).
  • 【core】 CsvWriter получил перегрузки для writeBeans, поддерживающие необязательные поля bean (pr#1222@Gitee).
  • 【core】 LocalDateTimeUtil получил перегрузки beginOfDay и endOfDay (issue#3594@Github).
  • 【core】 NumberUtil.pow теперь поддерживает отрицательные числа (issue#3598@Github).

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

  • 【http】 Исправлена проблема с повторным кодированием в методе HttpUtil.urlWithFormUrlEncoded (issue#3536@Github).
  • 【core】 Исправлена ошибка с пустым указателем в FileMagicNumber.getMagicNumber (issue#I9FE8B@Gitee).
  • 【extra】 Исправлена некорректная работа CompressUtil (issue#I71K5V@Gitee).
  • 【db】 Решена проблема с установкой объекта через setObject(inputStream) в Oracle, вызывающая SQLException: недопустимый тип столбца (pr#1207@Gitee).
  • 【core】 Решена проблема некорректного результата CalendarUtil.isSameDay при разных часовых поясах (pr#3548@Github).
  • 【core】 Исправлен метод RandomUtil.randomStringWithoutStr (pr#1209@Gitee).
  • 【http】 Исправлено перекрытие ключей в заголовках HttpRequest (issue#I9I61C@Gitee).
  • 【core】 Устранена проблема с преобразованием пользовательских форматов в TemporalAccessorConverter (issue#I9HQQE@Gitee).
  • 【cron】 Исправлена начальная проблема сопоставления в CronPattern.nextMatchAfter (issue#I9FQUA@Gitee).
  • 【core】 Исправлено отсутствие создания родительского каталога при копировании файлов в FileUtil (issue#3557@Github).
  • 【http】 Решён вопрос с неработающим глобальным таймаутом в HttpDownloader (issue#3556@Github).
  • 【core】 Исправлена ошибка проверки ZipBomb в ZipReader.checkZipBomb при пустом каталоге (issue#I9K494@Gitee).
  • 【db】 Устранены проблемы с получением метаданных в Oracle для специальных имён таблиц (issue#I9BANE@Gitee).
  • 【db】 Функционал FuncComparator.thenComparing теперь работает корректно (issue#3569@Github).
  • 【core】 Исправлена проблема с пустым указателем EnumUtil (issue#I9NSZ4@Gitee).
  • 【core】 Проблема с форматированием дробных чисел в NumberWordFormatter.format решена (issue#3579@Github).
  • 【db】 Исправлена проблема JndiDSFactory с пустым указателем.
  • 【core】 BiMap.put теперь возвращает корректное значение (pr#1218@Gitee).
  • 【core】 BooleanUtil.andOfWrap корректно обрабатывает null (issue#3587@Github).
  • 【core】 FileUtil#getTotalLines теперь корректно работает на JDK9+ (issue#3591@Github).

5.8.27 (2024-03-29)

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

  • 【extra】 FreemarkerEngine: изменение параметра версии по умолчанию.
  • 【db】 Поддержка диалекта базы данных DM.
  • 【core】 Метод HexUtil#format получил параметр prefix (issue#I93PU9@Gitee).
  • 【core】 StrUtil.replace заменён на replaceByCodePoint для устранения неоднозначности (issue#I96LWH@Gitee).
  • 【core】 В FileUtil и PathUtil добавлена перегрузка Resource (issue#I97FJT@Gitee).
  • 【core】 Оптимизирован ThreadUtil.safeSleep с использованием System.nanoTime() (issue#I9BMGK@Gitee).
  • 【db】 Новый Wrapper базы данных поддерживает обратную совместимость (pr#1192@Gitee).
  • 【core】 Добавлена поддержка разбора RFC2822 дат (issue#I9C2D4@Gitee).

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

  • 【core】 PathMover больше не выдаёт ошибку при перемещении файлов в целевой каталог, который существует и доступен только для чтения (issue#I95CLT@Gitee).
  • 【json】 JSONUtil: исправлена проблема несоответствия ожидаемых результатов при сериализации и десериализации (pr#3507@Github).
  • 【http】 Закрыт CVE-2022-22885, HttpGlobalConfig позволяет отключать доверие к host (issue#2042@Github).
  • 【core】 DateUtil.betweenYear корректно обрабатывает високосные годы (issue#I97U3J@Gitee).
  • 【captcha】 Исправлена утечка ресурсов в Graphics2D (issue#I98PYN@Gitee).
  • 【core】 ClassUtil.getTypeArgument() больше не возвращает null при работе с обобщёнными типами (issue#3516@Github).
  • 【core】 Операции с изображениями теперь вызывают flush, предотвращая утечку ресурсов (issue#I9C7NA@Gitee).
  • 【cron】 Исправлена ошибка вычисления в cron при использовании «L» в малых месяцах (pr#1189@Gitee).

5.8.26 (2024-02-10)

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

  • 【db】 RedisDS получил поддержку user (issue#I8XEQ4@Gitee).
  • 【core】 MapUtil получил метод partition (pr#1170@Gitee).
  • 【core】 Представлен класс Version (issue#I8Z3VE@Gitee).

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

  • 【crypto】 BouncyCastleProvider больше не вызывает ошибки в приложениях GraalVM (pr#3464@Github).
  • 【http】 UserAgentUtil теперь корректно определяет браузеры QQ (issue#I8X5XQ@Gitee).
  • 【core】 BeanToMapCopier больше не выходит за пределы массива типов (issue#3468@Github).
  • 【extra】 SshjSftpSession теперь работает без ошибок после закрытия (issue#3472@Github).
  • 【http】 HtmlUtil.removeHtmlAttr теперь корректно обрабатывает пробелы (issue#I8YV0K@Gitee).
  • 【core】 CollUtil.containsAll теперь корректно работает, когда длина coll2 больше coll1 (issue#I8Z2Q4@Gitee).
  • 【poi】 ExcelUtil.getReader теперь корректно освобождает файл, если sheetName не существует (issue#I8ZIQC@Gitee). ### 5.8.22 (2023-09-13)

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

  • core. Добавлена перегрузка NumberUtil.nullToZero.
  • core. DesensitizedUtil получил стратегию очистки.
  • all. Изменена стратегия упаковки исключений: упаковываются только не во время выполнения исключения.
  • core. Введён IJSONTypeConverter для избежания рефлексивных вызовов.
  • http. Оптимизирован метод HttpUtil.urlWithForm.
  • cron. Оптимизирован PatternParser для поддержки годового инкремента.
  • core. TreeUtil получил метод getParentsId.

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

  • core. Исправлена проблема с преобразованием NumberUtil.toBigDecimal в экспоненциальной записи.
  • core. Исправлено некорректное поведение PathUtil.moveContent при отсутствии target.
  • db. Исправлены проблемы с форматированием SQL в SqlUtil.formatSql.
  • core. Дата утилита DateUtil.parse исправлена для корректного разбора дат.
  • core. Удалён default ACCEPT_LANGUAGE.
  • core. Исправлена некорректная работа FieldsComparator.
  • core. Db.findAll теперь корректно учитывает регистр.
  • core. Ipv4Util.getEndIpLong исправил проблему с переполнением данных.
  • http. Исправлено некорректное экранирование символов в Location при редиректе 302.
  • core. CombinationAnnotationElement исправил циклическую проверку.
  • core. StrUtil#containsAny исправил NPE.
  • all. Исправлено исключение OutOfMemory в методе add() класса SONArray.
  • core. FillColumns исправил NullPointerException.
  • core. Convert теперь корректно обрабатывает Optional и Opt.
  • core. DateUtil.age исправил ошибку расчёта возраста.
  • core. JSONUtil.parse() исправил переполнение.
  • core. Tailer stop исправил NPE.
  • json. toJSONString исправил высокую загрузку CPU.
  • core. NumberUtil.parseInt исправил ошибки шестнадцатеричного разбора.
  • core. CopyOptions.setIgnoreCase и setIgnoreProperties больше не конфликтуют.
  • core. LocalDateTimeUtil.of теперь возвращает правильные результаты для некоторых специальных TemporalAccessor.

5.8.21 (2023-07-29)

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

  • core. CollUtil.max возвращает null, если список пуст, вместо выбрасывания исключения (pr#1027@Gitee).
  • poi. ExcelReader.getWriter изменён так, чтобы при чтении из нефайловых источников получать лист, а не пустую таблицу.
  • core. Ipv4Util получил новый метод для проверки соответствия IP-адреса подстановочному знаку (pr#3171@Github).
  • core. DateUtil.parse поддерживает 6-значный формат миллисекунд (issue#I7H34N@Gitee).
  • core. RandomUtil получил дополнительную перегрузку, позволяющую указать, включать ли границы (issue#3182@Github).
  • core. StrUtil получил метод truncateByByteLength (pr#3176@Github).
  • core. Методы isValidCard18 и isValidCard15 в классе удостоверения личности теперь возвращают null при передаче null (pr#1034@Gitee).
  • http. Поддержка body параметров через multiparty (issue#3158@Github).
  • core. ZipReader получил метод setMaxSizeDiff для настройки или отключения защиты от ZipBomb (issue#3018@Github).
  • db. Query.of(entity) теперь позволяет передавать fields при построении (issue#I7M5JU@Gitee).
  • db. Драйвер clickhouse переименован в com.clickhouse.jdbc.ClickHouseDriver (issue#3224@Github).
  • core. UrlResource получил метод size (issue#3226@Github).

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

  • core. Исправлена ошибка, связанная с использованием метода filter в MapUtil (issue#3162@Github).
  • core. Сериализация и десериализация Class исправлены (issue#I7FQ29@Gitee).
  • setting. Исправлена проблема чтения файла setting с utf8-bom (issue#I7G34E@Gitee).
  • core. Исключения, которые могут возникнуть в PathUtil.getMimeType, исправлены (issue#3179@Github).
  • core. Проблема с некорректным преобразованием Pair исправлена (issue#I7GPGX@Github).
  • core. TypeUtil.getTypeArgument теперь более полно извлекает аргументы типа для реализаций интерфейсов (issue#I7CRIW@Gitee).
  • core. BeanUtil.isCommonFieldsEqual больше не вызывает проблем с пустым значением.
  • extra. CompressUtil.createArchiver теперь корректно работает с именами файлов при сжатии в tgz (issue#I7LLL7@Gitee).
  • core. Ошибка длины маскировки номера банковской карты исправлена (pr#3210@Github).
  • jwt. JWTSignerUtil теперь корректно формирует подпись ES256 (issue#3205@Github).
  • core. UserInfo теперь корректно определяет страну (issue#I7MCKW@Gitee).
  • extra. MVEL теперь загружается без ошибок (issue#3214@Github).
  • json. JSONBeanParser теперь корректно рекурсивно обрабатывает List (issue#I7M2GZ@Gitee).
  • core. VersionComparator теперь корректно сравнивает версии 1.0.3 и 1.0.2a (pr#1043@Gitee).
  • core. Chrome на iOS теперь корректно использует правила разбора (pr#1044@Gitee).
  • extra. Многопоточная работа Sftp теперь корректно закрывает Channel (issue#I7OHIB@Gitee). ### Исправление ошибок
  • [core] Оптимизация CollUtil.split: улучшение обработки параметров списка, чтобы избежать ошибки OOM (pr#3026@Github).
  • [core] Исправлена проблема с FileUtil.move, когда при перемещении в тот же каталог или подкаталог терялся исходный каталог (pr#3032@Github).
  • [core] Исправлено возможное возникновение null в результате SafeConcurrentHashMap.computeIfAbsent (issue#I6RVMY@Gitee).
  • [json] Устранена проблема с ошибкой десериализации Pair (issue#I6SZYB@Gitee).
  • [core] Исправлена возможная проблема NullPointerException при использовании AnnotationUtil.getAnnotationAlias для получения аннотации (pr#975@Gitee).
  • [json] Исправлено исключение при преобразовании объекта без свойств в JSON-строку (issue#3051@Github).

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

  • [core] Улучшен Calculator.conversion: добавлена поддержка умножения без символа (issue#2964@Github).
  • [core] Улучшен XmlUtil.xmlToBean: теперь поддерживает преобразование XML в bean с игнорированием регистра в именах родительских узлов.
  • [core] Оптимизирован ArrayUtil для проверки на пустоту (pr#2969@Github).
  • [extra] Оптимизирована обработка исключений SpringUtil в не-Spring среде (issue#2835@Github).
  • [core] В StrUtil добавлены методы commonPrefix и commonSuffix (pr#3007@Github).
  • [core] NumberUtil получил перегрузки метода parseXXX, которые возвращают значение по умолчанию при ошибке разбора (pr#3007@Github).
  • [core] FileUtil получил перегрузку readLines с поддержкой фильтрации (pr#3006@Github).
  • [json] При выборе ignoreError ошибки объектов игнорируются при сериализации в JSON.

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

  • [crypto] Исправлена необработанная ошибка NoSuchMethodError (issue#2966@Github).
  • [poi] Исправлена некорректная работа SXSSFWorkbook.setComment (issue#I6MBS5@Gitee).
  • [core] Исправлена ошибка в BeanUtil.hasGetter, которая не пропускала вызов getClass (issue#I6MBS5@Gitee).
  • [core] Исправлена проблема выхода за границы из-за некорректной проверки длины FileMagicNumber (issue#I6MACI@Gitee).
  • [core] Исправлены проблемы с анализом дат в формате ISO8601 в DateUtil (issue#2981@Github).
  • [core] Устранена возможная NullPointerException в JSONUtil.toBean (issue#2987@Github).
  • [core] Исправлена несогласованность в работе CalendarUtil.isSameMonth для дат до нашей эры (issue#3011@Github).
  • [core] Исправлена ошибка, когда WatchUtil createModify maxDepth не использовался после передачи (issue#3005@Github).
  • [core] Исправлена неработающая инверсия NullComparator (pr#964@Gitee).
  • [setting] Исправлена ошибка с незаполненными полями массива в props.toBean (issue#3008@Github).

Версия 5.8.16 (2023-03-26)

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

  • [http] Добавлена настройка followRedirectsCookie, позволяющая автоматически перенаправлять файлы cookie (pr#2961@Github).

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

  • [all] Исправлена ошибка с именем автоматического модуля (issue#2952@Github).
  • [core] Исправлена ошибка преобразования в Long из-за NumberWithFormat (issue#I6L2LO@Gitee).

Версия 5.8.15 (2023-03-09)

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

  • [http] Добавлено followRedirectsCookie для автоматического перенаправления файлов cookie (pr#2961@Github).

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

  • [all] Исправлена ошибка с автоматическим модулем (issue#2952@Github).
  • [core] Исправлена ошибка преобразования Long из-за NumberWithFormat (issue#I6L2LO@Gitee).

Версия 5.8.14 (2023-03-05)

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

  • [core] Представлен PathMover (issue#I666HB@Github).

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

  • [core] Исправлена проблема удаления исходного каталога при FileUtil.moveContent (issue#I666HB@Github).
  • [http] Исправлена HttpBase.body, вызывающая NullPointerException.

Версия 5.8.13 (2023-03-03)

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

  • [core] Поддержка формата PhoneUtil.isTel400800 для номеров 400-XXX-XXXX (issue#2929@Github).
  • [core] Добавление свойства Automatic-Module-Name в build(pom) (pr#2926@Github).
  • [core] Изменение способа создания потоков ввода-вывода файлов в соответствии с JDK-8080225 (pr#2930@Github).
  • [http] HttpRequest#body теперь поддерживает перегрузку Resource (issue#2901@Github).
  • [core] JavaSourceCompiler#compile получил новую перегрузку для пользовательских опций (issue#I6IVZK@Gitee).

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

  • [db] Исправлена повторная идентификация JDBC-драйвера (pr#940@Gitee).
  • [core] Исправлен расчёт возраста (pr#935@Gitee).
  • [core] Исправлена ошибка FileUtil.rename, вызывающая NoSuchFileException (pr#2894@Github).
  • [core] Исправлена ошибка StrUtil.split при длине равной нулю (pr#944@Gitee).
  • [core] Исправлена работа метода ReUtil.delAll, если content состоит только из пробелов (issue#I6GIMT@Gitee).
  • [core] Исправлена утечка файла после вызова stop (issue#I6GFD2@Gitee).
  • [core] Исправлена ошибка некорректного преобразования типов в методе ReflectUtil.invokeRaw (pr#2912@Github).
  • [core] Исправлена проблема сопоставления при конвертации isXXX (issue#I6H0XF@Gitee).
  • [core] Исправлена NullPointerException в MutableObj.equals.
  • [core] Исправлена ошибка компиляции, когда JavaSourceFileObject выбрасывает IOException вместо CompilerException (pr#2942@Github).
  • [jwt] Исправлена проблема преобразования времени после изменения формата в JWT (issue#I6IS5B@Gitee).

Версия 5.8.12 (2023-02-09)

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

  • [http] Игнорирование ошибок при вызове HttpGlobalConfig.allowPatch() (issue#2832@Github).
  • [core] Переработка определения типа файла по магическому числу (pr#2834@Github).
  • [core] Добавлена поддержка WGS84 и Меркатора (pr#2811@Github).
  • [extra] Соответствие ServletUtil RFC 3986 (issue#I6ALAO@Gitee). ### Новые функции
  • 【core】 CharUtil.isBlankChar добавлен \u180e (pr#2738@Github).
  • 【core】 В SyncFinisher, поток синхронизации, добавлен метод для немедленного завершения работы (pr#879@Gitee).
  • 【core】 В HtmlUtil в методе escape добавлена трансляция неразрывных пробелов (nbsp) для предотвращения атак XSS (pr#2755@Github).
  • 【extra】 Исправлена ошибка в методе cd в sftp (issue#2758@Github).
  • 【core】 Изменены неоднозначные комментарии в PhoneUtil (issue#I63GWK@Gitee).
  • 【crypto】 В KeyUtil добавлен глобальный Provider в метод чтения файла KeyStore (issue#I6796G@Gitee).
  • 【extra】 CompressUtil добавил параметр stripComponents (pr#904@Gitee).
  • 【extra】 ServletUtil и JakartaServletUtil добавили метод получения всех заголовков ответа (pr#2828@Github).
  • 【core】 BooleanUtil добавил toString с перегрузкой (pr#2816@Github).

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

  • 【json】 Исправлены исключения при преобразовании обычного массива байтов в JSONArray (pr#875@Gitee).
  • 【core】 Исправлена проблема с ArrayUtil.insert(), которая не поддерживала массивы исходных типов (pr#874@Gitee).
  • 【core】 Исправлено превышение точности long в логике проверки HexUtil.isHexNumber() (issue#I62H7K@Gitee).
  • 【core】 Устранена проблема поиска в BiMap из-за отсутствия переопределения computeIfAbsent и putIfAbsent (issue#I62X8O@Gitee).
  • 【json】 Частично исправлены проблемы переполнения стека при анализе JSON (issue#2746@Github).
  • 【json】 Исправлено сохранение пробелов в getMultistageReverseProxyIp (issue#I64P9J@Gitee).
  • 【db】 Исправлена некорректная работа NamedSql с игнорированием регистра в in (issue#2792@Github).
  • 【core】 Закрыта уязвимость ZIP bomb (issue#2797@Github).
  • 【core】 Решена проблема потери contentKeys при рекурсивном преобразовании JSON в XML (pr#903@Gitee).
  • 【db】 Устранено исключение NullPointException при создании SimpleDataSource через jdbcurl в mariadb (pr#900@Gitee).
  • 【core】 Исправлена ошибочная проверка параметров в UrlBuilder, содержащих "://" (pr#898@Gitee).
  • 【core】 Восстановлена корректность данных в IndexedComparator, устранена потеря полей при использовании ExcelWriter (issue#I66Z6B@Gitee).
  • 【crypto】 Исправлен NullPointerException в конструкторе sm2 (pr#2820@Github).
  • 【core】 Поправлена проблема загрузки в ConverterRegistry (issue#2812@Github).
  • 【core】 Исправлена ошибка параметров преобразования координат в CoordinateUtil (pr#895@Gitee).

5.8.10 (2022-11-17)

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

  • 【http】 HttpResponse получил метод getFileNameFromDisposition (pr#2676@Github).
  • 【core】 FileUtil.copy теперь возвращает файл, а не директорию, если источник — файл (issue#I5YCVL@Gitee).
  • 【db】 DialectFactory получил перегрузку identifyDriver (issue#I5YWI6@Gitee).
  • 【core】 Удалена кэш-память ClassloaderUtil (issue#I5YWI6@Gitee).
  • 【core】 ClassScanner получил метод сканирования с игнорированием ошибок загрузки классов (pr#855@Gitee).
  • 【core】 DateUtil и LocalDateTimeUtil получили функции для работы с интервалами, точками и их отношениями (pr#2725@Github).
  • 【http】 UserAgentUtil получил поддержку ПК-версии DingTalk (issue#I60UOP@Gitee).
  • 【extra】 Обеспечена совместимость ZipArchiveInputStream с несколькими параметрами (issue#2736@Github).

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

  • 【db】 Решена проблема усечения при сортировке по страницам (issue#I5X6FM@Gitee).
  • 【core】 Исправлена ошибка расчёта размера раздела при делении на ноль (pr#2677@Github).
  • 【core】 BCD помечен как устаревший из-за проблем с кодировкой ASCII и нестандартизированного подхода к реализации (issue#I5XEC6@Gitee).
  • 【core】 Метод IoUtil.copyByNIO теперь корректно выполняет flush при записи.
  • 【core】 TreeBuilder теперь корректно обрабатывает порядок элементов при использовании HashMap (issue#I5Z8C5@Gitee).
  • 【core】 StrUtil.subWithLength теперь корректно работает с отрицательными числами (issue#I5YN49@Gitee).
  • 【core】 DefaultTrustManager избавлен от проблемы с пустым указателем (issue#2716@Github).
  • 【core】 Исправлена проблема безопасности потоков при добавлении задач в колесо времени (pr#2712@Github).
  • 【core】 BeanUtil#copyProperties теперь корректно игнорирует свойства при копировании между двумя объектами Map (pr#2698@Github).
  • 【core】 ChineseDate теперь правильно конвертирует традиционные даты в григорианский календарь, исключая ошибки в не-високосные месяцы (issue#I5YB1A@Gitee).
  • 【core】 Исправлена проблема использования слабых ссылок в качестве ключей. ``` 【core 】 CollUtil新增addIfAbsent方法(pr#750@Gitee) 【core 】 DateUtil.parseUTC支持只有时分的格式(issue#I5M6DP@Gitee) 【core 】 NumberUtil.parseInt忽略科学计数法(issue#I5M55F@Gitee) 【core 】 IterUtil.getFirst优化(pr#753@Gitee) 【core 】 增加Tree add 类型校验(pr#2542@Github) 【core 】 增加PunyCode处理完整域名(pr#2543@Github) 【core 】 增加替换字符串中第一个指定字符串和最后一个指定字符串方法(pr#2533@Github) 【jwt 】 JWT补充部分算法(pr#2546@Github) 【core 】 NumberUtil.roundStr() 修改为使用toPlainString(pr#775@Gitee) 【extra 】 QrCodeUtil新增SVG格式、Ascii Art字符画格式(pr#763@Gitee) 【jwt 】 JWTUtil的parseToken增加空值异常抛出(issue#I5OCQB@Gitee) 【extra 】 resource.loader等过期参数替换(issue#2571@Github) 【core 】 添加ObjectUtil的别名工具类ObjUtil 【core 】 扩展LocalDateTimeUtil.isIn方法使用场景(pr#2589@Github) 【core 】 MapUtil增加根据entry分组(pr#2591@Github) 【core 】 优化 getProcessorCount 潜在的获取不到的问题(pr#792@Gitee) 【core 】 ImgUtil增加sliceByRowsAndCols重载方法支持自定义图片格式(pr#793@Gitee)

🐞Bug修复

【http 】 修复https下可能的Patch、Get请求失效问题(issue#I3Z3DH@Gitee) 【core 】 修复RandomUtil#randomString 入参length为负数时报错问题(issue#2515@Github) 【core 】 修复SecureUtil传入null的key抛出异常问题(pr#2521@Github) 【core 】 修复UrlBuilder的toURI方法将url重复编码(issue#2503@Github) 【core 】 修复CollUtil.lastIndexOf序号错误问题 【core 】 修复zip被识别成jar和apk被识别成jar或zip的问题(pr#2548@Github) 【core 】 修复UrlBuilder.addPath 方法传入非有效路径字符串时,会出现空指针异常的问题(issue#I5O4ML@Gitee) 【core 】 修复FilterIter当参数filter为空时存在问题(issue#I5OG7U@Gitee) 【poi 】 修复Excel读取提示信息错误(issue#I5OSFC@Gitee) 【json 】 解决JSONObject#write无法递归的bug(issue#I5OMSC@Gitee) 【json 】 修复DayOfWeek转json异常问题(issue#2572@Github) 【extra 】 Ftp方法isDir和exist修复及改进(pr#2574@Github) 【json 】 修复JSON反序列化时,引用字段类型的自定义JsonDeserializer无效(issue#2555@Github)


5.8.5 (2022-07-29)

❌不兼容特性

【core 】 合成注解相关功能重构,增加@Link及其子注解(pr#702@Gitee)

🐣新特性

【core 】 NumberUtil新增isIn方法(pr#669@Gitee) 【core 】 修复注解工具类getAnnotations的NPE问题,注解扫描器添新功能(pr#671@Gitee) 【core 】 合成注解SyntheticAnnotation提取为接口,并为实现类添加注解选择器和属性处理器(pr#678@Gitee) 【core 】 增加BeanValueProvider(issue#I5FBHV@Gitee) 【core 】 Convert工具类中,新增中文大写数字金额转换为数字工具方法(pr#674@Gitee) 【core 】 新增CollectorUtil.reduceListMap()(pr#676@Gitee) 【core 】 CollStreamUtil为空返回空的集合变为可编辑(pr#681@Gitee) 【core 】 增加StrUtil.containsAll(pr#2437@Github) 【core 】 ForestMap添加getNodeValue方法(pr#699@Gitee) 【http 】 优化HttpUtil.isHttp判断,避免NPE(pr#698@Gitee) 【core 】 修复Dict#containsKey方法没区分大小写问题(pr#697@Gitee) 【core 】 增加比较两个LocalDateTime是否为同一天(pr#693@Gitee) 【core 】 增加TemporalAccessorUtil.isIn、LocalDateTimeUtil.isIn(issue#I5HBL0@Gitee) 【core 】 ReUtil增加getAllGroups重载(pr#2455@Github) 【core 】 PageUtil#totalPage增加totalCount为long类型的重载方法(pr#2442@Github) 【crypto 】 PemUtil.readPemPrivateKey支持pkcs#1格式,增加OpensslKeyUtil(pr#2456@Github) 【core 】 添加了通用的注解扫描器 GenericAnnotationScanner,并在 AnnotationScanner 接口中统一提供了提前配置好的扫描器静态实例(pr#715@Github) 【json 】 JSONConfig增加允许重复key配置,解决不规整json序列化的问题(pr#720@Github) 【core 】 完善了codec包下一些方法的入参空校验(pr#719@Gitee) 【extra 】 完善QrCodeUtil对于DATA_MATRIX生成的形状随机不可指定的功能(pr#722@Gitee) 【core 】 修改NetUtil.ipv6ToBigInteger,原方法标记为过期(pr#2485@Github) 【core 】 ZipUtil新增zip文件解压大小限制,防止zip炸弹(pr#726@Gitee) 【core 】 CompressUtil增加压缩和解压tgz(.tar.gz)文件(issue#I5J33E@Gitee)

🐞Bug修复

【core 】 修复CollUtil里面关于可变参数传null造成的crash问题(pr#2428@Github) 【socket 】 修复异常socket没有关闭问题(pr#690@Gitee) 【core 】 修复当时间戳为Integer时时间转换问题(pr#2449@Github) 【core 】 修复bmp文件判断问题(issue#I5H93G@Gitee) 【core 】 修复CombinationAnnotationElement造成递归循环(issue#I5FQGW@Gitee) 【core 】 修复Dict缺少putIfAbsent、computeIfAbsent问题(issue#I5FQGW@Gitee) 【core 】 修复Console.log应该把异常信息输出位置错误问题(pr#716@Gitee) 【core 】 修复UrlBuilder无法配置末尾追加“/”问题(issue#2459@Github)

### ❌ Несовместимые функции
* 【extra  】     Обновление jakarta.validation-api до версии 3.x, изменение имени пакета приводит к несовместимости с предыдущими версиями.
* 【core   】     Удаление метода beanToMap(Object) из BeanUtil из-за наличия метода с переменными параметрами, что может привести к проблемам при прямом обновлении. Необходимо перекомпилировать проект после обновления.

### 🐣 Новые функции
* 【core   】     Добавление новых методов в Singleton (pr#609@Gitee).
* 【core   】     Перегрузка метода beanToMap в BeanUtil (pr#2292@Github).
* 【core   】     Добавление соответствующих методов equals и notEquals в Assert (pr#612@Gitee).
* 【core   】     DigestUtil добавил метод sha512 (issue#2298@Github).

### 🐞 Исправления ошибок
* 【db     】     Исправление проблемы с невозможностью установки maxWaitMillis в RedisDS (issue#I54TZ9@Gitee).

-------------------------------------------------------------------------------------------------------------
# 5.8.0.M4 (2022-04-27)

### ❌ Несовместимые функции
* 【json   】     Возможная несовместимость: удаление некоторых конструкторов JSONArray.
* 【json   】     Возможная несовместимость: использование InputStream в качестве источника для JSONTokener теперь приводит к изменению кодировки на UTF-8.

### 🐣 Новые функции
* 【core   】     BeanUtil добавил перегруженный метод toBean (pr#598@Gitee).
* 【json   】     Новый JSONParser.
* 【json   】     Добавлен метод фильтрации при разборе JSON.
* 【core   】     ArrayUtil.distinct и CollUtil.distinct получили перегрузки (issue#2256@Github).
* 【core   】     TransMap, FuncMap, ReferenceConcurrentMap и WeakConcurrentMap были добавлены.
* 【json   】     ObjectMapper был добавлен.
* 【core   】     CHINESE_NAME регулярное выражение было расширено (pr#599@Gitee).
* 【extra  】     JakartaServletUtil был добавлен (issue#2271@Github).
* 【poi    】     ExcelWriter поддерживает запись повторяющихся псевдонимов данных (issue#I53APY@Gitee).
* 【core   】     Hashids был добавлен (issue#I53APY@Gitee).
* 【core   】     ReflectUtil.newInstanceIfPossible добавил реализации по умолчанию для перечислений, массивов и других типов.
* 【core   】     CombinationAnnotationElement получил фильтрацию (pr#605@Gitee).
* 【all    】     CHANGELOG был упрощён.
* 【core   】     AnsiEncoder был добавлен.
* 【log    】     ConsoleColorLog с цветным японским стилем вывода был добавлен (pr#607@Gitee).

### 🐞Исправления ошибок
* 【core   】     Исправлена проблема с нестатическим методом StrUtil.firstNonX (issue#2257@Github).
* 【core   】     Проблема безопасности потоков в SimpleCache была исправлена.
* 【core   】     Потенциальная проблема смещения ClassLoader в ClassLoaderUtil была исправлена.
* 【extra  】     Ошибка анализа содержимого Sftp, связанная с регистром символов, была исправлена (issue#I53GPI@Gitee).
* 【core   】     Исключения, возникающие при пустых файлах, были исправлены (pr#602@Gitee).

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

# 5.8.0.M3 (2022-04-14)

### ❌Несовместимые функции
* 【core   】     Параметр метода progress в StreamProgress изменился на два (pr#594@Gitee).
* 【core   】     В SimpleCache используются изменяемые ключи.
* 【core   】     Удалена устаревшая перегрузка ArrayUtil.join.
* 【core   】     Holder класс удалён, параметры метода extractMultiAndDelPre в ReUtil изменены на Mutable.

### 🐣Новые функции
* 【core   】     CopyOptions поддерживает установку списка игнорируемых свойств с помощью лямбда-выражений (pr#590@Gitee).
* 【core   】     Китайский формат имён и проверка были добавлены (pr#592@Gitee).
* 【core   】     Snowflake поддерживает использование случайных чисел в sequence (issue#I51EJY@Gitee).
* 【core   】     JarClassLoader получил дополнительную конструкцию (pr#593@Gitee).
* 【core   】     Pid был добавлен для получения pid синглтона.
* 【core   】     Img получил функцию полного покрытия водяного знака pressTextFull (pr#595@Gitee).
* 【core   】     ByteUtil.numberToBytes получил проверку байтов (issue#2252@Github).
* 【core   】     CopyOptions получил конвертер, позволяющий настраивать преобразование типов, отличное от глобального.
* 【core   】     Возможность загрузки конфигурации базы данных из абсолютного пути была добавлена (pr#2253@Github).

### 🐞Исправления ошибок
* 【core   】     UserAgentUtil исправляет ошибки распознавания Linux (issue#I50YGY@Gitee).
* 【poi    】     Исправлена ошибка генерации метода getDisposition в ExcelWriter (issue#2239@Github).
* 【core   】     UrlBuilder исправляет проблему с повторным кодированием (issue#2243@Github).
* 【http   】     HttpRequest исправляет исключение нулевого указателя при обработке параметров GET запроса (pr#2248@Github).
* 【core   】     SimpleCache исправляет потенциальную проблему при использовании блокировки чтения в методе get.
* 【aop    】     JdkInterceptor исправляет проблему, когда return false в методе before всё равно вызывает выполнение перехвата after (issue#I5237G@Gitee).

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

# 5.8.0.M2 (2022-04-02)

### ❌Несовместимые функции
* 【extra  】     Возможно, проблема совместимости: изменение структуры ключей BeanCopierCache.
* 【http   】     Возможно, проблема совместимости: добавление обобщённых обозначений в HttpInterceptor, конфигурация в HttpRequest теперь суммируется в HttpConfig.
* 【core   】     Возможно, проблема совместимости: параметр addQuery в UrlQuery.addQuery изменился с String на Object.
* 【core   】     Возможно, проблема совместимости: реализация WorkbookUtil.createBook была изменена на WorkbookFactory.create.

### 🐣Новые функции
* 【core   】     MapUtil получил методы entry и ofEntries.
* 【core   】     ZipWriter получил перегруженный метод add.
* 【core   】     IterUtil получил filtered и FilterIter (issue#2228).
* 【core   】     NodeListIter и ResettableIter были добавлены.
* 【crypto 】     HmacAlgorithm получил SM4CMAC (issue#2206@Github).
* 【http   】     HttpConfig был добавлен, поддержка перехвата ответов (issue#2217@Github).
* 【core   】     BlockPolicy был добавлен, ThreadUtil получил метод newFixedExecutor (pr#2231@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