tzinfo 1.2.6 → 2.0.1

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