Skip to content

Update United States holidays: add federal (GOVERNMENT) special holidays#3159

Merged
arkid15r merged 2 commits intovacanza:devfrom
KJhellico:upd-us-federal-special
Dec 25, 2025
Merged

Update United States holidays: add federal (GOVERNMENT) special holidays#3159
arkid15r merged 2 commits intovacanza:devfrom
KJhellico:upd-us-federal-special

Conversation

@KJhellico
Copy link
Copy Markdown
Collaborator

Proposed change

Add federal (GOVERNMENT) special holidays (2001-2025).

Type of change

  • New country/market holidays support (thank you!)
  • Supported country/market holidays update (calendar discrepancy fix, localization)
  • Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
  • Dependency update (version deprecation/pin/upgrade)
  • Bugfix (non-breaking change which fixes an issue)
  • Breaking change (a code change causing existing functionality to break)
  • New feature (new holidays functionality in general)

Checklist

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Dec 22, 2025

Caution

Review failed

Failed to post review comments

Summary by CodeRabbit

  • New Features

    • Added special federal government holidays across U.S. states/territories: Christmas Eve, Day After Christmas, half-day closings, and National Days of Mourning for former presidents.
  • Tests

    • Added test coverage validating special government holiday handling.
  • Documentation

    • Updated English and Thai translations for new holiday labels.

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

Adds year-specific government-closing entries (Christmas Eve, Day After Christmas, National Days of Mourning) and related label constants to the US holiday definitions, updates translations, expands 51 state snapshot JSONs with those dates, and adds a test asserting the new government holiday entries.

Changes

Cohort / File(s) Summary
Core implementation
holidays/countries/united_states.py
Added JAN, JUN imports; introduced half_day_closing_label, christmas_eve_name, day_after_christmas_name constants and a special_government_holidays / UnitedStatesStaticHolidays.special_government_holidays mapping with year-specific government-closing entries (Christmas Eve variants, Day After Christmas, National Days of Mourning)
Locale translations
holidays/locale/en_US/LC_MESSAGES/US.po, holidays/locale/th/LC_MESSAGES/US.po
Bumped PO-Revision-Date(s) and added translations for "%s (half-day closing)" and National Day of Mourning strings for several former presidents (English + Thai entries)
State snapshots (additive)
snapshots/countries/US_*.json (AK, AL, AR, AS, AZ, CA, CO, COMMON, CT, DC, DE, FL, GA, GU, HI, IA, ID, IL, IN, KS, KY, LA, MA, MD, ME, MI, MN, MO, MP, MS, MT, NC, ND, NE, NH, NJ, NM, NV, NY, OH, OK, OR, PA, PR, RI, SC, SD, TN, TX, UM, UT, VA, VI, VT, WA, WI, WV, WY)
Added many date-to-holiday entries across years (Christmas Eve, Christmas Eve (half-day closing), Day After Christmas, and National Day of Mourning entries). Changes are additive; no deletions or structural refactors.
Tests
tests/countries/test_united_states.py
Added test_special_government_holidays() to assert government-holiday dates via existing test helpers

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed Title clearly describes the main change: adding federal GOVERNMENT special holidays for the United States across years 2001-2025.
Description check ✅ Passed Description is related to the changeset, explaining the addition of federal GOVERNMENT special holidays (2001-2025) and confirming contributor followed guidelines.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8de88f2) to head (33ad196).
⚠️ Report is 7 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff            @@
##               dev     #3159   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          306       306           
  Lines        18249     18253    +4     
  Branches      2327      2327           
=========================================
+ Hits         18249     18253    +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Collaborator

@PPsyrius PPsyrius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🇺🇸

Copy link
Copy Markdown
Collaborator

@arkid15r arkid15r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@arkid15r arkid15r added this pull request to the merge queue Dec 25, 2025
Merged via the queue into vacanza:dev with commit 9cc9f70 Dec 25, 2025
33 checks passed
@KJhellico KJhellico deleted the upd-us-federal-special branch December 25, 2025 21:54
@arkid15r arkid15r mentioned this pull request Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants