Skip to content

Releases: r-lib/pkgdepends

pkgdepends 0.8.0

13 Sep 07:56
Compare
Choose a tag to compare
  • pkgdepends now supports gitlab:: package sources better, by adding
    explicit syntax to specify subdirectories (#353, @dgkf).

  • gitlab:: and git:: package sources now support git submodules if
    the git-submodules configuration option is set to TRUE. See
    ?"pkgdepends-config" (#354).

  • The new ?ignore-unavailable parameter makes it easy to ignore soft
    dependencies that are unavailable
    (r-lib/pak#606).

  • pkgdepends now automatically ignores soft dependencies that have an
    incompatible OS type (OS_type entry in DESCRIPTION) when installing
    packages.

pkgdepends 0.7.2

17 Mar 17:59
Compare
Choose a tag to compare
  • pkgdepends now supports the * wildcard for parameter specifications,
    for paramrters applied to all packages. E.g. *=?source means
    compiling all packages from source.

pkgdepends 0.7.1

10 Dec 23:28
Compare
Choose a tag to compare
  • pkgdepends now does not import the glue, rprojroot and prettyunits
    packages.

  • pkgdepends can now handle the case when Config/Needs/* dependencies
    are requested for package from a repository.

pkgdepends 0.7.0

10 Nov 10:49
Compare
Choose a tag to compare
  • pkgdepends now correctly supports the @*release suffix for GitHub
    repositories (#275, @pawelru).

  • pkgdepends now correctly handles having multiple instances of the same
    package in the metadata, with different R version requirements
    (r-lib/pak#534, #331,
    r-lib/pak#538).

  • git:: package references work better now for Azure DevOps
    (@jameslairdsmith, #333, #342).

  • pkgdepends now correctly resolves the latest GitHub release with
    the @*release notation (@pawelru, #321).

  • pkgdepends now does a better job at accepting installed packages, and
    avoids reinstalling more packages than needed when using a lock file
    (r-lib/actions#759, #338).

pkgdepends 0.6.0

19 Jul 07:26
Compare
Choose a tag to compare
  • Many system requirements improvements:

    • New sysreqs functions:
      • sysreqs_check_installed(): check if all required system packages
        are installed,
      • sysreqs_fix_installed(): install missing system packages,
      • sysreqs_db_list(): list system requirements database,
      • sysreqs_db_match(): match SystemRrequirements field(s) to database,
      • sysreqs_db_update(): update system requirements database,
      • sysreqs_install_plan(): look up system requirements for a package and
        its dependencies,
      • sysreqs_is_supported(): check if pkgdepends supports system
        requirements on your platform,
      • sysreqs_list_system_packages(): list installed system packages,
      • sysreqs_platforms(): list supported platforms.
      • New pkg_installation_proposal methods: get_sysreqs(), show_sysreqs()
        and update_sysreqs().
    • The output of $show_solution() now includes system requirements.
    • New sysreqs_platform configuration option.
    • pkgdepends now looks up system requirements asynchronously, during
      dependency resolution.
    • pkgdepends now does not reinstall system requirements by default,
      if they are already installed. (You can force a reinstallation/upgrade
      wtih the sysreqs_update configuration option.)
  • New gitlab:: package source to install packages from GitLab (#315).

  • pkgdepends now correctly parses multiple git:: packages at once (#318).

  • git:: package sources now support version 1 of the git protocol.
    E.g. the Bioconductor git repositories now work:
    git::https://git.bioconductor.org/packages/limma (#314).

  • The platforms config parameter now works correctly with deps::
    package sources (r-lib/pak#522).

  • New include_linkingto config parameter to always include LinkingTo
    packages in the solution, even for binaries (#485).

  • pkg_name_check() now does not include Acromine results, because the web
    site was unstable.

pkgdepends 0.5.0

19 Apr 15:47
Compare
Choose a tag to compare
  • pkgdepends now support git repositories as package references. E.g.
    git::https://github.com/r-lib/pak.git.

  • pkgdepends now supports versioned CRAN packages, e.g. [email protected] will
    always install dplyr 1.1.1. Note that only CRAN packages are supported,
    Bioconductor packages are not (yet).

  • pkgdepends now has an alternative system requirements lookup
    implementation. It supports Fedora and Debian systems as well, in
    addition to Debian, Ubuntu, SUSE and RedHat derivatives.
    You can switch to this implementation by setting the
    R_PKG_SYSREQS2 environment variable to true.

  • pkgdepends now does a better job looking up dependencies for
    hand-selected dependency types. E.g. dependencies = "LinkingTo".

  • pkgdepends now removes ?ignore-d packages from dependencies, and
    uses the correct version comparison for ?ignore-before.r
    (r-lib/actions#708).

  • pkgdepends now does not fail for circular soft dependencies (#306).

  • pkgdepends now reports dependency solver failures better in some cases
    (#305, r-lib/pak#474).

  • pkgdepends now uses locally built CRAN binaries from the cache.

pkgdepends 0.4.0

17 Dec 10:10
Compare
Choose a tag to compare
  • pkgdepends has much improved and more informative error messages now.
    This work is not yet finished, so if you find an unclear error message,
    please open an issue. Thank you!

  • The solver is now more robust for non-canonical input (e.g. DESCRIPTION
    files) (r-lib/pak#423).

  • Better installation output. Standard output and error are now
    collected together (0669f0f8c).

  • The solver is now doing a better job when multiple versions of the
    same package are present in the same repository
    (r-lib/actions#559).

  • pkg_name_check() now works again, it needed a fix after changes at
    https://crandb.r-pkg.org.

  • Explicit package names in local and URL package sources, as in
    package=local::... or package=url::... are now parsed correctly in
    dependencies.

  • pkgdepends is now more robust to Archs fields missing from the CRAN
    metadata for packages with compiled code
    (r-lib/pak#448).

  • url:: packages now always work correctly, even if the digest package is
    not installed (r-lib/pak#433).

  • pkgdepends is now more robust when installing packages from subdirectories
    of GitHub repositories (r-lib/pak#431,
    @paleolimbot).

  • Parameters ?reinstall, ?source and ?ignore now work correctly when
    specified in the package=?parameter format (#294).

pkgdepends 0.3.2

08 Sep 12:51
Compare
Choose a tag to compare
  • The ?ignore parameter works correctly now.

  • dependency resolution now does not fail if a package is not found.

  • pkgdepends can now install url:: remotes from GitHub.

  • pkgdepends now does not fail when the package of a .tar.gz GitHub
    snapshot is in a subdirectory, or in a subdirectory of a subdirectory.

  • pkgdepends now errors early if it cannot deduce the name of the package
    from a Remotes or Config/Needs/* entry.

  • Solver failures now include details in some cases where previously they
    did not.

  • pkgdepends can now update packages in Docker containers where the
    old version was installed in the different Docker later
    (r-lib/pak#251)

  • pkgdepends errors are now user friendlier and better formatted.

v0.3.1

08 Apr 13:45
Compare
Choose a tag to compare
  • The dependency solver now uses better heuristics and does not
    (effectively) freeze if multiple repositories have multiple versions of
    the same packages (e.g. RSPM and CRAN) (#277).

v0.3.0

16 Feb 21:53
Compare
Choose a tag to compare
  • New ?ignore-before-r parameter to ignore optional dependencies that
    need a newer R version (#243).

  • New ?ignore parameter to ignore an optional dependency.

  • Allow specifying downstream package parameters with the package=?param
    syntax.

  • The $update() operation now works better for any:: refs, and we
    always install the version we planned for.

  • System requirement installation is now more robust and works for
    Unix shell expressions (#347).

  • Make system dependency installation more robust
    (r-lib/pak#347).

  • CRAN-like resolution is more robust now if a repository is missing
    the usual metadata.

  • The lock file is pretty JSON now.

  • pkgdepends now does not return tibbles, but simple data frames.
    They are still printed concisely as long as the pillar package is loaded.

  • pkgdepends now handles all version requirement types properly:
    '<', '<=', ==, >=, >.