CHANGES 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. == Version 0.3.33 (tzdata v2012c) - 8-Apr-2012
  2. * Updated to tzdata version 2012c
  3. (http://article.gmane.org/gmane.comp.time.tz/4859).
  4. == Version 0.3.32 (tzdata v2012b) - 4-Mar-2012
  5. * Updated to tzdata version 2012b
  6. (http://article.gmane.org/gmane.comp.time.tz/4756).
  7. == Version 0.3.31 (tzdata v2011n) - 6-Nov-2011
  8. * Updated to tzdata version 2011n
  9. (http://article.gmane.org/gmane.comp.time.tz/4434).
  10. == Version 0.3.30 (tzdata v2011k) - 29-Sep-2011
  11. * Updated to tzdata version 2011k
  12. (http://article.gmane.org/gmane.comp.time.tz/4084).
  13. == Version 0.3.29 (tzdata v2011h) - 27-Jun-2011
  14. * Updated to tzdata version 2011h
  15. (http://article.gmane.org/gmane.comp.time.tz/3814).
  16. * Allow the default value of the local_to_utc and period_for_local dst
  17. parameter to be specified globally with a Timezone.default_dst attribute.
  18. Thanks to Kurt Werle for the suggestion and patch.
  19. == Version 0.3.28 (tzdata v2011g) - 13-Jun-2011
  20. * Add support for Ruby 1.9.3 (trunk revision 31668 and later). Thanks to
  21. Aaron Patterson for reporting the problems running on the new version.
  22. Closes #29233.
  23. == Version 0.3.27 (tzdata v2011g) - 26-Apr-2011
  24. * Updated to tzdata version 2011g
  25. (http://article.gmane.org/gmane.comp.time.tz/3758).
  26. == Version 0.3.26 (tzdata v2011e) - 2-Apr-2011
  27. * Updated to tzdata version 2011e
  28. (http://article.gmane.org/gmane.comp.time.tz/3707).
  29. == Version 0.3.25 (tzdata v2011d) - 14-Mar-2011
  30. * Updated to tzdata version 2011d
  31. (http://article.gmane.org/gmane.comp.time.tz/3662).
  32. == Version 0.3.24 (tzdata v2010o) - 15-Jan-2011
  33. * Updated to tzdata version 2010o
  34. (http://article.gmane.org/gmane.comp.time.tz/3473).
  35. == Version 0.3.23 (tzdata v2010l) - 19-Aug-2010
  36. * Updated to tzdata version 2010l
  37. (http://article.gmane.org/gmane.comp.time.tz/3354).
  38. == Version 0.3.22 (tzdata v2010j) - 29-May-2010
  39. * Corrected file permissions issue with 0.3.21 release.
  40. == Version 0.3.21 (tzdata v2010j) - 28-May-2010
  41. * Updated to tzdata version 2010j
  42. (http://article.gmane.org/gmane.comp.time.tz/3225).
  43. * Change invalid timezone check to exclude characters not used in timezone
  44. identifiers and avoid 'character class has duplicated range' warnings with
  45. Ruby 1.9.2.
  46. * Ruby 1.9.2 has deprecated "require 'rational'", but older versions of
  47. Ruby need rational to be required. Require rational only when the Rational
  48. module has not already been loaded.
  49. * Remove circular requires (now a warning in Ruby 1.9.2). Instead of using
  50. requires in each file for dependencies, tzinfo.rb now requires all tzinfo
  51. files. If you were previously requiring files within the tzinfo directory
  52. (e.g. require 'tzinfo/timezone'), then you will now have to
  53. require 'tzinfo' instead.
  54. == Version 0.3.20 (tzdata v2010i) - 19-Apr-2010
  55. * Updated to tzdata version 2010i
  56. (http://article.gmane.org/gmane.comp.time.tz/3202).
  57. == Version 0.3.19 (tzdata v2010h) - 5-Apr-2010
  58. * Updated to tzdata version 2010h
  59. (http://article.gmane.org/gmane.comp.time.tz/3188).
  60. == Version 0.3.18 (tzdata v2010g) - 29-Mar-2010
  61. * Updated to tzdata version 2010g
  62. (http://article.gmane.org/gmane.comp.time.tz/3172).
  63. == Version 0.3.17 (tzdata v2010e) - 8-Mar-2010
  64. * Updated to tzdata version 2010e
  65. (http://article.gmane.org/gmane.comp.time.tz/3128).
  66. == Version 0.3.16 (tzdata v2009u) - 5-Jan-2010
  67. * Support the use of '-' to denote '0' as an offset in the tz data files.
  68. Used for the first time in the SAVE field in tzdata v2009u.
  69. * Updated to tzdata version 2009u
  70. (http://article.gmane.org/gmane.comp.time.tz/3053).
  71. == Version 0.3.15 (tzdata v2009p) - 26-Oct-2009
  72. * Updated to tzdata version 2009p
  73. (http://article.gmane.org/gmane.comp.time.tz/2953).
  74. * Added a description to the gem spec.
  75. * List test files in test_files instead of files in the gem spec.
  76. == Version 0.3.14 (tzdata v2009l) - 19-Aug-2009
  77. * Updated to tzdata version 2009l
  78. (http://article.gmane.org/gmane.comp.time.tz/2818).
  79. * Include current directory in load path to allow running tests on
  80. Ruby 1.9.2, which doesn't include it by default any more.
  81. == Version 0.3.13 (tzdata v2009f) - 15-Apr-2009
  82. * Updated to tzdata version 2009f
  83. (http://article.gmane.org/gmane.comp.time.tz/2668).
  84. * Untaint the timezone module filename after validation to allow use
  85. with $SAFE == 1 (e.g. under mod_ruby). Thanks to Dmitry Borodaenko for
  86. the suggestion. Closes #25349.
  87. == Version 0.3.12 (tzdata v2008i) - 12-Nov-2008
  88. * Updated to tzdata version 2008i
  89. (http://article.gmane.org/gmane.comp.time.tz/2440).
  90. == Version 0.3.11 (tzdata v2008g) - 7-Oct-2008
  91. * Updated to tzdata version 2008g
  92. (http://article.gmane.org/gmane.comp.time.tz/2335).
  93. * Support Ruby 1.9.0-5. Rational.new! has now been removed in Ruby 1.9.
  94. Only use Rational.new! if it is available (it is preferable in Ruby 1.8
  95. for performance reasons). Thanks to Jeremy Kemper and Pratik Naik for
  96. reporting this. Closes #22312.
  97. * Apply a patch from Pratik Naik to replace assert calls that have been
  98. deprecated in the Ruby svn trunk. Closes #22308.
  99. == Version 0.3.10 (tzdata v2008f) - 16-Sep-2008
  100. * Updated to tzdata version 2008f
  101. (http://article.gmane.org/gmane.comp.time.tz/2293).
  102. == Version 0.3.9 (tzdata v2008c) - 27-May-2008
  103. * Updated to tzdata version 2008c
  104. (http://article.gmane.org/gmane.comp.time.tz/2183).
  105. * Support loading timezone data in the latest trunk versions of Ruby 1.9.
  106. Rational.new! is now private, so call it using Rational.send :new! instead.
  107. Thanks to Jeremy Kemper and Pratik Naik for spotting this. Closes #19184.
  108. * Prevent warnings from being output when running Ruby with the -v or -w
  109. command line options. Thanks to Paul McMahon for the patch. Closes #19719.
  110. == Version 0.3.8 (tzdata v2008b) - 24-Mar-2008
  111. * Updated to tzdata version 2008b
  112. (http://article.gmane.org/gmane.comp.time.tz/2149).
  113. * Support loading timezone data in Ruby 1.9.0. Use DateTime.new! if it is
  114. available instead of DateTime.new0 when constructing transition times.
  115. DateTime.new! was added in Ruby 1.8.6. DateTime.new0 was removed in
  116. Ruby 1.9.0. Thanks to Joshua Peek for reporting this. Closes #17606.
  117. * Modify some of the equality test cases to cope with the differences
  118. between Ruby 1.8.6 and Ruby 1.9.0.
  119. == Version 0.3.7 (tzdata v2008a) - 10-Mar-2008
  120. * Updated to tzdata version 2008a
  121. (http://article.gmane.org/gmane.comp.time.tz/2071).
  122. == Version 0.3.6 (tzdata v2007k) - 1-Jan-2008
  123. * Updated to tzdata version 2007k
  124. (http://article.gmane.org/gmane.comp.time.tz/2029).
  125. * Removed deprecated RubyGems autorequire option.
  126. == Version 0.3.5 (tzdata v2007h) - 1-Oct-2007
  127. * Updated to tzdata version 2007h
  128. (http://article.gmane.org/gmane.comp.time.tz/1878).
  129. == Version 0.3.4 (tzdata v2007g) - 21-Aug-2007
  130. * Updated to tzdata version 2007g
  131. (http://article.gmane.org/gmane.comp.time.tz/1810).
  132. == Version 0.3.3 (tzdata v2006p) - 27-Nov-2006
  133. * Updated to tzdata version 2006p
  134. (http://article.gmane.org/gmane.comp.time.tz/1358).
  135. == Version 0.3.2 (tzdata v2006n) - 11-Oct-2006
  136. * Updated to tzdata version 2006n
  137. (http://article.gmane.org/gmane.comp.time.tz/1288). Note that this release of
  138. tzdata removes the country Serbia and Montenegro (CS) and replaces it with
  139. separate Serbia (RS) and Montenegro (ME) entries.
  140. == Version 0.3.1 (tzdata v2006j) - 21-Aug-2006
  141. * Remove colon from case statements to avoid warning in Ruby 1.8.5. #5198.
  142. * Use temporary variable to avoid dynamic string warning from rdoc.
  143. * Updated to tzdata version 2006j
  144. (http://article.gmane.org/gmane.comp.time.tz/1175).
  145. == Version 0.3.0 (tzdata v2006g) - 17-Jul-2006
  146. * New timezone data format. Timezone data now occupies less space on disk and
  147. takes less memory once loaded. #4142, #4144.
  148. * Timezone data is defined in modules rather than classes. Timezone instances
  149. returned by Timezone.get are no longer instances of data classes, but are
  150. instead instances of new DataTimezone and LinkedTimezone classes.
  151. * Timezone instances can now be used with Marshal.dump and Marshal.load. #4240.
  152. * Added a Timezone.get_proxy method that returns a TimezoneProxy object for a
  153. given identifier.
  154. * Country index data is now defined in a single module that is independent
  155. of the Country class implementation.
  156. * Country instances can now be used with Marshal.dump and Marshal.load. #4240.
  157. * Country has a new zone_info method that returns CountryTimezone objects
  158. containing additional information (latitude, longitude and a description)
  159. relating to each Timezone. #4140.
  160. * Timezones within a Country are now returned in an order that makes
  161. geographic sense.
  162. * The zdumptest utility now checks local to utc conversions in addition to
  163. utc to local conversions.
  164. * eql? method defined on Country and Timezone that is equivalent to ==.
  165. * == method of Timezone no longer raises an exception when passed an object
  166. with no identifier method.
  167. * == method of Country no longer raises an exception when passed an object
  168. with no code method.
  169. * hash method defined on Country that returns the hash of the code.
  170. * hash method defined on Timezone that returns the hash of the identifier.
  171. * Miscellaneous API documentation corrections and improvements.
  172. * Timezone definition and indexes are now excluded from rdoc (the contents were
  173. previously ignored with #:nodoc: anyway).
  174. * Removed no longer needed #:nodoc: directives from timezone data files (which
  175. are now excluded from the rdoc build).
  176. * Installation of the gem now causes rdoc API documentation to be generated.
  177. #4905.
  178. * When optimizing transitions to generate zone definitions, check the
  179. UTC and standard offsets separately rather than just the total offset to UTC.
  180. Fixes an incorrect abbreviation issue with Europe/London, Europe/Dublin and
  181. Pacific/Auckland.
  182. * Eliminated unnecessary .nil? calls to give a minor performance gain.
  183. * Timezone.all and Timezone.all_identifiers now return all the
  184. Timezones/identifiers rather than just those associated with countries. #4146.
  185. * Added all_data_zones, all_data_zone_identifiers, all_linked_zones and
  186. all_linked_zone_identifiers class methods to Timezone.
  187. * Added a strftime method to Timezone that converts a time in UTC to local
  188. time and then returns it formatted. %Z is replaced with the Timezone
  189. abbreviation for the given time (for example, EST or EDT). #4143.
  190. * Fix escaping of quotes in TZDataParser. This affected country names and
  191. descriptions of timezones within countries.
  192. == Version 0.2.2 (tzdata v2006g) - 17-May-2006
  193. * Use class-scoped instance variables to store the Timezone identifier and
  194. singleton instance. Loading a linked zone no longer causes the parent
  195. zone's identifier to be changed. The instance method of a linked zone class
  196. also now returns an instance of the linked zone class rather than the parent
  197. class. #4502.
  198. * The zdumptest utility now compares the TZInfo zone identifier with the zdump
  199. zone identifier.
  200. * The zdumptestall utility now exits if not supplied with enough parameters.
  201. * Updated to tzdata version 2006g
  202. (http://article.gmane.org/gmane.comp.time.tz/1008).
  203. == Version 0.2.1 (tzdata v2006d) - 17-Apr-2006
  204. * Fix a performance issue caused in 0.2.0 with Timezone.local_to_utc.
  205. Conversions performed on TimeOrDateTime instances passed to <=> are now
  206. cached as originally intended. Thanks to Michael Smedberg for spotting this.
  207. * Fix a performance issue with the local_to_utc period search algorithm
  208. originally implemented in 0.1.0. The condition that was supposed to cause
  209. the search to terminate when enough periods had been found was only being
  210. evaluated in a small subset of cases. Thanks to Michael Smedberg and
  211. Jamis Buck for reporting this.
  212. * Added abbreviation as an alias for TimezonePeriod.zone_identifier.
  213. * Updated to tzdata version 2006d
  214. (http://article.gmane.org/gmane.comp.time.tz/936).
  215. * Ignore any offset in DateTimes passed in (as is already done for Times).
  216. All of the following now refer to the same UTC time (15:40 on 17 April 2006).
  217. Previously, the DateTime in the second line would have been interpreted
  218. as 20:40.
  219. tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0))
  220. tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0).new_offset(Rational(5, 24)))
  221. tz.utc_to_local(Time.utc(2006, 4, 17, 15, 40, 0))
  222. tz.utc_to_local(Time.local(2006, 4, 17, 15, 40, 0))
  223. == Version 0.2.0 (tzdata v2006c) - 3-Apr-2006
  224. * Use timestamps rather than DateTime objects in zone files for times between
  225. 1970 and 2037 (the range of Time).
  226. * Don't convert passed in Time objects to DateTime in most cases (provides
  227. a substantial performance improvement).
  228. * Allow integer timestamps (time in seconds since 1970-1-1) to be used as well
  229. as Time and DateTime objects in all public methods that take times as
  230. parameters.
  231. * Tool to compare TZInfo conversions with output from zdump.
  232. * TZDataParser zone generation algorithm rewritten. Now based on the zic code.
  233. TZInfo is now 100% compatible with zic/zdump output.
  234. * Riyadh Solar Time zones now included again (generation time has been reduced
  235. with TZDataParser changes).
  236. * Use binary mode when writing zone and country files to get Unix (\n) new
  237. lines.
  238. * Omit unnecessary quotes in zone identifier symbols.
  239. * Omit the final transition to DST if there is a prior transition in the last
  240. year processed to standard time.
  241. * Updated to tzdata version 2006c
  242. (http://article.gmane.org/gmane.comp.time.tz/920).
  243. == Version 0.1.2 (tzdata v2006a) - 5-Feb-2006
  244. * Add lib directory to the load path when tzinfo is required. Makes it easier
  245. to use tzinfo gem when unpacked to vendor directory in rails.
  246. * Updated to tzdata version 2006a
  247. (http://article.gmane.org/gmane.comp.time.tz/738).
  248. * build_tz_classes rake task now handles running svn add and svn delete as new
  249. timezones and countries are added and old ones are removed.
  250. * Return a better error when attempting to use a Timezone instance that was
  251. constructed with Timezone.new(nil). This will occur when using Rails'
  252. composed_of. When the timezone identifier in the database is null, attempting
  253. to use the Timezone will now result in an UnknownTimezone exception rather
  254. than a NameError.
  255. == Version 0.1.1 (tzdata v2005q) - 18-Dec-2005
  256. * Timezones that are defined by a single unbounded period (e.g. UTC) now
  257. work again.
  258. * Updated to tzdata version 2005q.
  259. == Version 0.1.0 (tzdata v2005n) - 27-Nov-2005
  260. * period_for_local and local_to_utc now allow resolution of ambiguous
  261. times (e.g. when switching from daylight savings to standard time).
  262. The behaviour of these methods when faced with an ambiguous local time
  263. has now changed. If you are using these methods you should check
  264. the documentation. Thanks to Cliff Matthews for suggesting this change.
  265. * Added require 'date' to timezone.rb (date isn't loaded by default in all
  266. environments).
  267. * Use rake to build packages and documentation.
  268. * License file is now included in gem distribution.
  269. * Dates in definitions stored as Astronomical Julian Day numbers rather than
  270. as civil dates (improves performance creating DateTime instances).
  271. * Added options to TZDataParser to allow generation of specific zones and
  272. countries.
  273. * Moved TimezonePeriod class to timezone_period.rb.
  274. * New TimezonePeriodList class to store TimezonePeriods for a timezone and
  275. perform searches for periods.
  276. * Timezones now defined using blocks. TimezonePeriods are only instantiated
  277. when they are needed. Thanks to Jamis Buck for the suggestion.
  278. * Add options to TZDataParser to allow exclusion of specific zones and
  279. countries.
  280. * Exclude the Riyadh Solar Time zones. The rules are only for 1987 to 1989 and
  281. take a long time to generate and process. Riyadh Solar Time is no longer
  282. observed.
  283. * The last TimezonePeriod for each Timezone is now written out with an
  284. unbounded rather than arbitrary end time.
  285. * Construct the Rational offset in TimezonePeriod once when the TimezonePeriod
  286. is constructed rather than each time it is needed.
  287. * Timezone and Country now keep a cache of loaded instances to avoid running
  288. require which can be slow on some platforms.
  289. * Updated to tzdata version 2005n.
  290. == Version 0.0.4 (tzdata v2005m) - 18-Sep-2005
  291. * Removed debug output accidentally included in the previous release.
  292. * Fixed a bug in the generation of friendly zone identifiers (was inserting
  293. apostrophes into UTC, GMT, etc).
  294. * Fixed Country <=> operator (was comparing non-existent attribute)
  295. * Fixed Timezone.period_for_local error when period not found.
  296. * Added testcases for Timezone, TimezoneProxy, TimezonePeriod, Country and
  297. some selected timezones.
  298. == Version 0.0.3 (tzdata v2005m) - 17-Sep-2005
  299. * Reduced visibility of some methods added in Timezone#setup and Country#setup.
  300. * Added name method to Timezone (returns the identifier).
  301. * Added friendly_identifier method to Timezone. Returns a more friendly version
  302. of the identifier.
  303. * Added to_s method to Timezone. Returns the friendly identifier.
  304. * Added == and <=> operators to Timezone (compares identifiers).
  305. * Timezone now includes Comparable.
  306. * Added to_s method to Country.
  307. * Added == and <=> operators to Country (compares ISO 3166 country codes).
  308. * Country now includes Comparable.
  309. * New TimezoneProxy class that behaves the same as a Timezone but doesn't
  310. actually load in its definition until it is actually required.
  311. * Modified Timezone and Country methods that return Timezones to return
  312. TimezoneProxy instances instead. This makes these methods much quicker.
  313. In Ruby on Rails, you can now show a drop-down list of all timezones using the
  314. Rails time_zone_select helper method:
  315. <%= time_zone_select 'user', 'time_zone', TZInfo::Timezone.all.sort, :model => TZInfo::Timezone %>
  316. == Version 0.0.2 (tzdata v2005m) - 13-Sep-2005
  317. * Country and Timezone data is now loaded into class rather than instance
  318. variables. This makes Timezone links more efficient and saves memory if
  319. creating specific Timezone and Country classes directly.
  320. * TimezonePeriod zone_identifier is now defined as a symbol to save memory
  321. (was previously a string).
  322. * TimezonePeriod zone_identifiers that were previously '' are now :Unknown.
  323. * Timezones and Countries can now be returned using Timezone.new(identifier)
  324. and Country.new(identifier). When passed an identifier, the new method
  325. calls get to return an instance of the specified timezone or country.
  326. * Added new class methods to Timezone to return sets of zones and identifiers.
  327. Thanks to Scott Barron of Lunchbox Software for the suggestions in his
  328. article about using TZInfo with Rails
  329. (http://lunchroom.lunchboxsoftware.com/pages/tzinfo_rails)
  330. == Version 0.0.1 (tzdata v2005m) - 29-Aug-2005
  331. * First release.