Skip to content
This repository has been archived by the owner on Apr 2, 2024. It is now read-only.

Latest commit

 

History

History
131 lines (85 loc) · 3.61 KB

CHANGELOG.md

File metadata and controls

131 lines (85 loc) · 3.61 KB

0.13.0

  • Fix RuboCop issues (thanks @utkarsh2102).
  • Change minimum required ruby version to 2.4 (thanks @utkarsh2102).

0.12.3

  • Remove git dependency (thanks @utkarsh2102).

0.12.2

  • Fix DateTime#to_s (thanks @nbeyer).

0.12.1

  • Reduce the number of files that ship in the artifact (thanks @tas50).

0.12.0

  • Fix Months#to_seconds from November (thanks @walterbrebels).

0.11.0

  • Add support for unary minus operator (thanks @walterbrebels).

0.10.1

  • Fix TimeInterval size for non UTC timezones. (#41)

0.10.0

  • Fix TimeInterval with <duration>/<end> patterns and leap years.
  • Fix decimal fractions on date atoms. WARNING some duration patterns are no longer valid.

0.9.1

  • Fix Duration#to_pattern for negative durations based on a Numeric (thanks @figwit).

0.9.0

This version is not compatible with previous versions. Atoms and Durations changed their interface when treating base dates so it is only applied when computing the Atom length (e.g. #to_seconds). As a consequence, it is no longer possible to do operations like DateTime + Duration.

  • Add time intervals (thanks @Angelmmiguel).
  • Remove Duration#to_i.
  • Change Duration#to_seconds to accept a base DateTime.
  • Remove duration dependency on a base date on the instance level.
  • Change Years#to_seconds and Months#to_seconds to accept a base DateTime.
  • Remove atom dependency on a base date on the instance level.
  • Add Atomic mixin.
  • Remove Atom abstract class.
  • Allow ISO8601::Duration to perform operations with Numeric (thanks @Angelmmiguel).

0.8.7

  • Make Atom comparable with the same kind (thanks @glassbead0).
  • Fix #18 document interfaces to core date/time classes.

0.8.6

  • Fix #26 operations with Date, DateTime and Time with Duration (e.g. ISO8601::DateTime.new('2012-07-07T20:20:20Z') - ISO8601::Duration.new('PT10M')).
  • Fix #25 accept time components with timezone and only hour component (e.g. ISO8601::Time.new('T10+01:00')).
  • Fix Docker image for testing and inspecting.

0.8.5

  • Fix DateTime#hash
  • Fix DateTime#second and Time#second precision. Now it's rounded to the first decimal.

0.8.4

  • Remove unwanted log.

0.8.3

  • Fix partial time patterns with timezone: PThh:mmZ, PThhZ.

0.8.2

  • Fix time components using comma (,) as a decimal separator.

0.8.1

  • Fix durations using comma (,) as a decimal separator.

0.8.0

  • DateTime has hash identity by value.
  • Time has hash identity by value.
  • Date has hash identity by value.
  • Duration has hash identity by value.
  • Atom has hash identity by value.
  • Atom#value returns either an integer or a float.
  • Atom#to_s returns a valid ISO8601 subpattern.

0.7.0

  • Add decimal fractions for any component in a duration.
  • Add a catch all ISO8601::Errors::StandardError.
  • Add support for comma (,) as a separator for duration decimal fractions.

0.6.0

  • Add #hash to Duration, Date, Time and DateTime.

0.5.2

  • Fix DateTime when handling empty strings.

0.5.1

  • Fix durations with sign.

0.5.0

  • Drop support for Ruby 1.8.7.
  • Add support for Rubinius 2.
  • ISO8601::DateTime#century no longer exists. Truncated representations were removed in ISO 8601:2004.
  • ISO8601::DateTime#zone delegates to core DateTime#zone.
  • ISO8601::DateTime#timezone no longer exists. Now it delegates to DateTime#zone.
  • A date can have sign: -1000-01-01, +2014-05-06T10:11:12Z.
  • A date time can be converted to an array of atoms with #to_a.
  • Ordinal dates supported.
  • A date component is represented by ISO8601::Date.
  • Week date pattern (YYYY-Wdww, YYYY-Www-D).