New holiday and calendar API and corresponding vignette
vignette("holidays-calendars")
(#96):
rholiday()
creates a new holiday from a holiday name and a
rschedule that defines when the holiday occurs. There are a number of
pre-created holidays prefixed with hol_*()
, such as hol_christmas()
and hol_us_thanksgiving()
. Holidays are rschedules, so you can use all
of the alma_*()
functions on them.
hol_observe()
, hol_offset()
, and hol_rename()
are three helpers for
the holiday API. In particular, hol_observe()
tweaks a holiday's
observance date to align with when your business actually celebrated that
holiday.
rcalendar()
bundles multiple holidays together into a calendar. Calendars
are similar to runion()
s, so you can use all the alma_*()
functions on
these, but they also come with their own specialized API of functions that
start with cal_*()
, such as cal_match()
to look up the holiday name a
date corresponds to, and cal_events()
to filter for all of the holidays
within a particular year.
cal_us_federal()
is an example calendar representing the federal holidays
recognized in the United States.
New roffset()
for creating an rschedule with events that are offset from an
existing rschedule (#94).
New rcustom()
for creating an rschedule from manually defined event dates
(#90).
alma_events()
has gained a year
argument to limit the returned set of
events to specific years.
runion()
, rintersect()
, and rsetdiff()
have all gained ...
which
allows you to provide rschedules at creation time. This is now the preferred
way to create these set-based rschedules (#91).
Steppers created with stepper()
now work as .before
and .after
arguments
of slider::slide_index()
and friends (#80).
The following functions have been deprecated in favor of more intuitively named alternatives (#83):
recur_on_mday()
-> recur_on_day_of_month()
recur_on_wday()
-> recur_on_day_of_week()
recur_on_yday()
-> recur_on_day_of_year()
recur_on_yweek()
-> recur_on_week_of_year()
recur_on_ymonth()
-> recur_on_month_of_year()
These functions are being aggressively deprecated and will be removed in the next minor version of almanac.
The family of add_*()
functions has been deprecated (#92).
add_rschedule()
has been deprecated in favor of using the ...
argument
of runion()
, rintersect()
, and rsetdiff()
directly.
add_rdates()
has been deprecated in favor of using a combination of
runion()
and rcustom()
.
add_exdates()
has been deprecated in favor of using a combination of
rsetdiff()
and rcustom()
.
These functions are being aggressively deprecated and will be removed in the next minor version of almanac.
The offset
argument of recur_on_easter()
is deprecated in favor of using
roffset()
(#94).
All almanac class names are now prefixed with almanac_*
to avoid potential
clashes with other packages.
The recur_with_week_start()
argument wday
has been renamed to day
.
The following developer facing functions have been removed because they are either no longer applicable or provided extension mechanisms that are not very useful in practice (#93):
new_rbundle()
new_runion()
new_rintersect()
new_rsetdiff()
rbundle_restore()
recur_for_count()
no longer overrides until
(#95).
New almanac_since()
and almanac_until()
helpers to access the default
since
and until
values used for all rules (#95).
Greatly improved the print methods of all almanac classes using cli (#86).
Updated internal JavaScript rrule library to version 2.7.2 (#82).
R >=3.5.0 is now required, which is in line with tidyverse standards.
Explicitly imports R6::R6Class()
and V8::v8()
to avoid R CMD Check
false alarms (#74).
Fix USBAN error of casting NA_real_
and NaN
to integer (#72).
NEWS.md
file to track changes to the package.