Lionel Henry is now the maintainer.
load_all()
automatically registers package translations, if found.
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).
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 to Suggests
, 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 the DESCRIPTION
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.
Fix test failure in R 4.1 with regards to S4 method registration
load_all()
now preserves existing namespaces in working order. In particular, it doesn’t unload the package’s shared library and keeps it loaded instead. When reloading, a copy of the SO for the new namespace is loaded from a temporary location. These temporary SOs are only unloaded on GC and deleted from their temporary location via a weak reference attached to the namespace.
This mechanism ensures that lingering references to the namespace keep working as expected. Consequently the namespace propagation routine that was added to pkgload as a workaround has been removed.
Note that .Call()
invocations that pass a string symbol rather than a structured symbol may keep crashing, because R will look into the most recently loaded SO of a given name. Since symbol registration is now the norm, we don’t expect this to cause much trouble.
load_all()
no longer forces all bindings of a namespace to avoid lazy-load errors. Instead, it removes exported S3 methods from the relevant tables.
This improves the loading behaviour with packages that define objects in their namespaces lazily (e.g. with delayedAssign()
).
This also makes load_all()
more predictable after a method has been removed from the package. It is now actually removed from the generic table. It would previously linger until R was restarted.
If load_all()
attaches testthat, it automatically suppresses conflicts.
dev_example()
now works after removing an inconsistent call to load_all()
(@riccardoporreca, #122).
load_all()
now issues a warning if exported objects conflict with objects defined in the global environment (#112)
run_example()
arguments run
and test
are deprecated in favor of the (hopefully) more clear run_dontrun
and run_donttest
(#107).
Internal fixes for compatibility with the future 4.1.0 release.
shim_question()
now works for topics from the R base package that are passed with the double colon operator (e.g. base::min
) (@mdequeljoe, #99).
load_all()
now allows using explicitly qualified, exported names in test helpers (@klmr, #95).
load_all()
gains a compile
argument which controls more finely whether to compile the code or not. The recompile
argument is now deprecated and will be removed in a future version of pkgload.
unload()
now only removes S4 classes which were generated in the package being unloaded (#75)
help()
will no longer error when trying to load package level help (#67).
Trailing slashes now removed from all paths, which fixes issues on Windows (#73).
load_dll()
now fixed in R-devel (#77).
The help shim’s now work for :::
inputs (#72).
load_all()
now updates imports of dependent packages when a package is reloaded (#59).
load_all()
now assigns DESCRIPTION/Depends
to .Depends
object of package environment. (@yiufung pkgload#61)
load_all()
now attaches testthat
if the attach_testthat
option is TRUE
. This allows load_all()
to more closely mimic the testing environment. (#56)
check_dep_version()
and check_suggested()
are now exported.
check_dep_version()
now emits a warning and returns FALSE
rather than aborting. (#47)
Package imports are now exported when using load_all()
. This behavior can be disabled by using load_all(export_imports = FALSE)
.
The as.package()
and is.package()
functions have been removed.
load_code()
, load_data()
, load_dll()
, load_all()
, parse_ns_file()
all now take an explicit path rather than a path or a package
object.
imports_env()
, ns_env()
, pkg_env()
and unload()
now take a package name rather than a path or a package
object.
run_example()
now works on R 3.1.
unload()
now unloads S4 classes for packages loaded with library()
as well as load_all()
(#46).
load_all()
gains a helpers
option to specify whether or not to source testthat helpers. (@pitakakariki devtools #1202)
load_all()
now sources the testthat helpers in the namespace environment rather than the package environment (#40).
load_all()
now sets the NOT_CRAN
environment variable when it sources testthat helpers. It also sets DEVTOOLS_LOAD
to “true” so that you can check whether they are run during package loading.
dev_topic_path()
now only returns the last path found, fixing an error when a package has both a package function level help with the same name. (#21)
New function is_dev_package()
to determine if a given package has been loaded by pkgload::load_all()
(#2).
load_all()
no longer updates the collate directive. Instead this functionality has been moved to devtools::document()
.
dev_help()
now optionally takes a character vector of packages to search within. This replaces find_topic()
.
dev_topic_index_reset()
is now exported, and allows you to reset the topic index associated with a given package.
Added a NEWS.md
file to track changes to the package.
Initial release from code spun off from devtools