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