Repository navigation
Releases: ehrlinger/hvtiR
Release list
hvtiR 1.3.5
-
When restoring a study's lockfile fails because a package does not compile,
setup()now names the packages that failed and gives therenv::record()
call that moves the pin while keeping its locked source: a GitHub record
stays on GitHub. Underupgrade = FALSEit gives no such call, since that
mode keeps a revision's locked versions. It used to lead with "A GitHub
token is needed" whenever an authentication message appeared anywhere in
the output, which sent users after a token when the real cause was a locked
version (vctrs0.7.2) that no longer builds under R 4.6. -
After a compile failure,
setup()'srenv::record()hint now covers every
package that failed, in one call, each keeping its locked source. A package
whose source has no safe one-line spec is named apart. Previously the call
named only the first, so each further package cost another run. -
setup()no longer says "A GitHub token is needed" when renv's restore
fails only on packages locked from a repository. renv prints its
authentication note even when a retried GitHub download then succeeds, so
the hint now needs a GitHub-locked package in renv's failed list (or a list
too long to read in full), and names that package. -
Catalog versions refreshed from
main:TemporalHazarddev 1.2.16 to
1.2.17;hvtiPlotRdev 2.8.18 to 2.8.21;hvtiRbootstrapdev 0.9.6 to
0.9.7;hvtiRlifetablesdev 0.1.5 to 0.1.6;hvtiRpropensitydev 0.2.1
to 0.2.2;hvtiRtablesdev 1.0.11 to 1.0.12;hvtiRtemplatesdev 1.5.2
to 1.5.4;hvtiRutilitiesdev 1.5.15 to 1.5.18. The catalog ships in the
package and is published asmembers.json, so its recorded versions are
content rather than bookkeeping. -
Family floors refreshed from
main:hvtiRtemplatesImports
hvtiRutilities(>= 1.5.15) to (>= 1.5.17);hvtiRtemplatesSuggests
TemporalHazard(>= 1.2.12) to (>= 1.2.17);hvtiRtemplatesSuggests
hvtiPlotR(>= 2.8.18) to (>= 2.8.20);hvtiRtemplatesSuggests
hvtiRdatabuild(>= 0.3.0) to (>= 0.3.3).family-floors.csvships in
the package and records the version floors members declare on one another.
hvtiR 1.3.4
-
Catalog versions refreshed from CRAN and
main:ggRandomForestsCRAN
3.5.4 to 3.5.5;hvtiPlotRdev 2.8.16 to 2.8.18;hvtiRdatabuilddev
0.3.2 to 0.3.3;hvtiRtemplatesdev 1.5.0 to 1.5.1;hvtiRutilitiesdev
1.5.11 to 1.5.13. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
Family floors refreshed from
main:hvtiRdatabuildImports
hvtiRutilities(>= 1.5.2) to (>= 1.5.3);hvtiRtemplatesImports
hvtiRutilities(>= 1.5.11) to (>= 1.5.13);hvtiRtemplatesSuggests
hvtiPlotR(>= 2.8.9) to (>= 2.8.18).family-floors.csvships in the
package and records the version floors members declare on one another. -
setup()run from a session inside a different study's renv project now
says so and names that project. It used to say the session had loaded
packagessetup()would replace, which was not the reason. RStudio reopens
the last project on restart, so this is the usual way to hit it. -
The warning
install()andupdate()raise for debris in a study's
library now prints the study's real paths, so each repair command can be
pasted as it is, where it used to print placeholders such as
<library>/_cache. It no longer says pak cannot replace_cache: that is
pak's staging directory, left by a failed install, which pak works around
and renv's library scan fails on. A leftover_cachealone now gets its
one removal step; links into a cache the user cannot read still get the
full repair, which now says the renv steps fail until_cacheis gone and
ends by restoring only the removed packages: the barerenv::restore()it
used to end with reverted every package to the lockfile, undoing the
install or update that raised the warning. The numbered steps are
indented under the warning. -
setup()removes pak's leftover_cachefrom a study library by its exact
path. It used to pass the path tounlink()as a pattern, so a study path
containing[,*or?could delete a sibling study's_cacheand leave
its own. -
setup()no longer upgrades a standard analysis package, such asarrow,
that is already in the study's library but missing from itsrenv.lock.
It named every unlocked package to pak, which installs the newest release
of a package it is named; on a server that could not build that release,
setup stopped. A family member missing fromrenv.lockis still named, so
it moves tomaineven when already installed. -
setup()reports a removed_cacheas what it is, pak's staging folder
left by a failed install, rather than counting it among the unreadable
cache links it removed and reinstalled. -
setup()no longer stops whenarrowcannot be installed. It installs
arrowlast, on its own, and on a failure warns, names pak's message and
the saved log, and sets the study up without it. Some servers cannot build
currentarrow(C++20, and OpenSSL 3 for its prebuilt library), and no
older release compiles on R 4.6. A failure installing any other package
still stops setup. -
Catalog versions refreshed from
main:hvtiRtemplatesdev 1.5.1 to
1.5.2;hvtiRutilitiesdev 1.5.13 to 1.5.15. The catalog ships in the
package and is published asmembers.json, so its recorded versions are
content rather than bookkeeping. -
Family floors refreshed from
main:hvtiRtemplatesImports
hvtiRutilities(>= 1.5.13) to (>= 1.5.15).family-floors.csvships in
the package and records the version floors members declare on one another.
hvtiR 1.3.3
-
Catalog versions refreshed from CRAN and
main:hvtiRtablesdev 1.0.10
to 1.0.11;hvtiRtemplatesdev 1.4.2 to 1.5.0;hvtiRutilitiesdev 1.5.9
to 1.5.11. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
Family floors refreshed from
main:hvtiRtemplatesImports
hvtiRutilities(>= 1.5.7) to (>= 1.5.11);hvtiRtemplatesSuggests
hvtiRtables(>= 1.0.9) to (>= 1.0.11).family-floors.csvships in the
package and records the version floors members declare on one another.
hvtiR 1.3.2
-
setup()declares a standard set of analysis packages in every study,
alongside the family:tidyverse,haven,gtsummary,flextable,
survival,survminer,randomForestSRC,varProandpacman. They are
the packages the team Quick Start used to install by hand. renv runs in
explicit mode, so declaring them is what puts them in the lockfile; a study
no longer needs a separate install step for them. -
setup()declares thequartoR package in every study.hvtiRtemplates
renders jobs through it, andrender_job()andsubmit_job()stop without
it, but no member imports it, so a study that installed it by hand still
left it out ofrenv.lockand a freshrenv::restore()could not render a
job. It also declaresggiraph, which gives thedc-edatemplate its hover
figures; without it the template quietly falls back to static ones. Rerun
setup()in an existing study to record both. -
Catalog versions refreshed from CRAN and
main:ggBoostedTreesdev
0.9.3 to 0.10.0;hvtiPlotRdev 2.8.14 to 2.8.16;hvtiRtablesdev 1.0.8
to 1.0.10;hvtiRtemplatesdev 1.4.1 to 1.4.2;hvtiRutilitiesdev 1.5.8
to 1.5.9. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
Family floors refreshed from
main:hvtiRtemplatesSuggests
hvtiRtables(>= 1.0.8) to (>= 1.0.9).family-floors.csvships in the
package and records the version floors members declare on one another.
hvtiR 1.3.1
-
Catalog versions refreshed from CRAN and
main:hvtiRutilitiesdev
1.5.7 to 1.5.8. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
Family floors refreshed from
main:hvtiRtemplatesSuggests
hvtiRtables(>= 1.0.7) to (>= 1.0.8).family-floors.csvships in the
package and records the version floors members declare on one another. -
setup()now checks that it is not running inside the study before it does anything that can install. With a renv project active, or the session library under the study root, it stops and names the command to run from a session started outside the project,hvtiR::setup(root = "<study>", ...). Before, resolving the root could installhvtiRutilitiesinto the study's own library first. -
setup()finds the study root without installing anything: it usesRENV_PROJECTwhen set, and askshvtiRutilitiesonly when it is already installed. -
setup()stops the study using renv's per-user cache (renv::settings$use.cache(FALSE), stored inrenv/settings.jsonso it applies to the whole team) and runsrenv::isolate()before restoring. It removes, and so reinstalls, any library link whose target the user cannot read, and pak's leftover_cachestaging directory, and reports what it removed. This fixes "Unable to move package" failures in a library shared by several users. -
install()andupdate()warn, with the fix, when run from an active study project whose library holds links the user cannot read or a leftover_cachedirectory. -
setup()reports a failed install without crashing. The child's output is cleaned (carriage returns, colour codes, invalid bytes, braces) before it reaches the message, and the full raw output is saved tohvtiR-setup-<time>.login the session's temporary directory, which the message names. -
setup()no longer needs a personal GitHub token. It installs the family with pak into the study's library (pak carries a shared token, so a server's shared IP does not exhaust GitHub's anonymous API limit) and keeps renv for the environment: restore, then the pak install, then the lockfile snapshot, in explicit mode. TheLinkingTopackages pak skips are installed from the configured repositories, which the snapshot's validation needs. With no token it now warns instead of stopping, since only restoring a package the lockfile pins on GitHub can need one. A token held only in the git credential store is still passed on asGITHUB_PATfor the run. -
setup()no longer installs subdirectory remotes ahead of the rest to work around a renv 1.2.4 unpack bug: pak handles them, so the workaround and itsRemotesparsing are removed. -
setup()finds the study root without loadinghvtiRutilities: loading it left its namespace in use and blocked the upgrade that follows. It usesRENV_PROJECT, else the nearest_study.ymlat or above the working directory, else the working directory. -
A link in the study's library whose target is readable but whose
DESCRIPTIONis not is now treated as unreadable and removed (the link only). A real package directory whoseDESCRIPTIONthe user cannot read is never deleted:setup()stops before changing anything, names the packages, and says their owner or an administrator must fix the permissions (chmod -R g+rX <library>/<pkg>) or remove them. -
The
install()andupdate()warning now gives the manual repair in the order that works: remove_cache, remove each broken link, thenrenv::settings$use.cache(FALSE),renv::isolate()andrenv::restore(). -
The check that no locked package moved now runs after the
LinkingTofill, immediately before the snapshot, because the fill installs through renv and can move a locked package. -
That check now compares
RemoteShaas well asVersion, so a GitHub package locked at one commit and rebuilt from another is caught even when its version is unchanged. -
When the check trips,
setup()first removes the packages this run added to the study's library, then restores the moved locked packages, so the library matches the lockfile again. If that restore fails (restoring a GitHub-locked package needs a personal token), the message names the packages that could not be restored and the token steps. The lockfile is unchanged either way. -
The pak install now uses the repositories the study's
renv.lockrecords, falling back to the session's, instead of the session's alone. -
setup()runs its child R processes from a script file instead of an-eargument. R truncated a long-eargument, so a study with about 155 locked packages ran half a script and stopped with "The install did not report the study's library path". -
setup()installs from the binary form of a Posit Package Manager source URL. When the study'srenv.lockrecords.../cran/latestand the session has.../cran/__linux__/<distro>/latest(same host, path and snapshot), pak, the restore and theLinkingTofill use the binary URL andrenv.lockis rewritten to record it, so installs no longer compile from source (arrow failed on RHEL 8's default compiler). No other repository is changed. -
setup()no longer reports false moves from its lock guard. It compares versions as versions (1.2-5is1.2.5) and looks packages up across every library on the path, so recommended packages in R's system library (mgcv,nlme,survival, ...) are found. -
New
upgradeargument tosetup(). The default,TRUE, lets the install move locked versions the declared family needs, lists each move and records it inrenv.lock.upgrade = FALSEkeeps a study in revision on its locked versions: the guard rolls back as before, and its message now says how to move them. -
setup()now resolves unmet version requirements before it snapshots. It readsDepends,ImportsandLinkingToof every package in the study library and finds packages that are absent or below a floor (>=,>,==), as renv's snapshot validation would. Withupgrade = TRUE(the default) it installs them through renv from the binary repositories and checks again; the lock guard then reports any locked package those installs moved, and a moved package it raised is listed under "Other unmet requirements resolved". What stays unmet, or anything at all withupgrade = FALSE, stopssetup()before the snapshot with each requirement listed andrenv.lockunchanged.
hvtiR 1.3.0
-
Catalog versions refreshed from CRAN and
main:hvtiRtablesdev 1.0.5
to 1.0.7. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
Family floors refreshed from
main:hvtiRtemplatesSuggests
hvtiRtables(>= 1.0.5) to (>= 1.0.7).family-floors.csvships in the
package and records the version floors members declare on one another. -
New
setup()sets up a study's environment in one command: it cleans up template copies before renv,
declares the family and the packages it needs, installs them into the study's library, and snapshots.
renv runs in explicit mode, so the lockfile records what the study declares.
A study with arenv.lockkeeps its locked versions, and every package that lockfile recorded is declared on first conversion. -
doctor()reports a member whose dependencies are not on the library path, and a study lockfile made
under a different R. -
setup()installs the subdirectory remotes that members pin (read from their DESCRIPTIONs, such asboostmtree)
in a firstrenv::install()call, which works around a renv 1.2.4 failure ("target file ... already exists") on a cold cache. -
setup()warns before it writes anything when no GitHub credentials are found, and says how to create them,
and a failed install that reports missing authentication credentials says so too. -
setup()never upgrades a locked package: if declaring a new package would move a locked dependency, it restores the locked versions, leavesrenv.lockunchanged and stops, naming the change;update()is the way to move versions. -
Catalog versions refreshed from CRAN and
main:ggBoostedTreesdev
0.9.2 to 0.9.3;hvtiPlotRdev 2.8.11 to 2.8.14;hvtiRdatabuilddev
0.3.1 to 0.3.2;hvtiRtablesdev 1.0.7 to 1.0.8;hvtiRutilitiesdev
1.5.5 to 1.5.7. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
Family floors refreshed from
main:hvtiRdatabuildImports
hvtiRutilities(>= 1.5.1) to (>= 1.5.2);hvtiRtemplatesImports
hvtiRutilities(>= 1.5.1) to (>= 1.5.7).family-floors.csvships in
the package and records the version floors members declare on one another.
hvtiR 1.2.9
- Catalog versions refreshed from CRAN and
main:hvtiPlotRdev 2.8.10 to
2.8.11;hvtiRbootstrapdev 0.9.5 to 0.9.6;hvtiRtemplatesdev 1.4.0 to
1.4.1;hvtiRutilitiesdev 1.5.4 to 1.5.5. The catalog ships in the
package and is published asmembers.json, so its recorded versions are
content rather than bookkeeping.
hvtiR 1.2.8
-
update()now says at once that it installed nothing when a member it needs
is already loaded, naming the loaded members. Until now the only signal was
a warning, which prints after the call returns and vanishes under
suppressWarnings()oroptions(warn = -1), soupdate()could stop after
"hvtiR is current" without a word about the members it skipped. -
Catalog versions refreshed from CRAN and
main:TemporalHazarddev
1.2.15 to 1.2.16;hvtiPlotRdev 2.8.6 to 2.8.10;hvtiRdatabuilddev
0.3.0 to 0.3.1;hvtiRpropensitydev 0.1.11 to 0.2.1;hvtiRtablesdev
1.0.3 to 1.0.5;hvtiRtemplatesdev 1.3.1 to 1.4.0;hvtiRutilitiesdev
1.5.2 to 1.5.4. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
Family floors refreshed from
main:hvtiPlotRSuggests
hvtiRpropensityadded;hvtiRpropensitySuggestshvtiPlotRadded;
hvtiRtemplatesSuggestshvtiPlotR(>= 2.8.0) to (>= 2.8.9);
hvtiRtemplatesSuggestshvtiRpropensity(>= 0.1.10) to (>= 0.2.0);
hvtiRtemplatesSuggestshvtiRtables(>= 1.0.1) to (>= 1.0.5).
family-floors.csvships in the package and records the version floors
members declare on one another.
hvtiR 1.2.7
1.2.7
-
Catalog versions refreshed from CRAN and
main:TemporalHazarddev
1.2.12 to 1.2.14. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
New
inst/extdata/family-floors.csvrecords every version floor one family
member declares on another, read from each member'sDESCRIPTIONonmain
by the weekly catalog-versions job. A floormaindoes not meet in
Depends,ImportsorLinkingTowould breakinstall(), which resolves
members frommainin one call, so that job now fails on one; aSuggests
floor is reported only. -
Catalog versions refreshed from CRAN and
main:TemporalHazarddev
1.2.14 to 1.2.15;ggBoostedTreesdev 0.9.1 to 0.9.2;hvtiPlotRdev
2.8.5 to 2.8.6;hvtiRbootstrapdev 0.9.4 to 0.9.5;hvtiRdatabuilddev
0.2.4 to 0.3.0;hvtiRimputationdev 0.1.2 to 0.1.3;hvtiRlifetables
dev 0.1.4 to 0.1.5;hvtiRtemplatesdev 1.3.0 to 1.3.1;hvtiRutilities
dev 1.5.1 to 1.5.2. The catalog ships in the package and is published as
members.json, so its recorded versions are content rather than
bookkeeping. -
Family floors refreshed from
main:hvtiRtemplatesSuggests
hvtiRdatabuild(>= 0.2.3) to (>= 0.3.0).family-floors.csvships in
the package and records the version floors members declare on one another.
hvtiR 1.2.5
- Catalog versions refreshed from CRAN and
main:ggBoostedTreesdev
0.9.0 to 0.9.1;hvtiPlotRdev 2.8.3 to 2.8.4;hvtiRtemplatesdev 1.2.2
to 1.2.4;hvtiRutilitiesdev 1.4.3 to 1.4.4. The catalog ships in the
package and is published asmembers.json, so its recorded versions are
content rather than bookkeeping.