Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency tzinfo to v2 #538

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 8, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
tzinfo (source, changelog) "~> 1.2" -> "~> 2.0" age adoption passing confidence

Release Notes

tzinfo/tzinfo (tzinfo)

v2.0.6

Compare Source

  • Eliminate Object#untaint deprecation warnings on JRuby 9.4.0.0. #​145.

v2.0.5

Compare Source

  • 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
    1582-10-15.
  • 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.

v2.0.4

Compare Source

  • 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.

v2.0.3

Compare Source

  • 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.
    #​120.
  • Fixed TimeWithOffset#getlocal returning a TimeWithOffset with the
    timezone_offset still assigned when called with an offset argument on JRuby
    9.3.
  • Rubinius is no longer supported.

v2.0.2

Compare Source

  • Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #​114.
  • Fixed warnings when running on Ruby 2.8. #​113.

v2.0.1

Compare Source

  • Fixed "SecurityError: Insecure operation - require" exceptions when loading
    data with recent Ruby releases in safe mode. #​100.
  • Fixed warnings when running on Ruby 2.7. #​109.
  • Added a TZInfo::Timezone#=~ method that performs a regex match on the time
    zone identifier. #​99.
  • Added a TZInfo::Country#=~ method that performs a regex match on the country
    code.

v2.0.0

Compare Source

Added
  • 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.
Changed
  • 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 strftime.
  • 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 messages.
  • 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.
  • The DEFAULT_SEARCH_PATH and DEFAULT_ALTERNATE_ISO3166_TAB_SEARCH_PATH
    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
    improved.
  • 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 module.
  • 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.
Removed
  • 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 instead.
  • 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 instead.
  • 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.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title chore(deps): update dependency tzinfo to v2 Update dependency tzinfo to v2 Dec 8, 2024
@renovate renovate bot force-pushed the renovate/tzinfo-2.x branch from a3559b5 to 5986c64 Compare December 13, 2024 17:13
@renovate renovate bot force-pushed the renovate/tzinfo-2.x branch from 5986c64 to 78a4f28 Compare December 22, 2024 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants