librarian 1.8.1 (2021-07-12)
- FIX - There was an issue where brand new GitHub packages wouldn’t be
installed unless update_all = TRUE. Closes #27.
- FIX - Changed link to CONDUCT.md in README to an absolute link for
CRAN resubmission.
- FIX - Removed LazyDatafrom DESCRIPTION for CRAN
resubmission.
- FIX - Cached data is no longer used when checking if a package is
installed.
librarian 1.8.0 (2021-06-29)
- ADD - stock()lets you install packages from a list
without attaching them, unlikeshelf()which does both.
Closes #26.
- MOD - shelf()was refactored to pull package
installation into the newstock()function.
- FIX - An internal QA test was failing because the dependency list of
the package testthathas changed since the lastlibrarianversion c. 2019. Updated the list.
- FIX - Results of stock()andshelf()are
now reported in the same order as the user gave them in....
- MOD - update_all = TRUEinshelf()andstock()now force reinstallation of a GitHub package even
if the remote package’s SHA1 matches the installed version. The
reasoning is a) that ‘forcing an update’ should actually perform an
update even if the files are identical, and b) in the event that some of
the user’s files have been changed, the stored SHA1 will not reflect
this. Closes #24.
- FIX - The “paths ‘-1’ are not writeable” error was apparently fixed
in v1.7.2, but that version was never uploaded to CRAN. Uploading it to
CRAN should hopefully solve this once and for all. Closes #21. Closes
#23.
librarian 1.7.2 (2019-03-11)
- FIX - lib_paths()doesn’t call itself as an argument inshelf(). Thanks, Miles Smith!
- FIX - shelf()now exits as soon as possible by trying
to attach all packages right at the start of the function. Previously,
package attachment was done only at the end, after all the other checks
were done. If you setupdate_all = TRUEthen the function
will run package installation first and package attachment second.
Closes #19.
- FIX - unshelf()only acts on dependencies that are
actually attached. It previously also acted on packages that were only
namespaced but not attached. Closes #20.
- FIX - make_dirs()no longer validates filenames that
contain dots as if they were filenames,
e.g.C:/MyPath/R/3.5.
- FIX - lib_paths()shows names of non-writeable paths,
instead of the result-1.
librarian 1.7.0 (2019-03-13)
- FIX - You can now detach everything except R’s default packages by
using safe = FALSEinunshelf(). Ifsafe = TRUE, the packages that you’ve set as default ones
in your .RProfile (vialib_startup()for example) will not
be detached. Fixes #17.
- ADD - check_attached()andcheck_installed(), which lets you check the status of
packages. If you run the functions with no packages named, they will
return a list of all packages that are attached and installed.
- MOD - shelf(),unshelf(),reshelf(),check_attached(), andcheck_installed()can now accept four different input
methods:
- A comma-separated list of bare names.
shelf(package, name, here)
- A comma-separated list of strings.
shelf("package", "name", "here")
- A comma-separated list of names and strings.
shelf("package", name, "here")
- A character vector of package names, as long as it is the only item
passed in ....shelf(c("package", "name", "here"))
 
- These changes were made to accommodate the advanced input methods of
remotes. They also make it possible to use these functions
inside scripts, like passing package lists around.
 
