-
rdev now depends on R >= 4.0.0
-
use_analysis_package()
now records dependency on R native pipes (R >= 4.1.0)
- Updated "Introduction to rdev" vignette,
vignette("rdev")
- Added support for Visual Studio Code (
languageserver
package) by default
- Minor updates
- Enabled pkgdown "light switch" by default for packages using
use_rdev_pkgdown()
- Added function
package_downloads()
: A wrapper forcranlogs::cran_downloads()
that summarizes the number of package downloads from the RStudio CRAN mirror
- Minor updates
- Bug fixes
- Add support for single URL in DESCRIPTION
- Added support for private repositories to
use_rdev_package()
- Added support for creating private repositories to
create_github_repo()
- Updated for R 4.4.0
- Updated pkgdown templates (update:
use_rdev_pkgdown()
oruse_analysis_package(use_quarto = FALSE)
)
- Updated GitHub Actions to work better with renv (update from https://github.com/jabenninghoff/rdev/tree/main/.github/workflows)
- Updated
R-CMD-check.yaml
GitHub Action (update:use_rdev_package()
)
rdev now supports Quarto Documents (.qmd
) as analysis notebooks:
-
rmd_metadata()
will extract the YAML front matter and description from Quarto format (.qmd
) notebooks if_quarto.yml
is present -
build_quarto_site()
now supports use of bothRmd
and/orqmd
notebooks inanalysis
-
spell_check_notebooks()
andupdate_wordlist_notebooks()
now check bothRmd
andqmd
files in theanalysis
directory -
Updated
README.Rmd
template to list all.Rmd
and.qmd
notebooks inanalysis
-
Added reference Quarto Document analysis template to
inst/templates/analysis.qmd
(RStudio currently doesn't support.qmd
files as document templates) -
Updated vignettes
- Added an
unfreeze
parameter tostage_release()
, which is passed on tobuild_quarto_site()
- Maintenance updates
- Updated
build_rdev_site()
andbuild_analysis_site()
to usepkgdown::build_site_github_pages()
instead ofpkgdown::build_site()
, which disables Jekyll rendering and adds aCNAME
if needed
- Updated quarto configuration (update:
use_analysis_package()
)
-
Added quarto themes (flatly, darkly) (update:
use_analysis_package()
) -
Updated analysis template
- Maintenance updates
-
Add new rdev hex sticker logo from stickers to
man/figures/logo.png
per roxygen2 and toREADME.Rmd
per pkgdown -
Fixed bugs in
quickstart
functions
- Updated TODO
- Updated
lintr.yaml
GitHub Action to matchlint_all()
(update: runuse_rdev_package()
)
lint_all()
andstyle_all()
now (properly) excludeR/RcppExports.R
-
Updated manual tests
-
Bug fixes
- Maintenance updates
-
Adjusted Quarto margins in
_quarto.yml
-
Added
?quickstart
rdev Quick Start guide to creating a new rdev or analysis package and updated related functions (create_github_repo()
,init()
,setup_analysis()
) and README -
Added function
setup_rdev()
: set up an rdev package for traditional package development -
Added function
open_files()
: open a standard set of files for editing in RStudio -
setup_analysis()
andsetup_rdev()
now callopen_files()
if running in RStudio
- Check function arguments with checkmate
- Changed
use_analysis_package()
to store_freeze
directory in git per Quarto guide
- Also set GitHub Pages URL in
use_rdev_pkgdown()
- Check if
pandoc
is inPATH
on launch (update:use_rprofile()
)
-
Added rendering fixes to
use_analysis_package()
(update: re-runuse_analysis_package()
and update notebooks from Analysis Notebook template) -
Added function
use_rdev_pkgdown()
: add pkgdown with rdev customizations
-
Added support for Visual Studio Code to
setup-r
-
Quarto bug fixes
Added support for Quarto, including:
-
New function
build_quarto_site()
: a wrapper forquarto::quarto_render()
that also updatesREADME.md
and optionally deletes the Quarto_freeze
directory to fully re-render the site -
New function
unfreeze()
: delete the Quarto_freeze
directory to fully re-render the site whenquarto::quarto_render()
is called -
Updated
stage_release()
to runbuild_quarto_site()
when using Quarto -
Updated
use_analysis_package()
to use Quarto for publishing by default -
Added "quarto" package type to
local_temppkg()
Additional changes:
-
Updated vignettes
-
Added "Introduction to rdev" getting started vignette
-
Added a
pkgdown::check_pkgdown()
check toci()
- Updated
.lintr
forlintr
3.1.1 (updateuse_lintr()
)
- Updated installation instructions in README and templates to use
remotes
instead ofdevtools
- Updated
check_renv()
andci()
to userenv::status(dev = TRUE)
, added inrenv
1.0.3
- Disabled use of Posit package manager in
R-CMD-check.yaml
(updateuse_rdev_package()
)
- Updated
setup-r
to userig
for installing and managing R versions
- Maintenance updates
-
Replaced
check-standard.yaml
withR-CMD-check.yaml
(updateuse_rdev_package()
) -
Updated
.lintr
forlintr
3.1.0 (updateuse_lintr()
) -
Updated spelling tests (update
use_spelling()
)
- Maintenance updates
- Added check to install pre-commit git hook if missing (update
use_rprofile()
)
extra_deps()
no longer reports R as an extra package
-
missing_deps()
now excludes base R packages by default -
Added new checks to
ci()
:missing_deps()
,desc::desc_normalize()
,extra_deps()
,url_check()
, andhtml_url_check()
;ci()
will stop ifmissing_deps()
returns one or more rows -
Added
missing-deps.yaml
GitHub Action
new_branch()
now stashes and restores changes, so that theBump version
commit just changes the version number inDESCRIPTION
missing_deps()
andextra_deps()
now automatically remove the current package andrenv
(inrenv.lock
) from the list ofrenv::dependencies()
-
Update
build_analysis_site()
and 'Analysis Notebook' R markdown template to use Bootstrap 5 usingbslib
-
Update rdev pkgdown site to use Bootstrap 5
- Update options to enable warnings for all partial matches
- Add option to warn on partial $ matches
- Update
lint_all()
to also check.Rpres
files
-
Add option to disable GitHub Pages in
use_rdev_package()
withoptions(rdev.github.pages = FALSE)
-
Use proper GitHub Pages URL with trailing "/"
- Minor maintenance updates
- Maintenance updates
- Minor updates to Style Guide
-
Replace development lintr with CRAN release 3.0.0
-
Add Style Guide vignette, describing rdev coding style, styler and lintr configuration
-
Added styler cache options to
.Rprofile
template -
Imported
urlchecker::url_check()
,urlchecker::url_update()
, and added a new function,html_url_check()
, to check URLs indocs/
(replacesproof-docs
script) -
Replaced scripts in
tools/
for automating package setup withinit()
: run aftercreate_github_repo()
, andsetup_analysis()
: run afterinit()
-
Moved
setup-r
toinst/bin
-
Increased test coverage
- Clean up tests, standardize error messages
- Make rdev data.table aware
- Added scripts to
tools/
to further automate package setup
- Updated lint workflow
- Updated for new linters
- Enable most linters in
inst/templates/lintr
- Normalize DESCRIPTION file
- Remove workaround for resolved upstream issue
- Added missing Suggests dependencies in setup functions
-
Added functions to check dependencies:
missing_deps()
reportsrenv::dependencies()
not in DESCRIPTION,extra_deps()
reportsdesc::desc_get_deps()
not found by renv -
Added
renv
check toci()
: ifrenv::status()
is not synchronized,ci()
will stop
- Fix bugs in tests,
use_analysis_package()
- Fixed bug in lint workflow
-
Updated
.Rprofile
to load current package at start -
Updated for R version 4.2.0 (2022-04-22) -- "Vigorous Calisthenics"
- Updated GitHub workflows
- Added new test scripts for new package setup
- Fixed
ci()
andstage_release()
to correctly usegert::git_status()
to determine if uncommitted changes exist (instead ofgert::git_diff_patch()
)
-
Fixed
update_wordlist_notebooks()
: removed duplicate words -
Update
use_spelling()
to install test-spelling.R testthat template
-
Added
update_wordlist_notebooks()
: Update packageinst/WORDLIST
with words fromspell_check_notebooks()
-
Updated
spell_check_notebooks()
to use Language field inDESCRIPTION
by default
Added new options and features to support GitHub Enterprise.
Added settings, configured using options()
-
rdev.host
: set the default server forcreate_github_repo()
,stage_release()
,merge_release()
(to support GitHub Enterprise) -
rdev.codecov
: to disable codecov.io support inuse_codecov()
-
rdev.dependabot
: to disable support for Dependabot increate_github_repo()
-
rdev.license
andrdev.license.copyright
: specify licenses forcreate_github_repo()
,use_rdev_package()
-
rdev.github.actions
: to disable support for GitHub Actions increate_github_repo()
,use_codecov()
,use_rdev_package()
-
create_github_repo()
now supports creating repositories within organizations -
Updated
setup-r
script to include pkgdown
- Updated
stage_release()
to runbuild_rdev_site()
only when_pkgdown.yml
exists
- Updated
ci()
to run spell check tests
- Fix bug in workaround for closed usethis issue #1568
- Updated
use_codecov()
to usesort_rbuildignore()
-
Implement workaround for closed usethis issue #1568
-
use_analysis_package()
now installs dplyr, used in theREADME.Rmd
template -
Documentation updates
create_github_repo()
now adds branch protection to the default branch
- Added
spell_check_notebooks()
: Perform a spell check on notebooks withspelling::spell_check_files()
.
-
Fix R-CMD-check for Windows
-
check_renv()
now defaults to runningupdate
when interactive
- Added additional automation to
ci()
:style_all()
now runs automatically if there are no uncommitted changeslint_all()
now runs by default and opens RStudio markers pane if any lints are found
- Minor updates to analysis README.Rmd template
rdev is now stable enough for a 1.0.0 release!
rdev provides functions and templates for:
-
Release automation: Stage and create GitHub releases, including GitHub pages
-
Continuous Integration: Local continuous integration checks and dependency management
-
Package Setup: Package setup tasks, typically performed once
Changes since release 0.8.9:
-
Add
use_spelling()
anduse_codecov()
-
Added
local_temppkg()
test helper function -
Minor enhancements to
use_rdev_package()
,use_analysis_package()
,build_analysis_site()
, README.Rmd templates -
Updated documentation
-
Added manual test script for new package setup, increased test coverage
In ci()
:
-
styler
should be set to automatically run if there are no uncommitted changes -
lintr
should stop execution and open RStudio markers if any lints are found -
ci()
should runstyler
andlintr
by default
- Bug fixes for
use_rdev_package()
,proof-docs
- Added
proof-docs
script to tools, checks docs directory using htmlproofer
-
Moved
rmd_metadata()
from README-analysis.Rmd to rdev package -
Increased test coverage, reorganized files
-
Added code coverage using codecov.io, new tests for existing code
-
Refactored
sort_file()
- Critical bug fix for
to_document()
- Updated
to_document()
to parse yaml front matter and confirm the source file is a valid R Notebook
- Updated
use_rdev_package()
to better conform to rdev conventions (README.Rmd, .git/hooks/pre-commit), support committing and error-freeci()
immediately after it is run
- Updated
build_rdev_site()
andbuild_analysis_site()
to abort if there are missing topics in the pkgdown reference section
- Added
new_branch()
: Create a new feature branch, and (optionally) bump the version in DESCRIPTION
Major update adding automation for GitHub releases.
Added functions to automate workflow for staging and creating releases on GitHub:
-
stage_release()
: Open a GitHub pull request for a new release from NEWS.md -
get_release()
: Extract release version and release notes from NEWS.md. Called bystage_release()
andmerge_release()
. -
merge_release()
: Merge a staged pull request and create a new GitHub release
- Updated and reorganized pkgdown reference page
-
Updated
build_analysis_site()
to rundevtools::build_readme()
to regenerate the dynamic list of notebooks (in case new notebooks were added) -
Important update from renv 0.15.0 to 0.15.1
- Added info on dynamic notebook list to notebook template and Analysis Package Layout vignette
- Updated
use_analysis_package()
: add dynamic notebook list toREADME.Rmd
template
Major update adding automation for creating rdev and R analysis packages.
Added functions to automate steps when creating new packages following rdev and optionally analysis package conventions:
-
create_github_repo()
: Create new GitHub repository following rdev conventions in the active user's account and create a basic package -
use_rdev_package()
: Add rdev templates and settings within the active package. Normally invoked when first setting up a package. -
Install templates using
usethis::use_template()
:use_rprofile()
,use_lintr()
,use_todo()
,use_package_r()
-
Add functionality to
use_analysis_package()
: also install the analysis packageREADME.Rmd
template -
Changed both
use_analysis_package()
andbuild_analysis_site()
to write_pkgdown.yml
to the project root and to store in GitHub to make projects discoverable by pkgdown. -
Updated
setup-r
to install rdev and dependencies insite_library
-
Added
build_rdev_site()
, a wrapper forpkgdown::build_site()
optimized for rdev workflow that updatesREADME.md
and performs a clean build using pkgdown -
Added 'Analysis Notebook' R markdown template for RStudio (File > New File > Rmarkdown > From Template)
-
Migrated ggplot2 themes/styles (
theme_quo()
,viridis_quo()
) to new package,jabenninghoff/jbplot
- Add functionality to
use_analysis_package()
: Create_base.yml
inpkgdown
from the firstURL
in the packageDESCRIPTION
file.
- Critical bugfix for
use_analysis_package()
- Added
use_analysis_package()
: Add the Analysis Package Layout to the current package
- Add options to
theme_quo()
to disable bothpanel.grid.major
andpanel.grid.minor
forx
andy
-
Disable
lintr
by default inci()
, since the normal workflow isstyle_all()
,lint_all()
, thenci()
-
Documentation fixes
- Updated
theme_quo()
: set base theme toggplot2::theme_minimal()
and add parameters for disabling grid lines
-
Added
theme_quo()
: ggplot2 theme based onggplot2::theme_bw()
and font Lato -
Added
viridis_quo()
: Sets the default theme totheme_quo()
and the default color scales toviridis
-
maintenance
- maintenance release, update GitHub Actions
- Update
build_analysis_site()
to work withpkgdown
version 2
- maintenance, update TODO with steps for manually setting up an Analysis Package
- maintenance release, update README and GitHub Actions
- bug fixes, maintenance
-
Add
devtools::document()
option toci()
, turned on by default -
Add R Analysis Package layout definition, migrated from rtraining
-
Update
ci()
to usestyle_all()
andlint_all()
for consistency -
Add
import
directory tobuild_analysis_site()
-
minor updates, improved tests, maintenance
- maintenance release, updated for R 4.1.0
build_analysis_site()
, new function migrated from rtraining: a wrapper forpkgdown::build_site()
that adds an 'Analysis' menu containing rendered versions of all.Rmd
files inanalysis/
. It is still considered Experimental, due to lack of test coverage and some features that are not implemented, but should work for projects with limited pkgdown customization. The update also includes a function to convert notebooks tohtml_document
,to_document()
.
- minor updates, maintenance
- bug fixes
- installing rdev will now automatically install preferred development tools as a 'meta-package' (like tidyverse), including: styler, lintr, rcmdcheck, renv, miniUI (for RStudio Addin support), devtools, and rmarkdown
- minor updates to package and site (https://jabenninghoff.github.io/rdev/)
- maintenance release
-
ci()
: updated to match my preferred GitHub workflow:use_github_action_check_standard()
with--as-cran
removed -
documentation updates for all functions (style, links)
Initial GitHub release
-
./tools/setup-r
: shell script to install development packages to site repository on macOS + Homebrew -
check_renv()
: convenience function that runsrenv
status()
,clean()
, and optionallyupdate()
(on by default). -
style_all()
: style all.R
and.Rmd
files in a project usingstyler
-
lint_all()
: lint all.R
and.Rmd
files in a project usinglintr
-
sort_file()
: sort a file using Rsort()
, similar to the unixsort
command -
sort_rbuildignore()
: sort the.Rbuildignore
file usingsort_file()
, because unsorted is annoying -
ci()
: run continuous integration tests locally: lint, R CMD check, and style (off by default).