Skip a test file
A new documentation site was added.
Continuous Integration now uses run.sh
from r-ci with
bspm
Logical input vectors are now recognised as an error (#121)
Additional dot-separated format '
Other small updates were made throughout the package
No longer set a C++ compilation standard as the default choices by R are sufficient for the package
Switch Rcpp include file to Rcpp/Lightest
We recommend ~/.R/Makevars
compiler flag options
-Wno-ignored-attributes -Wno-nonnull -Wno-parentheses
The tinytest runner was simplified
NA
values from conversion now trigger a warning
Skip one test file that is impossible to run across different CRAN setups, and life is definitely too short for these games.
Change remaining http:// to https:// because, well, you know.
A small utility function was added to detect the Linux distribution used in order to fine-tune tests once more.
Travis now uses Ubuntu 'bionic' and R 4.0.*.
Test and possibly condition away one more test file.
Small enhancement for compilation by setting no-rtti
define via Rcpp.
New option calcUnique
for speed-up by parseing only
unique timestamps (Stephen Froehlich in #110 fixing #109).
Added, and then removed, required file for JOSS; added 'unworthy' badge as we earned a desk reject (cf #1605 there).
Renamed internal helper function format() to fmt() to avoid clashes with base::format() (Dirk in #104).
Use S3 dispatch and generics for key functions (Dirk in #106).
Continued to tweak tests as we find some of the rhub platform to behave strangely (Dirk via commits, #107, and #108).
Added %e
format for single-digit day parsing by Boost
(Dirk addressing at least #24, #70 and #99).
Expansed and updated vignette with benchmark comparisons.
Updated unit tests using tinytest which remains a pleasure to use; versioned Suggests: is now '>= 1.0.0'.
Fix use of Rcpp::Function
-accessed Sys.setenv()
,
name all arguments in call to C++ (Christoph Sax in #95).
Relax constraint on Windows testing in several test files (Christoph Sax in #97).
Fix an issue related to TZ
environment variable setting
(Dirk in #101).
Change useR=TRUE
behaviour by directly calling R via
Rcpp (Dirk in #103 fixing #96).
Several updates to unit testing files aiming for more robust behaviour across platforms.
Updated documentation in manual pages, README and vignette.
Documentation was updated about a 'Europe/London' conversion issue (#84, inter alia).
The package is now compiled under the C++11 standard.
The package now uses tinytest for unit tests.
The iso8601()
function now places a ‘T’ between
date and time; an option switches to prior format using a space.
The vignette is now pre-made and included as-is in a Sweave document reducing the number of suggested packages.
Vignette build quirkyness on Windows resolved so vignette reinstated.
Documentation updated showing correct use of anydate
(and not anytime
) on input like ‘2016010’ following
the 0.3.0 release heuristic change.
Set #define
for Boost to make compilation more quiet.
Added a new vignette introducing the anytime package. Seemingly it cannot be compiled on Windows so included prebuilt.
Some more tests for anydate
were added along with so
code coverage tags.
The C++ code was robustified in two places to not trigger
rchk
warnings (#79).
Three unit test files which fail on Solaris are now skipping this os as we cannot reproduce or test on this OS (#80).
Numeric input is now preserved rather than silently cast to the return object type (#69 fixing #68).
New assertion function assertDate()
and assertTime()
.
Unit tests were expanded for the new functions, for conversion
from integer as well as for yyyymmdd()
.
Numeric input is now always an offset to epoch, with
anytime()
using seconds, and anydate()
using dates.
(#65 fixing #63).
Old behaviour can be re-enabled with an option also supporting
a global setting getOption("anytimeOldHeuristic")
RStudio versions 1.1.129 or later can run all functions without fear of crashing due to a change in their use of Boost.
Replaced init.c
with registration code inside of
RcppExports.cpp
thanks to Rcpp 0.12.11.
Address corner case of integer-typed (large) values
corresponding to POSIXct
time (PR #57 closing ##56)
Add special case for ‘Europe/London’ and 31 Oct 1971 BST change to avoid a one-hour offset error (#58 fixing #36 and #51)
Address another corner case of numeric values corresponding to
Date
types which are now returned as Date
Added file init.c
with calls to R_registerRoutines()
and R_useDynamicSymbols()
; already used .registration=TRUE
in useDynLib
in NAMESPACE
The new DatetimeVector
class from Rcpp is now
used, and proper versioned Depends: have been added (PR #43)
The anydate
and utcdate
functions convert again
from factor and ordered (PR #46 closing #44)
A format similar to RFC 28122 but with additonal timezone text can now be parsed (PR #48 closing #47)
Conversion from POSIXt
to Date
now also respect
the timezone (PR #50 closing #49)
The internal .onLoad
functions was updated
The Travis setup uses https to fetch the run script
Added (exported) helper functions iso8601(), rfc2822() and rfc3339() to format date(time) objects according to standards
Conversion to dates is now more robust thanks to improved internal processing (PR #39 closing #36)
The ISO 8601 format is now recognised, however the timezone information is not parsed by Boost Date_Time (which is a known upstream limitation) (PR #38 closing #37)
The 'allFormats.R' test script was significantly strengthened (#40)
Test scripts like 'simpleTests.R' have as also been strengthened (#41); on Windows and in one file two tests need to be skipped.
A new 'bulkTest.R' test script was added testing parsing against what R returns
The (internal) string processing and splitting now uses Boost algorithm functions which avoids a (bizarre) bug on Windows. (#33)
Test coverage was increased.
Both anydate()
and utcdate()
no longer attempt
to convert an input value that is already of type Date
.
The string splitter (needed for the 'all-digits' formats extending Boost Date_time) is now more defensive about the input argument and more robust. Thanks to Bob Jansen for the heads-up (PR #30 closing issue #29).
Code coverage reporting has been added (PR #31).
New functions utctime()
and utcdate()
were
added to parse input as coordinated universal time; the
functionality is also available in anytime()
and
anydate()
via a new argument asUTC
(PR #22)
New (date)time format for RFC822-alike dates, and expanded existing datetime formats to all support fractional seconds (PR #21)
Extended functionality to support not only ‘YYYYMMDD’ (without a separator, and not covered by Boost) but also with ‘HHMM’, ‘HHMMSS’ and ‘HHMMSS.ffffff’ (PR #30 fixing issue #29)
Extended functionality to support ‘HHMMSS[.ffffff]’ following other date formats.
Documentation and tests have been expanded; typos corrected
New (unexported) helper functions setTZ
,
testOutput
, setDebug
The testFormat
(and testOutput
) functions cannot
be called under RStudio (PR #27 fixing issue #25).
More robust support for non-finite values such as NA
,
NaN
or Inf
(Fixing issue #16)
Before converting via lexical_cast
, assign to atomic
type via template logic to avoid an UBSAN issue (PR #15
closing issue #14)
More robust initialization and timezone information gathering.
More robust processing of non-finite input also coping with
non-finite values such as NA
, NaN
and Inf
which
all return NA
Allow numeric POSIXt
representation on input, also
creating proper POSIXct
(or, if requested, Date
)
Added (non-exported) helper function testFormat()
Do not access tm_isdst
on Windows for dates before the epoch
(pull request #13 fixing issue #12); added test as well
Refactored to use a simple class wrapped around two vector with (string) formats and locales; this allow for adding formats; also adds accessor for formats (#4, closes #1 and #3).
New function addFormats()
and getFormats()
.
Relaxed one tests which showed problems on some platforms.
Added as.POSIXlt()
step to anydate()
ensuring
all POSIXlt
components are set (#6 fixing #5).
Initial release with anytime()
and anydate