Releases: r-lib/pkgload
pkgload 1.4.1
-
load_all()
now supports explicitdebug
option to control using debug compiler flags (#224, @assaron). -
The generator of
compile_commands.json
now works with packages that compile extra libraries such as ragg. -
The generator of
compile_commands.json
now works with sources in subdirectories (#308, @krlmlr). -
The generator of
compile_commands.json
now checks for existingR_SHARE_DIR
andR_INCLUDE_DIR
environment variables (#287, #296, @TimTaylor and
@shikokuchuo). -
The generator of
compile_commands.json
is now more reliable in the presence
of extra whitespace inmake
's output (#288, @TimTaylor). -
The generator of
compile_commands.json
now uses escaped double quotes for LinkingTo packages to ensure valid argument strings when parsed on Windows (#305, @tylermorganwall).
pkgload 1.4.0
-
The
reset
argment ofload_all()
is no longer supported because preserving
the namespace requires unlocking its environment, which is no longer possible
in recent versions of R. It should no longer be necessary as the performance
issues caused by resetting the namespace were resolved a while ago. -
New experimental feature for generating a
compile_commands.json
file after
eachload_all()
. This file is used by LSP servers such as clangd to provide
intellisense features in your native files. To enable it, add this directive
to yourDESCRIPTION
file:Config/build/compilation-database: true
You'll also want to add
compile_commands.json
and.cache
to your gitignore
and Rbuildignore files.To accomplish all these steps, feel free to use the unexported function
pkgload:::use_compilation_db()
. It will eventually be exported from the
usethis package. -
load_all()
now includes a link to the exact location when loading failed (@olivroy, #282). -
User onload hooks are now passed a library path.
-
Fixed an error when updating packages on load (@olivroy, #261).
-
Fixed a bug in
shim_help()
where a complexpackage =
argument
evaluating toNULL
would cause an error (#266).
pkgload 1.3.4
-
On load, pkgload now sets
PKGLOAD_PARENT_TEMPDIR
to the temporary
directory used in the current process. This provides a convenient place
to cache results for functions used in subprocesses (e.g.devtools::test()
,
devtools::document()
). -
Fixes for Debian packaging.
pkgload 1.3.3
-
dev_topic_index()
is now exported (#257). -
Fix handling of active bindings inside a package during unloading (#255, @klmr).
-
The
helpers
argument ofload_all
now defaults to the value
provided for theexport_all
arguments. This makes the behaviour
safer by default (#244). -
pkgload now depends unconditionally on pkgbuild (#249).
-
load_all()
no longer standardises version number in namespace metadata
(#231). -
New
pkg_version_raw()
to get raw package version as a string.
pkgload 1.3.2
- Fixes for CRAN checks.
pkgload 1.3.1
-
dev_topic_find()
is now exported (#215). -
dev_help()
will remind you to runpkgload::load_all()
if no
in-development packages are found (#221). -
Shimmed
?
now works even if you've renamed the documentation topic (#220). -
dev_help()
now works with an RStudio daily to deliver a rendered
development documentation that includes working images and links (#228).
pkgload 1.3.0
-
load_all()
now callsrlang::check_installed()
to prompt whether
to install missing packages.Outdated and missing dependencies are installed using pak if
installed. If not, the remotes package is used if installed.
Otherwiseinstall.packages()
is used as a last resort but this
method does not support Remotes fields. -
load_all()
gains anattach
argument set toTRUE
by default (#209).
If set toFALSE
,load_all()
creates a new namespace but doesn't
create a package environment on the search path. In this case, it is
more similar toloadNamespace()
than tolibrary()
. -
Improved the way help pages are displayed in RStudio. This makes the
behaviour within and outside RStudio consistent and fixes issues
with Rd macros (#120). -
unregister()
is now exported. This is a gentler version of
unload()
which removes the package from the search path,
unregisters methods, and unregisters the namespace. However it
doesn't try to unload the namespace or its DLL so that dangling
references keep working. -
User
onLoad
hooks are now run after exports have been
populated. This allows the hook to use exported functions. -
The loaded namespace is now locked just before user
onLoad
hooks
are run. This better reproduced the namespace sealing behaviour of
regular loading.The package environment environment is now locked as well before
both the user and packageonAttach
hooks are run. -
Added support for loading a .so or .dll file from the
inst
folder via a newlibrary.dynam()
shim (@ethanplunkett, #48). -
The
system.file()
shim now fails if you supply a path that starts
withinst
to better reproduce the behaviour with installed
packages (#104). -
load_all()
now imports its dependencies lazily to avoid parallel
installation issues (#89). -
Unknown Rd macros no longer trigger a warning when building the
package topic index (#119). -
load_all(compile = TRUE)
now forces a full recompilation (#93). -
The advice about running
rm()
to remove conflicts with objects in
the global environment is now clickable in RStudio (#199). -
New
is_loading()
predicate to detect whetherload_all()
is
currently running (#134). -
.dynLibs()
is no longer emptied when package with no DLL is
unloaded (#176). -
The
?
shim no longer interprets?"/"
as a path (#198). -
rstudioapi is no longer a hard dependency of pkgload (#187).
-
Errors thrown in user hooks are now demoted to a warning
condition. Previously they were demoted usingtry()
, making it
harder to debug them. -
load_all()
correctly re-loads modified translations, avoiding
the usual gettext behaviour.
pkgload 1.2.4
-
Lionel Henry is now the maintainer.
-
load_all()
automatically registers package translations, if found.
pkgload 1.2.3
-
pkgload now forces all bindings on unload. This fixes errors and inconsistencies when dangling references force lazy bindings after unload or reload.
-
load_all()
now restores S3 methods registered by third party packages (#163). -
load_dll()
will now preserve the DLL name when loading instead of always using the package name. This allows packages to include DLL's with different names (#162, @dfalbel).
pkgload 1.2.1
-
unload()
no longer unregisters methods for generics of the package being unloaded. This way dangling references to generics defined in the stale namespace still work as expected (r-lib/vctrs#1341). -
load_all()
will now work for packages that have testthat tests but do not have testthat installed (#151) -
The
pkgbuild
dependency has been moved toSuggests
, as it is only needed for packages with compiled code. -
load_all()
will now work for packages that have testthat tests but do not have testthat installed (#151) -
load_all(warn_conflicts = TRUE)
becomes more narrow and only warns when a function in the global environment masks a function in the package, consistent with the docs (#125, #143 @jennybc). -
load_all()
no longer does a comprehensive check on theDESCRIPTION
file when loading, instead just checking that it exists and starts with Package (#149, @malcolmbarrett) -
unload()
no longer warns when it can't unload a namespace.