deprecate_soft()
now follows the verbosity option when called from the global environment (#113).
last_warnings()
has been renamed to last_lifecycle_warnings()
and last_warning()
has been removed. This is for compatibility with the future rlang::last_warnings()
function to be released in the next rlang version.
New vignettes:
vignette("stages")
describes the lifecycle stagesvignette("manage")
teaches you how to manage lifecycle changes in functions you use.vignette("communicate")
shows how to use lifecycle in functions that you write.In deprecate_soft()
, deprecate_warn()
, and deprecate_stop()
:
You can deprecate an argument with foo(arg)
instead of foo(arg =)
(#78). This syntax is similar in spirit to the formal arguments of function definitions.
You can deprecate R6 methods by using class$method()
(#54).
A character vector details
is now converted into a bulleted list (#55).
Messages for non-prefix functions (like “x<-
()” and “%>%
()”) look a little nicer (#95).
Manually printed warnings now omit the advice footer (#68).
Experimental signal_stage()
can be used to signal that a function is experimental or superseded. These signals are not currently hooked up to any behaviour, but we’ll add tools in a future release (#44).
lifecycle_cnd_data()
has been removed; as far as I can tell it wasn’t used by anyone.
Lifecycle warnings are now displayed once every 8 hours.
Added experimental signal_experimental()
and signal_superseded()
functions.
Added the “superseded” lifecycle stage to the documentation.
deprecate_stop()
now mentions that function is defunct (#28).
New expect_deprecated()
and expect_defunct()
functions for testting lifecycle warnings and errors. expect_deprecated()
automatically sets the lifecycle_verbosity
option to "warning"
to enforce warnings at each invokation rather than once per session.
New syntax "foo(arg = 'can\\'t be a baz')"
to describe that specific inputs for an argument are deprecated (#30, @krlmlr).
New is_present()
function to test whether the caller has supplied a deprecated()
function.
Deprecated functions under the control of the developer now warn repeatedly in unit tests.
Deprecation warnings now record a backtrace. Call lifecycle::last_lifecycle_warnings()
and lifecycle::last_warning()
to print the warnings that occurred during the last command, along with their backtraces.
The naming scheme of signaller functions has been simplified:
signal_soft_deprecated()
is now deprecate_soft()
.warn_deprecated()
is now deprecate_warn()
.stop_defunct()
is now deprecate_stop()
.The signaller functions now take a version and two descriptors for the deprecated feature and its replacement (the latter is optional). The deprecation message is built from these components. You can pass a details
argument to append additional information to the generated deprecation message.
Helpers from rlang’s compat-lifecycle.R
drop-in file are now exported in this package.