903d25a7f7
# 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 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. # pkgload 1.2.0 * 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. |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile |