Releases: r-lib/later
later 1.4.4
- Fixed timings in a test (#237). No user-facing changes.
later 1.4.3
later 1.4.2
- Fixed #208: Fixed
keyword is hidden by macro definition
compiler warning when using a C23 compiler. (@shikokuchuo, #209)
later 1.4.1
- Fixed #203: Resolves an issue where packages that have
LinkingTo: later
(includingpromises
andhttpuv
) and were built againstlater
1.4.0, would fail to load on systems that actually had older versions oflater
installed, erroring out with the message "function 'execLaterFdNative' not provided by package 'later'". With this fix, such dependent packages should gracefully deal with older versions at load time, and complain with helpful error messages if newer C interfaces (than are available on the installedlater
) are accessed. (#204)
later 1.4.0
-
Adds
later_fd()
which executes a function when a file descriptor is ready for reading or writing, at some indeterminate time in the future (subject to an optional timeout). This facilitates an event-driven approach to asynchronous or streaming downloads. (@shikokuchuo and @jcheng5, #190) -
Fixed #186: Improvements to package load time as
rlang
is now only loaded when used. This is a notable efficiency for packages with only a 'linking to' dependency onlater
. Also updates to native symbol registration from dynamic lookup. (@shikokuchuo and @wch, #187) -
Fixed #191: Errors raised in later callbacks were being re-thrown as generic C++ std::runtime_error with Rcpp >= 1.0.10 (since 2022!). (@shikokuchuo and @lionel-, #192)
later 1.3.2
later 1.3.1
- For C function declarations that take no parameters, added
void
parameter. (#172)
later 1.3.0
later 1.2.0
-
Closed #140: Previously, the event loop stopped running if the R process was forked. (#141)
-
Closed #143: Packages which link to later no longer need to take a direct dependency on Rcpp, because
later.h
no longer includesRcpp.h
. (#144) -
Removed dependency on the BH package. C++11 is now required. (#147)
later 1.1.0.1
-
Private event loops are now automatically run by their parent. That is, whenever an event loop is run, its children event loops are automatically run. The
create_loop()
function has a new parameterparent
, which defaults to the current loop. The auto-running behavior can be disabled by usingcreate_loop(parent=NULL)
. (#119) -
Fixed #73, #109: Previously, later did not build on some platforms, notably ARM, because the
-latomic
linker was needed on those platforms. A configure script now detects when-latomic
is needed. (#114) -
Previously,
execLaterNative
was initialized when the package was loaded, but notexecLaterNative2
, resulting in a warning message in some cases. (#116)