@philr philr released this Jul 17, 2006 · 375 commits to master since this release

  • New timezone data format. Timezone data now occupies less space on disk and takes less memory once loaded. #4142, #4144.
  • Timezone data is defined in modules rather than classes. Timezone instances returned by Timezone.get are no longer instances of data classes, but are instead instances of new DataTimezone and LinkedTimezone classes.
  • Timezone instances can now be used with Marshal.dump and Marshal.load. #4240.
  • Added a Timezone.get_proxy method that returns a TimezoneProxy object for a given identifier.
  • Country index data is now defined in a single module that is independent of the Country class implementation.
  • Country instances can now be used with Marshal.dump and Marshal.load. #4240.
  • Country has a new zone_info method that returns CountryTimezone objects containing additional information (latitude, longitude and a description) relating to each Timezone. #4140.
  • Timezones within a Country are now returned in an order that makes geographic sense.
  • The zdumptest utility now checks local to utc conversions in addition to utc to local conversions.
  • eql? method defined on Country and Timezone that is equivalent to ==.
  • == method of Timezone no longer raises an exception when passed an object with no identifier method.
  • == method of Country no longer raises an exception when passed an object with no code method.
  • hash method defined on Country that returns the hash of the code.
  • hash method defined on Timezone that returns the hash of the identifier.
  • Miscellaneous API documentation corrections and improvements.
  • Timezone definition and indexes are now excluded from rdoc (the contents were previously ignored with #:nodoc: anyway).
  • Removed no longer needed #:nodoc: directives from timezone data files (which are now excluded from the rdoc build).
  • Installation of the gem now causes rdoc API documentation to be generated. #4905.
  • When optimizing transitions to generate zone definitions, check the UTC and standard offsets separately rather than just the total offset to UTC. Fixes an incorrect abbreviation issue with Europe/London, Europe/Dublin and Pacific/Auckland.
  • Eliminated unnecessary .nil? calls to give a minor performance gain.
  • Timezone.all and Timezone.all_identifiers now return all the Timezones/identifiers rather than just those associated with countries. #4146.
  • Added all_data_zones, all_data_zone_identifiers, all_linked_zones and all_linked_zone_identifiers class methods to Timezone.
  • Added a strftime method to Timezone that converts a time in UTC to local time and then returns it formatted. %Z is replaced with the Timezone abbreviation for the given time (for example, EST or EDT). #4143.
  • Fix escaping of quotes in TZDataParser. This affected country names and descriptions of timezones within countries.

TZInfo v0.3.0 on RubyGems.org