- ADD - Many new unit tests, with more stringent testing methods.
- MOD - Major refactoring. The biggest change is that user-facing
stuff like messages have been extracted from the functions so that the
logic of the function is easier to maintain.
librarian 1.6.1 (2019-03-09)
- FIX - unshelf()witheverything = TRUEarg
now detaches all non-default packages ifsafe = FALSEis also set. In the past, it would leave
behind the packages that you had added to your .Rprofile usinglib_startup(). This is still the default behaviour.
- ADD - Various behind-the-scenes helper functions in preparation for
a code refactor.
librarian 1.6.0 (2019-02-19)
- MOD - biocLitehas been replaced withBiocManagerfor installing BioConductor packages.BiocManagerhas been added as a dependency.
- FIX - Various spelling errors in preparation for CRAN
submission.
- ADD - Vignette for CRAN
- ADD - browse_cran()for searching CRAN package titles
and descriptions by keyword or regular expression.
librarian 1.5.5 (2019-02-18)
- FIX - nse_dots()used to insert spaces in names that
included-because it was formatting them nicely as if they
were expressions with the minus operator. The function now removes any
spaces that were created in the process of converting from a symbol to a
string. Closes #13.
- MOD - remotesreplacesdevtools. Closes #11.
- REM - The backportspackage is no longer needed.
librarian 1.5.4 (2019-02-15)
- FIX - The regular expression used in
librarian:::check_installed()failed if the package name
had a.inside it, so those packages were installable but
not attachable with librarian. Closes #12.
librarian 1.5.3 (2019-01-24)
- MOD - Less alarming and more informative message (not a warning) for
when the cran_repoargument inshelf()contains the default R value@CRAN@. Closes Issue
#10. Thanks, Jim Hunter!
librarian 1.5.2 (2018-11-19)
- FIX - The code comment that lib_startup()uses to mark
the lines it edited previously indicated an old function name.
librarian 1.5.1 (2018-11-15)
- MOD - check_installed()now works much faster, so
librarian in general should work much faster becausecheck_installed()was called in every function.
librarian 1.5.0 (2018-11-02)
- ADD - lib_startup()lets you set library search paths
and packages that will be loaded globally at the start of every R
session, or on a per-project basis.
librarian 1.4.0
- ADD - shelf()now supports installing Bioconductor
packages viabiocLite(). Bioconductor’sBiobasepackage needs to be installed before
librarian will attempt to install Bioconductor packages.
librarian 1.3.2
- REVERT - R dependency back to => 3.4.0.
librarian 1.3.1
- FIX - librarian was written for R 3.5.0 but only asked for 3.4.0 as
a dependency. The R dependency is now 3.5.0.
- MOD - I have added a dependency for backportsso that
users of R < 3.5.0 do not have to update their R installation for
only one important function that librarian needs
(...length()). Closes issue #4.
- FIX - Sometimes the CRAN URL check would return a vector of length
>1, raising a warning message.
librarian 1.3.0
- ADD - lib_paths()is a wrapper for.libPaths()with folder creation built-in. It lets you name
and create folders where new packages will be installed, view the
folders that are on the package search path, and reshuffle their
order.
- ADD - libargument forshelf()lets you
specify the folder where new packages will be installed. Theaskargument controls whether R asks for permission before
creating this folder; setask = FALSEto create the folder
automatically.
- If the packages are already installed, they will be loaded from
their current location and not re-installed.
- If you set update_all = TRUE, a new copy of the package
will be installed tolib. This means that you can
potentially have several copies of the same package across many folders
on your machine, each a different version. I felt that this was
reasonable so that you could maintain a different library folder for
different projects, and updates that you made in Project B would not
affect the package versions you rely on for Project A.
 
- FIX - The cran_repowarning raised byshelf()now shows the original string.
- FIX - Unexported functions are now properly documented.
- FIX - unshelf()raises an error when you haven’t told
it to detach anything.
librarian 1.2.0
- FIX - shelf()now sets a default CRAN repo properly on
the command line.
- REM - The custom_repoargument inshelf()has been renamed tocran_repo.
- cran_repoarg checks that its value is a valid URL. I
previously supported- custom_repo = NULLbecause the base- install.packages()uses- NULLto signal
installation from a local file, but the point of librarian is
to install CRAN and GitHub packages from the net, so- cran_repodoes not keep this functionality.
 
- MOD - Improved the documentation following CRAN feedback.
- ADD - shelf(),unshelf(), andreshelf()now invisibly return named vectors describing the
packages that were operated on and whether they were successfully
attached or detached.
- ADD - Unit tests to make sure that my fixes don’t break stuff.
- ADD - unshelf(everything = TRUE)argument detaches all
packages except for the default ones.
- ADD - unshelf(safe = TRUE)argument checks if packages
are still needed by others before detaching them.
- ADD - unshelf(warn = TRUE)argument will print a
Message if packages were not detached (becausesafe = TRUEand the packages were still needed).
- ADD - unshelf(..., also_depends = TRUE)argument
detaches packages named in...as well as their
dependencies.
- With the safeandquietarguments
defaulting toTRUE, the default behaviour is to leave
packages behind if other packages in the search path still need them,
but not to interrupt the user with a message about it.unshelf()still invisibly returns the success/failure for
each package it attempted to detached.
- Looking through the search path is pretty slow, I don’t recommend it
for sessions with lots of packages!
 
- MOD - The new dependency-checking code needs the toolspackage, but it’s distributed with R.
librarian 1.1.0
- ADD - reshelf()for refreshing a package. Useful for
loading new builds of your personal package.
librarian 1.0.3
- ADD - unshelf()can handle the Github
Username/packagename format now, instead of requiring the user to
provide only the package name. The biggest effect of this change is that
if you want to unload your packages, you can now just change yourshelf()tounshelf()and run it.
- ADD - shelf()andunshelf()check for
duplicates in the package list you provide.
librarian 1.0.2
- FIX - Many documentation changes for CRAN submission.
- FIX - Import utils(a default package) for base R’s
package-handling functions. Omitting this caused warnings in R CMD
CHECK.
- FIX - Bug in unshelf()that made it try to unload
packages even if they were not loaded.
- ADD - custom_repoargument forshelf(),
which defaults to R’s default behaviour.
librarian 1.0.1
- REM - No longer imports rlang. Only importsdevtoolsnow.
- ADD - shelf()now returnsdevtools::session_info()invisibly so that you can print
it.
- ADD - NEWS.mdfile to track changes to the
package.
- ADD - info re. updating package dependencies.
librarian 1.0.0
- Initial release. Includes shelf()andunshelf()in feature-complete form.