|
1 | 1 | # packrat (development version) |
2 | 2 |
|
| 3 | +- Update vendored `renv` to support recognition of Posit Package Manager |
| 4 | + support for manylinux binaries. |
| 5 | + |
3 | 6 | - When restoring GitHub-hosted packages, packrat will now look for both |
4 | 7 | `Github*` and `Remote*` fields to determine where to install from. (#740) |
5 | 8 |
|
6 | | -- When restoring packages from CRAN-like repositories, names are no |
| 9 | +- When restoring packages from CRAN-like repositories, names are no |
7 | 10 | longer used to detect if these are actually git-like. This prevents |
8 | 11 | issues if you name a CRAN-like repository something like "GitHub". (#747) |
9 | 12 |
|
|
105 | 108 | - The 'packrat::opts$ignored.packages()' project option ignores recursive |
106 | 109 | package dependencies in addition to direct package dependencies. (#654) |
107 | 110 |
|
108 | | -- Use a bundled `renv` to perform dependency detection. Avoids a number of |
| 111 | +- Use a bundled `renv` to perform dependency detection. Avoids a number of |
109 | 112 | evaluation issues and side-effects. (#644) |
110 | 113 |
|
111 | 114 | - Take an `renv` update to avoid an implicit dependency on the `quarto` package for all `*.qmd` content. |
|
150 | 153 | - Added support for GitLab: packages downloaded from GitLab can now be |
151 | 154 | restored by Packrat. (#562, @akgold) |
152 | 155 |
|
153 | | -- Fixed an issue where tangled R code chunks containing invalid R code prevented |
| 156 | +- Fixed an issue where tangled R code chunks containing invalid R code prevented |
154 | 157 | Packrat from finding any dependencies. Packrat will now look for package |
155 | 158 | dependencies within each code chunk independently. (#551) |
156 | 159 |
|
|
163 | 166 |
|
164 | 167 | - Fixed an issue where newly-added project options did not get their correct |
165 | 168 | default value when no entry existed within the `packrat.opts` file. (#496) |
166 | | - |
| 169 | + |
167 | 170 | - Improve performance of dependency processing. (#615) |
168 | 171 |
|
169 | 172 | - Infer package dependencies from `requireNamespace()` and `loadNamespace()` |
|
179 | 182 | disable dependency discovery in projects. This can be useful if you find |
180 | 183 | Packrat's dependency discovery is slow (as it can be in projects containing |
181 | 184 | a large number of R Markdown files). (#513, @ras44) |
182 | | - |
| 185 | + |
183 | 186 | - The scheme used for hashing packages that enter the Packrat cache has |
184 | 187 | changed -- now, a defined ordering of fields is used when hashing a |
185 | 188 | package's DESCRIPTION file. Note that this implies a package may need to be |
|
258 | 261 |
|
259 | 262 | - Packrat now screens out empty package names discovered during package |
260 | 263 | dependency discovery. (#314) |
261 | | - |
| 264 | + |
262 | 265 | - The Packrat global cache is now enabled on Windows. Junction points |
263 | 266 | (rather than symbolic links) are used to populate entries in the |
264 | 267 | private Packrat library. |
|
301 | 304 |
|
302 | 305 | - Packrat now provides APIs for accessing the active paths to resource |
303 | 306 | directories, with: |
304 | | - |
| 307 | + |
305 | 308 | - `packrat::project_dir(project)` |
306 | 309 | - `packrat::src_dir(project)` |
307 | 310 | - `packrat::lib_dir(project)` |
308 | 311 | - `packrat::bundles_dir(project)` |
309 | | - |
| 312 | + |
310 | 313 | See `?packrat-resources` for more details. |
311 | 314 |
|
312 | 315 | - Packrat better preserves the pre-existing contents of ignore files. (#332) |
|
384 | 387 | in the future once we have a reliable mechanism for detecting whether |
385 | 388 | a particular directory is a reparse point without the use of compiled |
386 | 389 | code within packrat. |
387 | | - |
| 390 | + |
388 | 391 | - Packrat uses `devtools` + `httr` (when available) to download files and |
389 | 392 | directories from GitHub URLs. This should enable users to allow packrat |
390 | 393 | to access private GitHub repositories as long as the `GITHUB_PAT` |
391 | 394 | environment variable is set to an appropriate private access token. |
392 | 395 | See `?devtools::install_github` for more details on setting up a private |
393 | 396 | access token. |
394 | | - |
| 397 | + |
395 | 398 | - The `install_github()` shim from packrat has been removed -- please |
396 | 399 | use `devtools::install_github()`, either by taking an explicit dependency |
397 | 400 | on the `devtools` package, or by loading it from the user library with |
398 | 401 | the packrat option `packrat::opts$external.packages("devtools")`. |
399 | | - |
| 402 | + |
400 | 403 | - Packrat is now smarter when managing symlinks within the project library |
401 | 404 | (when package caching is enabled). This should allow multiple R processes |
402 | 405 | to use the same packrat project at the same time. (Previously, there was |
403 | 406 | risk that one R session might clear / refresh symlinks while another process |
404 | 407 | attempted to access them). |
405 | | - |
| 408 | + |
406 | 409 | - Packrat no longer erroneously generates recursive symlinks (and attempts |
407 | 410 | to clean up any recursive symlinks discovered as appropriate). |
408 | | - |
| 411 | + |
409 | 412 | - Packrat now records the original library paths within its `.onLoad()` |
410 | 413 | handler, and uses these library paths when attempting to load packages |
411 | 414 | from the user library. |
412 | | - |
| 415 | + |
413 | 416 | - Fixed a bug where recursive hashing of a package's LinkingTo dependencies |
414 | 417 | could fail. |
415 | 418 |
|
416 | 419 | - Fixed a bug where `with_extlib()` could force a promise in the wrong |
417 | 420 | environment. |
418 | | - |
| 421 | + |
419 | 422 | # Packrat 0.4.6 |
420 | 423 |
|
421 | 424 | - Packrat gains the option `snapshot.recommended.packages()`, to control |
|
452 | 455 |
|
453 | 456 | - Packrat now understands the `pkgType = "both"` option and can properly |
454 | 457 | restore projects when that option is set. |
455 | | - |
| 458 | + |
456 | 459 | - The `ignored.packages` option has been added, allowing users to specify |
457 | 460 | packages that should not be tracked by packrat. Such packaes will not |
458 | 461 | enter the lockfile on `packrat::snapshot()` calls; nor will they be |
459 | 462 | cleaned out on `packrat::restore()` calls. |
460 | 463 |
|
461 | 464 | - Simple functions for interacting with the set of available repositories |
462 | 465 | have been added. See `?repository-management` for more details. |
463 | | - |
| 466 | + |
464 | 467 | - Facilities for interacting with local CRAN-like repositories have been added. |
465 | 468 | This feature will eventually supersede the functionality offered by packrat's |
466 | 469 | 'ad-hoc' local repositories. The functions `packrat::repos_create()` and |
|
473 | 476 | - The cache directory layout has been modified to ensure help (`?`) calls |
474 | 477 | succeed. This is a breaking change with older versions of Packrat, and so |
475 | 478 | newer versions of Packrat will use a new cache folder. (#194) |
476 | | - |
| 479 | + |
477 | 480 | - Packrat issues a warning on `packrat::init()` if it was unable to infer the |
478 | 481 | source of a particular package on initialization and instead uses the latest |
479 | 482 | CRAN version. |
|
502 | 505 | - Packrat properly infers whether a project is an R package. A project |
503 | 506 | with a `DESCRIPTION` file that has no `Type:` field, or has the |
504 | 507 | `Type: Package` field, will be considered as an `R` package. |
505 | | - |
| 508 | + |
506 | 509 | - Custom library paths can be set through the `R_PACKRAT_LIB_DIR` environment |
507 | 510 | variable, which can be useful when using Packrat for non-local dependency |
508 | 511 | management or deployment. |
|
512 | 515 | - Symlinks to `R` packages are created and destroyed more conservatively; this |
513 | 516 | should help prevent problems where multiple `R` processes are acting within |
514 | 517 | a single Packrat project. |
515 | | - |
| 518 | + |
516 | 519 | - The autoloader was not properly created in rare cases (thanks, @krlmlr!) |
517 | 520 |
|
518 | 521 | - `install_local()` now forces `lib` and `repos` to be passed as named arguments, |
|
679 | 682 | have been `dot.cased`. We apologize for any broken workflows here; but we |
680 | 683 | imagine that most of use of packrat is done through calls to exported |
681 | 684 | functions with no arguments passed, so this shouldn't disrupt most workflows. |
682 | | - |
| 685 | + |
683 | 686 | - Packrat has introduced support for R packages -- you should now be able to |
684 | 687 | develop R packages using packrat to manage your dependencies. Work here is |
685 | 688 | on-going and feedback is appreciated. |
686 | | - |
| 689 | + |
687 | 690 | - `search_path()` allows you to discover which packages are currently |
688 | 691 | `attach`ed, and from which library each package has been loaded from. |
689 | | - |
| 692 | + |
690 | 693 | - `status()` now (invisibly) returns a `data.frame` outlining the current |
691 | 694 | status of your project, in addition to printing information to the console. |
692 | | - |
| 695 | + |
693 | 696 | - `packrat::on` now attempts to clean the search path when entering packrat mode. |
694 | 697 | Any packages loaded from the user library will be unloaded before entering |
695 | 698 | packrat mode. |
696 | | - |
| 699 | + |
697 | 700 | - The `init.R` script has been updated to work better with `bundle` / `unbundle`: |
698 | 701 | after `bundle`ing a packrat project, one should be able to initialize a new |
699 | 702 | project using a combination of `unbundle` and `source('packrat/init.R')`. |
700 | | - |
| 703 | + |
701 | 704 | - Migration scripts for Windows users have been added to packrat, to migrate |
702 | 705 | user libraries away from the system library, to provide the library separation |
703 | 706 | that Packrat requires. |
|
0 commit comments