I have just uploaded Date::Holidays 1.08 to PAUSE/CPAN.
It holds a new adapter class for Date::Holidays::USFederal (US) in response to a request from a user.
The implementation required a lot of changes to the internal code, due to the variation in the adapted Date::Holidays class name, Date::Holidays::USFederal, which is not an ISO compatible country code. I am pondering supporting this as US as well.
At the same time the test suite was restructured. I hope I did not break anything, all tests pass currently locally and with Travis via GitHub. I moved a lot of tests from *.t files into Test::Class based implementations, which I find much easier to work with.
Upon upload I did observe a failure in the indexing:
Status: Permission missing
==========================
module : Date::Holidays::Adapter::Local
version: 1.08
in file: lib/Date/Holidays/Adapter/Local.pm
status : Not indexed because of case mismatch.
I am not sure what this error means, but I will investigate if this has raises any issues or give complications. The class was called Date::Holidays::Adapter::LOCAL earlier, so this might be the cause of the problem.
CPAN-testers are reporting a lot of failing tests, which I will also investigate (issue #21). I do not suspect the indexing issue to be related, currently I can see that this seems to be an issue with the include path (@INC) for the test classes in the distribution, but I have not been able to reproduce the issue with either prove, make test (based on Makefile.PL) or ./Build test (based on Build.PL).