Revision history for TimeZone::TimeZoneDB
0.05 Mon Jun 1 19:55:51 EDT 2026
[ Bug Fixes ]
- Clone path now validates ua argument: a defined, non-object ua croaks
with a clear message rather than silently storing an unusable value
- get_time_zone() now explicitly croaks when latitude or longitude is undef,
working around Params::Validate::Strict silently skipping type checks for
undef values
[ Documentation ]
- Added Z-notation formal specifications for new(), get_time_zone(), and ua()
- Consolidated formal specifications into the POD
[ Tests ]
- Upgraded t/30-basics.t from Test::MockModule to Test::Mockingbird
- Added t/function.t: white-box function-level tests (49 subtests)
- Added t/unit.t: black-box unit tests against POD specification (41 subtests)
- Added t/integration.t: end-to-end integration tests (28 subtests)
- Added t/edge_cases.t: destructive, boundary-condition and security tests (52 subtests)
- Added t/extended_tests.t: coverage-targeted tests for uncovered paths (24 subtests)
- Added t/mutant_killers.t: tests that kill surviving mutation-testing mutants
0.04 Wed Sep 3 07:42:27 EDT 2025
Use Object::Configure
More use of Params::Get
Use Return::Set and Params::Validate::Strict
Normalize cache key to avoid missed cache opportunities
Fix docs which had a couple of small mistakes
Don't use global in CHI memory - safer for threading
Added test dashboard to GitHub Pages
0.03 Wed Feb 12 07:36:10 EST 2025
Added rate-limiting and caching support
Use Test::DescribeMe to simplify tests
Better handling of JSON decode errors
0.02 Fri May 31 09:33:15 EDT 2024
Fix usage message
Test error conditions
0.01 Fri Apr 7 11:41:58 EDT 2023
First draft