NEWS (original) (raw)
Notes: the # between parenthesis refers to the related issue on GitHub, and the @ refers to an external contributor solving this issue.
golem 0.5.1
- Hotfixing a bug with utils_download_file (#1168)
golem 0.5.0
New functions
is_golem()tries to guess if the current folder is a{golem}-based app (#836)use_readme_rmd()adds a{golem}specificREADME.Rmd(@ilyaZar, #1011)- rename
add_rstudioconnect_file()toadd_positconnect_file()(@ilyaZar, #1017) add_empty_filecreates an empty file in the www directory (#837)add_r6()adds an empty R6 file (@ilyaZar, #1009)golem::welcome_page()now display a page on default scaffold app (#1126)- Defunct usethis functions has been removed from dev.R (@ilyaZar, #1125)
New features / user visible changes
- sourcing
dev/01_start.Rleaves the file in a clean state with all files added to the initial commit (#1094, @ilyaZar) - allow for user supplied
run_dev-files (#886, @ilyaZar) READMEis re-styled and links to various external resources of thegolemverse(#1064, @ilyaZar)a_start-vignette has updated documentation (#1046,@ilyaZar)fill_desc()automatically callsset_options(); seedev/01_start.Ras well (#1040, @ilyaZar)fill_desc()now uses apersonvector (#1027, @jmeyer2482, @ColinFay and @ilyaZar)use_{internal,external}_XXX_file()function family has improved error handling for non-interactive usage (#1062, @ilyaZar)add_fct()now adds the skeleton for a function (#1004, @ilyaZar)- The module skeleton now stick to tidyverse style (#1019, @ni2scmn)
- Better comments to
fill_desc()in01_start.R(#1021, @ilyaZar) 01_start.Rnow has a call tousethis::use_git_remote()(#1015, @ilyaZar)- Tests for
R/golem_utils_server.RandR/golem_utils_ui.Rnow have full code coverage (#1020,@ilyaZar) - When setting a new name,
{golem}now browses tests & vignettes (#805, @ilyaZar) - Adding
writeManifest()todeploy.R(#1063, @ilyaZar) use_git()is now at the bottom of 01_dev.R ((#1094,@ilyaZar))golem::add_dockerfile_with_renv_*()set “rstudio” as default USER in Dockerfile to avoid launching app as root- It is now easier to modify the renv.config.pak.enabled parameter in the Dockerfile generated by
golem::add_dockerfile_with_renv_*()functions. - We create an
.rscignorein the golem dir whenever creating the connect related file (#110, @ilyaZar)
Bug fixes
use_{internal,external}_XXX_file()function family works with default missingnameargument (#1060, @ilyaZar)run_dev()now install needed dependencies to sourcedev/run_dev.Rif needed (#942, @ilyaZar, @vincentGuyader)use_readme_rmd()does not pop up when argumentopen=FALSEis set (#1044, @ilyaZar)- Docker commands now take the
-itflag so it can be killed with^C(#1002, @ivokwee) add_module()now behaves correctly when trying to usemod_mod_XXXand no longer opens an interactive menu (#997, @ilyaZar){attachment}now has a minimum version requirement (#1104, @ilyaZar){pkgload}now has a minimum version requirement (#1106)create_golem()can be now used with path = “.” and package_name empty
Internal changes
- Add tests for (under/un)-tested files and functions and improve code coverage of
{golem}(#1043, #1050, #1059, #1066, #1075, @ilyaZar) guess_where_config()now finds the user config-yaml by reading its new location from user changes in “R/app_config.R” (#887,@ilyaZar)- All functions that require to get a path now rely on
get_golem_wd()(#1016, @ilyaZar) - The test suite has been refactored and is now silent and faster.
0.4.1
This is an intermediate release after CRAN feedback.
0.4.0
New functions
- Add
add_partial_html_template()to create a partial html template, with only a div and a{{ }}(@nathansquan#858).
New features / user visible changes
- Dev hard dependencies have been moved to soft dependencies. You can see the list with
golem:::dev_deps. They can be installed viagolem::install_dev_deps(). - Soft dependency check is now done via
rlang::check_installed()(#835) golem::run_dev()has been refactored to match the behavior of other functions, notably it now usesgolem::get_golem_wd()to find the current working dir.{golem}now depends on{rlang}version >= 1.0.0- Functions that print to the console are now quiet if
options("golem.quiet" = TRUE), #793 - Small documentation update in dockerfile related functions (#939)
fill_desc()now allows to set the version (#877)- Setting the Environment variable
GOLEM_MAINTENANCE_ACTIVEtoTRUEactivates the maintenance mode of your app golem::run_dev()now save all open documents before sourcing thedev/run_dev.Rfile- When creating an app, you’ll get a message if the dev deps are not all installed (#915)
03_deploynow contains an example of sending the app to PositConnect or Shinyapps.io (#923)
Bug fix
- The message after htmlTemplate creation now suggests to add in the UI, not only in
app_ui.R(#861) - The Deprecation message for
use_recommended_depsno longer suggest to useruse_recommended_deps(#900) - The setting of the config file has been unified so that we are sure to keep the
!expringolem_set_wd(), and the codebase has been simplified for this (#709). - The functions adding files can no longer take a
nameargument that haslength() > 1. This used to cause some bugs (#781) - The typo in
install.packages()in02_dev.Rhas been corrected (@asiripanich) add_dockerfile_with_renv()now works well with uppercase in package name- improve
get_golem_options()documentation
Internal changes
add_dockerfile_with_renvnow works well with uppercase in package name
golem 0.3.5
Update in the tests for CRAN (commented a test that made new version of testthat fail).
golem 0.3.4
Update in the tests for CRAN (skip not installed + examples).
golem 0.3.3
New functions
add_dockerfile_with_renv(),add_dockerfile_with_renv_heroku()andadd_dockerfile_with_renv_shinyproxy()build Dockerfiles that rely on{renv}
Soft deprecated
add_dockerfile,add_dockerfile_shinyproxy()andadd_dockerfile_heroku()now recommend to switch to their_with_renv_counterpart
golem 0.3.2
Soft deprecated
use_recommended_deps()is now soft deprecated (#786)
Hard deprecated
- The
htmlparameter inexpect_html_equal()is no longer in use (#55).
New functions
add_sass_file()creates a .sass file in inst/app/www (#768)use_module_test()creates a test skeleton for a module (#725)
New features
- The
02_dev.Rfile now suggests usingattachment::att_amend_desc()(#787) use_code_of_conduct()in dev script now has the contact param (#812)- All
with_testparams are now TRUE in the dev script (#801) test-golem-recommendednow has two new tests forapp_sysandget_golem_config(#751)use_utils_ui()use_utils_server()& now come with awith_testparameter that adds a test file for theses functions (#625 & #801){golem}now checks if a module exists before adding a module related file (#779)- Every
{rstudioapi}calls is now conditionned by the availabily of this function (#776) use_external_*functions no longer suggest to “Go to” (#713, @novica)create_golem()now comes withwith_gitparameter that can be used to initialize git repository while creating a project templateuse_recommended_tests()now comes withtestServer(#720).expect_html_equal()now usestestthat::expect_snapshot()(#55).add_modules(),add_fct()andadd_utils()now come with awith_testparameter that can be turned on to add a test file to the module (#719 & #141)- /! All docker related functions have been moved to
{dockerfiler}. This is more or less a breaking change, cause you’ll need to install{dockerfiler}> 0.1.4 in order to build the Dockerfile but{golem}will ask you to install{dockerfiler}> 0.1.4 if it can’t find it, (#412) - Modules ID no longer contain an
_ui_element, (#651,@MargotBr) - run_dev now has
options(shiny.port = httpuv::randomPort())to prevent the browser from caching the CSS & JS files (#675) - You can now specify the path to R in
expect_running().
Bug fix
- Fixed a bug in the printing of the htmlTemplate code (#827)
- We now require the correct
{usethis}version (822) golem::amend_config()now keeps the!expr(#709, @teofiln)- recommended tests now use
expect_type()instead ofexpect_is, which was deprecated from{testthat}(#671) - Fixed check warning when using
golem::use_utils_server()(#678), - Fixed issue with expect_running & path to R (#700, @waiteb5)
expect_running()now find R.exe on windows.use_recommended_tests()no longer add{processx}to theDESCRIPTION(#710)bundle_resource()does not include empty stylesheet anymore (#689, @erikvona)
Internal changes
- Create
{golem}is more robust and now comes with anoverwriteargument (#777) {testthat}and{rlang}are no longer hard dependencies (#742)
golem 0.3.1
New functions
add_*
- You can now create a skeleton for a Shiny input binding using the
golem::add_js_binding("name")function (#452, @DivadNojnarg) - You can now create a skeleton for a Shiny output binding using the
golem::add_js_output_binding("name")function (@DivadNojnarg) add_html_template()creates an htmlTemplate.
use_*
use_external_file()allows to add any file to thewwwfolder,use_external_css_file(),use_external_html_template(), anduse_external_js_file()will download them from a URL (#295, #491).use_internal_css_file(),use_internal_file(),use_internal_html_template(),use_internal_js_file()functions allow to any file from the current computer to thewwwfolder (@KasperThystrup, #529)
Tests helper
expect_running()expects the current shiny app to be running.
Hooks
- Every
{golem}project now have aproject_hookthat is launched after the project creation. module_template()is the default function for{golem}module creation. Users will now be able to define a custommodule_template()function foradd_module(), allowing to extend{golem}with your own module creation function. See ?golem::module_template for more info (#365)add_js_andadd_css_functions now have a template function, allowing to pass a file constructor.
Misc
is_running()checks if the current running application is a{golem}based application (#366)utils_ui.Rnow contains a “make_action_button()” function (#457, @DivadNojnarg)run_dev()launches therun_dev.Rscript (#478, @KoderKow)run_dev()performs a check on golem name.sanity_check()function has been added to check for any ‘browser()’ or commented #TODO / #TOFIX / #BUG in the code (#1354@Swechhya)
New features
- The modules are now created with the new skeleton when the installed version of
{shiny}is >= 1.5.0. use_external_*()function don’t open files by default (#404)use_recommended_tests*()now callsuse_spell_check()(#430)- The
02_dev.Rnow includes more CI links golem::expect_running()is now bundled in default tests- Default tests now test for functions formals (#437)
- You can now pass arguments to internal
roxygenise()&load_all()(#467) Bundle_resources()now handle subfolders (#446)run_app()now includes the default arguments ofshinyApp()(#254, @chasemc)create_golem()now adds strict dependency versions (#466){golem}app now comes with a meta tags “app-builder”, which default to “golem”, and that can be changed or turn off inbundle_resources().with_golem_optionscan now explicit callsprinton theappobject, solving some issues with benchmarking the application. This explicit print can be turned off by settingprintto FALSE inwith_golem_options(#148)dockerignoreis now available.- The
add_helpersandadd_utilsnow have roxygen comments (Richard Pilbery, #330) dev/03_dev.Rnow hasdevtools::build()(#603)detach_all_attached()is now silent (#605)
Soft deprecated
add_ui_server_files()is now signaled as deprecated. Please comment on https://github.com/ThinkR-open/golem/issues/445 if you want it to be kept inside the package
Breaking changes
add_dockerfile*function now return the{dockerfiler}object instead of the path to it. It allows to modify the Dockerfile object programmatically. (#493)- The
get_golem_confignow first look for aGOLEM_CONFIG_ACTIVEbefore looking forR_CONFIG_ACTIVE(#563)
Bug fix
add_functions no longer append to file if it already exists (#393)config::get()is no longer exported to prevent namespace conflicts withbase::get()- fixed issue with favicon when package is built (#387)
use_external_*()function don’t add ext if already there (#405)create_golemfunction does not modify any existing file (#423, @antoine-sachet)add_resources_path()now correctly handles empty folder (#395)- test for app launching is now skipped if not interactive()
add_utilsandadd_fctnow print to the console (#427, @novica)- Multiple CRAN repo are now correctly passed to the Dockerfile (#462)
- app_config, DESC and golem-config.yml are now updated whenever you change the name of the package using a golem function (#469 )
test_recommendednow work in every case (hopefully)usethis::use_mit_licensedoes not have thenameargument anymore so if fits new version of{usethis}(#594)- Typo fix preventing
invoke_js("prompt")andinvoke_js("confirm")to work (#606)
Internal changes
document_and_reload()now hasexport_all = FALSE,helpers = FALSE,attach_testthat = FALSE, allowing the function to behave more closely to what library() does (#399)- Dockerfile generation now removes the copied file and tar.gz
golem 0.2.1
New functions
add_dockerfile()was completely refactored. It now starts from r-ver, uses explicit package versions from you local machine, and tries to set as much System Requirements as possible by using{sysreq}, and parses and installs the Remotes tag from the DESCRIPTION (#189, #175)add_dockerfile()allow now to directly use the source of the package by mounting the source folder in the container and runningremotes::install_local()add_dockerfile()now builds the tar.gz (#273)add_fctandadd_utilsadd new files in your R folder that can hold utils and functions (#123).- We switched from
shiny::addResourcePath()togolem::add_resource_path(), which doesn’t fail if the folder is empty (#223). - New JavaScript functions to use alert, prompt and confirm (#108,@zwycl)
use_external_js_fileanduse_external_css_fileare designed to download .js and .css file off the web to the appropriate directory (#130, @zwycl)
New features
{golem}now comes with an internal config file. Please refer to theconfigVignette for more information.bundle_resources()comes with every new app and bundles all the css and js files you put inside theinst/app/wwwfolder, by matchine the file extension.- There is now an
app_sys()function, which is a wrapper aroundsystem.file(..., package = "myapp")(#207,@novica) document_and_reload()now stops when it fails, and returns an explicit failure message (#157)- You can now create a golem without any comment (#171, @ArthurData)
- The default
app_ui()now has arequestparameter, to natively handle bookmarking. document_and_reload()now stops when it fails, and returns an explicit failure message (#157). It also usesget_golem_wd()as a default path, to be consistent with the rest of{golem}(#219, @j450h1)add_modulenow allows to create andfct_and anutils_file (#154, @novica)golem::detach_all_attached()is now silent (#186,@annakau)- There is now a series of addins for going to a specific golem file (#212, @novica), and also to wrap a selected text into
ns()(#143, @kokbent) - Creation of a golem project is now a little bit more talkative (#63, @novica)
- golem apps now have a title tag in the header by default, (#172,@novica)
- The
rsconnectfolder is now added to.Rbuildignore(#244) devtools::test()in 03_deploy.R is nowdevtools::check()- modules bow have a placeholder for content
- Dev scripts have been rewritten and reordered a little bit
Breaking changes
invoke_js()now takes a list of elements to send to JS (through...) instead of a vector (#155, @zwycl)get_dependencieswas removed from this package, please usedesc::desc_get_deps()instead (#251){golem}now useshere::here()to determine the default working directory (#287)- Modules used to be exported by default. You now have to specify it when creating the modules (#144)
run_app()is no longer explicitely namespaced in the run_dev script (#267)- JavaScript files now default to having
$(document).ready()(#227) - Every filesystem manipulation is now done with
{fs}. That should be pretty transparent for most users but please open an issue if it causes problem (#285)
Bug fix
- The Dockerfile is now correctly added to .Rbuildignore (#81)
- The dockerfile for shinyproxy no longer has a typo (#156, @fmmattioni)
normalizePath()now has a correct winlash (@kokbent)- spellcheck in files (@privefl)
- Message to link to
golem_add_external_resources()is now conditional to R being in a golem project (#167, @novica) - Better error on missing name in add_*, (#120, @novica)
- When adding file, the extension is now ignored if provided by the user (#231)
- The dots R/run_app.R are now documented by default (#243)
- Bug fix of the pkgdown website (#180)
{golem}now correctly handles command line creation of projet inside the current directory (#248)- The test are now more robust when it comes to random name generation (#281)
Internal changes
- We no longer depend on
{stringr}(#201, @TomerPacific) - get_golem_wd() is now used everywhere in
{golem}(#237, @felixgolcher)
golem 0.1.0 - CRAN release candidate, v2
New Functions
get_golem_wdallows to print the current golem working directory, andset_golem_wdto change it.
Breaking changes
- In order to work, the functions creating files need a
golem.wd. This working directory is set byset_golem_optionsor the first time you create a file. It default to".", the current directory. - Changes in the name of the args in
set_golem_options:pkg_pathis nowgolem_wd,pkg_nameis nowgolem_name,pkg_versionis nowgolem_version
Internal changes
- The
installed.packages()function is no longer used. - Every filesystem manipulation is now done with
{fs}(#285)
golem 0.0.1.9999 - CRAN release candidate
Changes in the way run_app and deploy files are build
- There is now a unique framework for run_app, that allows to deploy anywhere and can accept arguments. These arguments can then be retrieved with
get_golem_options().
See https://rtask.thinkr.fr/blog/shinyapp-runapp-shinyappdir-difference/
Breaking Changes
- There is no need for
ui.Randserver.Rto exist by default. Removed. Can be recreated withadd_ui_server_files()
New function
- There is now
add_shinyserver_file&add_shinyappsio_file, #40 add_ui_server_files()creates an ui & server.R files.
Small functions updates
- Functions that create file(s) now automatically create folder if it’s not there. Can be prevented with
dir_create = FALSE - Functions that create file(s) can now be prevented from opening with
open = FALSE, #75 - We have made explicit how to add external files (css & js) to the app, #78
- Launch test is now included in the default tests #48
golem 0.0.1.6000+
Changes
create_golem()now switch to the newly created projectuse_git()is not listed indev/01_start.R
Breaking changes
- Renamed
add_rconnect_file()toadd_rstudioconnect_file() - Renamed
create_shiny_template()tocreate_golem() - Renamed
js()toactivate_js() - Renamed
use_recommended_dep()touse_recommended_deps()
New functions
invoke_js()allows to call JS functions from the server side. #52
golem 0.0.1.5000
Changes
- The dev files are now split in three - start / dev / deploy
- Every function that adds a file now check if the file already exists, and ask the user if they want to overwrite it (#15)
- Every module is now named mod_x_ui / mod_x_server, for consistency.
- You can now create package with “illegal” names, using the command line
golem::create_shiny_template(). #18 add_browser_button()is now namedbrowser_button(), so that all theadd_*function are only reserved for function adding files to thegolem.add_*_filesnow check if the folder exists, if not suggests to create it. #36
New functions
- You now have a
browser_dev()function that behaves likewarning_devand friends. #46 - Added
set_golem_options()to add local options used internally by {golem} && added it to the01_start.R. #49 - Added
add_dockerfile()to create a Dockerfile from a DESCRIPTION. - Added
add_dockerfile_shinyproxy()to create a Dockerfile from a DESCRIPTION, to be used in Shiny Proxy. - Added
add_dockerfile_heroku()to create a Dockerfile from a DESCRIPTION, to be used with Heroku. add_css_file(),add_js_file()andadd_js_handler()create a CSS, JS, and JS with Shiny custom handler files.
Removed
use_utils_prodis now included in golem so you don’t have to explicitly include the functions.
Docs
- Golem now has four vignettes
golem 0.0.1.0002
Last round of functions, and some documentation cleanup.
golem 0.0.0.9000
- Moved from {shinytemplate} to {golem}
- Added a
NEWS.mdfile to track changes to the package.