Skip to content

Bundle tzinfo-data on all platforms (prep for heroku-24) - #434

Merged
cycomachead merged 1 commit into
mainfrom
tzinfo-data-all-platforms
Nov 2, 2026
Merged

cycomachead merged 1 commit into
mainfrom
tzinfo-data-all-platforms

Conversation

@cycomachead

Copy link
Copy Markdown
Member

Prep for moving Heroku from the heroku-22 to the heroku-24 stack.

heroku-24 is Ubuntu 24.04, which moves legacy time zone aliases into the tzdata-legacy package; heroku-24 doesn't install it. Rails maps two zone names used in production to such aliases:

Rails zone IANA name Used by
Midway Island Pacific/Midway ~20 users
Greenland America/Godthab at least one user or conference

With OS zone data those lookups would fail on heroku-24. Heroku's docs recommend tzinfo-data for Ruby apps. It was already in the Gemfile, but only for Windows/JRuby. With it everywhere, TZInfo::DataSource.get is RubyDataSource and both zones resolve locally. Its data loads per zone, on demand.

🤖 Generated with Claude Code

Use bundled time zone data instead of the OS's. heroku-24 (Ubuntu 24.04)
moves legacy aliases into tzdata-legacy, which it doesn't install. Rails
maps "Midway Island" to Pacific/Midway and "Greenland" to
America/Godthab, both legacy aliases, and production users use them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@cycomachead
cycomachead merged commit 51c1750 into main Nov 2, 2026
15 of 16 checks passed
@cycomachead
cycomachead deleted the tzinfo-data-all-platforms branch November 2, 2026 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant