./time/ruby-tzinfo, Daylight savings aware timezone library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.0.6, Package name: ruby31-tzinfo-2.0.6, Maintainer: taca

TZInfo provides daylight savings aware transformations between times in
different timezones.

Data Sources

TZInfo requires a source of timezone data. There are two built-in options:

1. The TZInfo::Data library (the tzinfo-data gem). TZInfo::Data contains a
set of Ruby modules that are generated from the [IANA Time Zone

2. A zoneinfo directory. Most Unix-like systems include a zoneinfo directory
containing timezone definitions. These are also generated from the [IANA
Time Zone Database](http://www.iana.org/time-zones).

By default, TZInfo::Data will be used. If TZInfo::Data is not available
(i.e. if `require 'tzinfo/data'` fails), then TZInfo will search for a
zoneinfo directory instead (using the search path specified by

If no data source can be found, a `TZInfo::DataSourceNotFound` exception
will be raised when TZInfo is used. Further information is available [in the
wiki](http://tzinfo.github.io/datasourcenotfound) to help with resolving
`TZInfo::DataSourceNotFound` errors.

The default data source selection can be overridden using

Custom data sources can also be used. See `TZInfo::DataSource.set` for
further details.

Required to run:
[misc/ruby-thread_safe] [lang/ruby31-base]

Master sites:

Filesize: 77.5 KB

Version history: (Expand)

CVS history: (Expand)

   2022-07-30 16:24:09 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
time/ruby-tzinfo: update to 2.0.5

2.0.5 (2022-07-19)

* Changed DateTime results to always use the proleptic Gregorian calendar.
  This affects DateTime results prior to 1582-10-15 and any arithmetic
  performed on the results that would produce a secondary result prior to

* Added support for eager loading all the time zone and country data by
  calling either TZInfo::DataSource#eager_load! or TZInfo.eager_load!.
  Compatible with Ruby On Rails' eager_load_namespaces. #129.

* Ignore the SECURITY file from Arch Linux's tzdata package. #134.
   2021-10-26 13:24:47 by Nia Alarie | Files touched by this commit (263)
Log message:
time: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes
   2021-10-07 17:04:23 by Nia Alarie | Files touched by this commit (263)
Log message:
time: Remove SHA1 hashes for distfiles
   2021-01-03 09:20:26 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
time/ruby-tzinfo: update to 2.0.4

## Version 2.0.4 - 16-Dec-2020

* Fixed an incorrect InvalidTimezoneIdentifier exception raised when loading a
  zoneinfo file that includes rules specifying an additional transition to the
  final defined offset (for example, Africa/Casablanca in version 2018e of the
  Time Zone Database). #123.
   2020-11-09 15:46:06 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
time/ruby-tzinfo: update to 2.0.3

## Version 2.0.3 - 8-Nov-2020

* Added support for handling "slim" format zoneinfo files that are \ 
produced by
  default by zic version 2020b and later. The POSIX-style TZ string is now used
  calculate DST transition times after the final defined transition in the file.
* Fixed `TimeWithOffset#getlocal` returning a `TimeWithOffset` with the
  `timezone_offset` still assigned when called with an offset argument on JRuby
* Rubinius is no longer supported.
   2020-04-27 15:35:02 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
time/ruby-tzinfo: update to 2.0.2

Update ruby-tzinfo to 2.0.2.

## Version 2.0.2 - 2-Apr-2020

* Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
* Fixed warnings when running on Ruby 2.8. #113.
   2020-03-20 17:07:49 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
time/ruby-tzinfo: update to 2.0.1

Update ruby-tzinfo to 2.0.1.

2.0.1 (2019-12-24)

* Fixed "SecurityError: Insecure operation - require" exceptions when \ 
  data with recent Ruby releases in safe mode. #100.
* Fixed warnings when running on Ruby 2.7. #109.
* Add a TZInfo::Timezone#=~ method that performs a regex match on the time
  zone identifier. #99.
* Add a TZInfo::Country#=~ method that performs a regex match on the country
   2019-02-03 16:27:53 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
time/ruby-tzinfo: update to 2.0.0

2.0.0 (2018-12-26)


* to_local and period_for instance methods have been added to TZInfo::Timezone. \ 
These are similar to utc_to_local and period_for_utc, but take the UTC offset of \ 
the given time into account.
* abbreviation, dst?, base_utc_offset and observed_utc_offset instance methods \ 
have been added to TZInfo::Timezone, returning the abbreviation, whether \ 
daylight savings time is in effect and the UTC offset of the time zone at a \ 
specified time.
* A TZInfo::Timestamp class has been added. It can be used with TZInfo::Timezone \ 
in place of a Time or DateTime.
* local_time, local_datetime and local_timestamp instance methods have been \ 
added to TZInfo::Timezone. These methods construct local Time, DateTime and \ 
TZInfo::Timestamp instances with the correct UTC offset and abbreviation for the \ 
time zone.
* Support for a (yet to be released) version 2 of tzinfo-data has been added, in \ 
addition to support for version 1. The new version will remove the (no longer \ 
needed) DateTime parameters from transition times, reduce memory consumption and \ 
improve the efficiency of loading timezone and country indexes.
* A TZInfo::VERSION constant has been added, indicating the TZInfo version number.


* The minimum supported Ruby versions are now Ruby MRI 1.9.3, JRuby 1.7 (in 1.9 \ 
or later mode) and Rubinius 3.
* Local times are now returned using the correct UTC offset (instead of using \ 
UTC). #49 and #52.
* Local times are returned as instances of TimeWithOffset, DateTimeWithOffset or \ 
TZInfo::TimestampWithOffset. These classes subclass Time, DateTime and \ 
TZInfo::Timestamp respectively. They override the default behaviour of the base \ 
classes to return information about the observed offset at the indicated time. \ 
For example, the zone abbreviation is returned when using the %Z directive with \ 
* The transitions_up_to, offsets_up_to and strftime instance methods of \ 
TZInfo::Timezone now take the UTC offsets of given times into account (instead \ 
of ignoring them as was previously the case).
* The TZInfo::TimezonePeriod class has been split into two subclasses: \ 
TZInfo::OffsetTimezonePeriod and TZInfo::TransitionsTimezonePeriod. \ 
TZInfo::OffsetTimezonePeriod is returned for time zones that only have a single \ 
offset. TZInfo::TransitionsTimezonePeriod is returned for periods that start or \ 
end with a transition.
* TZInfo::TimezoneOffset#abbreviation, TZInfo::TimezonePeriod#abbreviation and \ 
TZInfo::TimezonePeriod#zone_identifier now return frozen String instances \ 
instead of instances of Symbol.
* The utc_offset and utc_total_offset attributes of TZInfo::TimezonePeriod and \ 
TZInfo::TimezoneOffset have been renamed base_utc_offset and observed_utc_offset \ 
respectively. The former names have been retained as aliases.
* TZInfo::Timezone.get, TZInfo::Timezone.get_proxy and TZInfo::Country.get can \ 
now be used with strings having any encoding. Previously, only encodings that \ 
are directly comparable with UTF-8 were supported.
* The requested identifier is included in TZInfo::InvalidTimezoneIdentifier \ 
exception messages.
* The requested country code is included in TZInfo::InvalidCountryCode exception \ 
* The full range of transitions is now loaded from zoneinfo files. Zoneinfo \ 
files produced with version 2014c of the zic tool contain an initial transition \ 
2**63 seconds before the epoch. Zoneinfo files produced with version 2014d or \ 
later of zic contain an initial transition 2**59 seconds before the epoch. These \ 
transitions would previously have been ignored, but are now returned in methods \ 
such as TZInfo::Timezone#transitions_up_to.
* The TZInfo::RubyDataSource and TZInfo::ZoneinfoDataSource classes have been \ 
moved into a new TZInfo::DataSources module. Code that is setting \ 
TZInfo::ZoneinfoDataSource.search_path or \ 
TZInfo::ZoneinfoDataSource.alternate_iso3166_tab_search_path will need to be \ 
updated accordingly.
* The TZInfo::InvalidZoneinfoDirectory and TZInfo::ZoneinfoDirectoryNotFound \ 
exception classes raised by TZInfo::DataSources::ZoneinfoDataSource have been \ 
moved into the TZInfo::DataSources module.
* Setting the data source to :ruby or instantiating \ 
TZInfo::DataSources::RubyDataSource will now immediately raise a \ 
TZInfo::DataSources::TZInfoDataNotFound exception if require 'tzinfo/data' \ 
fails. Previously, a failure would only occur later when accessing an index or \ 
loading a timezone or country.
constants of TZInfo::DataSources::ZoneinfoDataSource have been made private.
* The TZInfo::Country.data_source, \ 
TZInfo::DataSource.create_default_data_source, \ 
TZInfo::DataSources::ZoneinfoDataSource.process_search_path, \ 
TZInfo::Timezone.get_proxies and TZInfo::Timezone.data_source methods have been \ 
made private.
* The performance of loading zoneinfo files and the associated indexes has been \ 
* Memory use has been decreased by deduplicating String instances when loading \ 
country and time zone data.
* The dependency on the deprecated thread_safe gem as been removed and replaced \ 
by concurrent-ruby.
* The Info classes used to return time zone and country information from \ 
TZInfo::DataSource implementations have been moved into the TZInfo::DataSources \ 
* The TZInfo::TransitionDataTimezoneInfo class has been removed and replaced \ 
with TZInfo::DataSources::TransitionsDataTimezoneInfo and \ 
TZInfo::DataSources::ConstantOffsetDataTimezoneInfo. \ 
TZInfo::DataSources::TransitionsDataTimezoneInfo is constructed with an Array of \ 
TZInfo::TimezoneTransition instances representing times when the offset changes. \ 
TZInfo::DataSources::ConstantOffsetDataTimezoneInfo is constructed with a \ 
TZInfo::TimezoneOffset instance representing the offset constantly observed in a \ 
time zone.
* The TZInfo::DataSource#timezone_identifiers method should no longer be \ 
overridden in custom data source implementations. The implementation in the base \ 
class now calculates a result from TZInfo::DataSource#data_timezone_identifiers \ 
and TZInfo::DataSource#linked_timezone_identifiers.
* The results of the TZInfo::DataSources::RubyDataSource to_s and inspect \ 
methods now include the time zone database and tzinfo-data versions.


* Methods of TZInfo::Timezone that accept time arguments no longer allow Integer \ 
timestamp values. Time, DateTime or TZInfo::Timestamp values or objects that \ 
respond to to_i, subsec and optionally utc_offset must be used instead.
* The %:::z format directive can now only be used with TZInfo::Timezone#strftime \ 
if it is supported by Time#strftime on the runtime platform.
* Using TZInfo::Timezone.new(identifier) and TZInfo::Country.new(code) to obtain \ 
a specific TZInfo::Timezone or TZInfo::Country will no longer work. \ 
TZInfo::Timezone.get(identifier) and TZInfo::Country.get(code) should be used \ 
* The TZInfo::TimeOrDateTime class has been removed.
* The valid_for_utc?, utc_after_start?, utc_before_end?, valid_for_local?, \ 
local_after_start? and local_before_end? instance methods of \ 
TZInfo::TimezonePeriod have been removed. Comparisons can be performed with the \ 
results of the starts_at, ends_at, local_starts_at and local_ends_at methods \ 
* The to_local and to_utc instance methods of TZInfo::TimezonePeriod and \ 
TZInfo::TimezoneOffset have been removed. Conversions should be performed using \ 
the TZInfo::Timezone class instead.
* The TZInfo::TimezonePeriod#utc_total_offset_rational method has been removed. \ 
Equivalent information can be obtained using the \ 
TZInfo::TimezonePeriod#observed_utc_offset method.
* The datetime, time, local_end, local_end_time, local_start and \ 
local_start_time instance methods of TZInfo::TimezoneTransition have been \ 
removed. The at, local_end_at and local_start_at methods should be used instead \ 
and the result (a TZInfo::TimestampWithOffset) converted to either a DateTime or \ 
Time by calling to_datetime or to_time on the result.
* The us_zones and us_zone_identifiers class methods of TZInfo::Timezone have \ 
been removed. TZInfo::Country.get('US').zones and \ 
TZInfo::Country.get('US').zone_identifiers should be used instead.