tzinfo 1.2.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of tzinfo might be problematic. Click here for more details.

Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +2 -0
  3. data.tar.gz.sig +1 -0
  4. data/.yardopts +6 -0
  5. data/CHANGES.md +797 -0
  6. data/LICENSE +19 -0
  7. data/README.md +152 -0
  8. data/Rakefile +107 -0
  9. data/lib/tzinfo.rb +40 -0
  10. data/lib/tzinfo/country.rb +196 -0
  11. data/lib/tzinfo/country_index_definition.rb +31 -0
  12. data/lib/tzinfo/country_info.rb +42 -0
  13. data/lib/tzinfo/country_timezone.rb +135 -0
  14. data/lib/tzinfo/data_source.rb +190 -0
  15. data/lib/tzinfo/data_timezone.rb +58 -0
  16. data/lib/tzinfo/data_timezone_info.rb +55 -0
  17. data/lib/tzinfo/info_timezone.rb +30 -0
  18. data/lib/tzinfo/linked_timezone.rb +63 -0
  19. data/lib/tzinfo/linked_timezone_info.rb +26 -0
  20. data/lib/tzinfo/offset_rationals.rb +77 -0
  21. data/lib/tzinfo/ruby_core_support.rb +176 -0
  22. data/lib/tzinfo/ruby_country_info.rb +74 -0
  23. data/lib/tzinfo/ruby_data_source.rb +138 -0
  24. data/lib/tzinfo/time_or_datetime.rb +340 -0
  25. data/lib/tzinfo/timezone.rb +673 -0
  26. data/lib/tzinfo/timezone_definition.rb +36 -0
  27. data/lib/tzinfo/timezone_index_definition.rb +54 -0
  28. data/lib/tzinfo/timezone_info.rb +30 -0
  29. data/lib/tzinfo/timezone_offset.rb +101 -0
  30. data/lib/tzinfo/timezone_period.rb +245 -0
  31. data/lib/tzinfo/timezone_proxy.rb +105 -0
  32. data/lib/tzinfo/timezone_transition.rb +130 -0
  33. data/lib/tzinfo/timezone_transition_definition.rb +104 -0
  34. data/lib/tzinfo/transition_data_timezone_info.rb +274 -0
  35. data/lib/tzinfo/zoneinfo_country_info.rb +37 -0
  36. data/lib/tzinfo/zoneinfo_data_source.rb +496 -0
  37. data/lib/tzinfo/zoneinfo_timezone_info.rb +298 -0
  38. data/test/tc_country.rb +236 -0
  39. data/test/tc_country_index_definition.rb +69 -0
  40. data/test/tc_country_info.rb +16 -0
  41. data/test/tc_country_timezone.rb +173 -0
  42. data/test/tc_data_source.rb +218 -0
  43. data/test/tc_data_timezone.rb +99 -0
  44. data/test/tc_data_timezone_info.rb +18 -0
  45. data/test/tc_info_timezone.rb +34 -0
  46. data/test/tc_linked_timezone.rb +155 -0
  47. data/test/tc_linked_timezone_info.rb +23 -0
  48. data/test/tc_offset_rationals.rb +23 -0
  49. data/test/tc_ruby_core_support.rb +168 -0
  50. data/test/tc_ruby_country_info.rb +110 -0
  51. data/test/tc_ruby_data_source.rb +165 -0
  52. data/test/tc_time_or_datetime.rb +660 -0
  53. data/test/tc_timezone.rb +1359 -0
  54. data/test/tc_timezone_definition.rb +113 -0
  55. data/test/tc_timezone_index_definition.rb +73 -0
  56. data/test/tc_timezone_info.rb +11 -0
  57. data/test/tc_timezone_london.rb +143 -0
  58. data/test/tc_timezone_melbourne.rb +142 -0
  59. data/test/tc_timezone_new_york.rb +142 -0
  60. data/test/tc_timezone_offset.rb +126 -0
  61. data/test/tc_timezone_period.rb +555 -0
  62. data/test/tc_timezone_proxy.rb +136 -0
  63. data/test/tc_timezone_transition.rb +366 -0
  64. data/test/tc_timezone_transition_definition.rb +295 -0
  65. data/test/tc_timezone_utc.rb +27 -0
  66. data/test/tc_transition_data_timezone_info.rb +433 -0
  67. data/test/tc_zoneinfo_country_info.rb +78 -0
  68. data/test/tc_zoneinfo_data_source.rb +1204 -0
  69. data/test/tc_zoneinfo_timezone_info.rb +1234 -0
  70. data/test/test_utils.rb +188 -0
  71. data/test/ts_all.rb +7 -0
  72. data/test/ts_all_ruby.rb +5 -0
  73. data/test/ts_all_zoneinfo.rb +9 -0
  74. data/test/tzinfo-data/tzinfo/data.rb +8 -0
  75. data/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  76. data/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +315 -0
  77. data/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +218 -0
  78. data/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  79. data/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  80. data/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  81. data/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  82. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +261 -0
  83. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +186 -0
  84. data/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +321 -0
  85. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +265 -0
  86. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +220 -0
  87. data/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  88. data/test/tzinfo-data/tzinfo/data/indexes/countries.rb +927 -0
  89. data/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +596 -0
  90. data/test/tzinfo-data/tzinfo/data/version.rb +14 -0
  91. data/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  92. data/test/zoneinfo/America/New_York +0 -0
  93. data/test/zoneinfo/Australia/Melbourne +0 -0
  94. data/test/zoneinfo/EST +0 -0
  95. data/test/zoneinfo/Etc/UTC +0 -0
  96. data/test/zoneinfo/Europe/Amsterdam +0 -0
  97. data/test/zoneinfo/Europe/Andorra +0 -0
  98. data/test/zoneinfo/Europe/London +0 -0
  99. data/test/zoneinfo/Europe/Paris +0 -0
  100. data/test/zoneinfo/Europe/Prague +0 -0
  101. data/test/zoneinfo/Factory +0 -0
  102. data/test/zoneinfo/iso3166.tab +275 -0
  103. data/test/zoneinfo/leapseconds +61 -0
  104. data/test/zoneinfo/posix/Europe/London +0 -0
  105. data/test/zoneinfo/posixrules +0 -0
  106. data/test/zoneinfo/right/Europe/London +0 -0
  107. data/test/zoneinfo/zone.tab +439 -0
  108. data/test/zoneinfo/zone1970.tab +369 -0
  109. data/tzinfo.gemspec +21 -0
  110. metadata +191 -0
  111. metadata.gz.sig +0 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c204b46efe2fc4448fbb719bc143c031e71e5a5eaa21593cee6b04a8904b21f6
