tzinfo 1.2.7 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.yardopts +3 -0
- data/CHANGES.md +489 -382
- data/LICENSE +12 -12
- data/README.md +368 -114
- data/lib/tzinfo.rb +59 -29
- data/lib/tzinfo/country.rb +141 -129
- data/lib/tzinfo/country_timezone.rb +70 -112
- data/lib/tzinfo/data_source.rb +389 -144
- data/lib/tzinfo/data_sources.rb +8 -0
- data/lib/tzinfo/data_sources/constant_offset_data_timezone_info.rb +56 -0
- data/lib/tzinfo/data_sources/country_info.rb +42 -0
- data/lib/tzinfo/data_sources/data_timezone_info.rb +91 -0
- data/lib/tzinfo/data_sources/linked_timezone_info.rb +33 -0
- data/lib/tzinfo/data_sources/ruby_data_source.rb +145 -0
- data/lib/tzinfo/data_sources/timezone_info.rb +47 -0
- data/lib/tzinfo/data_sources/transitions_data_timezone_info.rb +214 -0
- data/lib/tzinfo/data_sources/zoneinfo_data_source.rb +577 -0
- data/lib/tzinfo/data_sources/zoneinfo_reader.rb +288 -0
- data/lib/tzinfo/data_timezone.rb +33 -47
- data/lib/tzinfo/datetime_with_offset.rb +153 -0
- data/lib/tzinfo/format1.rb +10 -0
- data/lib/tzinfo/format1/country_definer.rb +17 -0
- data/lib/tzinfo/format1/country_index_definition.rb +64 -0
- data/lib/tzinfo/format1/timezone_definer.rb +64 -0
- data/lib/tzinfo/format1/timezone_definition.rb +39 -0
- data/lib/tzinfo/format1/timezone_index_definition.rb +77 -0
- data/lib/tzinfo/format2.rb +10 -0
- data/lib/tzinfo/format2/country_definer.rb +68 -0
- data/lib/tzinfo/format2/country_index_definer.rb +68 -0
- data/lib/tzinfo/format2/country_index_definition.rb +46 -0
- data/lib/tzinfo/format2/timezone_definer.rb +94 -0
- data/lib/tzinfo/format2/timezone_definition.rb +73 -0
- data/lib/tzinfo/format2/timezone_index_definer.rb +45 -0
- data/lib/tzinfo/format2/timezone_index_definition.rb +55 -0
- data/lib/tzinfo/info_timezone.rb +26 -21
- data/lib/tzinfo/linked_timezone.rb +33 -52
- data/lib/tzinfo/offset_timezone_period.rb +42 -0
- data/lib/tzinfo/string_deduper.rb +118 -0
- data/lib/tzinfo/time_with_offset.rb +128 -0
- data/lib/tzinfo/timestamp.rb +548 -0
- data/lib/tzinfo/timestamp_with_offset.rb +85 -0
- data/lib/tzinfo/timezone.rb +989 -502
- data/lib/tzinfo/timezone_offset.rb +84 -74
- data/lib/tzinfo/timezone_period.rb +151 -217
- data/lib/tzinfo/timezone_proxy.rb +70 -79
- data/lib/tzinfo/timezone_transition.rb +77 -109
- data/lib/tzinfo/transitions_timezone_period.rb +63 -0
- data/lib/tzinfo/untaint_ext.rb +18 -0
- data/lib/tzinfo/version.rb +7 -0
- data/lib/tzinfo/with_offset.rb +61 -0
- metadata +42 -98
- metadata.gz.sig +0 -0
- data/Rakefile +0 -107
- data/lib/tzinfo/country_index_definition.rb +0 -31
- data/lib/tzinfo/country_info.rb +0 -42
- data/lib/tzinfo/data_timezone_info.rb +0 -55
- data/lib/tzinfo/linked_timezone_info.rb +0 -26
- data/lib/tzinfo/offset_rationals.rb +0 -77
- data/lib/tzinfo/ruby_core_support.rb +0 -169
- data/lib/tzinfo/ruby_country_info.rb +0 -74
- data/lib/tzinfo/ruby_data_source.rb +0 -140
- data/lib/tzinfo/time_or_datetime.rb +0 -340
- data/lib/tzinfo/timezone_definition.rb +0 -36
- data/lib/tzinfo/timezone_index_definition.rb +0 -54
- data/lib/tzinfo/timezone_info.rb +0 -30
- data/lib/tzinfo/timezone_transition_definition.rb +0 -104
- data/lib/tzinfo/transition_data_timezone_info.rb +0 -274
- data/lib/tzinfo/zoneinfo_country_info.rb +0 -37
- data/lib/tzinfo/zoneinfo_data_source.rb +0 -496
- data/lib/tzinfo/zoneinfo_timezone_info.rb +0 -300
- data/test/tc_country.rb +0 -238
- data/test/tc_country_index_definition.rb +0 -69
- data/test/tc_country_info.rb +0 -16
- data/test/tc_country_timezone.rb +0 -173
- data/test/tc_data_source.rb +0 -218
- data/test/tc_data_timezone.rb +0 -99
- data/test/tc_data_timezone_info.rb +0 -18
- data/test/tc_info_timezone.rb +0 -34
- data/test/tc_linked_timezone.rb +0 -155
- data/test/tc_linked_timezone_info.rb +0 -23
- data/test/tc_offset_rationals.rb +0 -23
- data/test/tc_ruby_core_support.rb +0 -168
- data/test/tc_ruby_country_info.rb +0 -110
- data/test/tc_ruby_data_source.rb +0 -167
- data/test/tc_time_or_datetime.rb +0 -660
- data/test/tc_timezone.rb +0 -1361
- data/test/tc_timezone_definition.rb +0 -113
- data/test/tc_timezone_index_definition.rb +0 -73
- data/test/tc_timezone_info.rb +0 -11
- data/test/tc_timezone_london.rb +0 -143
- data/test/tc_timezone_melbourne.rb +0 -142
- data/test/tc_timezone_new_york.rb +0 -142
- data/test/tc_timezone_offset.rb +0 -126
- data/test/tc_timezone_period.rb +0 -555
- data/test/tc_timezone_proxy.rb +0 -136
- data/test/tc_timezone_transition.rb +0 -366
- data/test/tc_timezone_transition_definition.rb +0 -295
- data/test/tc_timezone_utc.rb +0 -27
- data/test/tc_transition_data_timezone_info.rb +0 -433
- data/test/tc_zoneinfo_country_info.rb +0 -78
- data/test/tc_zoneinfo_data_source.rb +0 -1204
- data/test/tc_zoneinfo_timezone_info.rb +0 -1236
- data/test/test_utils.rb +0 -192
- data/test/ts_all.rb +0 -7
- data/test/ts_all_ruby.rb +0 -5
- data/test/ts_all_zoneinfo.rb +0 -9
- data/test/tzinfo-data/tzinfo/data.rb +0 -8
- data/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +0 -89
- data/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +0 -315
- data/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +0 -218
- data/test/tzinfo-data/tzinfo/data/definitions/EST.rb +0 -19
- data/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +0 -21
- data/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +0 -21
- data/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +0 -21
- data/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +0 -261
- data/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +0 -186
- data/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +0 -321
- data/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +0 -265
- data/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +0 -220
- data/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +0 -16
- data/test/tzinfo-data/tzinfo/data/indexes/countries.rb +0 -927
- data/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +0 -596
- data/test/tzinfo-data/tzinfo/data/version.rb +0 -14
- data/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
- data/test/zoneinfo/America/New_York +0 -0
- data/test/zoneinfo/Australia/Melbourne +0 -0
- data/test/zoneinfo/EST +0 -0
- data/test/zoneinfo/Etc/UTC +0 -0
- data/test/zoneinfo/Europe/Amsterdam +0 -0
- data/test/zoneinfo/Europe/Andorra +0 -0
- data/test/zoneinfo/Europe/London +0 -0
- data/test/zoneinfo/Europe/Paris +0 -0
- data/test/zoneinfo/Europe/Prague +0 -0
- data/test/zoneinfo/Factory +0 -0
- data/test/zoneinfo/iso3166.tab +0 -275
- data/test/zoneinfo/leapseconds +0 -61
- data/test/zoneinfo/posix/Europe/London +0 -0
- data/test/zoneinfo/posixrules +0 -0
- data/test/zoneinfo/right/Europe/London +0 -0
- data/test/zoneinfo/zone.tab +0 -439
- data/test/zoneinfo/zone1970.tab +0 -369
- data/tzinfo.gemspec +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28818edc06842caea3c6a7ee9fc63174498a3fd9f5d065324b3923ba20702ff6
|
4
|
+
data.tar.gz: 1691bcf9786a63c21777f22326f79d27fd2cd6a19dd6cfa269e00bcc58ca394c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f070f1ae1e08386d00a0825a035d7b7b598b2c9d47cf822be81c5778bcaca47c5541d602cf676aea6d476b49500b13a667a013b80f6bcd69a5acd9691dbba38a
|
7
|
+
data.tar.gz: 2e263e61fa7178427178b6109a31e627b899b17d69c41ecfbb9978e98be7a520ba68b148cf903107ff244947b8b8e43b782daef70e103d2e1b81a416663771a7
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.yardopts
CHANGED
data/CHANGES.md
CHANGED
@@ -1,71 +1,229 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# Changes
|
2
|
+
|
3
|
+
## Version 2.0.2 - 2-Apr-2020
|
4
|
+
|
5
|
+
* Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
|
6
|
+
* Fixed warnings when running on Ruby 2.8. #113.
|
7
|
+
|
8
|
+
|
9
|
+
## Version 2.0.1 - 24-Dec-2019
|
10
|
+
|
11
|
+
* Fixed "SecurityError: Insecure operation - require" exceptions when loading
|
12
|
+
data with recent Ruby releases in safe mode. #100.
|
13
|
+
* Fixed warnings when running on Ruby 2.7. #109.
|
14
|
+
* Added a `TZInfo::Timezone#=~` method that performs a regex match on the time
|
15
|
+
zone identifier. #99.
|
16
|
+
* Added a `TZInfo::Country#=~` method that performs a regex match on the country
|
17
|
+
code.
|
18
|
+
|
19
|
+
|
20
|
+
## Version 2.0.0 - 26-Dec-2018
|
21
|
+
|
22
|
+
### Added
|
23
|
+
|
24
|
+
* `to_local` and `period_for` instance methods have been added to
|
25
|
+
`TZInfo::Timezone`. These are similar to `utc_to_local` and `period_for_utc`,
|
26
|
+
but take the UTC offset of the given time into account.
|
27
|
+
* `abbreviation`, `dst?`, `base_utc_offset` and `observed_utc_offset` instance
|
28
|
+
methods have been added to `TZInfo::Timezone`, returning the abbreviation,
|
29
|
+
whether daylight savings time is in effect and the UTC offset of the time zone
|
30
|
+
at a specified time.
|
31
|
+
* A `TZInfo::Timestamp` class has been added. It can be used with
|
32
|
+
`TZInfo::Timezone` in place of a `Time` or `DateTime`.
|
33
|
+
* `local_time`, `local_datetime` and `local_timestamp` instance methods have
|
34
|
+
been added to `TZInfo::Timezone`. These methods construct local `Time`,
|
35
|
+
`DateTime` and `TZInfo::Timestamp` instances with the correct UTC offset and
|
36
|
+
abbreviation for the time zone.
|
37
|
+
* Support for a (yet to be released) version 2 of tzinfo-data has been added, in
|
38
|
+
addition to support for version 1. The new version will remove the (no longer
|
39
|
+
needed) `DateTime` parameters from transition times, reduce memory consumption
|
40
|
+
and improve the efficiency of loading timezone and country indexes.
|
41
|
+
* A `TZInfo::VERSION` constant has been added, indicating the TZInfo version
|
42
|
+
number.
|
43
|
+
|
44
|
+
### Changed
|
45
|
+
|
46
|
+
* The minimum supported Ruby versions are now Ruby MRI 1.9.3, JRuby 1.7 (in 1.9
|
47
|
+
or later mode) and Rubinius 3.
|
48
|
+
* Local times are now returned using the correct UTC offset (instead of using
|
49
|
+
UTC). #49 and #52.
|
50
|
+
* Local times are returned as instances of `TimeWithOffset`,
|
51
|
+
`DateTimeWithOffset` or `TZInfo::TimestampWithOffset`. These classes subclass
|
52
|
+
`Time`, `DateTime` and `TZInfo::Timestamp` respectively. They override the
|
53
|
+
default behaviour of the base classes to return information about the observed
|
54
|
+
offset at the indicated time. For example, the zone abbreviation is returned
|
55
|
+
when using the `%Z` directive with `strftime`.
|
56
|
+
* The `transitions_up_to`, `offsets_up_to` and `strftime` instance methods of
|
57
|
+
`TZInfo::Timezone` now take the UTC offsets of given times into account
|
58
|
+
(instead of ignoring them as was previously the case).
|
59
|
+
* The `TZInfo::TimezonePeriod` class has been split into two subclasses:
|
60
|
+
`TZInfo::OffsetTimezonePeriod` and `TZInfo::TransitionsTimezonePeriod`.
|
61
|
+
`TZInfo::OffsetTimezonePeriod` is returned for time zones that only have a
|
62
|
+
single offset. `TZInfo::TransitionsTimezonePeriod` is returned for periods
|
63
|
+
that start or end with a transition.
|
64
|
+
* `TZInfo::TimezoneOffset#abbreviation`, `TZInfo::TimezonePeriod#abbreviation`
|
65
|
+
and `TZInfo::TimezonePeriod#zone_identifier` now return frozen `String`
|
66
|
+
instances instead of instances of `Symbol`.
|
67
|
+
* The `utc_offset` and `utc_total_offset` attributes of `TZInfo::TimezonePeriod`
|
68
|
+
and `TZInfo::TimezoneOffset` have been renamed `base_utc_offset` and
|
69
|
+
`observed_utc_offset` respectively. The former names have been retained as
|
70
|
+
aliases.
|
71
|
+
* `TZInfo::Timezone.get`, `TZInfo::Timezone.get_proxy` and `TZInfo::Country.get`
|
72
|
+
can now be used with strings having any encoding. Previously, only encodings
|
73
|
+
that are directly comparable with UTF-8 were supported.
|
74
|
+
* The requested identifier is included in `TZInfo::InvalidTimezoneIdentifier`
|
75
|
+
exception messages.
|
76
|
+
* The requested country code is included in `TZInfo::InvalidCountryCode`
|
77
|
+
exception messages.
|
78
|
+
* The full range of transitions is now loaded from zoneinfo files. Zoneinfo
|
79
|
+
files produced with version 2014c of the `zic` tool contain an initial
|
80
|
+
transition `2**63` seconds before the epoch. Zoneinfo files produced with
|
81
|
+
version 2014d or later of `zic` contain an initial transition `2**59` seconds
|
82
|
+
before the epoch. These transitions would previously have been ignored, but
|
83
|
+
are now returned in methods such as `TZInfo::Timezone#transitions_up_to`.
|
84
|
+
* The `TZInfo::RubyDataSource` and `TZInfo::ZoneinfoDataSource` classes have
|
85
|
+
been moved into a new `TZInfo::DataSources` module. Code that is setting
|
86
|
+
`TZInfo::ZoneinfoDataSource.search_path` or
|
87
|
+
`TZInfo::ZoneinfoDataSource.alternate_iso3166_tab_search_path` will need to be
|
88
|
+
updated accordingly.
|
89
|
+
* The `TZInfo::InvalidZoneinfoDirectory` and `TZInfo::ZoneinfoDirectoryNotFound`
|
90
|
+
exception classes raised by `TZInfo::DataSources::ZoneinfoDataSource` have
|
91
|
+
been moved into the `TZInfo::DataSources` module.
|
92
|
+
* Setting the data source to `:ruby` or instantiating
|
93
|
+
`TZInfo::DataSources::RubyDataSource` will now immediately raise a
|
94
|
+
`TZInfo::DataSources::TZInfoDataNotFound` exception if `require 'tzinfo/data'`
|
95
|
+
fails. Previously, a failure would only occur later when accessing an index or
|
96
|
+
loading a timezone or country.
|
97
|
+
* The `DEFAULT_SEARCH_PATH` and `DEFAULT_ALTERNATE_ISO3166_TAB_SEARCH_PATH`
|
98
|
+
constants of `TZInfo::DataSources::ZoneinfoDataSource` have been made private.
|
99
|
+
* The `TZInfo::Country.data_source`,
|
100
|
+
`TZInfo::DataSource.create_default_data_source`,
|
101
|
+
`TZInfo::DataSources::ZoneinfoDataSource.process_search_path`,
|
102
|
+
`TZInfo::Timezone.get_proxies` and `TZInfo::Timezone.data_source` methods have
|
103
|
+
been made private.
|
104
|
+
* The performance of loading zoneinfo files and the associated indexes has been
|
105
|
+
improved.
|
106
|
+
* Memory use has been decreased by deduplicating `String` instances when loading
|
107
|
+
country and time zone data.
|
108
|
+
* The dependency on the deprecated thread_safe gem as been removed and replaced
|
109
|
+
by concurrent-ruby.
|
110
|
+
* The Info classes used to return time zone and country information from
|
111
|
+
`TZInfo::DataSource` implementations have been moved into the
|
112
|
+
`TZInfo::DataSources` module.
|
113
|
+
* The `TZInfo::TransitionDataTimezoneInfo` class has been removed and replaced
|
114
|
+
with `TZInfo::DataSources::TransitionsDataTimezoneInfo` and
|
115
|
+
`TZInfo::DataSources::ConstantOffsetDataTimezoneInfo`.
|
116
|
+
`TZInfo::DataSources::TransitionsDataTimezoneInfo` is constructed with an
|
117
|
+
`Array` of `TZInfo::TimezoneTransition` instances representing times when the
|
118
|
+
offset changes. `TZInfo::DataSources::ConstantOffsetDataTimezoneInfo` is
|
119
|
+
constructed with a `TZInfo::TimezoneOffset` instance representing the offset
|
120
|
+
constantly observed in a time zone.
|
121
|
+
* The `TZInfo::DataSource#timezone_identifiers` method should no longer be
|
122
|
+
overridden in custom data source implementations. The implementation in the
|
123
|
+
base class now calculates a result from
|
124
|
+
`TZInfo::DataSource#data_timezone_identifiers` and
|
125
|
+
`TZInfo::DataSource#linked_timezone_identifiers`.
|
126
|
+
* The results of the `TZInfo::DataSources::RubyDataSource` `to_s` and `inspect`
|
127
|
+
methods now include the time zone database and tzinfo-data versions.
|
128
|
+
|
129
|
+
|
130
|
+
### Removed
|
131
|
+
|
132
|
+
* Methods of `TZInfo::Timezone` that accept time arguments no longer allow
|
133
|
+
`Integer` timestamp values. `Time`, `DateTime` or `TZInfo::Timestamp` values
|
134
|
+
or objects that respond to `to_i`, `subsec` and optionally `utc_offset` must
|
135
|
+
be used instead.
|
136
|
+
* The `%:::z` format directive can now only be used with
|
137
|
+
`TZInfo::Timezone#strftime` if it is supported by `Time#strftime` on the
|
138
|
+
runtime platform.
|
139
|
+
* Using `TZInfo::Timezone.new(identifier)` and `TZInfo::Country.new(code)` to
|
140
|
+
obtain a specific `TZInfo::Timezone` or `TZInfo::Country` will no longer work.
|
141
|
+
`TZInfo::Timezone.get(identifier)` and `TZInfo::Country.get(code)` should be
|
142
|
+
used instead.
|
143
|
+
* The `TZInfo::TimeOrDateTime` class has been removed.
|
144
|
+
* The `valid_for_utc?`, `utc_after_start?`, `utc_before_end?`,
|
145
|
+
`valid_for_local?`, `local_after_start?` and `local_before_end?` instance
|
146
|
+
methods of `TZInfo::TimezonePeriod` have been removed. Comparisons can be
|
147
|
+
performed with the results of the `starts_at`, `ends_at`, `local_starts_at`
|
148
|
+
and `local_ends_at` methods instead.
|
149
|
+
* The `to_local` and `to_utc` instance methods of `TZInfo::TimezonePeriod` and
|
150
|
+
`TZInfo::TimezoneOffset` have been removed. Conversions should be performed
|
151
|
+
using the `TZInfo::Timezone` class instead.
|
152
|
+
* The `TZInfo::TimezonePeriod#utc_total_offset_rational` method has been
|
153
|
+
removed. Equivalent information can be obtained using the
|
154
|
+
`TZInfo::TimezonePeriod#observed_utc_offset` method.
|
155
|
+
* The `datetime`, `time`, `local_end`, `local_end_time`, `local_start` and
|
156
|
+
`local_start_time` instance methods of `TZInfo::TimezoneTransition` have been
|
157
|
+
removed. The `at`, `local_end_at` and `local_start_at` methods should be used
|
158
|
+
instead and the result (a `TZInfo::TimestampWithOffset`) converted to either a
|
159
|
+
`DateTime` or `Time` by calling `to_datetime` or `to_time` on the result.
|
160
|
+
* The `us_zones` and `us_zone_identifiers` class methods of `TZInfo::Timezone`
|
161
|
+
have been removed. `TZInfo::Country.get('US').zones` and
|
162
|
+
`TZInfo::Country.get('US').zone_identifiers` should be used instead.
|
163
|
+
|
164
|
+
|
165
|
+
## Version 1.2.7 - 2-Apr-2020
|
3
166
|
|
4
167
|
* Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
|
5
168
|
* Fixed warnings when running on Ruby 2.8. #112.
|
6
169
|
|
7
170
|
|
8
|
-
Version 1.2.6 - 24-Dec-2019
|
9
|
-
---------------------------
|
171
|
+
## Version 1.2.6 - 24-Dec-2019
|
10
172
|
|
11
|
-
* Timezone#strftime('%s', time) will now return the correct number of seconds
|
173
|
+
* `Timezone#strftime('%s', time)` will now return the correct number of seconds
|
12
174
|
since the epoch. #91.
|
13
|
-
* Removed the unused TZInfo::RubyDataSource::REQUIRE_PATH constant.
|
175
|
+
* Removed the unused `TZInfo::RubyDataSource::REQUIRE_PATH` constant.
|
14
176
|
* Fixed "SecurityError: Insecure operation - require" exceptions when loading
|
15
177
|
data with recent Ruby releases in safe mode.
|
16
178
|
* Fixed warnings when running on Ruby 2.7. #106 and #111.
|
17
179
|
|
18
180
|
|
19
|
-
Version 1.2.5 - 4-Feb-2018
|
20
|
-
--------------------------
|
181
|
+
## Version 1.2.5 - 4-Feb-2018
|
21
182
|
|
22
|
-
* Support recursively (deep) freezing Country and Timezone instances. #80.
|
183
|
+
* Support recursively (deep) freezing `Country` and `Timezone` instances. #80.
|
23
184
|
* Allow negative daylight savings time offsets to be derived when reading from
|
24
185
|
zoneinfo files. The utc_offset and std_offset are now derived correctly for
|
25
186
|
Europe/Dublin in the 2018a and 2018b releases of the Time Zone Database.
|
26
187
|
|
27
188
|
|
28
|
-
Version 1.2.4 - 26-Oct-2017
|
29
|
-
---------------------------
|
189
|
+
## Version 1.2.4 - 26-Oct-2017
|
30
190
|
|
31
191
|
* Ignore the leapseconds file that is included in zoneinfo directories installed
|
32
192
|
with version 2017c and later of the Time Zone Database.
|
33
193
|
|
34
194
|
|
35
|
-
Version 1.2.3 - 25-Mar-2017
|
36
|
-
---------------------------
|
195
|
+
## Version 1.2.3 - 25-Mar-2017
|
37
196
|
|
38
|
-
* Reduce the number of String objects allocated when loading zoneinfo files.
|
197
|
+
* Reduce the number of `String` objects allocated when loading zoneinfo files.
|
39
198
|
#54.
|
40
|
-
* Make Timezone#friendly_identifier compatible with frozen string literals.
|
41
|
-
* Improve the algorithm for deriving the utc_offset from zoneinfo files. This
|
199
|
+
* Make `Timezone#friendly_identifier` compatible with frozen string literals.
|
200
|
+
* Improve the algorithm for deriving the `utc_offset` from zoneinfo files. This
|
42
201
|
now correctly handles Pacific/Apia switching from one side of the
|
43
202
|
International Date Line to the other whilst observing daylight savings time.
|
44
203
|
#66.
|
45
|
-
* Fix an UnknownTimezone exception when calling transitions_up_to or
|
46
|
-
offsets_up_to on a TimezoneProxy instance obtained from
|
204
|
+
* Fix an `UnknownTimezone` exception when calling transitions_up_to or
|
205
|
+
offsets_up_to on a `TimezoneProxy` instance obtained from
|
206
|
+
`Timezone.get_proxy`.
|
47
207
|
* Allow the Factory zone to be obtained from the Zoneinfo data source.
|
48
208
|
* Ignore the /usr/share/zoneinfo/timeconfig symlink included in Slackware
|
49
209
|
distributions. #64.
|
50
|
-
* Fix Timezone#strftime handling of
|
51
|
-
than one percent. #31.
|
52
|
-
* Support expansion of
|
53
|
-
zone in Timezone#strftime
|
210
|
+
* Fix `Timezone#strftime` handling of `%Z` expansion when `%Z` is prefixed with
|
211
|
+
more than one percent. #31.
|
212
|
+
* Support expansion of `%z`, `%:z`, `%::z` and `%:::z` to the UTC offset of the
|
213
|
+
time zone in `Timezone#strftime`. #31 and #67.
|
54
214
|
|
55
215
|
|
56
|
-
Version 1.2.2 - 8-Aug-2014
|
57
|
-
--------------------------
|
216
|
+
## Version 1.2.2 - 8-Aug-2014
|
58
217
|
|
59
|
-
* Fix an error with duplicates being returned by Timezone#all_country_zones
|
60
|
-
and Timezone#all_country_zone_identifiers when used with tzinfo-data
|
218
|
+
* Fix an error with duplicates being returned by `Timezone#all_country_zones`
|
219
|
+
and `Timezone#all_country_zone_identifiers` when used with tzinfo-data
|
61
220
|
v1.2014.6 or later.
|
62
221
|
* Use the zone1970.tab file for country timezone data if it is found in the
|
63
222
|
zoneinfo directory (and fallback to zone.tab if not). zone1970.tab was added
|
64
223
|
in tzdata 2014f. zone.tab is now deprecated.
|
65
224
|
|
66
225
|
|
67
|
-
Version 1.2.1 - 1-Jun-2014
|
68
|
-
--------------------------
|
226
|
+
## Version 1.2.1 - 1-Jun-2014
|
69
227
|
|
70
228
|
* Support zoneinfo files generated with zic version 2014c and later.
|
71
229
|
* On platforms that only support positive 32-bit timestamps, ensure that
|
@@ -74,55 +232,52 @@ Version 1.2.1 - 1-Jun-2014
|
|
74
232
|
* Minor documentation improvements.
|
75
233
|
|
76
234
|
|
77
|
-
Version 1.2.0 - 26-May-2014
|
78
|
-
---------------------------
|
235
|
+
## Version 1.2.0 - 26-May-2014
|
79
236
|
|
80
237
|
* Raise the minimum supported Ruby version to 1.8.7.
|
81
238
|
* Support loading system zoneinfo data on FreeBSD, OpenBSD and Solaris.
|
82
239
|
Resolves #15.
|
83
|
-
* Add canonical_identifier and canonical_zone methods to Timezone
|
84
|
-
|
85
|
-
|
240
|
+
* Add `canonical_identifier` and `canonical_zone` methods to `Timezone`.
|
241
|
+
Resolves #16.
|
242
|
+
* Add a link to a `DataSourceNotFound` help page in the
|
243
|
+
`TZInfo::DataSourceNotFound` exception message.
|
86
244
|
* Load iso3166.tab and zone.tab files as UTF-8.
|
87
|
-
* Fix Timezone#local_to_utc returning local Time instances on systems using
|
88
|
-
as the local time zone. Resolves #13.
|
89
|
-
* Fix
|
90
|
-
class by making
|
91
|
-
* Eliminate
|
245
|
+
* Fix `Timezone#local_to_utc` returning local `Time` instances on systems using
|
246
|
+
UTC as the local time zone. Resolves #13.
|
247
|
+
* Fix `==` methods raising an exception when passed an instance of a different
|
248
|
+
class by making `<=>` return `nil` if passed a non-comparable argument.
|
249
|
+
* Eliminate `require 'rational'` warnings. Resolves #10.
|
92
250
|
* Eliminate "assigned but unused variable - info" warnings. Resolves #11.
|
93
251
|
* Switch to minitest v5 for unit tests. Resolves #18.
|
94
252
|
|
95
253
|
|
96
|
-
Version 1.1.0 - 25-Sep-2013
|
97
|
-
---------------------------
|
254
|
+
## Version 1.1.0 - 25-Sep-2013
|
98
255
|
|
99
|
-
* TZInfo is now thread safe. ThreadSafe::Cache is now used instead of Hash
|
100
|
-
to cache Timezone and Country instances returned by Timezone.get and
|
101
|
-
Country.get
|
102
|
-
* Added a transitions_up_to method to Timezone that returns a list of the
|
103
|
-
where the UTC offset of the timezone changes.
|
104
|
-
* Added an offsets_up_to method to Timezone that returns the set of offsets
|
256
|
+
* TZInfo is now thread safe. `ThreadSafe::Cache` is now used instead of `Hash`
|
257
|
+
to cache `Timezone` and `Country` instances returned by `Timezone.get` and
|
258
|
+
`Country.get`. The tzinfo gem now depends on thread_safe ~> 0.1.
|
259
|
+
* Added a `transitions_up_to` method to `Timezone` that returns a list of the
|
260
|
+
times where the UTC offset of the timezone changes.
|
261
|
+
* Added an `offsets_up_to` method to `Timezone` that returns the set of offsets
|
105
262
|
that have been observed in a defined timezone.
|
106
|
-
* Fixed a "can't modify frozen String" error when loading a Timezone from a
|
107
|
-
zoneinfo file using an identifier String that is both tainted and frozen.
|
263
|
+
* Fixed a "can't modify frozen String" error when loading a `Timezone` from a
|
264
|
+
zoneinfo file using an identifier `String` that is both tainted and frozen.
|
108
265
|
Resolves #3.
|
109
266
|
* Support TZif3 format zoneinfo files (now produced by zic from tzcode version
|
110
267
|
2013e onwards).
|
111
268
|
* Support using YARD to generate documentation (added a .yardopts file).
|
112
269
|
* Ignore the +VERSION file included in the zoneinfo directory on Mac OS X.
|
113
|
-
* Added a note to the documentation concerning 32-bit zoneinfo files (as
|
270
|
+
* Added a note to the documentation concerning 32-bit zoneinfo files (as
|
114
271
|
included with Mac OS X).
|
115
272
|
|
116
273
|
|
117
|
-
Version 1.0.1 - 22-Jun-2013
|
118
|
-
---------------------------
|
274
|
+
## Version 1.0.1 - 22-Jun-2013
|
119
275
|
|
120
276
|
* Fix a test case failure when tests are run from a directory that contains a
|
121
277
|
dot in the path (issue #29751).
|
122
278
|
|
123
279
|
|
124
|
-
Version 1.0.0 - 2-Jun-2013
|
125
|
-
--------------------------
|
280
|
+
## Version 1.0.0 - 2-Jun-2013
|
126
281
|
|
127
282
|
* Allow TZInfo to be used with different data sources instead of just the
|
128
283
|
built-in Ruby module data files.
|
@@ -131,73 +286,71 @@ Version 1.0.0 - 2-Jun-2013
|
|
131
286
|
distributions.
|
132
287
|
* Remove the definition and index Ruby modules from TZInfo and move them into
|
133
288
|
a separate TZInfo::Data library (available as the tzinfo-data gem).
|
134
|
-
* Default to using the TZInfo::Data library as the data source if it is
|
289
|
+
* Default to using the TZInfo::Data library as the data source if it is
|
135
290
|
installed, otherwise use zoneinfo files instead.
|
136
|
-
* Preserve the nanoseconds of local timezone Time objects when performing
|
291
|
+
* Preserve the nanoseconds of local timezone Time objects when performing
|
137
292
|
conversions (issue #29705).
|
138
293
|
* Don't add the tzinfo lib directory to the search path when requiring 'tzinfo'.
|
139
294
|
The tzinfo lib directory must now be in the search path before 'tzinfo' is
|
140
295
|
required.
|
141
|
-
* Add utc_start_time
|
142
|
-
methods to TimezonePeriod
|
143
|
-
utc_start
|
144
|
-
instances instead of DateTime
|
145
|
-
* Make the start_transition
|
146
|
-
TimezonePeriod protected. To access properties of the period, callers should
|
147
|
-
use other TimezonePeriod instance methods instead (issue #7655).
|
296
|
+
* Add `utc_start_time`, `utc_end_time`, `local_start_time` and `local_end_time`
|
297
|
+
instance methods to `TimezonePeriod`. These return an identical value as the
|
298
|
+
existing `utc_start`, `utc_end`, `local_start` and `local_end` methods, but
|
299
|
+
return `Time` instances instead of `DateTime`.
|
300
|
+
* Make the `start_transition`, `end_transition` and `offset` properties of
|
301
|
+
`TimezonePeriod` protected. To access properties of the period, callers should
|
302
|
+
use other `TimezonePeriod` instance methods instead (issue #7655).
|
303
|
+
|
304
|
+
|
305
|
+
## Version 0.3.54 (tzdata v2018d) - 25-Mar-2018
|
306
|
+
|
307
|
+
* Updated to tzdata version 2018d
|
308
|
+
(<https://mm.icann.org/pipermail/tz-announce/2018-March/000049.html>).
|
148
309
|
|
149
310
|
|
150
|
-
Version 0.3.53 (tzdata v2017b) - 23-Mar-2017
|
151
|
-
--------------------------------------------
|
311
|
+
## Version 0.3.53 (tzdata v2017b) - 23-Mar-2017
|
152
312
|
|
153
313
|
* Updated to tzdata version 2017b
|
154
|
-
(https://mm.icann.org/pipermail/tz-announce/2017-March/000046.html).
|
314
|
+
(<https://mm.icann.org/pipermail/tz-announce/2017-March/000046.html>).
|
155
315
|
|
156
316
|
|
157
|
-
Version 0.3.52 (tzdata v2016h) - 28-Oct-2016
|
158
|
-
--------------------------------------------
|
317
|
+
## Version 0.3.52 (tzdata v2016h) - 28-Oct-2016
|
159
318
|
|
160
319
|
* Updated to tzdata version 2016h
|
161
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-October/000042.html).
|
320
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-October/000042.html>).
|
162
321
|
|
163
322
|
|
164
|
-
Version 0.3.51 (tzdata v2016f) - 5-Jul-2016
|
165
|
-
-------------------------------------------
|
323
|
+
## Version 0.3.51 (tzdata v2016f) - 5-Jul-2016
|
166
324
|
|
167
325
|
* Updated to tzdata version 2016f
|
168
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-July/000040.html).
|
326
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-July/000040.html>).
|
169
327
|
|
170
328
|
|
171
|
-
Version 0.3.50 (tzdata v2016e) - 14-Jun-2016
|
172
|
-
--------------------------------------------
|
329
|
+
## Version 0.3.50 (tzdata v2016e) - 14-Jun-2016
|
173
330
|
|
174
331
|
* Updated to tzdata version 2016e
|
175
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-June/000039.html).
|
332
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-June/000039.html>).
|
176
333
|
|
177
334
|
|
178
|
-
Version 0.3.49 (tzdata v2016d) - 18-Apr-2016
|
179
|
-
--------------------------------------------
|
335
|
+
## Version 0.3.49 (tzdata v2016d) - 18-Apr-2016
|
180
336
|
|
181
337
|
* Updated to tzdata version 2016d
|
182
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-April/000038.html).
|
338
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-April/000038.html>).
|
183
339
|
|
184
340
|
|
185
|
-
Version 0.3.48 (tzdata v2016c) - 23-Mar-2016
|
186
|
-
--------------------------------------------
|
341
|
+
## Version 0.3.48 (tzdata v2016c) - 23-Mar-2016
|
187
342
|
|
188
343
|
* Updated to tzdata version 2016c
|
189
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-March/000037.html).
|
344
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-March/000037.html>).
|
190
345
|
|
191
346
|
|
192
|
-
Version 0.3.47 (tzdata v2016b) - 15-Mar-2016
|
193
|
-
--------------------------------------------
|
347
|
+
## Version 0.3.47 (tzdata v2016b) - 15-Mar-2016
|
194
348
|
|
195
349
|
* Updated to tzdata version 2016b
|
196
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-March/000036.html).
|
350
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-March/000036.html>).
|
197
351
|
|
198
352
|
|
199
|
-
Version 0.3.46 (tzdata v2015g) - 2-Dec-2015
|
200
|
-
-------------------------------------------
|
353
|
+
## Version 0.3.46 (tzdata v2015g) - 2-Dec-2015
|
201
354
|
|
202
355
|
* From version 2015e, the IANA time zone database uses non-ASCII characters in
|
203
356
|
country names. Backport the encoding handling from TZInfo::Data to allow
|
@@ -205,425 +358,382 @@ Version 0.3.46 (tzdata v2015g) - 2-Dec-2015
|
|
205
358
|
byte sequence error when loading the countries index). Resolves #41.
|
206
359
|
|
207
360
|
|
208
|
-
Version 0.3.45 (tzdata v2015g) - 3-Oct-2015
|
209
|
-
-------------------------------------------
|
361
|
+
## Version 0.3.45 (tzdata v2015g) - 3-Oct-2015
|
210
362
|
|
211
363
|
* Updated to tzdata version 2015g
|
212
|
-
(https://mm.icann.org/pipermail/tz-announce/2015-October/000034.html).
|
364
|
+
(<https://mm.icann.org/pipermail/tz-announce/2015-October/000034.html>).
|
213
365
|
|
214
366
|
|
215
|
-
Version 0.3.44 (tzdata v2015d) - 24-Apr-2015
|
216
|
-
--------------------------------------------
|
367
|
+
## Version 0.3.44 (tzdata v2015d) - 24-Apr-2015
|
217
368
|
|
218
369
|
* Updated to tzdata version 2015d
|
219
|
-
(https://mm.icann.org/pipermail/tz-announce/2015-April/000031.html).
|
370
|
+
(<https://mm.icann.org/pipermail/tz-announce/2015-April/000031.html>).
|
220
371
|
|
221
372
|
|
222
|
-
Version 0.3.43 (tzdata v2015a) - 31-Jan-2015
|
223
|
-
--------------------------------------------
|
373
|
+
## Version 0.3.43 (tzdata v2015a) - 31-Jan-2015
|
224
374
|
|
225
375
|
* Updated to tzdata version 2015a
|
226
|
-
(https://mm.icann.org/pipermail/tz-announce/2015-January/000028.html).
|
376
|
+
(<https://mm.icann.org/pipermail/tz-announce/2015-January/000028.html>).
|
227
377
|
|
228
378
|
|
229
|
-
Version 0.3.42 (tzdata v2014i) - 23-Oct-2014
|
230
|
-
--------------------------------------------
|
379
|
+
## Version 0.3.42 (tzdata v2014i) - 23-Oct-2014
|
231
380
|
|
232
381
|
* Updated to tzdata version 2014i
|
233
|
-
(https://mm.icann.org/pipermail/tz-announce/2014-October/000026.html).
|
382
|
+
(<https://mm.icann.org/pipermail/tz-announce/2014-October/000026.html>).
|
234
383
|
|
235
384
|
|
236
|
-
Version 0.3.41 (tzdata v2014f) - 8-Aug-2014
|
237
|
-
-------------------------------------------
|
385
|
+
## Version 0.3.41 (tzdata v2014f) - 8-Aug-2014
|
238
386
|
|
239
387
|
* Updated to tzdata version 2014f
|
240
|
-
(https://mm.icann.org/pipermail/tz-announce/2014-August/000023.html).
|
388
|
+
(<https://mm.icann.org/pipermail/tz-announce/2014-August/000023.html>).
|
241
389
|
|
242
390
|
|
243
|
-
Version 0.3.40 (tzdata v2014e) - 10-Jul-2014
|
244
|
-
--------------------------------------------
|
391
|
+
## Version 0.3.40 (tzdata v2014e) - 10-Jul-2014
|
245
392
|
|
246
393
|
* Updated to tzdata version 2014e
|
247
|
-
(https://mm.icann.org/pipermail/tz-announce/2014-June/000022.html).
|
394
|
+
(<https://mm.icann.org/pipermail/tz-announce/2014-June/000022.html>).
|
248
395
|
|
249
396
|
|
250
|
-
Version 0.3.39 (tzdata v2014a) - 9-Mar-2014
|
251
|
-
-------------------------------------------
|
397
|
+
## Version 0.3.39 (tzdata v2014a) - 9-Mar-2014
|
252
398
|
|
253
399
|
* Updated to tzdata version 2014a
|
254
|
-
(https://mm.icann.org/pipermail/tz-announce/2014-March/000018.html).
|
400
|
+
(<https://mm.icann.org/pipermail/tz-announce/2014-March/000018.html>).
|
255
401
|
|
256
402
|
|
257
|
-
Version 0.3.38 (tzdata v2013g) - 8-Oct-2013
|
258
|
-
-------------------------------------------
|
403
|
+
## Version 0.3.38 (tzdata v2013g) - 8-Oct-2013
|
259
404
|
|
260
405
|
* Updated to tzdata version 2013g
|
261
|
-
(https://mm.icann.org/pipermail/tz-announce/2013-October/000015.html).
|
406
|
+
(<https://mm.icann.org/pipermail/tz-announce/2013-October/000015.html>).
|
262
407
|
|
263
408
|
|
264
|
-
Version 0.3.37 (tzdata v2013b) - 11-Mar-2013
|
265
|
-
--------------------------------------------
|
409
|
+
## Version 0.3.37 (tzdata v2013b) - 11-Mar-2013
|
266
410
|
|
267
411
|
* Updated to tzdata version 2013b
|
268
|
-
(https://mm.icann.org/pipermail/tz-announce/2013-March/000010.html).
|
412
|
+
(<https://mm.icann.org/pipermail/tz-announce/2013-March/000010.html>).
|
269
413
|
|
270
414
|
|
271
|
-
Version 0.3.36 (tzdata v2013a) - 3-Mar-2013
|
272
|
-
-------------------------------------------
|
415
|
+
## Version 0.3.36 (tzdata v2013a) - 3-Mar-2013
|
273
416
|
|
274
417
|
* Updated to tzdata version 2013a
|
275
|
-
(https://mm.icann.org/pipermail/tz-announce/2013-March/000009.html).
|
276
|
-
* Fix TimezoneTransitionInfo#eql
|
418
|
+
(<https://mm.icann.org/pipermail/tz-announce/2013-March/000009.html>).
|
419
|
+
* Fix `TimezoneTransitionInfo#eql?` incorrectly returning false when running on
|
277
420
|
Ruby 2.0.
|
278
|
-
* Change eql
|
279
|
-
instead of checking individual properties with
|
421
|
+
* Change `eql?` and `==` implementations to test the class of the passed in
|
422
|
+
object instead of checking individual properties with `respond_to?`.
|
280
423
|
|
281
424
|
|
282
|
-
Version 0.3.35 (tzdata v2012i) - 4-Nov-2012
|
283
|
-
-------------------------------------------
|
425
|
+
## Version 0.3.35 (tzdata v2012i) - 4-Nov-2012
|
284
426
|
|
285
427
|
* Updated to tzdata version 2012i
|
286
|
-
(https://mm.icann.org/pipermail/tz-announce/2012-November/000007.html).
|
428
|
+
(<https://mm.icann.org/pipermail/tz-announce/2012-November/000007.html>).
|
287
429
|
|
288
430
|
|
289
|
-
Version 0.3.34 (tzdata v2012h) - 27-Oct-2012
|
290
|
-
--------------------------------------------
|
431
|
+
## Version 0.3.34 (tzdata v2012h) - 27-Oct-2012
|
291
432
|
|
292
433
|
* Updated to tzdata version 2012h
|
293
|
-
(https://mm.icann.org/pipermail/tz-announce/2012-October/000006.html).
|
434
|
+
(<https://mm.icann.org/pipermail/tz-announce/2012-October/000006.html>).
|
294
435
|
|
295
436
|
|
296
|
-
Version 0.3.33 (tzdata v2012c) - 8-Apr-2012
|
297
|
-
-------------------------------------------
|
437
|
+
## Version 0.3.33 (tzdata v2012c) - 8-Apr-2012
|
298
438
|
|
299
439
|
* Updated to tzdata version 2012c
|
300
|
-
(https://mm.icann.org/pipermail/tz/2012-April/017627.html).
|
440
|
+
(<https://mm.icann.org/pipermail/tz/2012-April/017627.html>).
|
301
441
|
|
302
442
|
|
303
|
-
Version 0.3.32 (tzdata v2012b) - 4-Mar-2012
|
304
|
-
-------------------------------------------
|
443
|
+
## Version 0.3.32 (tzdata v2012b) - 4-Mar-2012
|
305
444
|
|
306
445
|
* Updated to tzdata version 2012b
|
307
|
-
(https://mm.icann.org/pipermail/tz/2012-March/017524.html).
|
446
|
+
(<https://mm.icann.org/pipermail/tz/2012-March/017524.html>).
|
308
447
|
|
309
448
|
|
310
|
-
Version 0.3.31 (tzdata v2011n) - 6-Nov-2011
|
311
|
-
-------------------------------------------
|
449
|
+
## Version 0.3.31 (tzdata v2011n) - 6-Nov-2011
|
312
450
|
|
313
451
|
* Updated to tzdata version 2011n
|
314
|
-
(https://mm.icann.org/pipermail/tz/2011-October/017201.html).
|
452
|
+
(<https://mm.icann.org/pipermail/tz/2011-October/017201.html>).
|
315
453
|
|
316
454
|
|
317
|
-
Version 0.3.30 (tzdata v2011k) - 29-Sep-2011
|
318
|
-
--------------------------------------------
|
455
|
+
## Version 0.3.30 (tzdata v2011k) - 29-Sep-2011
|
319
456
|
|
320
457
|
* Updated to tzdata version 2011k
|
321
|
-
(https://mm.icann.org/pipermail/tz/2011-September/008889.html).
|
458
|
+
(<https://mm.icann.org/pipermail/tz/2011-September/008889.html>).
|
322
459
|
|
323
460
|
|
324
|
-
Version 0.3.29 (tzdata v2011h) - 27-Jun-2011
|
325
|
-
--------------------------------------------
|
461
|
+
## Version 0.3.29 (tzdata v2011h) - 27-Jun-2011
|
326
462
|
|
327
463
|
* Updated to tzdata version 2011h
|
328
|
-
(https://mm.icann.org/pipermail/tz/2011-June/008576.html).
|
329
|
-
* Allow the default value of the local_to_utc and period_for_local dst
|
330
|
-
parameter to be specified globally with a Timezone.default_dst attribute.
|
464
|
+
(<https://mm.icann.org/pipermail/tz/2011-June/008576.html>).
|
465
|
+
* Allow the default value of the `local_to_utc` and `period_for_local` `dst`
|
466
|
+
parameter to be specified globally with a `Timezone.default_dst` attribute.
|
331
467
|
Thanks to Kurt Werle for the suggestion and patch.
|
332
468
|
|
333
469
|
|
334
|
-
Version 0.3.28 (tzdata v2011g) - 13-Jun-2011
|
335
|
-
---------------------------------------------
|
470
|
+
## Version 0.3.28 (tzdata v2011g) - 13-Jun-2011
|
336
471
|
|
337
|
-
* Add support for Ruby 1.9.3 (trunk revision 31668 and later). Thanks to
|
472
|
+
* Add support for Ruby 1.9.3 (trunk revision 31668 and later). Thanks to
|
338
473
|
Aaron Patterson for reporting the problems running on the new version.
|
339
474
|
Closes #29233.
|
340
475
|
|
341
476
|
|
342
|
-
Version 0.3.27 (tzdata v2011g) - 26-Apr-2011
|
343
|
-
--------------------------------------------
|
477
|
+
## Version 0.3.27 (tzdata v2011g) - 26-Apr-2011
|
344
478
|
|
345
479
|
* Updated to tzdata version 2011g
|
346
|
-
(https://mm.icann.org/pipermail/tz/2011-April/016875.html).
|
480
|
+
(<https://mm.icann.org/pipermail/tz/2011-April/016875.html>).
|
347
481
|
|
348
482
|
|
349
|
-
Version 0.3.26 (tzdata v2011e) - 2-Apr-2011
|
350
|
-
-------------------------------------------
|
483
|
+
## Version 0.3.26 (tzdata v2011e) - 2-Apr-2011
|
351
484
|
|
352
485
|
* Updated to tzdata version 2011e
|
353
|
-
(https://mm.icann.org/pipermail/tz/2011-April/016809.html).
|
486
|
+
(<https://mm.icann.org/pipermail/tz/2011-April/016809.html>).
|
354
487
|
|
355
488
|
|
356
|
-
Version 0.3.25 (tzdata v2011d) - 14-Mar-2011
|
357
|
-
--------------------------------------------
|
489
|
+
## Version 0.3.25 (tzdata v2011d) - 14-Mar-2011
|
358
490
|
|
359
491
|
* Updated to tzdata version 2011d
|
360
|
-
(https://mm.icann.org/pipermail/tz/2011-March/016746.html).
|
492
|
+
(<https://mm.icann.org/pipermail/tz/2011-March/016746.html>).
|
361
493
|
|
362
494
|
|
363
|
-
Version 0.3.24 (tzdata v2010o) - 15-Jan-2011
|
364
|
-
--------------------------------------------
|
495
|
+
## Version 0.3.24 (tzdata v2010o) - 15-Jan-2011
|
365
496
|
|
366
497
|
* Updated to tzdata version 2010o
|
367
|
-
(https://mm.icann.org/pipermail/tz/2010-November/016517.html).
|
498
|
+
(<https://mm.icann.org/pipermail/tz/2010-November/016517.html>).
|
368
499
|
|
369
500
|
|
370
|
-
Version 0.3.23 (tzdata v2010l) - 19-Aug-2010
|
371
|
-
--------------------------------------------
|
501
|
+
## Version 0.3.23 (tzdata v2010l) - 19-Aug-2010
|
372
502
|
|
373
503
|
* Updated to tzdata version 2010l
|
374
|
-
(https://mm.icann.org/pipermail/tz/2010-August/016360.html).
|
504
|
+
(<https://mm.icann.org/pipermail/tz/2010-August/016360.html>).
|
375
505
|
|
376
506
|
|
377
|
-
Version 0.3.22 (tzdata v2010j) - 29-May-2010
|
378
|
-
--------------------------------------------
|
507
|
+
## Version 0.3.22 (tzdata v2010j) - 29-May-2010
|
379
508
|
|
380
509
|
* Corrected file permissions issue with 0.3.21 release.
|
381
510
|
|
382
511
|
|
383
|
-
Version 0.3.21 (tzdata v2010j) - 28-May-2010
|
384
|
-
--------------------------------------------
|
512
|
+
## Version 0.3.21 (tzdata v2010j) - 28-May-2010
|
385
513
|
|
386
514
|
* Updated to tzdata version 2010j
|
387
|
-
(https://mm.icann.org/pipermail/tz/2010-May/016211.html).
|
515
|
+
(<https://mm.icann.org/pipermail/tz/2010-May/016211.html>).
|
388
516
|
* Change invalid timezone check to exclude characters not used in timezone
|
389
517
|
identifiers and avoid 'character class has duplicated range' warnings with
|
390
518
|
Ruby 1.9.2.
|
391
|
-
* Ruby 1.9.2 has deprecated
|
519
|
+
* Ruby 1.9.2 has deprecated `require 'rational'`, but older versions of
|
392
520
|
Ruby need rational to be required. Require rational only when the Rational
|
393
521
|
module has not already been loaded.
|
394
522
|
* Remove circular requires (now a warning in Ruby 1.9.2). Instead of using
|
395
|
-
requires in each file for dependencies, tzinfo.rb now requires all tzinfo
|
523
|
+
requires in each file for dependencies, `tzinfo.rb` now requires all tzinfo
|
396
524
|
files. If you were previously requiring files within the tzinfo directory
|
397
|
-
(e.g. require 'tzinfo/timezone'), then you will now have to
|
398
|
-
require 'tzinfo' instead.
|
525
|
+
(e.g. `require 'tzinfo/timezone'`), then you will now have to
|
526
|
+
`require 'tzinfo'` instead.
|
399
527
|
|
400
528
|
|
401
|
-
Version 0.3.20 (tzdata v2010i) - 19-Apr-2010
|
402
|
-
--------------------------------------------
|
529
|
+
## Version 0.3.20 (tzdata v2010i) - 19-Apr-2010
|
403
530
|
|
404
531
|
* Updated to tzdata version 2010i
|
405
|
-
(https://mm.icann.org/pipermail/tz/2010-April/016184.html).
|
532
|
+
(<https://mm.icann.org/pipermail/tz/2010-April/016184.html>).
|
406
533
|
|
407
534
|
|
408
|
-
Version 0.3.19 (tzdata v2010h) - 5-Apr-2010
|
409
|
-
-------------------------------------------
|
535
|
+
## Version 0.3.19 (tzdata v2010h) - 5-Apr-2010
|
410
536
|
|
411
537
|
* Updated to tzdata version 2010h
|
412
|
-
(https://mm.icann.org/pipermail/tz/2010-April/016161.html).
|
538
|
+
(<https://mm.icann.org/pipermail/tz/2010-April/016161.html>).
|
413
539
|
|
414
540
|
|
415
|
-
Version 0.3.18 (tzdata v2010g) - 29-Mar-2010
|
416
|
-
--------------------------------------------
|
541
|
+
## Version 0.3.18 (tzdata v2010g) - 29-Mar-2010
|
417
542
|
|
418
543
|
* Updated to tzdata version 2010g
|
419
|
-
(https://mm.icann.org/pipermail/tz/2010-March/016140.html).
|
544
|
+
(<https://mm.icann.org/pipermail/tz/2010-March/016140.html>).
|
420
545
|
|
421
546
|
|
422
|
-
Version 0.3.17 (tzdata v2010e) - 8-Mar-2010
|
423
|
-
-------------------------------------------
|
547
|
+
## Version 0.3.17 (tzdata v2010e) - 8-Mar-2010
|
424
548
|
|
425
549
|
* Updated to tzdata version 2010e
|
426
|
-
(https://mm.icann.org/pipermail/tz/2010-March/016088.html).
|
550
|
+
(<https://mm.icann.org/pipermail/tz/2010-March/016088.html>).
|
427
551
|
|
428
552
|
|
429
|
-
Version 0.3.16 (tzdata v2009u) - 5-Jan-2010
|
430
|
-
-------------------------------------------
|
553
|
+
## Version 0.3.16 (tzdata v2009u) - 5-Jan-2010
|
431
554
|
|
432
555
|
* Support the use of '-' to denote '0' as an offset in the tz data files.
|
433
556
|
Used for the first time in the SAVE field in tzdata v2009u.
|
434
557
|
* Updated to tzdata version 2009u
|
435
|
-
(https://mm.icann.org/pipermail/tz/2009-December/016001.html).
|
558
|
+
(<https://mm.icann.org/pipermail/tz/2009-December/016001.html>).
|
436
559
|
|
437
560
|
|
438
|
-
Version 0.3.15 (tzdata v2009p) - 26-Oct-2009
|
439
|
-
--------------------------------------------
|
561
|
+
## Version 0.3.15 (tzdata v2009p) - 26-Oct-2009
|
440
562
|
|
441
563
|
* Updated to tzdata version 2009p
|
442
|
-
(https://mm.icann.org/pipermail/tz/2009-October/015889.html).
|
564
|
+
(<https://mm.icann.org/pipermail/tz/2009-October/015889.html>).
|
443
565
|
* Added a description to the gem spec.
|
444
566
|
* List test files in test_files instead of files in the gem spec.
|
445
567
|
|
446
568
|
|
447
|
-
Version 0.3.14 (tzdata v2009l) - 19-Aug-2009
|
448
|
-
--------------------------------------------
|
569
|
+
## Version 0.3.14 (tzdata v2009l) - 19-Aug-2009
|
449
570
|
|
450
571
|
* Updated to tzdata version 2009l
|
451
|
-
(https://mm.icann.org/pipermail/tz/2009-August/015729.html).
|
572
|
+
(<https://mm.icann.org/pipermail/tz/2009-August/015729.html>).
|
452
573
|
* Include current directory in load path to allow running tests on
|
453
574
|
Ruby 1.9.2, which doesn't include it by default any more.
|
454
575
|
|
455
576
|
|
456
|
-
Version 0.3.13 (tzdata v2009f) - 15-Apr-2009
|
457
|
-
--------------------------------------------
|
577
|
+
## Version 0.3.13 (tzdata v2009f) - 15-Apr-2009
|
458
578
|
|
459
579
|
* Updated to tzdata version 2009f
|
460
|
-
(https://mm.icann.org/pipermail/tz/2009-April/015544.html).
|
580
|
+
(<https://mm.icann.org/pipermail/tz/2009-April/015544.html>).
|
461
581
|
* Untaint the timezone module filename after validation to allow use
|
462
|
-
with
|
582
|
+
with `$SAFE == 1` (e.g. under mod_ruby). Thanks to Dmitry Borodaenko for
|
463
583
|
the suggestion. Closes #25349.
|
464
584
|
|
465
585
|
|
466
|
-
Version 0.3.12 (tzdata v2008i) - 12-Nov-2008
|
467
|
-
--------------------------------------------
|
586
|
+
## Version 0.3.12 (tzdata v2008i) - 12-Nov-2008
|
468
587
|
|
469
588
|
* Updated to tzdata version 2008i
|
470
|
-
(https://mm.icann.org/pipermail/tz/2008-October/015260.html).
|
589
|
+
(<https://mm.icann.org/pipermail/tz/2008-October/015260.html>).
|
471
590
|
|
472
591
|
|
473
|
-
Version 0.3.11 (tzdata v2008g) - 7-Oct-2008
|
474
|
-
-------------------------------------------
|
592
|
+
## Version 0.3.11 (tzdata v2008g) - 7-Oct-2008
|
475
593
|
|
476
594
|
* Updated to tzdata version 2008g
|
477
|
-
(https://mm.icann.org/pipermail/tz/2008-October/015139.html).
|
478
|
-
* Support Ruby 1.9.0-5. Rational.new
|
479
|
-
Only use Rational.new
|
595
|
+
(<https://mm.icann.org/pipermail/tz/2008-October/015139.html>).
|
596
|
+
* Support Ruby 1.9.0-5. `Rational.new!` has now been removed in Ruby 1.9.
|
597
|
+
Only use `Rational.new!` if it is available (it is preferable in Ruby 1.8
|
480
598
|
for performance reasons). Thanks to Jeremy Kemper and Pratik Naik for
|
481
599
|
reporting this. Closes #22312.
|
482
600
|
* Apply a patch from Pratik Naik to replace assert calls that have been
|
483
601
|
deprecated in the Ruby svn trunk. Closes #22308.
|
484
602
|
|
485
603
|
|
486
|
-
Version 0.3.10 (tzdata v2008f) - 16-Sep-2008
|
487
|
-
--------------------------------------------
|
604
|
+
## Version 0.3.10 (tzdata v2008f) - 16-Sep-2008
|
488
605
|
|
489
606
|
* Updated to tzdata version 2008f
|
490
|
-
(https://mm.icann.org/pipermail/tz/2008-September/015090.html).
|
607
|
+
(<https://mm.icann.org/pipermail/tz/2008-September/015090.html>).
|
491
608
|
|
492
609
|
|
493
|
-
Version 0.3.9 (tzdata v2008c) - 27-May-2008
|
494
|
-
-------------------------------------------
|
610
|
+
## Version 0.3.9 (tzdata v2008c) - 27-May-2008
|
495
611
|
|
496
612
|
* Updated to tzdata version 2008c
|
497
|
-
(https://mm.icann.org/pipermail/tz/2008-May/014956.html).
|
613
|
+
(<https://mm.icann.org/pipermail/tz/2008-May/014956.html>).
|
498
614
|
* Support loading timezone data in the latest trunk versions of Ruby 1.9.
|
499
|
-
Rational.new
|
500
|
-
Thanks to Jeremy Kemper and Pratik Naik for spotting this. Closes
|
615
|
+
`Rational.new!` is now private, so call it using `Rational.send :new!`
|
616
|
+
instead. Thanks to Jeremy Kemper and Pratik Naik for spotting this. Closes
|
617
|
+
#19184.
|
501
618
|
* Prevent warnings from being output when running Ruby with the -v or -w
|
502
619
|
command line options. Thanks to Paul McMahon for the patch. Closes #19719.
|
503
620
|
|
504
621
|
|
505
|
-
Version 0.3.8 (tzdata v2008b) - 24-Mar-2008
|
506
|
-
-------------------------------------------
|
622
|
+
## Version 0.3.8 (tzdata v2008b) - 24-Mar-2008
|
507
623
|
|
508
624
|
* Updated to tzdata version 2008b
|
509
|
-
(https://mm.icann.org/pipermail/tz/2008-March/014910.html).
|
510
|
-
* Support loading timezone data in Ruby 1.9.0. Use DateTime.new
|
511
|
-
available instead of DateTime.new0 when constructing transition times.
|
512
|
-
DateTime.new
|
625
|
+
(<https://mm.icann.org/pipermail/tz/2008-March/014910.html>).
|
626
|
+
* Support loading timezone data in Ruby 1.9.0. Use `DateTime.new!` if it is
|
627
|
+
available instead of `DateTime.new0` when constructing transition times.
|
628
|
+
`DateTime.new!` was added in Ruby 1.8.6. `DateTime.new0` was removed in
|
513
629
|
Ruby 1.9.0. Thanks to Joshua Peek for reporting this. Closes #17606.
|
514
630
|
* Modify some of the equality test cases to cope with the differences
|
515
631
|
between Ruby 1.8.6 and Ruby 1.9.0.
|
516
632
|
|
517
633
|
|
518
|
-
Version 0.3.7 (tzdata v2008a) - 10-Mar-2008
|
519
|
-
-------------------------------------------
|
634
|
+
## Version 0.3.7 (tzdata v2008a) - 10-Mar-2008
|
520
635
|
|
521
636
|
* Updated to tzdata version 2008a
|
522
|
-
(https://mm.icann.org/pipermail/tz/2008-March/014851.html).
|
637
|
+
(<https://mm.icann.org/pipermail/tz/2008-March/014851.html>).
|
523
638
|
|
524
639
|
|
525
|
-
Version 0.3.6 (tzdata v2007k) - 1-Jan-2008
|
526
|
-
------------------------------------------
|
640
|
+
## Version 0.3.6 (tzdata v2007k) - 1-Jan-2008
|
527
641
|
|
528
642
|
* Updated to tzdata version 2007k
|
529
|
-
(https://mm.icann.org/pipermail/tz/2007-December/014765.html).
|
643
|
+
(<https://mm.icann.org/pipermail/tz/2007-December/014765.html>).
|
530
644
|
* Removed deprecated RubyGems autorequire option.
|
531
645
|
|
532
646
|
|
533
|
-
Version 0.3.5 (tzdata v2007h) - 1-Oct-2007
|
534
|
-
------------------------------------------
|
647
|
+
## Version 0.3.5 (tzdata v2007h) - 1-Oct-2007
|
535
648
|
|
536
649
|
* Updated to tzdata version 2007h
|
537
|
-
(https://mm.icann.org/pipermail/tz/2007-October/014585.html).
|
650
|
+
(<https://mm.icann.org/pipermail/tz/2007-October/014585.html>).
|
538
651
|
|
539
652
|
|
540
|
-
Version 0.3.4 (tzdata v2007g) - 21-Aug-2007
|
541
|
-
-------------------------------------------
|
653
|
+
## Version 0.3.4 (tzdata v2007g) - 21-Aug-2007
|
542
654
|
|
543
655
|
* Updated to tzdata version 2007g
|
544
|
-
(https://mm.icann.org/pipermail/tz/2007-August/014499.html).
|
656
|
+
(<https://mm.icann.org/pipermail/tz/2007-August/014499.html>).
|
545
657
|
|
546
658
|
|
547
|
-
Version 0.3.3 (tzdata v2006p) - 27-Nov-2006
|
548
|
-
-------------------------------------------
|
659
|
+
## Version 0.3.3 (tzdata v2006p) - 27-Nov-2006
|
549
660
|
|
550
661
|
* Updated to tzdata version 2006p
|
551
|
-
(https://mm.icann.org/pipermail/tz/2006-November/013999.html).
|
662
|
+
(<https://mm.icann.org/pipermail/tz/2006-November/013999.html>).
|
552
663
|
|
553
664
|
|
554
|
-
Version 0.3.2 (tzdata v2006n) - 11-Oct-2006
|
555
|
-
-------------------------------------------
|
665
|
+
## Version 0.3.2 (tzdata v2006n) - 11-Oct-2006
|
556
666
|
|
557
667
|
* Updated to tzdata version 2006n
|
558
|
-
(https://mm.icann.org/pipermail/tz/2006-October/013911.html). Note that this
|
559
|
-
tzdata removes the country Serbia and Montenegro (CS) and replaces
|
560
|
-
separate Serbia (RS) and Montenegro (ME) entries.
|
668
|
+
(<https://mm.icann.org/pipermail/tz/2006-October/013911.html>). Note that this
|
669
|
+
release of tzdata removes the country Serbia and Montenegro (CS) and replaces
|
670
|
+
it with separate Serbia (RS) and Montenegro (ME) entries.
|
561
671
|
|
562
672
|
|
563
|
-
Version 0.3.1 (tzdata v2006j) - 21-Aug-2006
|
564
|
-
-------------------------------------------
|
673
|
+
## Version 0.3.1 (tzdata v2006j) - 21-Aug-2006
|
565
674
|
|
566
675
|
* Remove colon from case statements to avoid warning in Ruby 1.8.5. #5198.
|
567
676
|
* Use temporary variable to avoid dynamic string warning from rdoc.
|
568
677
|
* Updated to tzdata version 2006j
|
569
|
-
(https://mm.icann.org/pipermail/tz/2006-August/013767.html).
|
678
|
+
(<https://mm.icann.org/pipermail/tz/2006-August/013767.html>).
|
570
679
|
|
571
680
|
|
572
|
-
Version 0.3.0 (tzdata v2006g) - 17-Jul-2006
|
573
|
-
-------------------------------------------
|
681
|
+
## Version 0.3.0 (tzdata v2006g) - 17-Jul-2006
|
574
682
|
|
575
683
|
* New timezone data format. Timezone data now occupies less space on disk and
|
576
684
|
takes less memory once loaded. #4142, #4144.
|
577
|
-
* Timezone data is defined in modules rather than classes. Timezone instances
|
578
|
-
returned by Timezone.get are no longer instances of data classes, but are
|
579
|
-
instead instances of new DataTimezone and LinkedTimezone classes.
|
580
|
-
* Timezone instances can now be used with Marshal.dump and Marshal.load
|
581
|
-
|
582
|
-
|
685
|
+
* Timezone data is defined in modules rather than classes. `Timezone` instances
|
686
|
+
returned by `Timezone.get` are no longer instances of data classes, but are
|
687
|
+
instead instances of new `DataTimezone` and `LinkedTimezone` classes.
|
688
|
+
* `Timezone` instances can now be used with `Marshal.dump` and `Marshal.load`.
|
689
|
+
#4240.
|
690
|
+
* Added a `Timezone.get_proxy` method that returns a `TimezoneProxy` object for
|
691
|
+
a given identifier.
|
583
692
|
* Country index data is now defined in a single module that is independent
|
584
|
-
of the Country class implementation.
|
585
|
-
* Country instances can now be used with Marshal.dump and Marshal.load
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
693
|
+
of the `Country` class implementation.
|
694
|
+
* `Country` instances can now be used with `Marshal.dump` and `Marshal.load`.
|
695
|
+
#4240.
|
696
|
+
* `Country` has a new `zone_info` method that returns `CountryTimezone` objects
|
697
|
+
containing additional information (latitude, longitude and a description)
|
698
|
+
relating to each `Timezone`. #4140.
|
699
|
+
* Time zones within a `Country` are now returned in an order that makes
|
590
700
|
geographic sense.
|
591
701
|
* The zdumptest utility now checks local to utc conversions in addition to
|
592
702
|
utc to local conversions.
|
593
|
-
* eql
|
594
|
-
* The
|
595
|
-
with no identifier method.
|
596
|
-
* The
|
597
|
-
with no code method.
|
598
|
-
* hash method defined on Country that returns the hash of the code.
|
599
|
-
* hash method defined on Timezone that returns the hash of the identifier.
|
703
|
+
* `eql?` method defined on `Country` and `Timezone` that is equivalent to `==`.
|
704
|
+
* The `==` method of `Timezone` no longer raises an exception when passed an
|
705
|
+
object with no identifier method.
|
706
|
+
* The `==` method of `Country` no longer raises an exception when passed an
|
707
|
+
object with no code method.
|
708
|
+
* `hash` method defined on `Country` that returns the hash of the code.
|
709
|
+
* `hash` method defined on `Timezone` that returns the hash of the identifier.
|
600
710
|
* Miscellaneous API documentation corrections and improvements.
|
601
711
|
* Timezone definition and indexes are now excluded from rdoc (the contents were
|
602
|
-
previously ignored with
|
603
|
-
* Removed no longer needed
|
712
|
+
previously ignored with `#:nodoc:` anyway).
|
713
|
+
* Removed no longer needed `#:nodoc:` directives from timezone data files (which
|
604
714
|
are now excluded from the rdoc build).
|
605
|
-
* Installation of the gem now causes rdoc API documentation to be generated.
|
715
|
+
* Installation of the gem now causes rdoc API documentation to be generated.
|
606
716
|
#4905.
|
607
717
|
* When optimizing transitions to generate zone definitions, check the
|
608
718
|
UTC and standard offsets separately rather than just the total offset to UTC.
|
609
|
-
Fixes an incorrect abbreviation issue with Europe/London, Europe/Dublin and
|
719
|
+
Fixes an incorrect abbreviation issue with Europe/London, Europe/Dublin and
|
610
720
|
Pacific/Auckland.
|
611
|
-
* Eliminated unnecessary
|
612
|
-
* Timezone.all and Timezone.all_identifiers now return all the
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
721
|
+
* Eliminated unnecessary `.nil?` calls to give a minor performance gain.
|
722
|
+
* `Timezone.all` and `Timezone.all_identifiers` now return all the
|
723
|
+
`Timezone` instances/identifiers rather than just those associated with
|
724
|
+
countries. #4146.
|
725
|
+
* Added `all_data_zones`, `all_data_zone_identifiers`, `all_linked_zones` and
|
726
|
+
`all_linked_zone_identifiers` class methods to `Timezone`.
|
727
|
+
* Added a `strftime` method to `Timezone` that converts a time in UTC to local
|
728
|
+
time and then returns it formatted. `%Z` is replaced with the timezone
|
618
729
|
abbreviation for the given time (for example, EST or EDT). #4143.
|
619
|
-
* Fix escaping of quotes in TZDataParser
|
620
|
-
descriptions of
|
730
|
+
* Fix escaping of quotes in `TZDataParser`. This affected country names and
|
731
|
+
descriptions of time zones within countries.
|
621
732
|
|
622
733
|
|
623
|
-
Version 0.2.2 (tzdata v2006g) - 17-May-2006
|
624
|
-
-------------------------------------------
|
734
|
+
## Version 0.2.2 (tzdata v2006g) - 17-May-2006
|
625
735
|
|
626
|
-
* Use class-scoped instance variables to store the Timezone identifier and
|
736
|
+
* Use class-scoped instance variables to store the Timezone identifier and
|
627
737
|
singleton instance. Loading a linked zone no longer causes the parent
|
628
738
|
zone's identifier to be changed. The instance method of a linked zone class
|
629
739
|
also now returns an instance of the linked zone class rather than the parent
|
@@ -632,173 +742,170 @@ Version 0.2.2 (tzdata v2006g) - 17-May-2006
|
|
632
742
|
zone identifier.
|
633
743
|
* The zdumptestall utility now exits if not supplied with enough parameters.
|
634
744
|
* Updated to tzdata version 2006g
|
635
|
-
(https://mm.icann.org/pipermail/tz/2006-May/013590.html).
|
745
|
+
(<https://mm.icann.org/pipermail/tz/2006-May/013590.html>).
|
636
746
|
|
637
747
|
|
638
|
-
Version 0.2.1 (tzdata v2006d) - 17-Apr-2006
|
639
|
-
-------------------------------------------
|
748
|
+
## Version 0.2.1 (tzdata v2006d) - 17-Apr-2006
|
640
749
|
|
641
|
-
* Fix a performance issue caused in 0.2.0 with Timezone.local_to_utc
|
642
|
-
Conversions performed on TimeOrDateTime instances passed to
|
750
|
+
* Fix a performance issue caused in 0.2.0 with `Timezone.local_to_utc`.
|
751
|
+
Conversions performed on `TimeOrDateTime` instances passed to `<=>` are now
|
643
752
|
cached as originally intended. Thanks to Michael Smedberg for spotting this.
|
644
|
-
* Fix a performance issue with the local_to_utc period search algorithm
|
753
|
+
* Fix a performance issue with the `local_to_utc` period search algorithm
|
645
754
|
originally implemented in 0.1.0. The condition that was supposed to cause
|
646
755
|
the search to terminate when enough periods had been found was only being
|
647
|
-
evaluated in a small subset of cases. Thanks to Michael Smedberg and
|
756
|
+
evaluated in a small subset of cases. Thanks to Michael Smedberg and
|
648
757
|
Jamis Buck for reporting this.
|
649
|
-
* Added abbreviation as an alias for TimezonePeriod.zone_identifier
|
758
|
+
* Added abbreviation as an alias for `TimezonePeriod.zone_identifier`.
|
650
759
|
* Updated to tzdata version 2006d
|
651
|
-
(https://mm.icann.org/pipermail/tz/2006-April/013517.html).
|
652
|
-
* Ignore any offset in
|
653
|
-
All of the following now refer to the same UTC time (15:40 on 17 April 2006).
|
654
|
-
|
655
|
-
|
656
|
-
|
760
|
+
(<https://mm.icann.org/pipermail/tz/2006-April/013517.html>).
|
761
|
+
* Ignore any offset in `DateTime` instances passed in (as is already done for
|
762
|
+
`Time` instances). All of the following now refer to the same UTC time (15:40 on 17 April 2006). Previously, the `DateTime` in the second line would have been interpreted as 20:40.
|
763
|
+
|
764
|
+
```ruby
|
657
765
|
tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0))
|
658
766
|
tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0).new_offset(Rational(5, 24)))
|
659
767
|
tz.utc_to_local(Time.utc(2006, 4, 17, 15, 40, 0))
|
660
768
|
tz.utc_to_local(Time.local(2006, 4, 17, 15, 40, 0))
|
769
|
+
```
|
661
770
|
|
662
771
|
|
663
|
-
Version 0.2.0 (tzdata v2006c) - 3-Apr-2006
|
664
|
-
------------------------------------------
|
772
|
+
## Version 0.2.0 (tzdata v2006c) - 3-Apr-2006
|
665
773
|
|
666
|
-
* Use timestamps rather than DateTime objects in zone files for times between
|
667
|
-
1970 and 2037 (the range of Time).
|
668
|
-
* Don't convert passed in Time objects to DateTime in most cases (provides
|
774
|
+
* Use timestamps rather than `DateTime` objects in zone files for times between
|
775
|
+
1970 and 2037 (the range of `Time`).
|
776
|
+
* Don't convert passed in `Time` objects to `DateTime` in most cases (provides
|
669
777
|
a substantial performance improvement).
|
670
|
-
* Allow integer timestamps (time in seconds since 1970-1-1) to be used as well
|
671
|
-
as Time and DateTime objects in all public methods that take times as
|
778
|
+
* Allow integer timestamps (time in seconds since 1970-1-1) to be used as well
|
779
|
+
as `Time` and `DateTime` objects in all public methods that take times as
|
672
780
|
parameters.
|
673
781
|
* Tool to compare TZInfo conversions with output from zdump.
|
674
|
-
* TZDataParser zone generation algorithm rewritten. Now based on the zic code.
|
782
|
+
* `TZDataParser` zone generation algorithm rewritten. Now based on the zic code.
|
675
783
|
TZInfo is now 100% compatible with zic/zdump output.
|
676
784
|
* Riyadh Solar Time zones now included again (generation time has been reduced
|
677
|
-
with TZDataParser changes).
|
785
|
+
with `TZDataParser` changes).
|
678
786
|
* Use binary mode when writing zone and country files to get Unix (\n) new
|
679
787
|
lines.
|
680
788
|
* Omit unnecessary quotes in zone identifier symbols.
|
681
789
|
* Omit the final transition to DST if there is a prior transition in the last
|
682
790
|
year processed to standard time.
|
683
791
|
* Updated to tzdata version 2006c
|
684
|
-
(https://mm.icann.org/pipermail/tz/2006-April/013500.html).
|
792
|
+
(<https://mm.icann.org/pipermail/tz/2006-April/013500.html>).
|
685
793
|
|
686
794
|
|
687
|
-
Version 0.1.2 (tzdata v2006a) - 5-Feb-2006
|
688
|
-
------------------------------------------
|
795
|
+
## Version 0.1.2 (tzdata v2006a) - 5-Feb-2006
|
689
796
|
|
690
797
|
* Add lib directory to the load path when tzinfo is required. Makes it easier
|
691
|
-
to use tzinfo gem when unpacked to vendor directory in rails.
|
692
|
-
* Updated to tzdata version 2006a
|
693
|
-
(https://mm.icann.org/pipermail/tz/2006-January/013311.html).
|
694
|
-
* build_tz_classes rake task now handles running svn add and svn delete as new
|
695
|
-
|
696
|
-
* Return a better error when attempting to use a Timezone instance that was
|
697
|
-
constructed with Timezone.new(nil)
|
698
|
-
composed_of
|
699
|
-
to use the Timezone will now result in an UnknownTimezone
|
700
|
-
than a NameError
|
701
|
-
|
702
|
-
|
703
|
-
Version 0.1.1 (tzdata v2005q) - 18-Dec-2005
|
704
|
-
|
705
|
-
|
706
|
-
* Timezones that are defined by a single unbounded period (e.g. UTC) now
|
798
|
+
to use tzinfo gem when unpacked to vendor directory in rails.
|
799
|
+
* Updated to tzdata version 2006a
|
800
|
+
(<https://mm.icann.org/pipermail/tz/2006-January/013311.html>).
|
801
|
+
* `build_tz_classes` rake task now handles running svn add and svn delete as new
|
802
|
+
time zones and countries are added and old ones are removed.
|
803
|
+
* Return a better error when attempting to use a `Timezone` instance that was
|
804
|
+
constructed with `Timezone.new(nil)`. This will occur when using Rails'
|
805
|
+
`composed_of`. When the timezone identifier in the database is null,
|
806
|
+
attempting to use the `Timezone` will now result in an `UnknownTimezone`
|
807
|
+
exception rather than a `NameError`.
|
808
|
+
|
809
|
+
|
810
|
+
## Version 0.1.1 (tzdata v2005q) - 18-Dec-2005
|
811
|
+
|
812
|
+
* Time zones that are defined by a single unbounded period (e.g. UTC) now
|
707
813
|
work again.
|
708
814
|
* Updated to tzdata version 2005q.
|
709
815
|
|
710
816
|
|
711
|
-
Version 0.1.0 (tzdata v2005n) - 27-Nov-2005
|
712
|
-
-------------------------------------------
|
817
|
+
## Version 0.1.0 (tzdata v2005n) - 27-Nov-2005
|
713
818
|
|
714
|
-
* period_for_local and local_to_utc now allow resolution of ambiguous
|
715
|
-
times (e.g. when switching from daylight savings to standard time).
|
819
|
+
* `period_for_local` and `local_to_utc` now allow resolution of ambiguous
|
820
|
+
times (e.g. when switching from daylight savings to standard time).
|
716
821
|
The behaviour of these methods when faced with an ambiguous local time
|
717
822
|
has now changed. If you are using these methods you should check
|
718
823
|
the documentation. Thanks to Cliff Matthews for suggesting this change.
|
719
|
-
* Added require 'date' to timezone.rb (date isn't loaded by default in all
|
824
|
+
* Added `require 'date'` to `timezone.rb` (date isn't loaded by default in all
|
720
825
|
environments).
|
721
826
|
* Use rake to build packages and documentation.
|
722
827
|
* License file is now included in gem distribution.
|
723
828
|
* Dates in definitions stored as Astronomical Julian Day numbers rather than
|
724
|
-
as civil dates (improves performance creating DateTime instances).
|
725
|
-
* Added options to TZDataParser to allow generation of specific zones and
|
829
|
+
as civil dates (improves performance creating `DateTime` instances).
|
830
|
+
* Added options to `TZDataParser` to allow generation of specific zones and
|
726
831
|
countries.
|
727
|
-
* Moved TimezonePeriod class to timezone_period.rb
|
728
|
-
* New TimezonePeriodList class to store
|
729
|
-
perform searches for periods.
|
730
|
-
*
|
731
|
-
when they are needed. Thanks to Jamis Buck for the suggestion.
|
732
|
-
* Add options to TZDataParser to allow exclusion of specific zones and
|
832
|
+
* Moved `TimezonePeriod` class to `timezone_period.rb`.
|
833
|
+
* New `TimezonePeriodList` class to store `TimezonePeriod` instances for a
|
834
|
+
timezone and perform searches for periods.
|
835
|
+
* Time zones are now defined using blocks. `TimezonePeriod` instances are only
|
836
|
+
created when they are needed. Thanks to Jamis Buck for the suggestion.
|
837
|
+
* Add options to `TZDataParser` to allow exclusion of specific zones and
|
733
838
|
countries.
|
734
839
|
* Exclude the Riyadh Solar Time zones. The rules are only for 1987 to 1989 and
|
735
840
|
take a long time to generate and process. Riyadh Solar Time is no longer
|
736
841
|
observed.
|
737
|
-
* The last TimezonePeriod for each Timezone is now written out with an
|
842
|
+
* The last `TimezonePeriod` for each `Timezone` is now written out with an
|
738
843
|
unbounded rather than arbitrary end time.
|
739
|
-
* Construct the Rational offset in TimezonePeriod once when the
|
740
|
-
is constructed rather than each time it is needed.
|
741
|
-
* Timezone and Country now keep a cache of loaded instances to avoid running
|
742
|
-
require which can be slow on some platforms.
|
844
|
+
* Construct the `Rational` offset in `TimezonePeriod` once when the
|
845
|
+
`TimezonePeriod` is constructed rather than each time it is needed.
|
846
|
+
* `Timezone` and `Country` now keep a cache of loaded instances to avoid running
|
847
|
+
`require` which can be slow on some platforms.
|
743
848
|
* Updated to tzdata version 2005n.
|
744
849
|
|
745
850
|
|
746
|
-
Version 0.0.4 (tzdata v2005m) - 18-Sep-2005
|
747
|
-
-------------------------------------------
|
851
|
+
## Version 0.0.4 (tzdata v2005m) - 18-Sep-2005
|
748
852
|
|
749
853
|
* Removed debug output accidentally included in the previous release.
|
750
854
|
* Fixed a bug in the generation of friendly zone identifiers (was inserting
|
751
855
|
apostrophes into UTC, GMT, etc).
|
752
|
-
* Fixed Country
|
753
|
-
* Fixed Timezone.period_for_local error when period not found.
|
754
|
-
* Added
|
755
|
-
some selected
|
756
|
-
|
757
|
-
|
758
|
-
Version 0.0.3 (tzdata v2005m) - 17-Sep-2005
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
* Added name method to Timezone (returns the identifier).
|
763
|
-
* Added friendly_identifier method to Timezone
|
764
|
-
of the identifier.
|
765
|
-
* Added to_s method to Timezone
|
766
|
-
* Added
|
767
|
-
* Timezone now includes Comparable
|
768
|
-
* Added to_s method to Country
|
769
|
-
* Added
|
770
|
-
* Country now includes Comparable
|
771
|
-
* New TimezoneProxy class that behaves the same as a Timezone but doesn't
|
856
|
+
* Fixed `Country` `<=>` operator (was comparing non-existent attribute)
|
857
|
+
* Fixed `Timezone.period_for_local` error when period not found.
|
858
|
+
* Added test cases for `Timezone`, `TimezoneProxy`, `TimezonePeriod`, `Country`
|
859
|
+
and some selected time zones.
|
860
|
+
|
861
|
+
|
862
|
+
## Version 0.0.3 (tzdata v2005m) - 17-Sep-2005
|
863
|
+
|
864
|
+
* Reduced visibility of some methods added in `Timezone#setup` and
|
865
|
+
`Country#setup`.
|
866
|
+
* Added `name` method to `Timezone` (returns the identifier).
|
867
|
+
* Added `friendly_identifier` method to `Timezone`. Returns a more friendly
|
868
|
+
version of the identifier.
|
869
|
+
* Added `to_s` method to `Timezone`. Returns the friendly identifier.
|
870
|
+
* Added `==` and `<=>` operators to `Timezone` (compares identifiers).
|
871
|
+
* `Timezone` now includes `Comparable`.
|
872
|
+
* Added `to_s` method to `Country`.
|
873
|
+
* Added `==` and `<=>` operators to `Country` (compares ISO 3166 country codes).
|
874
|
+
* `Country` now includes `Comparable`.
|
875
|
+
* New `TimezoneProxy` class that behaves the same as a `Timezone` but doesn't
|
772
876
|
actually load in its definition until it is actually required.
|
773
|
-
* Modified Timezone and Country methods that return
|
774
|
-
TimezoneProxy instances instead. This makes these methods much
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
877
|
+
* Modified `Timezone` and `Country` methods that return `Timezone` instances to
|
878
|
+
return `TimezoneProxy` instances instead. This makes these methods much
|
879
|
+
quicker.
|
880
|
+
|
881
|
+
In Ruby on Rails, you can now show a drop-down list of all time zones using the
|
882
|
+
Rails `time_zone_select` helper method:
|
883
|
+
|
884
|
+
```ruby
|
885
|
+
<%= time_zone_select 'user', 'time_zone', TZInfo::Timezone.all.sort, :model => TZInfo::Timezone %>
|
886
|
+
```
|
887
|
+
|
888
|
+
|
889
|
+
## Version 0.0.2 (tzdata v2005m) - 13-Sep-2005
|
890
|
+
|
891
|
+
* `Country` and `Timezone` data is now loaded into class rather than instance
|
892
|
+
variables. This makes `Timezone` links more efficient and saves memory if
|
893
|
+
creating specific `Timezone` and `Country` classes directly.
|
894
|
+
* `TimezonePeriod` `zone_identifier` is now defined as a symbol to save memory
|
789
895
|
(was previously a string).
|
790
|
-
* TimezonePeriod
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
896
|
+
* `TimezonePeriod` `zone_identifier`s that were previously `''` are now
|
897
|
+
`:Unknown`.
|
898
|
+
* `Timezone` and `Country` instances can now be returned using
|
899
|
+
`Timezone.new(identifier)` and `Country.new(identifier)`. When passed an
|
900
|
+
identifier, the `new` method calls `get` to return an instance of the
|
901
|
+
specified timezone or country.
|
902
|
+
* Added new class methods to `Timezone` to return sets of zones and identifiers.
|
795
903
|
|
796
904
|
Thanks to Scott Barron of Lunchbox Software for the suggestions in his
|
797
|
-
article about using TZInfo with Rails
|
798
|
-
(https://web.archive.org/web/20060425190845/http://lunchroom.lunchboxsoftware.com/pages/tzinfo_rails)
|
905
|
+
article about using TZInfo with Rails
|
906
|
+
(<https://web.archive.org/web/20060425190845/http://lunchroom.lunchboxsoftware.com/pages/tzinfo_rails>)
|
799
907
|
|
800
908
|
|
801
|
-
Version 0.0.1 (tzdata v2005m) - 29-Aug-2005
|
802
|
-
-------------------------------------------
|
909
|
+
## Version 0.0.1 (tzdata v2005m) - 29-Aug-2005
|
803
910
|
|
804
911
|
* First release.
|