v1.2.3 2017/3/25
* Reduce the number of String objects allocated when loading zoneinfo
files. #54.
* Make Timezone#friendly_identifier compatible with frozen string literals.
* Improve the algorithm for deriving the utc_offset from zoneinfo files. This
now correctly handles Pacific/Apia switching from one side of the
International Date Line to the other whilst observing daylight savings
time. #66.
* Fix an UnknownTimezone exception when calling transitions_up_to or
offsets_up_to on a TimezoneProxy instance obtained from Timezone.get_proxy.
* Allow the Factory zone to be obtained from the Zoneinfo data source.
* Ignore the /usr/share/zoneinfo/timeconfig symlink included in Slackware
distributions. #64.
* Fix Timezone#strftime handling of %Z expansion when %Z is prefixed with more
than one percent. #31.
* Support expansion of %z, %:z, %::z and %:::z to the UTC offset of the time
zone in Timezone#strftime. #31 and #67.
Version 1.2.2 - 8-Aug-2014
--------------------------
* Fix an error with duplicates being returned by Timezone#all_country_zones
and Timezone#all_country_zone_identifiers when used with tzinfo-data
v1.2014.6 or later.
* Use the zone1970.tab file for country timezone data if it is found in the
zoneinfo directory (and fallback to zone.tab if not). zone1970.tab was added
in tzdata 2014f. zone.tab is now deprecated.
Version 1.2.1 - 1-Jun-2014
--------------------------
* Support zoneinfo files generated with zic version 2014c and later.
* On platforms that only support positive 32-bit timestamps, ensure that
conversions are accurate from the epoch instead of just from the first
transition after the epoch.
* Minor documentation improvements.
Version 1.2.0 - 26-May-2014
---------------------------
* Raise the minimum supported Ruby version to 1.8.7.
* Support loading system zoneinfo data on FreeBSD, OpenBSD and Solaris.
Resolves#15.
* Add canonical_identifier and canonical_zone methods to Timezone. Resolves#16.
* Add a link to a DataSourceNotFound help page in the TZInfo::DataSourceNotFound
exception message.
* Load iso3166.tab and zone.tab files as UTF-8.
* Fix Timezone#local_to_utc returning local Time instances on systems using UTC
as the local time zone. Resolves#13.
* Fix == methods raising an exception when passed an instance of a different
class by making <=> return nil if passed a non-comparable argument.
* Eliminate "require 'rational'" warnings. Resolves#10.
* Eliminate "assigned but unused variable - info" warnings. Resolves#11.
* Switch to minitest v5 for unit tests. Resolves#18.
Version 1.1.0 - 25-Sep-2013
---------------------------
* TZInfo is now thread safe. ThreadSafe::Cache is now used instead of Hash
to cache Timezone and Country instances returned by Timezone.get and
Country.get. The tzinfo gem now depends on thread_safe ~> 0.1.
* Added a transitions_up_to method to Timezone that returns a list of the times
where the UTC offset of the timezone changes.
* Added an offsets_up_to method to Timezone that returns the set of offsets
that have been observed in a defined timezone.
* Fixed a "can't modify frozen String" error when loading a Timezone from a
zoneinfo file using an identifier String that is both tainted and frozen.
Resolves#3.
* Support TZif3 format zoneinfo files (now produced by zic from tzcode version
2013e onwards).
* Support using YARD to generate documentation (added a .yardopts file).
* Ignore the +VERSION file included in the zoneinfo directory on Mac OS X.
* Added a note to the documentation concerning 32-bit zoneinfo files (as
included with Mac OS X).
Version 1.0.1 - 22-Jun-2013
---------------------------
* Fix a test case failure when tests are run from a directory that contains a
dot in the path (issue #29751).
Version 1.0.0 - 2-Jun-2013
--------------------------
* Allow TZInfo to be used with different data sources instead of just the
built-in Ruby module data files.
* Include a data source that allows TZInfo to load data from the binary
zoneinfo files produced by zic and included with many Linux and Unix-like
distributions.
* Remove the definition and index Ruby modules from TZInfo and move them into
a separate TZInfo::Data library (available as the tzinfo-data gem).
* Default to using the TZInfo::Data library as the data source if it is
installed, otherwise use zoneinfo files instead.
* Preserve the nanoseconds of local timezone Time objects when performing
conversions (issue #29705).
* Don't add the tzinfo lib directory to the search path when requiring 'tzinfo'.
The tzinfo lib directory must now be in the search path before 'tzinfo' is
required.
* Add utc_start_time, utc_end_time, local_start_time and local_end_time instance
methods to TimezonePeriod. These return an identical value as the existing
utc_start, utc_end, local_start and local_end methods, but return Time
instances instead of DateTime.
* Make the start_transition, end_transition and offset properties of
TimezonePeriod protected. To access properties of the period, callers should
use other TimezonePeriod instance methods instead (issue #7655).
== Version 0.3.46 (tzdata v2015g) - 02-Dec-2015
* From version 2015e, the IANA time zone database uses non-ASCII characters in
country names. Backport the encoding handling from TZInfo::Data to allow
TZInfo 0.3.x to support Ruby 1.9 (which would otherwise fail with an invalid
byte sequence error when loading the countries index). Resolves#41.
Problems found with mismatching existing digests for:
distfiles/asclock-classic-1.0.tar.gz
distfiles/asclock-gtk-2.1.10beta.tar.gz
distfiles/asclock-xlib-2.0.11.tar.gz
distfiles/emiclock-2.0.2.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
== Version 0.3.29 (tzdata v2011h) - 27-Jun-2011
* Updated to tzdata version 2011h
(http://article.gmane.org/gmane.comp.time.tz/3814).
* Allow the default value of the local_to_utc and period_for_local dst
parameter to be specified globally with a Timezone.default_dst attribute.
Thanks to Kurt Werle for the suggestion and patch.
== Version 0.3.28 (tzdata v2011g) - 13-Jun-2011
* Add support for Ruby 1.9.3 (trunk revision 31668 and later). Thanks to
Aaron Patterson for reporting the problems running on the new version.
Closes#29233.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
== Version 0.3.23 (tzdata v2010l) - 19-Aug-2010
* Updated to tzdata version 2010l
(http://article.gmane.org/gmane.comp.time.tz/3354).
== Version 0.3.22 (tzdata v2010j) - 29-May-2010
* Corrected file permissions issue with 0.3.21 release.
== Version 0.3.21 (tzdata v2010j) - 28-May-2010
* Updated to tzdata version 2010j
(http://article.gmane.org/gmane.comp.time.tz/3225).
* Change invalid timezone check to exclude characters not used in timezone
identifiers and avoid 'character class has duplicated range' warnings with
Ruby 1.9.2.
* Ruby 1.9.2 has deprecated "require 'rational'", but older versions of
Ruby need rational to be required. Require rational only when the Rational
module has not already been loaded.
* Remove circular requires (now a warning in Ruby 1.9.2). Instead of using
requires in each file for dependencies, tzinfo.rb now requires all tzinfo
files. If you were previously requiring files within the tzinfo directory
(e.g. require 'tzinfo/timezone'), then you will now have to
require 'tzinfo' instead.
== Version 0.3.16 (tzdata v2009u) - 5-Jan-2010
* Support the use of '-' to denote '0' as an offset in the tz data files.
Used for the first time in the SAVE field in tzdata v2009u.
* Updated to tzdata version 2009u
(http://article.gmane.org/gmane.comp.time.tz/3053).
== Version 0.3.15 (tzdata v2009p) - 26-Oct-2009
* Updated to tzdata version 2009p
(http://article.gmane.org/gmane.comp.time.tz/2953).
* Added a description to the gem spec.
* List test files in test_files instead of files in the gem spec.
== Version 0.3.14 (tzdata v2009l) - 19-Aug-2009
* Updated to tzdata version 2009l
(http://article.gmane.org/gmane.comp.time.tz/2818).
* Include current directory in load path to allow running tests on
Ruby 1.9.2, which doesn't include it by default any more.
Changes:
* Updated to tzdata version 2009f
(http://article.gmane.org/gmane.comp.time.tz/2668).
* Untaint the timezone module filename after validation to allow use
with $SAFE == 1 (e.g. under mod_ruby). Thanks to Dmitry Borodaenko
for the suggestion. Closes#25349.
== Version 0.3.11 (tzdata v2008g) - 7-Oct-2008
* Updated to tzdata version 2008g
(http://article.gmane.org/gmane.comp.time.tz/2335).
* Support Ruby 1.9.0-5. Rational.new! has now been removed in Ruby 1.9.
Only use Rational.new! if it is available (it is preferable in Ruby 1.8
for performance reasons). Thanks to Jeremy Kemper and Pratik Naik for
reporting this. Closes#22312.
* Apply a patch from Pratik Naik to replace assert calls that have been
deprecated in the Ruby svn trunk. Closes#22308.
== Version 0.3.9 (tzdata v2008c) - 27-May-2008
* Updated to tzdata version 2008c
(http://article.gmane.org/gmane.comp.time.tz/2183).
* Support loading timezone data in the latest trunk versions of Ruby 1.9.
Rational.new! is now private, so call it using Rational.send :new! instead.
Thanks to Jeremy Kemper and Pratik Naik for spotting this. Closes#19184.
* Prevent warnings from being output when running Ruby with the -v or -w
command line options. Thanks to Paul McMahon for the patch. Closes#19719.
TZInfo is a Ruby library that uses the standard tz (Olson) database to
provide daylight savings aware transformations between times in
different time zones. The tz database is compiled into Ruby modules
which are packaged in the release. No external zoneinfo files are
required at runtime.