4
+ data.tar.gz: a70e08a0cb1ed9439ca48899e068e0455d2bf123601ef19db308cd9a39e156ba
5
+ SHA512:
6
+ metadata.gz: 15ec7aefd75724e350d8f287d2b9af340af7e5916f6e535dd1d6673bbdeae2615992dd5b33181a354b400bce39fb054fd691d41453b335f5a527847eecfaf2b4
7
+ data.tar.gz: 6766a63a1a690944ef8ea3ac1ed9d5018216d1f139a1bbcddf99f00fa293bf56779b71bf2e27c80e0d4bf01cdcba375b3f6b5d046470324713a43e0747e0a9dd
@@ -0,0 +1,2 @@
1
+ ���Ш{���!1��Q���p� ����R|�C wN�#�|Q�/T�.�4�i�h���a�f�O�@�GhF}�]ֱ�YL@܅��OGu%6h�k�1,gᔈ�^J�VR�h��?T���5��Cj������Md���_�zI�o0}�π�-��
2
+ �D~Km�~L�5٥_.����|�˪o%\�TВ��=�ҹ�����l�3 ƴ��X]6��y��R��DX�4�7i�VMfv�H��ݦ[L��7O�m{Be��m
@@ -0,0 +1 @@
1
+ )�Yz� {B�l�Lh���V����AB���ԎH���9�t$8�ű#5:�(µ�]����哖�,I�[��
@@ -0,0 +1,6 @@
1
+ --no-private
2
+ lib/**/*.rb
3
+ -
4
+ CHANGES.md
5
+ LICENSE
6
+ README.md
@@ -0,0 +1,797 @@
1
+ Version 1.2.6 - 24-Dec-2019
2
+ ---------------------------
3
+
4
+ * Timezone#strftime('%s', time) will now return the correct number of seconds
5
+ since the epoch. #91.
6
+ * Removed the unused TZInfo::RubyDataSource::REQUIRE_PATH constant.
7
+ * Fixed "SecurityError: Insecure operation - require" exceptions when loading
8
+ data with recent Ruby releases in safe mode.
9
+ * Fixed warnings when running on Ruby 2.7. #106 and #111.
10
+
11
+
12
+ Version 1.2.5 - 4-Feb-2018
13
+ --------------------------
14
+
15
+ * Support recursively (deep) freezing Country and Timezone instances. #80.
16
+ * Allow negative daylight savings time offsets to be derived when reading from
17
+ zoneinfo files. The utc_offset and std_offset are now derived correctly for
18
+ Europe/Dublin in the 2018a and 2018b releases of the Time Zone Database.
19
+
20
+
21
+ Version 1.2.4 - 26-Oct-2017
22
+ ---------------------------
23
+
24
+ * Ignore the leapseconds file that is included in zoneinfo directories installed
25
+ with version 2017c and later of the Time Zone Database.
26
+
27
+
28
+ Version 1.2.3 - 25-Mar-2017
29
+ ---------------------------
30
+
31
+ * Reduce the number of String objects allocated when loading zoneinfo files.
32
+ #54.
33
+ * Make Timezone#friendly_identifier compatible with frozen string literals.
34
+ * Improve the algorithm for deriving the utc_offset from zoneinfo files. This
35
+ now correctly handles Pacific/Apia switching from one side of the
36
+ International Date Line to the other whilst observing daylight savings time.
37
+ #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.
40
+ * Allow the Factory zone to be obtained from the Zoneinfo data source.
41
+ * Ignore the /usr/share/zoneinfo/timeconfig symlink included in Slackware
42
+ 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.
47
+
48
+
49
+ Version 1.2.2 - 8-Aug-2014
50
+ --------------------------
51
+
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
54
+ v1.2014.6 or later.
55
+ * Use the zone1970.tab file for country timezone data if it is found in the
56
+ zoneinfo directory (and fallback to zone.tab if not). zone1970.tab was added
57
+ in tzdata 2014f. zone.tab is now deprecated.
58
+
59
+
60
+ Version 1.2.1 - 1-Jun-2014
61
+ --------------------------
62
+
63
+ * Support zoneinfo files generated with zic version 2014c and later.
64
+ * On platforms that only support positive 32-bit timestamps, ensure that
65
+ conversions are accurate from the epoch instead of just from the first
66
+ transition after the epoch.
67
+ * Minor documentation improvements.
68
+
69
+
70
+ Version 1.2.0 - 26-May-2014
71
+ ---------------------------
72
+
73
+ * Raise the minimum supported Ruby version to 1.8.7.
74
+ * Support loading system zoneinfo data on FreeBSD, OpenBSD and Solaris.
75
+ 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.
79
+ * 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.
85
+ * Eliminate "assigned but unused variable - info" warnings. Resolves #11.
86
+ * Switch to minitest v5 for unit tests. Resolves #18.
87
+
88
+
89
+ Version 1.1.0 - 25-Sep-2013
90
+ ---------------------------
91
+
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
98
+ 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.
101
+ Resolves #3.
102
+ * Support TZif3 format zoneinfo files (now produced by zic from tzcode version
103
+ 2013e onwards).
104
+ * Support using YARD to generate documentation (added a .yardopts file).
105
+ * 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
107
+ included with Mac OS X).
108
+
109
+
110
+ Version 1.0.1 - 22-Jun-2013
111
+ ---------------------------
112
+
113
+ * Fix a test case failure when tests are run from a directory that contains a
114
+ dot in the path (issue #29751).
115
+
116
+
117
+ Version 1.0.0 - 2-Jun-2013
118
+ --------------------------
119
+
120
+ * Allow TZInfo to be used with different data sources instead of just the
121
+ built-in Ruby module data files.
122
+ * Include a data source that allows TZInfo to load data from the binary
123
+ zoneinfo files produced by zic and included with many Linux and Unix-like
124
+ distributions.
125
+ * Remove the definition and index Ruby modules from TZInfo and move them into
126
+ 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
128
+ installed, otherwise use zoneinfo files instead.
129
+ * Preserve the nanoseconds of local timezone Time objects when performing
130
+ conversions (issue #29705).
131
+ * Don't add the tzinfo lib directory to the search path when requiring 'tzinfo'.
132
+ The tzinfo lib directory must now be in the search path before 'tzinfo' is
133
+ 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).
141
+
142
+
143
+ Version 0.3.53 (tzdata v2017b) - 23-Mar-2017
144
+ --------------------------------------------
145
+
146
+ * Updated to tzdata version 2017b
147
+ (https://mm.icann.org/pipermail/tz-announce/2017-March/000046.html).
148
+
149
+
150
+ Version 0.3.52 (tzdata v2016h) - 28-Oct-2016
151
+ --------------------------------------------
152
+
153
+ * Updated to tzdata version 2016h
154
+ (https://mm.icann.org/pipermail/tz-announce/2016-October/000042.html).
155
+
156
+
157
+ Version 0.3.51 (tzdata v2016f) - 5-Jul-2016
158
+ -------------------------------------------
159
+
160
+ * Updated to tzdata version 2016f
161
+ (https://mm.icann.org/pipermail/tz-announce/2016-July/000040.html).
162
+
163
+
164
+ Version 0.3.50 (tzdata v2016e) - 14-Jun-2016
165
+ --------------------------------------------
166
+
167
+ * Updated to tzdata version 2016e
168
+ (https://mm.icann.org/pipermail/tz-announce/2016-June/000039.html).
169
+
170
+
171
+ Version 0.3.49 (tzdata v2016d) - 18-Apr-2016
172
+ --------------------------------------------
173
+
174
+ * Updated to tzdata version 2016d
175
+ (https://mm.icann.org/pipermail/tz-announce/2016-April/000038.html).
176
+
177
+
178
+ Version 0.3.48 (tzdata v2016c) - 23-Mar-2016
179
+ --------------------------------------------
180
+
181
+ * Updated to tzdata version 2016c
182
+ (https://mm.icann.org/pipermail/tz-announce/2016-March/000037.html).
183
+
184
+
185
+ Version 0.3.47 (tzdata v2016b) - 15-Mar-2016
186
+ --------------------------------------------
187
+
188
+ * Updated to tzdata version 2016b
189
+ (https://mm.icann.org/pipermail/tz-announce/2016-March/000036.html).
190
+
191
+
192
+ Version 0.3.46 (tzdata v2015g) - 2-Dec-2015
193
+ -------------------------------------------
194
+
195
+ * From version 2015e, the IANA time zone database uses non-ASCII characters in
196
+ country names. Backport the encoding handling from TZInfo::Data to allow
197
+ TZInfo 0.3.x to support Ruby 1.9 (which would otherwise fail with an invalid
198
+ byte sequence error when loading the countries index). Resolves #41.
199
+
200
+
201
+ Version 0.3.45 (tzdata v2015g) - 3-Oct-2015
202
+ -------------------------------------------
203
+
204
+ * Updated to tzdata version 2015g
205
+ (http://mm.icann.org/pipermail/tz-announce/2015-October/000034.html).
206
+
207
+
208
+ Version 0.3.44 (tzdata v2015d) - 24-Apr-2015
209
+ --------------------------------------------
210
+
211
+ * Updated to tzdata version 2015d
212
+ (http://mm.icann.org/pipermail/tz-announce/2015-April/000031.html).
213
+
214
+
215
+ Version 0.3.43 (tzdata v2015a) - 31-Jan-2015
216
+ --------------------------------------------
217
+
218
+ * Updated to tzdata version 2015a
219
+ (http://mm.icann.org/pipermail/tz-announce/2015-January/000028.html).
220
+
221
+
222
+ Version 0.3.42 (tzdata v2014i) - 23-Oct-2014
223
+ --------------------------------------------
224
+
225
+ * Updated to tzdata version 2014i
226
+ (http://mm.icann.org/pipermail/tz-announce/2014-October/000026.html).
227
+
228
+
229
+ Version 0.3.41 (tzdata v2014f) - 8-Aug-2014
230
+ -------------------------------------------
231
+
232
+ * Updated to tzdata version 2014f
233
+ (http://mm.icann.org/pipermail/tz-announce/2014-August/000023.html).
234
+
235
+
236
+ Version 0.3.40 (tzdata v2014e) - 10-Jul-2014
237
+ --------------------------------------------
238
+
239
+ * Updated to tzdata version 2014e
240
+ (http://mm.icann.org/pipermail/tz-announce/2014-June/000022.html).
241
+
242
+
243
+ Version 0.3.39 (tzdata v2014a) - 9-Mar-2014
244
+ -------------------------------------------
245
+
246
+ * Updated to tzdata version 2014a
247
+ (http://mm.icann.org/pipermail/tz-announce/2014-March/000018.html).
248
+
249
+
250
+ Version 0.3.38 (tzdata v2013g) - 8-Oct-2013
251
+ -------------------------------------------
252
+
253
+ * Updated to tzdata version 2013g
254
+ (http://mm.icann.org/pipermail/tz-announce/2013-October/000015.html).
255
+
256
+
257
+ Version 0.3.37 (tzdata v2013b) - 11-Mar-2013
258
+ --------------------------------------------
259
+
260
+ * Updated to tzdata version 2013b
261
+ (http://mm.icann.org/pipermail/tz-announce/2013-March/000010.html).
262
+
263
+
264
+ Version 0.3.36 (tzdata v2013a) - 3-Mar-2013
265
+ -------------------------------------------
266
+
267
+ * 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
270
+ 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?'.
273
+
274
+
275
+ Version 0.3.35 (tzdata v2012i) - 4-Nov-2012
276
+ -------------------------------------------
277
+
278
+ * Updated to tzdata version 2012i
279
+ (http://mm.icann.org/pipermail/tz-announce/2012-November/000007.html).
280
+
281
+
282
+ Version 0.3.34 (tzdata v2012h) - 27-Oct-2012
283
+ --------------------------------------------
284
+
285
+ * Updated to tzdata version 2012h
286
+ (http://mm.icann.org/pipermail/tz-announce/2012-October/000006.html).
287
+
288
+
289
+ Version 0.3.33 (tzdata v2012c) - 8-Apr-2012
290
+ -------------------------------------------
291
+
292
+ * Updated to tzdata version 2012c
293
+ (http://article.gmane.org/gmane.comp.time.tz/4859).
294
+
295
+
296
+ Version 0.3.32 (tzdata v2012b) - 4-Mar-2012
297
+ -------------------------------------------
298
+
299
+ * Updated to tzdata version 2012b
300
+ (http://article.gmane.org/gmane.comp.time.tz/4756).
301
+
302
+
303
+ Version 0.3.31 (tzdata v2011n) - 6-Nov-2011
304
+ -------------------------------------------
305
+
306
+ * Updated to tzdata version 2011n
307
+ (http://article.gmane.org/gmane.comp.time.tz/4434).
308
+
309
+
310
+ Version 0.3.30 (tzdata v2011k) - 29-Sep-2011
311
+ --------------------------------------------
312
+
313
+ * Updated to tzdata version 2011k
314
+ (http://article.gmane.org/gmane.comp.time.tz/4084).
315
+
316
+
317
+ Version 0.3.29 (tzdata v2011h) - 27-Jun-2011
318
+ --------------------------------------------
319
+
320
+ * 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.
324
+ Thanks to Kurt Werle for the suggestion and patch.
325
+
326
+
327
+ Version 0.3.28 (tzdata v2011g) - 13-Jun-2011
328
+ ---------------------------------------------
329
+
330
+ * Add support for Ruby 1.9.3 (trunk revision 31668 and later). Thanks to
331
+ Aaron Patterson for reporting the problems running on the new version.
332
+ Closes #29233.
333
+
334
+
335
+ Version 0.3.27 (tzdata v2011g) - 26-Apr-2011
336
+ --------------------------------------------
337
+
338
+ * Updated to tzdata version 2011g
339
+ (http://article.gmane.org/gmane.comp.time.tz/3758).
340
+
341
+
342
+ Version 0.3.26 (tzdata v2011e) - 2-Apr-2011
343
+ -------------------------------------------
344
+
345
+ * Updated to tzdata version 2011e
346
+ (http://article.gmane.org/gmane.comp.time.tz/3707).
347
+
348
+
349
+ Version 0.3.25 (tzdata v2011d) - 14-Mar-2011
350
+ --------------------------------------------
351
+
352
+ * Updated to tzdata version 2011d
353
+ (http://article.gmane.org/gmane.comp.time.tz/3662).
354
+
355
+
356
+ Version 0.3.24 (tzdata v2010o) - 15-Jan-2011
357
+ --------------------------------------------
358
+
359
+ * Updated to tzdata version 2010o
360
+ (http://article.gmane.org/gmane.comp.time.tz/3473).
361
+
362
+
363
+ Version 0.3.23 (tzdata v2010l) - 19-Aug-2010
364
+ --------------------------------------------
365
+
366
+ * Updated to tzdata version 2010l
367
+ (http://article.gmane.org/gmane.comp.time.tz/3354).
368
+
369
+
370
+ Version 0.3.22 (tzdata v2010j) - 29-May-2010
371
+ --------------------------------------------
372
+
373
+ * Corrected file permissions issue with 0.3.21 release.
374
+
375
+
376
+ Version 0.3.21 (tzdata v2010j) - 28-May-2010
377
+ --------------------------------------------
378
+
379
+ * Updated to tzdata version 2010j
380
+ (http://article.gmane.org/gmane.comp.time.tz/3225).
381
+ * Change invalid timezone check to exclude characters not used in timezone
382
+ identifiers and avoid 'character class has duplicated range' warnings with
383
+ Ruby 1.9.2.
384
+ * Ruby 1.9.2 has deprecated "require 'rational'", but older versions of
385
+ Ruby need rational to be required. Require rational only when the Rational
386
+ module has not already been loaded.
387
+ * 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
389
+ 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.
392
+
393
+
394
+ Version 0.3.20 (tzdata v2010i) - 19-Apr-2010
395
+ --------------------------------------------
396
+
397
+ * Updated to tzdata version 2010i
398
+ (http://article.gmane.org/gmane.comp.time.tz/3202).
399
+
400
+
401
+ Version 0.3.19 (tzdata v2010h) - 5-Apr-2010
402
+ -------------------------------------------
403
+
404
+ * Updated to tzdata version 2010h
405
+ (http://article.gmane.org/gmane.comp.time.tz/3188).
406
+
407
+
408
+ Version 0.3.18 (tzdata v2010g) - 29-Mar-2010
409
+ --------------------------------------------
410
+
411
+ * Updated to tzdata version 2010g
412
+ (http://article.gmane.org/gmane.comp.time.tz/3172).
413
+
414
+
415
+ Version 0.3.17 (tzdata v2010e) - 8-Mar-2010
416
+ -------------------------------------------
417
+
418
+ * Updated to tzdata version 2010e
419
+ (http://article.gmane.org/gmane.comp.time.tz/3128).
420
+
421
+
422
+ Version 0.3.16 (tzdata v2009u) - 5-Jan-2010
423
+ -------------------------------------------
424
+
425
+ * Support the use of '-' to denote '0' as an offset in the tz data files.
426
+ Used for the first time in the SAVE field in tzdata v2009u.
427
+ * Updated to tzdata version 2009u
428
+ (http://article.gmane.org/gmane.comp.time.tz/3053).
429
+
430
+
431
+ Version 0.3.15 (tzdata v2009p) - 26-Oct-2009
432
+ --------------------------------------------
433
+
434
+ * Updated to tzdata version 2009p
435
+ (http://article.gmane.org/gmane.comp.time.tz/2953).
436
+ * Added a description to the gem spec.
437
+ * List test files in test_files instead of files in the gem spec.
438
+
439
+
440
+ Version 0.3.14 (tzdata v2009l) - 19-Aug-2009
441
+ --------------------------------------------
442
+
443
+ * Updated to tzdata version 2009l
444
+ (http://article.gmane.org/gmane.comp.time.tz/2818).
445
+ * Include current directory in load path to allow running tests on
446
+ Ruby 1.9.2, which doesn't include it by default any more.
447
+
448
+
449
+ Version 0.3.13 (tzdata v2009f) - 15-Apr-2009
450
+ --------------------------------------------
451
+
452
+ * Updated to tzdata version 2009f
453
+ (http://article.gmane.org/gmane.comp.time.tz/2668).
454
+ * Untaint the timezone module filename after validation to allow use
455
+ with $SAFE == 1 (e.g. under mod_ruby). Thanks to Dmitry Borodaenko for
456
+ the suggestion. Closes #25349.
457
+
458
+
459
+ Version 0.3.12 (tzdata v2008i) - 12-Nov-2008
460
+ --------------------------------------------
461
+
462
+ * Updated to tzdata version 2008i
463
+ (http://article.gmane.org/gmane.comp.time.tz/2440).
464
+
465
+
466
+ Version 0.3.11 (tzdata v2008g) - 7-Oct-2008
467
+ -------------------------------------------
468
+
469
+ * 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
473
+ for performance reasons). Thanks to Jeremy Kemper and Pratik Naik for
474
+ reporting this. Closes #22312.
475
+ * Apply a patch from Pratik Naik to replace assert calls that have been
476
+ deprecated in the Ruby svn trunk. Closes #22308.
477
+
478
+
479
+ Version 0.3.10 (tzdata v2008f) - 16-Sep-2008
480
+ --------------------------------------------
481
+
482
+ * Updated to tzdata version 2008f
483
+ (http://article.gmane.org/gmane.comp.time.tz/2293).
484
+
485
+
486
+ Version 0.3.9 (tzdata v2008c) - 27-May-2008
487
+ -------------------------------------------
488
+
489
+ * Updated to tzdata version 2008c
490
+ (http://article.gmane.org/gmane.comp.time.tz/2183).
491
+ * 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.
494
+ * Prevent warnings from being output when running Ruby with the -v or -w
495
+ command line options. Thanks to Paul McMahon for the patch. Closes #19719.
496
+
497
+
498
+ Version 0.3.8 (tzdata v2008b) - 24-Mar-2008
499
+ -------------------------------------------
500
+
501
+ * 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
506
+ Ruby 1.9.0. Thanks to Joshua Peek for reporting this. Closes #17606.
507
+ * Modify some of the equality test cases to cope with the differences
508
+ between Ruby 1.8.6 and Ruby 1.9.0.
509
+
510
+
511
+ Version 0.3.7 (tzdata v2008a) - 10-Mar-2008
512
+ -------------------------------------------
513
+
514
+ * Updated to tzdata version 2008a
515
+ (http://article.gmane.org/gmane.comp.time.tz/2071).
516
+
517
+
518
+ Version 0.3.6 (tzdata v2007k) - 1-Jan-2008
519
+ ------------------------------------------
520
+
521
+ * Updated to tzdata version 2007k
522
+ (http://article.gmane.org/gmane.comp.time.tz/2029).
523
+ * Removed deprecated RubyGems autorequire option.
524
+
525
+
526
+ Version 0.3.5 (tzdata v2007h) - 1-Oct-2007
527
+ ------------------------------------------
528
+
529
+ * Updated to tzdata version 2007h
530
+ (http://article.gmane.org/gmane.comp.time.tz/1878).
531
+
532
+
533
+ Version 0.3.4 (tzdata v2007g) - 21-Aug-2007
534
+ -------------------------------------------
535
+
536
+ * Updated to tzdata version 2007g
537
+ (http://article.gmane.org/gmane.comp.time.tz/1810).
538
+
539
+
540
+ Version 0.3.3 (tzdata v2006p) - 27-Nov-2006
541
+ -------------------------------------------
542
+
543
+ * Updated to tzdata version 2006p
544
+ (http://article.gmane.org/gmane.comp.time.tz/1358).
545
+
546
+
547
+ Version 0.3.2 (tzdata v2006n) - 11-Oct-2006
548
+ -------------------------------------------
549
+
550
+ * 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.
554
+
555
+
556
+ Version 0.3.1 (tzdata v2006j) - 21-Aug-2006
557
+ -------------------------------------------
558
+
559
+ * Remove colon from case statements to avoid warning in Ruby 1.8.5. #5198.
560
+ * Use temporary variable to avoid dynamic string warning from rdoc.
561
+ * Updated to tzdata version 2006j
562
+ (http://article.gmane.org/gmane.comp.time.tz/1175).
563
+
564
+
565
+ Version 0.3.0 (tzdata v2006g) - 17-Jul-2006
566
+ -------------------------------------------
567
+
568
+ * New timezone data format. Timezone data now occupies less space on disk and
569
+ 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.
576
+ * 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
583
+ geographic sense.
584
+ * The zdumptest utility now checks local to utc conversions in addition to
585
+ 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.
593
+ * Miscellaneous API documentation corrections and improvements.
594
+ * 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
597
+ are now excluded from the rdoc build).
598
+ * Installation of the gem now causes rdoc API documentation to be generated.
599
+ #4905.
600
+ * When optimizing transitions to generate zone definitions, check the
601
+ 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
603
+ 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
611
+ 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.
614
+
615
+
616
+ Version 0.2.2 (tzdata v2006g) - 17-May-2006
617
+ -------------------------------------------
618
+
619
+ * Use class-scoped instance variables to store the Timezone identifier and
620
+ singleton instance. Loading a linked zone no longer causes the parent
621
+ zone's identifier to be changed. The instance method of a linked zone class
622
+ also now returns an instance of the linked zone class rather than the parent
623
+ class. #4502.
624
+ * The zdumptest utility now compares the TZInfo zone identifier with the zdump
625
+ zone identifier.
626
+ * The zdumptestall utility now exits if not supplied with enough parameters.
627
+ * Updated to tzdata version 2006g
628
+ (http://article.gmane.org/gmane.comp.time.tz/1008).
629
+
630
+
631
+ Version 0.2.1 (tzdata v2006d) - 17-Apr-2006
632
+ -------------------------------------------
633
+
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
636
+ cached as originally intended. Thanks to Michael Smedberg for spotting this.
637
+ * Fix a performance issue with the local_to_utc period search algorithm
638
+ originally implemented in 0.1.0. The condition that was supposed to cause
639
+ 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
641
+ Jamis Buck for reporting this.
642
+ * Added abbreviation as an alias for TimezonePeriod.zone_identifier.
643
+ * 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
+
650
+ tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0))
651
+ tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0).new_offset(Rational(5, 24)))
652
+ tz.utc_to_local(Time.utc(2006, 4, 17, 15, 40, 0))
653
+ tz.utc_to_local(Time.local(2006, 4, 17, 15, 40, 0))
654
+
655
+
656
+ Version 0.2.0 (tzdata v2006c) - 3-Apr-2006
657
+ ------------------------------------------
658
+
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
662
+ 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
665
+ parameters.
666
+ * Tool to compare TZInfo conversions with output from zdump.
667
+ * TZDataParser zone generation algorithm rewritten. Now based on the zic code.
668
+ TZInfo is now 100% compatible with zic/zdump output.
669
+ * Riyadh Solar Time zones now included again (generation time has been reduced
670
+ with TZDataParser changes).
671
+ * Use binary mode when writing zone and country files to get Unix (\n) new
672
+ lines.
673
+ * Omit unnecessary quotes in zone identifier symbols.
674
+ * Omit the final transition to DST if there is a prior transition in the last
675
+ year processed to standard time.
676
+ * Updated to tzdata version 2006c
677
+ (http://article.gmane.org/gmane.comp.time.tz/920).
678
+
679
+
680
+ Version 0.1.2 (tzdata v2006a) - 5-Feb-2006
681
+ ------------------------------------------
682
+
683
+ * 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
700
+ work again.
701
+ * Updated to tzdata version 2005q.
702
+
703
+
704
+ Version 0.1.0 (tzdata v2005n) - 27-Nov-2005
705
+ -------------------------------------------
706
+
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).
709
+ The behaviour of these methods when faced with an ambiguous local time
710
+ has now changed. If you are using these methods you should check
711
+ 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
713
+ environments).
714
+ * Use rake to build packages and documentation.
715
+ * License file is now included in gem distribution.
716
+ * 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
719
+ 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
726
+ countries.
727
+ * Exclude the Riyadh Solar Time zones. The rules are only for 1987 to 1989 and
728
+ take a long time to generate and process. Riyadh Solar Time is no longer
729
+ observed.
730
+ * The last TimezonePeriod for each Timezone is now written out with an
731
+ 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.
736
+ * Updated to tzdata version 2005n.
737
+
738
+
739
+ Version 0.0.4 (tzdata v2005m) - 18-Sep-2005
740
+ -------------------------------------------
741
+
742
+ * Removed debug output accidentally included in the previous release.
743
+ * Fixed a bug in the generation of friendly zone identifiers (was inserting
744
+ 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
765
+ 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
782
+ (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.
788
+
789
+ 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)
792
+
793
+
794
+ Version 0.0.1 (tzdata v2005m) - 29-Aug-2005
795
+ -------------------------------------------
796
+
797
+ * First release.