tzinfo 1.2.6 → 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 +1 -1
- data/.yardopts +3 -0
- data/CHANGES.md +494 -380
- data/LICENSE +13 -13
- 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 +44 -100
- 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 -176
- data/lib/tzinfo/ruby_country_info.rb +0 -74
- data/lib/tzinfo/ruby_data_source.rb +0 -138
- 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 -298
- data/test/tc_country.rb +0 -236
- 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 -165
- data/test/tc_time_or_datetime.rb +0 -660
- data/test/tc_timezone.rb +0 -1359
- 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 -1234
- data/test/test_utils.rb +0 -188
- 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
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
��_���F6�P��N��H���F����Z�G��#sQhnѱ$�vC!���M*�Z"���R��NV���2�x��1��[�3�.z)��*�Q%�俽��[�`t�1�@����ū�%X���1J��qr8*�d
|
data/.yardopts
CHANGED
data/CHANGES.md
CHANGED
@@ -1,64 +1,229 @@
|
|
1
|
-
|
2
|
-
---------------------------
|
1
|
+
# Changes
|
3
2
|
|
4
|
-
|
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
|
166
|
+
|
167
|
+
* Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
|
168
|
+
* Fixed warnings when running on Ruby 2.8. #112.
|
169
|
+
|
170
|
+
|
171
|
+
## Version 1.2.6 - 24-Dec-2019
|
172
|
+
|
173
|
+
* `Timezone#strftime('%s', time)` will now return the correct number of seconds
|
5
174
|
since the epoch. #91.
|
6
|
-
* Removed the unused TZInfo::RubyDataSource::REQUIRE_PATH constant.
|
175
|
+
* Removed the unused `TZInfo::RubyDataSource::REQUIRE_PATH` constant.
|
7
176
|
* Fixed "SecurityError: Insecure operation - require" exceptions when loading
|
8
177
|
data with recent Ruby releases in safe mode.
|
9
178
|
* Fixed warnings when running on Ruby 2.7. #106 and #111.
|
10
179
|
|
11
180
|
|
12
|
-
Version 1.2.5 - 4-Feb-2018
|
13
|
-
--------------------------
|
181
|
+
## Version 1.2.5 - 4-Feb-2018
|
14
182
|
|
15
|
-
* Support recursively (deep) freezing Country and Timezone instances. #80.
|
183
|
+
* Support recursively (deep) freezing `Country` and `Timezone` instances. #80.
|
16
184
|
* Allow negative daylight savings time offsets to be derived when reading from
|
17
185
|
zoneinfo files. The utc_offset and std_offset are now derived correctly for
|
18
186
|
Europe/Dublin in the 2018a and 2018b releases of the Time Zone Database.
|
19
187
|
|
20
188
|
|
21
|
-
Version 1.2.4 - 26-Oct-2017
|
22
|
-
---------------------------
|
189
|
+
## Version 1.2.4 - 26-Oct-2017
|
23
190
|
|
24
191
|
* Ignore the leapseconds file that is included in zoneinfo directories installed
|
25
192
|
with version 2017c and later of the Time Zone Database.
|
26
193
|
|
27
194
|
|
28
|
-
Version 1.2.3 - 25-Mar-2017
|
29
|
-
---------------------------
|
195
|
+
## Version 1.2.3 - 25-Mar-2017
|
30
196
|
|
31
|
-
* Reduce the number of String objects allocated when loading zoneinfo files.
|
197
|
+
* Reduce the number of `String` objects allocated when loading zoneinfo files.
|
32
198
|
#54.
|
33
|
-
* Make Timezone#friendly_identifier compatible with frozen string literals.
|
34
|
-
* 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
|
35
201
|
now correctly handles Pacific/Apia switching from one side of the
|
36
202
|
International Date Line to the other whilst observing daylight savings time.
|
37
203
|
#66.
|
38
|
-
* Fix an UnknownTimezone exception when calling transitions_up_to or
|
39
|
-
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`.
|
40
207
|
* Allow the Factory zone to be obtained from the Zoneinfo data source.
|
41
208
|
* Ignore the /usr/share/zoneinfo/timeconfig symlink included in Slackware
|
42
209
|
distributions. #64.
|
43
|
-
* Fix Timezone#strftime handling of
|
44
|
-
than one percent. #31.
|
45
|
-
* Support expansion of
|
46
|
-
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.
|
47
214
|
|
48
215
|
|
49
|
-
Version 1.2.2 - 8-Aug-2014
|
50
|
-
--------------------------
|
216
|
+
## Version 1.2.2 - 8-Aug-2014
|
51
217
|
|
52
|
-
* Fix an error with duplicates being returned by Timezone#all_country_zones
|
53
|
-
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
|
54
220
|
v1.2014.6 or later.
|
55
221
|
* Use the zone1970.tab file for country timezone data if it is found in the
|
56
222
|
zoneinfo directory (and fallback to zone.tab if not). zone1970.tab was added
|
57
223
|
in tzdata 2014f. zone.tab is now deprecated.
|
58
224
|
|
59
225
|
|
60
|
-
Version 1.2.1 - 1-Jun-2014
|
61
|
-
--------------------------
|
226
|
+
## Version 1.2.1 - 1-Jun-2014
|
62
227
|
|
63
228
|
* Support zoneinfo files generated with zic version 2014c and later.
|
64
229
|
* On platforms that only support positive 32-bit timestamps, ensure that
|
@@ -67,55 +232,52 @@ Version 1.2.1 - 1-Jun-2014
|
|
67
232
|
* Minor documentation improvements.
|
68
233
|
|
69
234
|
|
70
|
-
Version 1.2.0 - 26-May-2014
|
71
|
-
---------------------------
|
235
|
+
## Version 1.2.0 - 26-May-2014
|
72
236
|
|
73
237
|
* Raise the minimum supported Ruby version to 1.8.7.
|
74
238
|
* Support loading system zoneinfo data on FreeBSD, OpenBSD and Solaris.
|
75
239
|
Resolves #15.
|
76
|
-
* Add canonical_identifier and canonical_zone methods to Timezone
|
77
|
-
|
78
|
-
|
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.
|
79
244
|
* Load iso3166.tab and zone.tab files as UTF-8.
|
80
|
-
* Fix Timezone#local_to_utc returning local Time instances on systems using
|
81
|
-
as the local time zone. Resolves #13.
|
82
|
-
* Fix
|
83
|
-
class by making
|
84
|
-
* 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.
|
85
250
|
* Eliminate "assigned but unused variable - info" warnings. Resolves #11.
|
86
251
|
* Switch to minitest v5 for unit tests. Resolves #18.
|
87
252
|
|
88
253
|
|
89
|
-
Version 1.1.0 - 25-Sep-2013
|
90
|
-
---------------------------
|
254
|
+
## Version 1.1.0 - 25-Sep-2013
|
91
255
|
|
92
|
-
* TZInfo is now thread safe. ThreadSafe::Cache is now used instead of Hash
|
93
|
-
to cache Timezone and Country instances returned by Timezone.get and
|
94
|
-
Country.get
|
95
|
-
* Added a transitions_up_to method to Timezone that returns a list of the
|
96
|
-
where the UTC offset of the timezone changes.
|
97
|
-
* 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
|
98
262
|
that have been observed in a defined timezone.
|
99
|
-
* Fixed a "can't modify frozen String" error when loading a Timezone from a
|
100
|
-
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.
|
101
265
|
Resolves #3.
|
102
266
|
* Support TZif3 format zoneinfo files (now produced by zic from tzcode version
|
103
267
|
2013e onwards).
|
104
268
|
* Support using YARD to generate documentation (added a .yardopts file).
|
105
269
|
* Ignore the +VERSION file included in the zoneinfo directory on Mac OS X.
|
106
|
-
* 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
|
107
271
|
included with Mac OS X).
|
108
272
|
|
109
273
|
|
110
|
-
Version 1.0.1 - 22-Jun-2013
|
111
|
-
---------------------------
|
274
|
+
## Version 1.0.1 - 22-Jun-2013
|
112
275
|
|
113
276
|
* Fix a test case failure when tests are run from a directory that contains a
|
114
277
|
dot in the path (issue #29751).
|
115
278
|
|
116
279
|
|
117
|
-
Version 1.0.0 - 2-Jun-2013
|
118
|
-
--------------------------
|
280
|
+
## Version 1.0.0 - 2-Jun-2013
|
119
281
|
|
120
282
|
* Allow TZInfo to be used with different data sources instead of just the
|
121
283
|
built-in Ruby module data files.
|
@@ -124,73 +286,71 @@ Version 1.0.0 - 2-Jun-2013
|
|
124
286
|
distributions.
|
125
287
|
* Remove the definition and index Ruby modules from TZInfo and move them into
|
126
288
|
a separate TZInfo::Data library (available as the tzinfo-data gem).
|
127
|
-
* 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
|
128
290
|
installed, otherwise use zoneinfo files instead.
|
129
|
-
* Preserve the nanoseconds of local timezone Time objects when performing
|
291
|
+
* Preserve the nanoseconds of local timezone Time objects when performing
|
130
292
|
conversions (issue #29705).
|
131
293
|
* Don't add the tzinfo lib directory to the search path when requiring 'tzinfo'.
|
132
294
|
The tzinfo lib directory must now be in the search path before 'tzinfo' is
|
133
295
|
required.
|
134
|
-
* Add utc_start_time
|
135
|
-
methods to TimezonePeriod
|
136
|
-
utc_start
|
137
|
-
instances instead of DateTime
|
138
|
-
* Make the start_transition
|
139
|
-
TimezonePeriod protected. To access properties of the period, callers should
|
140
|
-
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).
|
141
303
|
|
142
304
|
|
143
|
-
Version 0.3.
|
144
|
-
|
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>).
|
309
|
+
|
310
|
+
|
311
|
+
## Version 0.3.53 (tzdata v2017b) - 23-Mar-2017
|
145
312
|
|
146
313
|
* Updated to tzdata version 2017b
|
147
|
-
(https://mm.icann.org/pipermail/tz-announce/2017-March/000046.html).
|
314
|
+
(<https://mm.icann.org/pipermail/tz-announce/2017-March/000046.html>).
|
148
315
|
|
149
316
|
|
150
|
-
Version 0.3.52 (tzdata v2016h) - 28-Oct-2016
|
151
|
-
--------------------------------------------
|
317
|
+
## Version 0.3.52 (tzdata v2016h) - 28-Oct-2016
|
152
318
|
|
153
319
|
* Updated to tzdata version 2016h
|
154
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-October/000042.html).
|
320
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-October/000042.html>).
|
155
321
|
|
156
322
|
|
157
|
-
Version 0.3.51 (tzdata v2016f) - 5-Jul-2016
|
158
|
-
-------------------------------------------
|
323
|
+
## Version 0.3.51 (tzdata v2016f) - 5-Jul-2016
|
159
324
|
|
160
325
|
* Updated to tzdata version 2016f
|
161
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-July/000040.html).
|
326
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-July/000040.html>).
|
162
327
|
|
163
328
|
|
164
|
-
Version 0.3.50 (tzdata v2016e) - 14-Jun-2016
|
165
|
-
--------------------------------------------
|
329
|
+
## Version 0.3.50 (tzdata v2016e) - 14-Jun-2016
|
166
330
|
|
167
331
|
* Updated to tzdata version 2016e
|
168
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-June/000039.html).
|
332
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-June/000039.html>).
|
169
333
|
|
170
334
|
|
171
|
-
Version 0.3.49 (tzdata v2016d) - 18-Apr-2016
|
172
|
-
--------------------------------------------
|
335
|
+
## Version 0.3.49 (tzdata v2016d) - 18-Apr-2016
|
173
336
|
|
174
337
|
* Updated to tzdata version 2016d
|
175
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-April/000038.html).
|
338
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-April/000038.html>).
|
176
339
|
|
177
340
|
|
178
|
-
Version 0.3.48 (tzdata v2016c) - 23-Mar-2016
|
179
|
-
--------------------------------------------
|
341
|
+
## Version 0.3.48 (tzdata v2016c) - 23-Mar-2016
|
180
342
|
|
181
343
|
* Updated to tzdata version 2016c
|
182
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-March/000037.html).
|
344
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-March/000037.html>).
|
183
345
|
|
184
346
|
|
185
|
-
Version 0.3.47 (tzdata v2016b) - 15-Mar-2016
|
186
|
-
--------------------------------------------
|
347
|
+
## Version 0.3.47 (tzdata v2016b) - 15-Mar-2016
|
187
348
|
|
188
349
|
* Updated to tzdata version 2016b
|
189
|
-
(https://mm.icann.org/pipermail/tz-announce/2016-March/000036.html).
|
350
|
+
(<https://mm.icann.org/pipermail/tz-announce/2016-March/000036.html>).
|
190
351
|
|
191
352
|
|
192
|
-
Version 0.3.46 (tzdata v2015g) - 2-Dec-2015
|
193
|
-
-------------------------------------------
|
353
|
+
## Version 0.3.46 (tzdata v2015g) - 2-Dec-2015
|
194
354
|
|
195
355
|
* From version 2015e, the IANA time zone database uses non-ASCII characters in
|
196
356
|
country names. Backport the encoding handling from TZInfo::Data to allow
|
@@ -198,425 +358,382 @@ Version 0.3.46 (tzdata v2015g) - 2-Dec-2015
|
|
198
358
|
byte sequence error when loading the countries index). Resolves #41.
|
199
359
|
|
200
360
|
|
201
|
-
Version 0.3.45 (tzdata v2015g) - 3-Oct-2015
|
202
|
-
-------------------------------------------
|
361
|
+
## Version 0.3.45 (tzdata v2015g) - 3-Oct-2015
|
203
362
|
|
204
363
|
* Updated to tzdata version 2015g
|
205
|
-
(
|
364
|
+
(<https://mm.icann.org/pipermail/tz-announce/2015-October/000034.html>).
|
206
365
|
|
207
366
|
|
208
|
-
Version 0.3.44 (tzdata v2015d) - 24-Apr-2015
|
209
|
-
--------------------------------------------
|
367
|
+
## Version 0.3.44 (tzdata v2015d) - 24-Apr-2015
|
210
368
|
|
211
369
|
* Updated to tzdata version 2015d
|
212
|
-
(
|
370
|
+
(<https://mm.icann.org/pipermail/tz-announce/2015-April/000031.html>).
|
213
371
|
|
214
372
|
|
215
|
-
Version 0.3.43 (tzdata v2015a) - 31-Jan-2015
|
216
|
-
--------------------------------------------
|
373
|
+
## Version 0.3.43 (tzdata v2015a) - 31-Jan-2015
|
217
374
|
|
218
375
|
* Updated to tzdata version 2015a
|
219
|
-
(
|
376
|
+
(<https://mm.icann.org/pipermail/tz-announce/2015-January/000028.html>).
|
220
377
|
|
221
378
|
|
222
|
-
Version 0.3.42 (tzdata v2014i) - 23-Oct-2014
|
223
|
-
--------------------------------------------
|
379
|
+
## Version 0.3.42 (tzdata v2014i) - 23-Oct-2014
|
224
380
|
|
225
381
|
* Updated to tzdata version 2014i
|
226
|
-
(
|
382
|
+
(<https://mm.icann.org/pipermail/tz-announce/2014-October/000026.html>).
|
227
383
|
|
228
384
|
|
229
|
-
Version 0.3.41 (tzdata v2014f) - 8-Aug-2014
|
230
|
-
-------------------------------------------
|
385
|
+
## Version 0.3.41 (tzdata v2014f) - 8-Aug-2014
|
231
386
|
|
232
387
|
* Updated to tzdata version 2014f
|
233
|
-
(
|
388
|
+
(<https://mm.icann.org/pipermail/tz-announce/2014-August/000023.html>).
|
234
389
|
|
235
390
|
|
236
|
-
Version 0.3.40 (tzdata v2014e) - 10-Jul-2014
|
237
|
-
--------------------------------------------
|
391
|
+
## Version 0.3.40 (tzdata v2014e) - 10-Jul-2014
|
238
392
|
|
239
393
|
* Updated to tzdata version 2014e
|
240
|
-
(
|
394
|
+
(<https://mm.icann.org/pipermail/tz-announce/2014-June/000022.html>).
|
241
395
|
|
242
396
|
|
243
|
-
Version 0.3.39 (tzdata v2014a) - 9-Mar-2014
|
244
|
-
-------------------------------------------
|
397
|
+
## Version 0.3.39 (tzdata v2014a) - 9-Mar-2014
|
245
398
|
|
246
399
|
* Updated to tzdata version 2014a
|
247
|
-
(
|
400
|
+
(<https://mm.icann.org/pipermail/tz-announce/2014-March/000018.html>).
|
248
401
|
|
249
402
|
|
250
|
-
Version 0.3.38 (tzdata v2013g) - 8-Oct-2013
|
251
|
-
-------------------------------------------
|
403
|
+
## Version 0.3.38 (tzdata v2013g) - 8-Oct-2013
|
252
404
|
|
253
405
|
* Updated to tzdata version 2013g
|
254
|
-
(
|
406
|
+
(<https://mm.icann.org/pipermail/tz-announce/2013-October/000015.html>).
|
255
407
|
|
256
408
|
|
257
|
-
Version 0.3.37 (tzdata v2013b) - 11-Mar-2013
|
258
|
-
--------------------------------------------
|
409
|
+
## Version 0.3.37 (tzdata v2013b) - 11-Mar-2013
|
259
410
|
|
260
411
|
* Updated to tzdata version 2013b
|
261
|
-
(
|
412
|
+
(<https://mm.icann.org/pipermail/tz-announce/2013-March/000010.html>).
|
262
413
|
|
263
414
|
|
264
|
-
Version 0.3.36 (tzdata v2013a) - 3-Mar-2013
|
265
|
-
-------------------------------------------
|
415
|
+
## Version 0.3.36 (tzdata v2013a) - 3-Mar-2013
|
266
416
|
|
267
417
|
* Updated to tzdata version 2013a
|
268
|
-
(
|
269
|
-
* 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
|
270
420
|
Ruby 2.0.
|
271
|
-
* Change eql
|
272
|
-
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?`.
|
273
423
|
|
274
424
|
|
275
|
-
Version 0.3.35 (tzdata v2012i) - 4-Nov-2012
|
276
|
-
-------------------------------------------
|
425
|
+
## Version 0.3.35 (tzdata v2012i) - 4-Nov-2012
|
277
426
|
|
278
427
|
* Updated to tzdata version 2012i
|
279
|
-
(
|
428
|
+
(<https://mm.icann.org/pipermail/tz-announce/2012-November/000007.html>).
|
280
429
|
|
281
430
|
|
282
|
-
Version 0.3.34 (tzdata v2012h) - 27-Oct-2012
|
283
|
-
--------------------------------------------
|
431
|
+
## Version 0.3.34 (tzdata v2012h) - 27-Oct-2012
|
284
432
|
|
285
433
|
* Updated to tzdata version 2012h
|
286
|
-
(
|
434
|
+
(<https://mm.icann.org/pipermail/tz-announce/2012-October/000006.html>).
|
287
435
|
|
288
436
|
|
289
|
-
Version 0.3.33 (tzdata v2012c) - 8-Apr-2012
|
290
|
-
-------------------------------------------
|
437
|
+
## Version 0.3.33 (tzdata v2012c) - 8-Apr-2012
|
291
438
|
|
292
439
|
* Updated to tzdata version 2012c
|
293
|
-
(
|
440
|
+
(<https://mm.icann.org/pipermail/tz/2012-April/017627.html>).
|
294
441
|
|
295
442
|
|
296
|
-
Version 0.3.32 (tzdata v2012b) - 4-Mar-2012
|
297
|
-
-------------------------------------------
|
443
|
+
## Version 0.3.32 (tzdata v2012b) - 4-Mar-2012
|
298
444
|
|
299
445
|
* Updated to tzdata version 2012b
|
300
|
-
(
|
446
|
+
(<https://mm.icann.org/pipermail/tz/2012-March/017524.html>).
|
301
447
|
|
302
448
|
|
303
|
-
Version 0.3.31 (tzdata v2011n) - 6-Nov-2011
|
304
|
-
-------------------------------------------
|
449
|
+
## Version 0.3.31 (tzdata v2011n) - 6-Nov-2011
|
305
450
|
|
306
451
|
* Updated to tzdata version 2011n
|
307
|
-
(
|
452
|
+
(<https://mm.icann.org/pipermail/tz/2011-October/017201.html>).
|
308
453
|
|
309
454
|
|
310
|
-
Version 0.3.30 (tzdata v2011k) - 29-Sep-2011
|
311
|
-
--------------------------------------------
|
455
|
+
## Version 0.3.30 (tzdata v2011k) - 29-Sep-2011
|
312
456
|
|
313
457
|
* Updated to tzdata version 2011k
|
314
|
-
(
|
458
|
+
(<https://mm.icann.org/pipermail/tz/2011-September/008889.html>).
|
315
459
|
|
316
460
|
|
317
|
-
Version 0.3.29 (tzdata v2011h) - 27-Jun-2011
|
318
|
-
--------------------------------------------
|
461
|
+
## Version 0.3.29 (tzdata v2011h) - 27-Jun-2011
|
319
462
|
|
320
463
|
* Updated to tzdata version 2011h
|
321
|
-
(
|
322
|
-
* Allow the default value of the local_to_utc and period_for_local dst
|
323
|
-
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.
|
324
467
|
Thanks to Kurt Werle for the suggestion and patch.
|
325
468
|
|
326
469
|
|
327
|
-
Version 0.3.28 (tzdata v2011g) - 13-Jun-2011
|
328
|
-
---------------------------------------------
|
470
|
+
## Version 0.3.28 (tzdata v2011g) - 13-Jun-2011
|
329
471
|
|
330
|
-
* 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
|
331
473
|
Aaron Patterson for reporting the problems running on the new version.
|
332
474
|
Closes #29233.
|
333
475
|
|
334
476
|
|
335
|
-
Version 0.3.27 (tzdata v2011g) - 26-Apr-2011
|
336
|
-
--------------------------------------------
|
477
|
+
## Version 0.3.27 (tzdata v2011g) - 26-Apr-2011
|
337
478
|
|
338
479
|
* Updated to tzdata version 2011g
|
339
|
-
(
|
480
|
+
(<https://mm.icann.org/pipermail/tz/2011-April/016875.html>).
|
340
481
|
|
341
482
|
|
342
|
-
Version 0.3.26 (tzdata v2011e) - 2-Apr-2011
|
343
|
-
-------------------------------------------
|
483
|
+
## Version 0.3.26 (tzdata v2011e) - 2-Apr-2011
|
344
484
|
|
345
485
|
* Updated to tzdata version 2011e
|
346
|
-
(
|
486
|
+
(<https://mm.icann.org/pipermail/tz/2011-April/016809.html>).
|
347
487
|
|
348
488
|
|
349
|
-
Version 0.3.25 (tzdata v2011d) - 14-Mar-2011
|
350
|
-
--------------------------------------------
|
489
|
+
## Version 0.3.25 (tzdata v2011d) - 14-Mar-2011
|
351
490
|
|
352
491
|
* Updated to tzdata version 2011d
|
353
|
-
(
|
492
|
+
(<https://mm.icann.org/pipermail/tz/2011-March/016746.html>).
|
354
493
|
|
355
494
|
|
356
|
-
Version 0.3.24 (tzdata v2010o) - 15-Jan-2011
|
357
|
-
--------------------------------------------
|
495
|
+
## Version 0.3.24 (tzdata v2010o) - 15-Jan-2011
|
358
496
|
|
359
497
|
* Updated to tzdata version 2010o
|
360
|
-
(
|
498
|
+
(<https://mm.icann.org/pipermail/tz/2010-November/016517.html>).
|
361
499
|
|
362
500
|
|
363
|
-
Version 0.3.23 (tzdata v2010l) - 19-Aug-2010
|
364
|
-
--------------------------------------------
|
501
|
+
## Version 0.3.23 (tzdata v2010l) - 19-Aug-2010
|
365
502
|
|
366
503
|
* Updated to tzdata version 2010l
|
367
|
-
(
|
504
|
+
(<https://mm.icann.org/pipermail/tz/2010-August/016360.html>).
|
368
505
|
|
369
506
|
|
370
|
-
Version 0.3.22 (tzdata v2010j) - 29-May-2010
|
371
|
-
--------------------------------------------
|
507
|
+
## Version 0.3.22 (tzdata v2010j) - 29-May-2010
|
372
508
|
|
373
509
|
* Corrected file permissions issue with 0.3.21 release.
|
374
510
|
|
375
511
|
|
376
|
-
Version 0.3.21 (tzdata v2010j) - 28-May-2010
|
377
|
-
--------------------------------------------
|
512
|
+
## Version 0.3.21 (tzdata v2010j) - 28-May-2010
|
378
513
|
|
379
514
|
* Updated to tzdata version 2010j
|
380
|
-
(
|
515
|
+
(<https://mm.icann.org/pipermail/tz/2010-May/016211.html>).
|
381
516
|
* Change invalid timezone check to exclude characters not used in timezone
|
382
517
|
identifiers and avoid 'character class has duplicated range' warnings with
|
383
518
|
Ruby 1.9.2.
|
384
|
-
* Ruby 1.9.2 has deprecated
|
519
|
+
* Ruby 1.9.2 has deprecated `require 'rational'`, but older versions of
|
385
520
|
Ruby need rational to be required. Require rational only when the Rational
|
386
521
|
module has not already been loaded.
|
387
522
|
* Remove circular requires (now a warning in Ruby 1.9.2). Instead of using
|
388
|
-
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
|
389
524
|
files. If you were previously requiring files within the tzinfo directory
|
390
|
-
(e.g. require 'tzinfo/timezone'), then you will now have to
|
391
|
-
require 'tzinfo' instead.
|
525
|
+
(e.g. `require 'tzinfo/timezone'`), then you will now have to
|
526
|
+
`require 'tzinfo'` instead.
|
392
527
|
|
393
528
|
|
394
|
-
Version 0.3.20 (tzdata v2010i) - 19-Apr-2010
|
395
|
-
--------------------------------------------
|
529
|
+
## Version 0.3.20 (tzdata v2010i) - 19-Apr-2010
|
396
530
|
|
397
531
|
* Updated to tzdata version 2010i
|
398
|
-
(
|
532
|
+
(<https://mm.icann.org/pipermail/tz/2010-April/016184.html>).
|
399
533
|
|
400
534
|
|
401
|
-
Version 0.3.19 (tzdata v2010h) - 5-Apr-2010
|
402
|
-
-------------------------------------------
|
535
|
+
## Version 0.3.19 (tzdata v2010h) - 5-Apr-2010
|
403
536
|
|
404
537
|
* Updated to tzdata version 2010h
|
405
|
-
(
|
538
|
+
(<https://mm.icann.org/pipermail/tz/2010-April/016161.html>).
|
406
539
|
|
407
540
|
|
408
|
-
Version 0.3.18 (tzdata v2010g) - 29-Mar-2010
|
409
|
-
--------------------------------------------
|
541
|
+
## Version 0.3.18 (tzdata v2010g) - 29-Mar-2010
|
410
542
|
|
411
543
|
* Updated to tzdata version 2010g
|
412
|
-
(
|
544
|
+
(<https://mm.icann.org/pipermail/tz/2010-March/016140.html>).
|
413
545
|
|
414
546
|
|
415
|
-
Version 0.3.17 (tzdata v2010e) - 8-Mar-2010
|
416
|
-
-------------------------------------------
|
547
|
+
## Version 0.3.17 (tzdata v2010e) - 8-Mar-2010
|
417
548
|
|
418
549
|
* Updated to tzdata version 2010e
|
419
|
-
(
|
550
|
+
(<https://mm.icann.org/pipermail/tz/2010-March/016088.html>).
|
420
551
|
|
421
552
|
|
422
|
-
Version 0.3.16 (tzdata v2009u) - 5-Jan-2010
|
423
|
-
-------------------------------------------
|
553
|
+
## Version 0.3.16 (tzdata v2009u) - 5-Jan-2010
|
424
554
|
|
425
555
|
* Support the use of '-' to denote '0' as an offset in the tz data files.
|
426
556
|
Used for the first time in the SAVE field in tzdata v2009u.
|
427
557
|
* Updated to tzdata version 2009u
|
428
|
-
(
|
558
|
+
(<https://mm.icann.org/pipermail/tz/2009-December/016001.html>).
|
429
559
|
|
430
560
|
|
431
|
-
Version 0.3.15 (tzdata v2009p) - 26-Oct-2009
|
432
|
-
--------------------------------------------
|
561
|
+
## Version 0.3.15 (tzdata v2009p) - 26-Oct-2009
|
433
562
|
|
434
563
|
* Updated to tzdata version 2009p
|
435
|
-
(
|
564
|
+
(<https://mm.icann.org/pipermail/tz/2009-October/015889.html>).
|
436
565
|
* Added a description to the gem spec.
|
437
566
|
* List test files in test_files instead of files in the gem spec.
|
438
567
|
|
439
568
|
|
440
|
-
Version 0.3.14 (tzdata v2009l) - 19-Aug-2009
|
441
|
-
--------------------------------------------
|
569
|
+
## Version 0.3.14 (tzdata v2009l) - 19-Aug-2009
|
442
570
|
|
443
571
|
* Updated to tzdata version 2009l
|
444
|
-
(
|
572
|
+
(<https://mm.icann.org/pipermail/tz/2009-August/015729.html>).
|
445
573
|
* Include current directory in load path to allow running tests on
|
446
574
|
Ruby 1.9.2, which doesn't include it by default any more.
|
447
575
|
|
448
576
|
|
449
|
-
Version 0.3.13 (tzdata v2009f) - 15-Apr-2009
|
450
|
-
--------------------------------------------
|
577
|
+
## Version 0.3.13 (tzdata v2009f) - 15-Apr-2009
|
451
578
|
|
452
579
|
* Updated to tzdata version 2009f
|
453
|
-
(
|
580
|
+
(<https://mm.icann.org/pipermail/tz/2009-April/015544.html>).
|
454
581
|
* Untaint the timezone module filename after validation to allow use
|
455
|
-
with
|
582
|
+
with `$SAFE == 1` (e.g. under mod_ruby). Thanks to Dmitry Borodaenko for
|
456
583
|
the suggestion. Closes #25349.
|
457
584
|
|
458
585
|
|
459
|
-
Version 0.3.12 (tzdata v2008i) - 12-Nov-2008
|
460
|
-
--------------------------------------------
|
586
|
+
## Version 0.3.12 (tzdata v2008i) - 12-Nov-2008
|
461
587
|
|
462
588
|
* Updated to tzdata version 2008i
|
463
|
-
(
|
589
|
+
(<https://mm.icann.org/pipermail/tz/2008-October/015260.html>).
|
464
590
|
|
465
591
|
|
466
|
-
Version 0.3.11 (tzdata v2008g) - 7-Oct-2008
|
467
|
-
-------------------------------------------
|
592
|
+
## Version 0.3.11 (tzdata v2008g) - 7-Oct-2008
|
468
593
|
|
469
594
|
* Updated to tzdata version 2008g
|
470
|
-
(
|
471
|
-
* Support Ruby 1.9.0-5. Rational.new
|
472
|
-
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
|
473
598
|
for performance reasons). Thanks to Jeremy Kemper and Pratik Naik for
|
474
599
|
reporting this. Closes #22312.
|
475
600
|
* Apply a patch from Pratik Naik to replace assert calls that have been
|
476
601
|
deprecated in the Ruby svn trunk. Closes #22308.
|
477
602
|
|
478
603
|
|
479
|
-
Version 0.3.10 (tzdata v2008f) - 16-Sep-2008
|
480
|
-
--------------------------------------------
|
604
|
+
## Version 0.3.10 (tzdata v2008f) - 16-Sep-2008
|
481
605
|
|
482
606
|
* Updated to tzdata version 2008f
|
483
|
-
(
|
607
|
+
(<https://mm.icann.org/pipermail/tz/2008-September/015090.html>).
|
484
608
|
|
485
609
|
|
486
|
-
Version 0.3.9 (tzdata v2008c) - 27-May-2008
|
487
|
-
-------------------------------------------
|
610
|
+
## Version 0.3.9 (tzdata v2008c) - 27-May-2008
|
488
611
|
|
489
612
|
* Updated to tzdata version 2008c
|
490
|
-
(
|
613
|
+
(<https://mm.icann.org/pipermail/tz/2008-May/014956.html>).
|
491
614
|
* Support loading timezone data in the latest trunk versions of Ruby 1.9.
|
492
|
-
Rational.new
|
493
|
-
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.
|
494
618
|
* Prevent warnings from being output when running Ruby with the -v or -w
|
495
619
|
command line options. Thanks to Paul McMahon for the patch. Closes #19719.
|
496
620
|
|
497
621
|
|
498
|
-
Version 0.3.8 (tzdata v2008b) - 24-Mar-2008
|
499
|
-
-------------------------------------------
|
622
|
+
## Version 0.3.8 (tzdata v2008b) - 24-Mar-2008
|
500
623
|
|
501
624
|
* Updated to tzdata version 2008b
|
502
|
-
(
|
503
|
-
* Support loading timezone data in Ruby 1.9.0. Use DateTime.new
|
504
|
-
available instead of DateTime.new0 when constructing transition times.
|
505
|
-
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
|
506
629
|
Ruby 1.9.0. Thanks to Joshua Peek for reporting this. Closes #17606.
|
507
630
|
* Modify some of the equality test cases to cope with the differences
|
508
631
|
between Ruby 1.8.6 and Ruby 1.9.0.
|
509
632
|
|
510
633
|
|
511
|
-
Version 0.3.7 (tzdata v2008a) - 10-Mar-2008
|
512
|
-
-------------------------------------------
|
634
|
+
## Version 0.3.7 (tzdata v2008a) - 10-Mar-2008
|
513
635
|
|
514
636
|
* Updated to tzdata version 2008a
|
515
|
-
(
|
637
|
+
(<https://mm.icann.org/pipermail/tz/2008-March/014851.html>).
|
516
638
|
|
517
639
|
|
518
|
-
Version 0.3.6 (tzdata v2007k) - 1-Jan-2008
|
519
|
-
------------------------------------------
|
640
|
+
## Version 0.3.6 (tzdata v2007k) - 1-Jan-2008
|
520
641
|
|
521
642
|
* Updated to tzdata version 2007k
|
522
|
-
(
|
643
|
+
(<https://mm.icann.org/pipermail/tz/2007-December/014765.html>).
|
523
644
|
* Removed deprecated RubyGems autorequire option.
|
524
645
|
|
525
646
|
|
526
|
-
Version 0.3.5 (tzdata v2007h) - 1-Oct-2007
|
527
|
-
------------------------------------------
|
647
|
+
## Version 0.3.5 (tzdata v2007h) - 1-Oct-2007
|
528
648
|
|
529
649
|
* Updated to tzdata version 2007h
|
530
|
-
(
|
650
|
+
(<https://mm.icann.org/pipermail/tz/2007-October/014585.html>).
|
531
651
|
|
532
652
|
|
533
|
-
Version 0.3.4 (tzdata v2007g) - 21-Aug-2007
|
534
|
-
-------------------------------------------
|
653
|
+
## Version 0.3.4 (tzdata v2007g) - 21-Aug-2007
|
535
654
|
|
536
655
|
* Updated to tzdata version 2007g
|
537
|
-
(
|
656
|
+
(<https://mm.icann.org/pipermail/tz/2007-August/014499.html>).
|
538
657
|
|
539
658
|
|
540
|
-
Version 0.3.3 (tzdata v2006p) - 27-Nov-2006
|
541
|
-
-------------------------------------------
|
659
|
+
## Version 0.3.3 (tzdata v2006p) - 27-Nov-2006
|
542
660
|
|
543
661
|
* Updated to tzdata version 2006p
|
544
|
-
(
|
662
|
+
(<https://mm.icann.org/pipermail/tz/2006-November/013999.html>).
|
545
663
|
|
546
664
|
|
547
|
-
Version 0.3.2 (tzdata v2006n) - 11-Oct-2006
|
548
|
-
-------------------------------------------
|
665
|
+
## Version 0.3.2 (tzdata v2006n) - 11-Oct-2006
|
549
666
|
|
550
667
|
* Updated to tzdata version 2006n
|
551
|
-
(
|
552
|
-
tzdata removes the country Serbia and Montenegro (CS) and replaces
|
553
|
-
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.
|
554
671
|
|
555
672
|
|
556
|
-
Version 0.3.1 (tzdata v2006j) - 21-Aug-2006
|
557
|
-
-------------------------------------------
|
673
|
+
## Version 0.3.1 (tzdata v2006j) - 21-Aug-2006
|
558
674
|
|
559
675
|
* Remove colon from case statements to avoid warning in Ruby 1.8.5. #5198.
|
560
676
|
* Use temporary variable to avoid dynamic string warning from rdoc.
|
561
677
|
* Updated to tzdata version 2006j
|
562
|
-
(
|
678
|
+
(<https://mm.icann.org/pipermail/tz/2006-August/013767.html>).
|
563
679
|
|
564
680
|
|
565
|
-
Version 0.3.0 (tzdata v2006g) - 17-Jul-2006
|
566
|
-
-------------------------------------------
|
681
|
+
## Version 0.3.0 (tzdata v2006g) - 17-Jul-2006
|
567
682
|
|
568
683
|
* New timezone data format. Timezone data now occupies less space on disk and
|
569
684
|
takes less memory once loaded. #4142, #4144.
|
570
|
-
* Timezone data is defined in modules rather than classes. Timezone instances
|
571
|
-
returned by Timezone.get are no longer instances of data classes, but are
|
572
|
-
instead instances of new DataTimezone and LinkedTimezone classes.
|
573
|
-
* Timezone instances can now be used with Marshal.dump and Marshal.load
|
574
|
-
|
575
|
-
|
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.
|
576
692
|
* Country index data is now defined in a single module that is independent
|
577
|
-
of the Country class implementation.
|
578
|
-
* Country instances can now be used with Marshal.dump and Marshal.load
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
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
|
583
700
|
geographic sense.
|
584
701
|
* The zdumptest utility now checks local to utc conversions in addition to
|
585
702
|
utc to local conversions.
|
586
|
-
* eql
|
587
|
-
* The
|
588
|
-
with no identifier method.
|
589
|
-
* The
|
590
|
-
with no code method.
|
591
|
-
* hash method defined on Country that returns the hash of the code.
|
592
|
-
* 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.
|
593
710
|
* Miscellaneous API documentation corrections and improvements.
|
594
711
|
* Timezone definition and indexes are now excluded from rdoc (the contents were
|
595
|
-
previously ignored with
|
596
|
-
* Removed no longer needed
|
712
|
+
previously ignored with `#:nodoc:` anyway).
|
713
|
+
* Removed no longer needed `#:nodoc:` directives from timezone data files (which
|
597
714
|
are now excluded from the rdoc build).
|
598
|
-
* 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.
|
599
716
|
#4905.
|
600
717
|
* When optimizing transitions to generate zone definitions, check the
|
601
718
|
UTC and standard offsets separately rather than just the total offset to UTC.
|
602
|
-
Fixes an incorrect abbreviation issue with Europe/London, Europe/Dublin and
|
719
|
+
Fixes an incorrect abbreviation issue with Europe/London, Europe/Dublin and
|
603
720
|
Pacific/Auckland.
|
604
|
-
* Eliminated unnecessary
|
605
|
-
* Timezone.all and Timezone.all_identifiers now return all the
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
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
|
611
729
|
abbreviation for the given time (for example, EST or EDT). #4143.
|
612
|
-
* Fix escaping of quotes in TZDataParser
|
613
|
-
descriptions of
|
730
|
+
* Fix escaping of quotes in `TZDataParser`. This affected country names and
|
731
|
+
descriptions of time zones within countries.
|
614
732
|
|
615
733
|
|
616
|
-
Version 0.2.2 (tzdata v2006g) - 17-May-2006
|
617
|
-
-------------------------------------------
|
734
|
+
## Version 0.2.2 (tzdata v2006g) - 17-May-2006
|
618
735
|
|
619
|
-
* Use class-scoped instance variables to store the Timezone identifier and
|
736
|
+
* Use class-scoped instance variables to store the Timezone identifier and
|
620
737
|
singleton instance. Loading a linked zone no longer causes the parent
|
621
738
|
zone's identifier to be changed. The instance method of a linked zone class
|
622
739
|
also now returns an instance of the linked zone class rather than the parent
|
@@ -625,173 +742,170 @@ Version 0.2.2 (tzdata v2006g) - 17-May-2006
|
|
625
742
|
zone identifier.
|
626
743
|
* The zdumptestall utility now exits if not supplied with enough parameters.
|
627
744
|
* Updated to tzdata version 2006g
|
628
|
-
(
|
745
|
+
(<https://mm.icann.org/pipermail/tz/2006-May/013590.html>).
|
629
746
|
|
630
747
|
|
631
|
-
Version 0.2.1 (tzdata v2006d) - 17-Apr-2006
|
632
|
-
-------------------------------------------
|
748
|
+
## Version 0.2.1 (tzdata v2006d) - 17-Apr-2006
|
633
749
|
|
634
|
-
* Fix a performance issue caused in 0.2.0 with Timezone.local_to_utc
|
635
|
-
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
|
636
752
|
cached as originally intended. Thanks to Michael Smedberg for spotting this.
|
637
|
-
* 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
|
638
754
|
originally implemented in 0.1.0. The condition that was supposed to cause
|
639
755
|
the search to terminate when enough periods had been found was only being
|
640
|
-
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
|
641
757
|
Jamis Buck for reporting this.
|
642
|
-
* Added abbreviation as an alias for TimezonePeriod.zone_identifier
|
758
|
+
* Added abbreviation as an alias for `TimezonePeriod.zone_identifier`.
|
643
759
|
* Updated to tzdata version 2006d
|
644
|
-
(
|
645
|
-
* Ignore any offset in
|
646
|
-
All of the following now refer to the same UTC time (15:40 on 17 April 2006).
|
647
|
-
|
648
|
-
|
649
|
-
|
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
|
650
765
|
tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0))
|
651
766
|
tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0).new_offset(Rational(5, 24)))
|
652
767
|
tz.utc_to_local(Time.utc(2006, 4, 17, 15, 40, 0))
|
653
768
|
tz.utc_to_local(Time.local(2006, 4, 17, 15, 40, 0))
|
769
|
+
```
|
654
770
|
|
655
771
|
|
656
|
-
Version 0.2.0 (tzdata v2006c) - 3-Apr-2006
|
657
|
-
------------------------------------------
|
772
|
+
## Version 0.2.0 (tzdata v2006c) - 3-Apr-2006
|
658
773
|
|
659
|
-
* Use timestamps rather than DateTime objects in zone files for times between
|
660
|
-
1970 and 2037 (the range of Time).
|
661
|
-
* 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
|
662
777
|
a substantial performance improvement).
|
663
|
-
* Allow integer timestamps (time in seconds since 1970-1-1) to be used as well
|
664
|
-
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
|
665
780
|
parameters.
|
666
781
|
* Tool to compare TZInfo conversions with output from zdump.
|
667
|
-
* TZDataParser zone generation algorithm rewritten. Now based on the zic code.
|
782
|
+
* `TZDataParser` zone generation algorithm rewritten. Now based on the zic code.
|
668
783
|
TZInfo is now 100% compatible with zic/zdump output.
|
669
784
|
* Riyadh Solar Time zones now included again (generation time has been reduced
|
670
|
-
with TZDataParser changes).
|
785
|
+
with `TZDataParser` changes).
|
671
786
|
* Use binary mode when writing zone and country files to get Unix (\n) new
|
672
787
|
lines.
|
673
788
|
* Omit unnecessary quotes in zone identifier symbols.
|
674
789
|
* Omit the final transition to DST if there is a prior transition in the last
|
675
790
|
year processed to standard time.
|
676
791
|
* Updated to tzdata version 2006c
|
677
|
-
(
|
792
|
+
(<https://mm.icann.org/pipermail/tz/2006-April/013500.html>).
|
678
793
|
|
679
794
|
|
680
|
-
Version 0.1.2 (tzdata v2006a) - 5-Feb-2006
|
681
|
-
------------------------------------------
|
795
|
+
## Version 0.1.2 (tzdata v2006a) - 5-Feb-2006
|
682
796
|
|
683
797
|
* Add lib directory to the load path when tzinfo is required. Makes it easier
|
684
|
-
to use tzinfo gem when unpacked to vendor directory in rails.
|
685
|
-
* Updated to tzdata version 2006a
|
686
|
-
(
|
687
|
-
* build_tz_classes rake task now handles running svn add and svn delete as new
|
688
|
-
|
689
|
-
* Return a better error when attempting to use a Timezone instance that was
|
690
|
-
constructed with Timezone.new(nil)
|
691
|
-
composed_of
|
692
|
-
to use the Timezone will now result in an UnknownTimezone
|
693
|
-
than a NameError
|
694
|
-
|
695
|
-
|
696
|
-
Version 0.1.1 (tzdata v2005q) - 18-Dec-2005
|
697
|
-
|
698
|
-
|
699
|
-
* 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
|
700
813
|
work again.
|
701
814
|
* Updated to tzdata version 2005q.
|
702
815
|
|
703
816
|
|
704
|
-
Version 0.1.0 (tzdata v2005n) - 27-Nov-2005
|
705
|
-
-------------------------------------------
|
817
|
+
## Version 0.1.0 (tzdata v2005n) - 27-Nov-2005
|
706
818
|
|
707
|
-
* period_for_local and local_to_utc now allow resolution of ambiguous
|
708
|
-
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).
|
709
821
|
The behaviour of these methods when faced with an ambiguous local time
|
710
822
|
has now changed. If you are using these methods you should check
|
711
823
|
the documentation. Thanks to Cliff Matthews for suggesting this change.
|
712
|
-
* 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
|
713
825
|
environments).
|
714
826
|
* Use rake to build packages and documentation.
|
715
827
|
* License file is now included in gem distribution.
|
716
828
|
* Dates in definitions stored as Astronomical Julian Day numbers rather than
|
717
|
-
as civil dates (improves performance creating DateTime instances).
|
718
|
-
* 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
|
719
831
|
countries.
|
720
|
-
* Moved TimezonePeriod class to timezone_period.rb
|
721
|
-
* New TimezonePeriodList class to store
|
722
|
-
perform searches for periods.
|
723
|
-
*
|
724
|
-
when they are needed. Thanks to Jamis Buck for the suggestion.
|
725
|
-
* 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
|
726
838
|
countries.
|
727
839
|
* Exclude the Riyadh Solar Time zones. The rules are only for 1987 to 1989 and
|
728
840
|
take a long time to generate and process. Riyadh Solar Time is no longer
|
729
841
|
observed.
|
730
|
-
* 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
|
731
843
|
unbounded rather than arbitrary end time.
|
732
|
-
* Construct the Rational offset in TimezonePeriod once when the
|
733
|
-
is constructed rather than each time it is needed.
|
734
|
-
* Timezone and Country now keep a cache of loaded instances to avoid running
|
735
|
-
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.
|
736
848
|
* Updated to tzdata version 2005n.
|
737
849
|
|
738
850
|
|
739
|
-
Version 0.0.4 (tzdata v2005m) - 18-Sep-2005
|
740
|
-
-------------------------------------------
|
851
|
+
## Version 0.0.4 (tzdata v2005m) - 18-Sep-2005
|
741
852
|
|
742
853
|
* Removed debug output accidentally included in the previous release.
|
743
854
|
* Fixed a bug in the generation of friendly zone identifiers (was inserting
|
744
855
|
apostrophes into UTC, GMT, etc).
|
745
|
-
* Fixed Country
|
746
|
-
* Fixed Timezone.period_for_local error when period not found.
|
747
|
-
* Added
|
748
|
-
some selected
|
749
|
-
|
750
|
-
|
751
|
-
Version 0.0.3 (tzdata v2005m) - 17-Sep-2005
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
* Added name method to Timezone (returns the identifier).
|
756
|
-
* Added friendly_identifier method to Timezone
|
757
|
-
of the identifier.
|
758
|
-
* Added to_s method to Timezone
|
759
|
-
* Added
|
760
|
-
* Timezone now includes Comparable
|
761
|
-
* Added to_s method to Country
|
762
|
-
* Added
|
763
|
-
* Country now includes Comparable
|
764
|
-
* 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
|
765
876
|
actually load in its definition until it is actually required.
|
766
|
-
* Modified Timezone and Country methods that return
|
767
|
-
TimezoneProxy instances instead. This makes these methods much
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
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
|
782
895
|
(was previously a string).
|
783
|
-
* TimezonePeriod
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
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.
|
788
903
|
|
789
904
|
Thanks to Scott Barron of Lunchbox Software for the suggestions in his
|
790
|
-
article about using TZInfo with Rails
|
791
|
-
(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>)
|
792
907
|
|
793
908
|
|
794
|
-
Version 0.0.1 (tzdata v2005m) - 29-Aug-2005
|
795
|
-
-------------------------------------------
|
909
|
+
## Version 0.0.1 (tzdata v2005m) - 29-Aug-2005
|
796
910
|
|
797
911
|
* First release.
|