Skip to content

Latest commit

 

History

History
214 lines (122 loc) · 6.23 KB

NEWS.md

File metadata and controls

214 lines (122 loc) · 6.23 KB

hms 1.1.3.9002

  • Merged cran-1.1.3 into main.

hms 1.1.3.9001

  • Internal changes only.

hms 1.1.3.9000

Bug fixes

  • Fix method consistency, checked by R-devel.

Chore

  • Use rlang instead of ellipsis (#106).

hms 1.1.3

Bug fixes

  • Fix method consistency, checked by R-devel.

Internal

  • Use rlang instead of ellipsis (#106).

hms 1.1.2

  • Re-rendered documentation for compatibility with R-devel.

hms 1.1.1

  • Avoid blanket import for lifecycle package for compatibility with upcoming rlang.
  • Establish compatibility with development version of testthat (#101, @lionel-).

hms 1.1.0

Breaking changes

  • "hms" objects no longer have a common type with character and numeric. Combining such values previously threw a warning, now throws an error (#94).
  • vec_cast() and as_hms() throw error instead of a warning if input can't be parsed (#68).

Features

  • New unique.hms() method (#98, @joethorley).
  • as_hms() is a generic again (#81).

Internal

  • Avoid LazyData in DESCRIPTION.
  • Bump required versions of ellipsis and vctrs to avoid warning during package load.
  • Using lifecycle package (#94).

hms 1.0.0

Life cycle

  • hms is now marked as "stable".

Breaking changes

  • "hms" objects no longer have a common type with character and numeric. Combining such values previously threw a warning, now throws an error (#94).
  • vec_cast() and as_hms() now throw error instead of a warning if input can't be parsed (#68).

Features

  • as_hms() is a generic again (#81).
  • round_hms() and trunc_hms() gain digits argument (#78, @hglanz).

Bug fixes

  • as_hms() and vec_cast() now correctly treat objects of class "difftime" with integer mode (#84).

Internal

  • Using lifecycle package (#94).
  • hms has been re-licensed as MIT (#86).

hms 0.5.3

  • Use vec_default_ptype2(), remove vec_ptype2.hms.unspecified() (#80, @romainfrancois).
  • vec_ptype2.hms.default() forwards to vec_default_ptype2() for compatibility with vctrs 0.2.1.
  • Remove as.data.frame.hms(), handeld by vctrs.

hms 0.5.2.9000

  • Internal changes only.

hms 0.5.2

hms 0.5.1

  • Lossy casts from character vectors to hms now also trigger a warning if the cast succeeds in the first element of the vector but fails for other elements.

hms 0.5.0

Breaking changes

  • Now based on vctrs >= 0.2.0 (#61). This adds support for vec_cast() and vec_ptype2(). Some operations (such as subset assignment) are now stricter. The new_hms() constructor permits safe construction of hms objects from a numeric vector.

  • The new is_hms() deprecates the existing is.hms(). as.hms() is deprecated in favor of vec_cast() or the new as_hms() (which is just a thin wrapper around vec_cast()).

Printing

  • Always show seconds in a pillar if they are different from zero (#54).

  • Values with nonzero hours, seconds and split-seconds are now displayed correctly in tibbles (#56), even with a very small distance to the full second (#64).

Internal

  • Don't test colored output on CRAN.
  • Correct reference link on r4ds (#58, @evanhaldane).

hms 0.4.2

  • Adapted tests to pillar 1.2.1.

hms 0.4.1

  • Preserve NA when converting to character (#51, @jeroen).
  • Adapted tests to pillar 1.1.0.

hms 0.4.0

Breaking changes

  • as.hms.POSIXt() now defaults to the current time zone, the previous default was "UTC" and can be restored by calling pkgconfig::set_config("hms::default_tz", "UTC").

New features

  • Pillar support, will display hms columns in tibbles in color on terminals that support it (#43).
  • New round_hms() and trunc_hms() for rounding or truncating to a given multiple of seconds (#31).
  • New parse_hms() and parse_hm() to parse strings in "HH:MM:SS" and "HH:MM" formats (#30).
  • as.hms.POSIXt() gains tz argument, default "UTC" (#28).
  • as.hms.character() and parse_hms() accept fractional seconds (#33).

Bug fixes

  • hms() now works correctly if all four components (days, hours, minutes, seconds) are passed (#49).
  • hms() creates a zero-length object of class hms that prints as "hms()".
  • hms(integer()) and as.hms(integer()) both work and are identical to hms().
  • Values with durations of over 10000 hours are now printed correctly (#48).
  • c() now returns a hms (#41, @qgeissmann).

Documentation and error messages

  • Fix and enhance examples in ?hms.
  • Documentation is in Markdown format now.
  • Improved error message if calling hms() with a character argument (#29).

hms 0.3

  • Fix lubridate test for compatibility with 1.6.0 (#23, @vspinu).
  • NA values are formatted as NA (#22).

hms 0.2

Minor fixes and improvements.

  • Subsetting keeps hms class (#16).
  • format.hms() right-justifies the output by padding with spaces from the left, as.character.hms() remains unchanged.
  • Times larger than 24 hours or with split seconds are now formatted correctly (#12, #13).
  • Sub-second part is printed with up to six digits, for even smaller values trailing zeros are shown (#17).

hms 0.1

First CRAN release.

  • Values are stored as a numeric vector that contains the number of seconds since midnight.
    • Inherits from difftime class.
    • Updating units is a no-op, anything different from "secs" issues a warning.
  • Supports construction from time values, coercion to and from various data types, and formatting.
    • Conversion from numeric treats input as seconds.
    • Negative times are formatted with a leading -.
  • Can be used as a regular column in a data frame.
  • Full test coverage.
    • Test for arithmetic with Date, POSIXt and hms classes.
    • Test basic compatibility with lubridate package (#5).
  • Interface:
    • hms() (with rigorous argument checks)
    • as.hms() for character, numeric, POSIXct and POSIXlt
    • as.xxx.hms() for character, numeric (implicitly), POSIXct and POSIXlt
    • is.hms()
    • as.data.frame.hms() (forwards to as.data.frame.difftime())
    • format.hms()
    • print.hms() (returns unchanged input invisibly)