rpkg 0.3.1

A lightweight CLI wrapper around Rscript for installing R packages from CRAN or elsewhere
# rpkg

## rpkg 0.3.1

### BREAKING CHANGES

* Removed the `--non-interactive` flag. Mirror selection now auto-selects when
  stdin is not a terminal (e.g. in CI/scripting), without needing an explicit
  flag.

### BUG FIXES

* When the default R library (e.g. `/usr/lib64/R/library`) is not writable,
  `rpkg` now automatically detects this and falls back to the user's personal
  library (`R_LIBS_USER`), creating it if necessary. This replicates the
  behavior of an interactive R session where the user is prompted to use a
  personal library. Previously, the command would fail with
  `'lib = "..." is not writable'` on systems where the user doesn't have write
  access to the system library.

## rpkg 0.3.0

### NEW FEATURES

* Added `--update` flag to update all installed packages before installing new
  ones. Can be used standalone (`rpkg --update`) or combined with package
  installation (`rpkg ggplot2 --update`).
* Packages argument is no longer required, allowing `rpkg --update` to run on
  its own.

## rpkg 0.2.0

### NEW FEATURES

* Added `--url <URL>` option to specify additional custom repository URLs
  (e.g. R-Universe). Custom URLs take precedence over the CRAN mirror
  (`repos = c(<URL>, <CRAN mirror>)`).

## rpkg 0.1.0

### NEW FEATURES

* CRAN mirror selection by country with fuzzy matching (`-c` / `--country`).
  When multiple mirrors match, an interactive numbered selection prompt is shown.
* Install packages from git sources via explicit flags: `--github`,
  `--gitlab`, `--bitbucket`, `--codeberg` (accepts `OWNER/REPO` format).
* Install to a specific library path with `-l` / `--library`.

### Other changes

* Refactored codebase into `cli` and `cran` modules.
* Renamed package from `rip` to `rpkg`.
* Added `strsim` dependency for fuzzy matching.

## rpkg 0.0.1

* Initial release. Basic CLI to install one or more R packages from CRAN via
  `Rscript`, using `https://cloud.r-project.org/` as the default mirror.