Notes: the # between parenthesis referes to the related issue on GitHub, and the @ refers to an external contributor solving this issue.
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 running remotes::install_local()
add_dockerfile() now builds the tar.gz (#273)
add_fct and add_utils add new files in your R folder that can hold utils and functions (#123).
We switched from shiny::addResourcePath() to golem::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_file and use_external_css_file are designed to download .js and .css file off the web to the appropriate directory (#130, @zwycl)
{golem} now comes with an internal config file. Please refer to the config Vignette for more information.
bundle_resources() comes with every new app and bundles all the css and js files you put inside the inst/app/www folder, by matchine the file extension.
There is now an app_sys() function, which is a wrapper around system.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 a request parameter, to natively handle bookmarking.
document_and_reload() now stops when it fails, and returns an explicit failure message (#157). It also uses get_golem_wd() as a default path, to be consistent with the rest of {golem} (#219, @j450h1)
add_module now allows to create and fct_ and an utils_ 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 rsconnect folder is now added to .Rbuildignore (#244)
devtools::test() in 03_deploy.R is now devtools::check()
modules bow have a placeholder for content
Dev scripts have been rewritten and rerordered a litte bit
invoke_js() now takes a list of elements to send to JS (through ...) instead of a vector (#155, @zwycl)
get_dependencies was removed from this package, please use desc::desc_get_deps() instead (#251)
{golem} now uses here::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)
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)
We no longer depend on {stringr} (#201, @TomerPacific)
get_golem_wd() is now used everywhere in {golem} (#237, @felixgolcher)
get_golem_wd allows to print the current golem working directory, and set_golem_wd to change it.In order to work, the functions creating files need a golem.wd. This working directory is set by set_golem_options or 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_path is now golem_wd, pkg_name is now golem_name, pkg_version is now golem_version
The installed.packages() function is no longer used.
Every filesystem manipulation is now done with {fs} (#285)
get_golem_options().See https://rtask.thinkr.fr/blog/shinyapp-runapp-shinyappdir-difference/
ui.R and server.R to exist by default. Removed. Can be recreated with add_ui_server_files()add_shinyserver_file & add_shinyappsio_file, #40add_ui_server_files() creates an ui & server.R files.dir_create = FALSEopen = FALSE, #75create_golem() now switch to the newly created projectuse_git() is not listed in dev/01_start.Radd_rconnect_file() to add_rstudioconnect_file()create_shiny_template() to create_golem()js() to activate_js()use_recommended_dep() to use_recommended_deps()invoke_js() allows to call JS functions from the server side. #52The 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 named browser_button(), so that all the add_* function are only reserved for function adding files to the golem.
add_*_files now check if the folder exists, if not suggests to create it. #36
You now have a browser_dev() function that behaves like warning_dev and friends. #46
Added set_golem_options() to add local options used internally by {golem} && added it to the 01_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() and add_js_handler() create a CSS, JS, and JS with Shiny custom handler files.
use_utils_prod is now included in golem so you don’t have to explicitly include the functions.Last round of functions, and some documentation cleanup.
Moved from {shinytemplate} to {golem}
Added a NEWS.md file to track changes to the package.