tzinfo 1.2.7 → 2.0.2

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