Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Oct 01, 2013
@philr philr Add an extra newline to make YARD ignore the licence text. 2c5d7f8
Commits on Oct 08, 2013
@philr philr Add v0.3.38 to b850a2c
@philr philr Allow failures with jruby-head.
Currently giving a "Cannot remove unknown package ''" error whilst
setting up the jruby environment.
Commits on Nov 11, 2013
@amatsuda amatsuda "require 'rational'" has been deprecated. So require rational only wh…
…en the Rational module has not already been loaded

see: e027896
Commits on Nov 13, 2013
@philr philr Only "require 'rational'" if Rational is not already defined.
Ruby 1.9.2 deprecated "require 'rational'".
@amatsuda amatsuda Eliminate "warning: assigned but unused variable - info" 80218d1
@philr philr Fix test issues identified by 'assigned but unused variable' warnings. 83ffd30
Commits on Dec 07, 2013
@philr philr Fix test case failures on JRuby >= 1.7.5.
- DateTime on JRuby 1.7.5 only allows offsets of less than 1 day. Change
  uses of 1 day offsets to 1 hour.
- JRuby 1.7.5 considers DateTime instances that differ by less than 1
  millisecond to be equivalent
  (jruby/jruby#1311). Make tests that rely on
  being able to distinguish differences of 1 microsecond adapt if the
  platform doesn't support such comparisons.
@philr philr Update test environments.
- Add ruby-2.1.0-preview2.
- Add rbx-2.
- Remove no longer supported rbx-18mode and rbx-19mode.
@philr philr Depend on rubysl for Rubinus.
The Ruby standard library isn't available in Rubinus 2.2.0 unless rubysl
is loaded.
@philr philr Add a test dependency on rubysl-test-unit.
The latest version of rubysl no longer depends on rubysl-test-unit.
Commits on Dec 31, 2013
@philr philr Test on Ruby 2.1.0. 80bc5c6
@philr philr Workaround for failing 1.8.7 build caused by RubyGems 2.2.0.
Use RubyGems 2.1.11 until a fix for RubyGems issue 763 is released.
Commits on Jan 11, 2014
@philr philr Use time.utc? instead of == 'UTC'.
Distinguishes between actual UTC instances and local instances created
on systems using UTC as the local time zone.

Prevents Timezone#local_to_utc from returning local Time instances on
systems using UTC as the local time zone.

Fixes #13.
@philr philr Remove duplicate assignments. f86f91c
@philr philr Make <=> methods return nil if passed a non-comparable argument.
Resolves test case failures on ruby 2.2.0dev (2014-01-11 trunk 44561)
due to Comparable#== no longer catching exceptions
Commits on Feb 09, 2014
@hsbt hsbt use File.exist? instead of File.exists? a044763
@philr philr Update comments regarding JRuby comparisons. 427d6e1
@philr philr Remove workaround for RubyGems issue 763 (fixed in v2.2.1). d4932bd
Commits on Feb 26, 2014
@philr philr Use the latest Ruby 2.1 release. 3676437
@philr philr 2.1 still selects 2.1.0p0 on travis-ci, use 2.1.1 instead. f8b95a6
Commits on Mar 09, 2014
@philr philr Add v0.3.39 to 5e36f2a
Commits on Apr 11, 2014
@philr philr Improve the DataSourceNotFound error message.
Refer to adding to the Gemfile instead of just installing the gem (since
many people encountering this error will be using Rails).
Commits on Apr 17, 2014
@strzibny strzibny Update to Minitest 5 25c0cf6
Commits on Apr 21, 2014
@philr philr Migrate to newer Minitest assertion methods.
- Use refute_same instead of assert_not_same.
- Use message instead of build_message.
- Use assert instead of assert_block.
- Make assert_nothing_raised call assert instead of raising
  Minitest::Assertion directly (allows the assertion to get counted).
@philr philr Use a pessimistic version constraint for minitest. cabdcfb
@philr philr Remove no longer needed rubysl-test-unit dependency. 0cc9704
@philr philr Use minitest (v5) instead of Test::Unit. 56bbc43
@philr philr Raise minimum Ruby version to 1.8.7.
minitest v5 is not compatible with Ruby 1.8.6.
Commits on Apr 26, 2014
@philr philr Add gem signing options if a key file is found.
Don't rely on the key being present in ~/.gem to auto-sign the gem.
Commits on Apr 27, 2014
@philr philr Fix typo. cca9d7d
Commits on Apr 30, 2014
@philr philr Support loading system zoneinfo data on FreeBSD, OpenBSD and Solaris.
- Support locating the file when it is not included in the
  zoneinfo directory.
- Handle the four column iso3166 tab file format used by FreeBSD.
- Support finding the and files using alternative
  names on Solaris (tab/ and tab/
- Support loading country zone data from the non-standard five column format.

Resolves #15.
Commits on May 05, 2014
@philr philr Add link to DataSourceNotFound help page in exception message. 93e95b7
@philr philr Remove licence text from individual files. 8225428
@philr philr Update copyright year. 406b11b
@philr philr Load and files as UTF-8. 61fdd43
Commits on May 06, 2014
@philr philr Fix typo. 6a9fa44
@philr philr Test the contents of the file independently of the open_file method. 14ed998
@philr philr Fix test case failures on Windows. 1a9e30a
Commits on May 07, 2014
@philr philr Add a constructor to CountryTimezone that accepts Rationals.
Rename the existing method new!. new! is now used
internally by RubyDataSource, passing the longitude and latitude as a
numerator and denominator in their lowest forms (for best performance on
Ruby 1.8).

ZoneinfoDataSource already uses Rationals to calculate the latitude and
longitude. It now calls, passing the Rationals.
Commits on May 11, 2014
@philr philr Add canonical_identifier and canonical_zone methods to Timezone.
Closes #16.
@philr philr Use assert_nothing_raised. 0844ba6
@philr philr Test using the latest Ruby 2.1 release.
Ruby is now using semantic versioning:

Travis CI supports referencing ruby-2.1 following this update:
Commits on May 25, 2014
@philr philr Run tests with warnings enabled. fabd852
@philr philr Fix instance variable not initialized warnings. 02bbbf8
@philr philr Minor changes to the readme file.
- Add badges for RubyGems and Travis CI.
- Link to the DataSourceNotFound wiki page.
- Code formatting.
Commits on May 26, 2014
@philr philr Preparing v1.2.0. 679a21e
Commits on May 31, 2014
@philr philr Fix handling zoneinfo files generated by zic 2014c and later.
Fix an error in the conversion of -2**63 from an unsigned integer.

Ignore timestamps that are either far in the past or far in the future
and which currently cause problems for the transition index. This is
primarily intended to ignore the far in the past transition added in zic
2014c (at timestamp -2**63 in zic 2014c and at approximate time of the
big bang from zic 2014d).
@philr philr Documentation correction.
TZif3 files have been supported for some time.
@philr philr Move the last -ve transition to the epoch on 32-bit +ve-only platforms.
On platforms that only support positive 32-bit timestamps, move the last
negative 32-bit timestamp to the epoch. This ensures that conversions
are accurate from the epoch onwards instead of just from the first
transition onwards.
@philr philr Update test data files to version 2014d.
Zoneinfo files were generated with zic version 2014d.
@philr philr Re-enable the test_time_boundary test on all platforms.
This will now succeed on platforms with 32-bit positive only timestamps.
@philr philr Prevent YARD from reporting exceptions on abstract methods.
Move the exception raising into a separate method. This prevents YARD
from detecting the exception and reporting it in the documentation.
Since the exceptions will never occur under normal usage, it is
unhelpful for them to appear in the documentation.
@philr philr Remove unnecessary .new when raising exceptions. bf7e206
@philr philr Use seek instead of read to skip the 32-bit section. 08ba378
Commits on Jun 01, 2014
@philr philr Preparing v1.2.1. 90d058a
Commits on Jul 22, 2014
@ugisozols ugisozols Fix typo and remove redundant word. 0480053
Commits on Aug 08, 2014
@philr philr Merge pull request #24 from ugisozols/fix_typo
Fix typo and remove redundant word.
@philr philr Return a unique set of zones/identifiers.
The file in tzdata 2014f allows the same time zone to be
defined under multiple countries.

The test case already checks for uniqueness.
@philr philr Update test data to tzdata 2014f (TZInfo::Data v1.2014.6).
Australia/Melbourne abbreviations have now changed to AEST/AEDT.
@philr philr Update countries index following ordering changes in tzinfo-data. c3a62d7
@philr philr Load from instead of if it exists. is a new file introduced in tzdata 2014f. is now
deprecated and will cease to be distributed at some point.
@philr philr Document ordering of country zones following change.
Minor changes to documentation of private methods.
@philr philr Preparing v1.2.2. f1c8830
Commits on Sep 28, 2014
@philr philr Replace expired gem signing certificate. 61654ea
Commits on Oct 01, 2014
@marshallshen marshallshen Add TZInfo::Version 2fc856c
@philr philr Make VERSION follow standard Ruby naming convention for constants. 1fec9a1
@philr philr Make version.rb require independent of the current working directory. e42780d
@philr philr Require tzinfo/version from tzinfo.rb.
Read the contents of version.rb from the gemspec instead of requiring
the file. This prevents constant redefined warnings on Ruby 1.8.7.
Commits on Oct 12, 2014
@nurse nurse fix %Z replacing with many percents 2e207c3
@nurse nurse replace %z like %Z
%z, timezone offset, requires preprocess
Commits on Oct 14, 2014
@philr philr Improve documentation for Timezone#strftime. 7b07641
Commits on Nov 11, 2014
@philr philr Remove :rbx section.
Rubinius 2.2.5 and later include the standard library gems.
@philr philr Disable parallel bundle installs.
Travis CI uses `--jobs=3` by default, which causes failures on rbx.
Commits on Nov 30, 2014
@philr philr Revert "Disable parallel bundle installs."
This reverts commit 681619c.

The jobs parameter is no longer specified by default on Rubinius.
Commits on Dec 29, 2014
@philr philr Add Ruby 2.2. b7595b6
@philr philr Set sudo to false to use Travis CI Container-Based Infrastructure. 7730d52
@philr philr Enable bundle caching. 64aafad
Commits on Jan 31, 2015
@philr philr Support changes to tar execution in Rake 10.4.
Arguments are now passed as separate Array elements.