@@ -10,6 +10,42 @@ The format is based on [Keep a Changelog][], and this project adheres to [Semant
1010[ Keep a Changelog ] : https://keepachangelog.com/en/1.1.0/ 
1111[ Semantic Versioning ] : https://semver.org/spec/v2.0.0.html 
1212
13+ ## [ v0.99.21]  - 2024-05-20 
14+ 
15+ ### Added  
16+ 
17+ -  Add ` Str::PRESERVE_QUOTED ` 
18+ 
19+ ### Changed  
20+ 
21+ -  Allow ` null `  to be passed to all ` Format `  methods
22+ -  Allow the current year to be passed to ` Format::date() `  and ` Format::dateRange() ` 
23+ -  In ` Format::dateRange() ` :
24+   -  Do not report time when the time of both dates is ` 00:00:00 ` , even if they are in different timezones
25+   -  Report time with both timezones when daylight saving time is active in one date but not the other
26+ -  In ` Format::bytes() ` :
27+   -  Add option to use decimal units
28+   -  Change default precision from ` 0 `  to ` 3 ` 
29+   -  Improve output for values near binary unit boundaries
30+   -  Suppress redundant decimal output when unit is 'B'
31+ -  Move DocBlock-related regular expressions from ` Regex `  to ` PHPDocRegex ` 
32+ -  Move ` normaliseType() `  from ` PHPDocTag `  to ` PHPDoc ` 
33+ -  Move ` PHPDocTag `  and related classes to ` PHPDoc\Tag ` , then rename and make them immutable
34+ -  Allow PHPDoc ` @param `  tags to indicate they are passed by reference
35+ -  Improve parsing, e.g. when invalid whitespace is added between tokens
36+ -  Fail with an exception when a DocBlock cannot be parsed
37+ 
38+ ### Removed  
39+ 
40+ -  Remove ` $legacyNullable `  support from ` PHPDoc `  classes
41+ 
42+ ### Fixed  
43+ 
44+ -  Fix rounding bugs in ` Format::bytes() ` 
45+ -  Fix issue where ` Test::isNumericKey() `  ignores trailing newlines
46+ -  Fix issue where ` PHPDoc::$Summary `  may not be ` null `  when a DocBlock has no summary
47+ -  Fix issue where ` /***/ `  is not recognised as an invalid DocBlock
48+ 
1349## [ v0.99.20]  - 2024-05-14 
1450
1551### Added  
@@ -2490,6 +2526,7 @@ This is the final release of `lkrms/util`. It is moving to [Salient](https://git
24902526
24912527- Allow `CliOption` value names to contain arbitrary characters
24922528
2529+ [v0.99.21]: https://github.com/salient-labs/toolkit/compare/v0.99.20...v0.99.21
24932530[v0.99.20]: https://github.com/salient-labs/toolkit/compare/v0.99.19...v0.99.20
24942531[v0.99.19]: https://github.com/salient-labs/toolkit/compare/v0.99.18...v0.99.19
24952532[v0.99.18]: https://github.com/salient-labs/toolkit/compare/v0.99.17...v0.99.18
0 commit comments