Revision history for Perl extension Business::UPS 2.04 2026-04-03 Bug Fixes: - Fix UPStrack() to only set 'Delivery Date' when a date actually exists in the API response — callers can now rely on exists to check availability. GH #10 - Fix uninitialized value warning in UPStrack() when the API returns a weight hash without a unitOfMeasurement field. PR #26 - Fix MANIFEST.SKIP regex issues: remove cpanfile exclusion conflict, anchor patterns properly, add exclusions for generated files. PR #26 - Fix duplicate 'provides' key in META_MERGE that caused the second entry to silently overwrite the first. PR #28 Improvements: - Deprecate getUPS() with a warnings::warnif('deprecated', ...) message. The UPS rate quoting endpoint (qcostcgi.cgi) has been retired. GH #7, PR #8 - Replace custom Error() subroutine with Carp::croak for proper caller-side error reporting with file/line context. PR #23 - Set a 30-second timeout and Business-UPS/$VERSION user-agent string on all LWP::UserAgent requests to prevent indefinite hangs. PR #30 - Update examples/test.pl to demonstrate UPStrack() instead of the non-functional getUPS(). PR #9 - Add author tests (AUTHOR_TESTING) for POD validity and POD coverage. PR #24 - Add edge case tests for UPStrack: weight without unit, empty address, empty trackDetails, partial activities, undef tracking number. PR #26 Maintenance: - Update all documentation and POD to match v2.03 JSON API changes. PR #6 - Modernize Exporter usage: use Exporter 'import' instead of @ISA manipulation. PR #28 - Upgrade META_MERGE to CPAN META spec 2.0 with proper bugtracker, repository, and provides metadata. PR #21, PR #25 - Move Test::More from PREREQ_PM to TEST_REQUIRES. PR #6 - Add LICENSE file, LICENSE section to POD. PR #11, PR #12 - Add SECURITY.md and CONTRIBUTING.md. PR #14, PR #15 - Add CLAUDE.md and AI_POLICY.md project documentation. PR #19 2.03 2026-03-22 Bug Fixes: - Fix UPStrack() to use UPS JSON tracking API. The old HTML-scraping approach stopped working when UPS redesigned their website. GH #2, PR #3 - Fix Error() to die instead of exit(1), which is critical for library code — callers can now catch errors with eval. PR #3 Improvements: - Add comprehensive mocked tests for getUPS() covering success, error, HTTP failure, optional parameters, country defaults, and flag handling. PR #5 - Add comprehensive tests for UPStrack(). PR #3 Maintenance: - Modernize CI workflow: actions/checkout v4, dynamic perl-versions matrix, perldocker/perl-tester images, disttest job, fail-fast: false. PR #4 - Fix GitHub URLs in Makefile.PL META_MERGE to point to cpan-authors org. PR #4 - Remove stale code: AutoLoader from @ISA, empty END block. PR #5 - Bump minimum Perl version to 5.014 and set MIN_PERL_VERSION in Makefile.PL. PR #5 - Fix clean target: Net-Business-UPS-* → Business-UPS-*. PR #5 - Add JSON::PP dependency (core since Perl 5.14). PR #3 - Update MANIFEST to include cpanfile, upstrack.t, getups.t, MANIFEST.SKIP. PR #5 2.02 Thu Jan 21 2020 - Github Issues (RT is shutting down) - Use https:// URLs - Github CI - Automate manifest and ignores. - Kill use vars. - Tidy. 2.01 Fri Jun 20 2003 jwheeler * Changed namespace to the original Business::UPS to make room for Dan Browning's Business::Shipping modules. Tue Jun 10 13:28:37 2003 jwheeler * Came across this module, was horribly outdated, rewrote it to work again. * Renamed to Business::Shipping::UPS so as not to interfere with solomon's namespace. Mon Feb 22 16:03:01 1999 msolomon * UPS.pm: Thanks to pudge@pobox.com, changed a {} to () Tue Feb 9 20:16:07 1999 msolomon * UPS.pm: Added rate chart Defaults to Destination in the US is none specified Fri Jan 22 17:11:40 1999 msolomon * Attic/Changes: Not in cvs * examples/test.pl, test.pl, qwk-cost.zip, product-codes.txt, country-codes.txt, README, Makefile.PL, LICENSE.ups, MANIFEST, Attic/Changes: Added files Mon Mar 9 21:17:01 1998 msolomon * UPS.pm: added copyright * UPS.pm: *** empty log message *** * UPS.pm: worked on docs * UPS.pm: Cleaned up a great deal of code in UPStrack() Sat Feb 28 06:25:38 1998 msolomon * UPS.pm: Added UPStrack sub this allows tracking using UPS tracking number Mon Feb 23 17:10:52 1998 msolomon * UPS.pm: added international capability and added dimensions, oversized, and COD Mon Jan 19 14:51:31 1998 msolomon * UPS.pm: Change Sun Jan 18 05:43:07 1998 msolomon * UPS.pm: Change