## [1.19.0] - 2023-12-11 ### Changed - Rename StrUtil.array2text() to arrayToText() - Rename StrUtil.intnum2decimal() to intNumToDecimal() - Rename StrUtil.text2array() to textToArray() ## [1.20.0] - 2024-01-20 ### Changed - Rename Time.toReadableString() to toStringWithUnit() - Make StringPermutation class independent from StrUtil class ## [1.21.0] - 2025-08-06 ### Changed - Removed dependency on `java.xml.bind` to improve compatibility with Java 9 and later. ## [1.22.0] - 2025-08-07 ### Changed - Renamed `RandomGenerator` class to `Randomizer`. ## [1.23.0] - 2026-09-01 ### Added * Added instance `CommandExecutor.execCommand()` methods for executing command arrays. ### Changed * Improved HTTP redirect handling, including relative URLs, 303 responses, query strings, and redirect limits. * Improved handling and performance across string, binary, file, date/time, CSV, JSON, properties, and random utility functions. * Updated Maven build and publishing configuration while continuing to target Java 8. ### Fixed * Fixed command execution timeout and default charset handling. * Fixed negative duration formatting and negative time conversion. * Fixed file reading and directory copying issues. * Fixed JSON control character escaping. * Fixed various parsing, boundary, padding, and range handling issues across utility methods. ### Removed * Removed the `Base64s` class as part of the migration to XB64. * Removed `HttpRequest.joinPath()` and `HttpRequest.appendQuery()`; use the corresponding `UrlUtil` methods instead.