- bug fix to correct registration flow for email invite required
- new
add_auth_to_spec()function to allow you to use the Plumber swagger docs with the newauth_filter()function. max_sessionsargument added todeploy_app()which enables the new Polished Hosting load balancer.gh_patargument added todeploy_app()which can be set to deploy/use private GitHub packages on Polished Hosting.- new function
auth_filter()which makes it very simple to add Polished Auth to Plumber APIs. - more user friendly error messages for toast notifications.
- added Hosting support for new "me-west1" region.
- removed
admin_modeargument frompolished_config(). - added optional
role_namearg toadd_user_role() deploy_app()now throws a more user friendly error message if the app is too large to deploy to Polished Hosting.- Polished Hosting supports instances with more RAM. 16 and 32 GiB RAM instances are now available.
- the
custom_admin_uiargument forsecure_ui()now takes a fully custom shiny app. This allows users to fully customize their Admin Panel. Previously you could only add tabs to the existing default Admin Panel, but with this change, you can fully replace the default Admin Panel with a custom Shiny app. - improved UI of email verification page.
update_user()API wrapper function has been created.- 2 factor authentication using TOTP has been implemented. This works with authenticator apps like Google Authenticator. You can enable it by setting the
is_two_fa_requiredargument ofpolished_config()toTRUE. - bug fix - fixed auto email verification check on email verification page.
- Fixed bug with
is_auth_requiredargument forpolished_config().
- major internal refactor to simplify how user sessions are handled. We remove the reliance
on R6. We now just use a regular base R environment to to hold the configuration and regular R functions (rather than R6 methods) to handle user sessions. You can now access all
polishedauth configuration from your Shiny app or other R packages that build uponpolishedvia thepolished::.polishedenvironment. - new argument
override_useradded tosecure_server(). When this argument is set toTRUE(the default), thesession$userData$user()polisheduser will be accessible in thesession$user. Set this argument toFALSEif you are using RStudio Connect or another hosting option that uses thesession$userand you need access to the value they set forsession$user. - fix to allow for multiple custom
tabItems on the Admin Panel. - The Admin Panel query string has been changed from
?page=admin_panelto?page=admin - new
get_api_key()function that will check for the environment variablePOLISHED_API_KEY. - new
polished_config()function to replaceglobal_sessions_config()which has been deprecated. - Bug Fix #172 - browser previously refreshed when URL query or hash parameters changed, but user remained on the Shiny app. This has been updated to be consistent with normal Shiny behavior (i.e. Shiny session does not reload when URL query or hash parameters update).
- Added
secure_rmd(), which can be used to render and secure any R Markdown (.Rmd) document. Rendering is handled byrmarkdown::renderand the then the rendered document is secured withpolishedauthentication.
- Added 4 additional Polished Hosting regions (see documentation for
regionargument ofpolished::deploy_app()) - App names (i.e.
app_name) can now include upper case letters & spaces (Example:app_name = "Example App Name") - added
cacheargument todeploy_app()to set whether or not to use a cached build of your Shiny app on Polished Hosting. - added
golem_package_nameargument todeploy_app()to allow for deploying Golem Shiny apps to Polished Hosting. - removed options to pass an "account module" and/or a "splash page module" to the
secure_ui()andsecure_server()functions. These were experimental arguments for extendingpolished. We now have a better generalized solution for extendingpolished-- more to come soon. - export the
api_list_to_df()function - added new
cookie_expiresargument toglobal_sessions_config(), allowing you to set the cookie expiration for app users
- created API wrapper functions for programmatically managing users, apps, user invites,
roles, etc. See the new API Wrappers vignette for details (
vignette("api_wrappers", package = "polished")). - added 93 new tests for the above mentioned new API wrapper functions.
- removed
api_urlargument fromglobal_sessions_config(). This argument is only used internally during development, so there is no reason to expose it to package users. - Bug Fix: fixed check for user already registered during sign in process.
- added
button_colorargument tosign_in_ui_default(). - added
tlmgrargument todeploy_app()which allows support for generating pdf documents from Rmarkdown.
- created new
deploy_app()function for deploying apps to Polished Hosting. - removed dependencies on
shinydashboardPlusdue to breaking change withdashboardHeaderPlus()anddashboardPagePlus(). sign_out_from_shiny()can now be used in thesession$onSessionEnded()oronStop()to sign the user out when the user's session ends.- added support for package dependency detection #129
- added cookie options
{ sameSite: "none", secure: true }when the app is being served over https. This allowspolishedauthentication to work in an iframe on most browsers. - added email validation to email inputs in the sign in and registration modules.
- allow for a function UI be passed to the "ui" argument of
secure_ui(). - added
redirect_pageargument tosign_out_from_shiny() - new
is_auth_requiredargument added toglobal_sessions_config()which (when set toFALSE) allows users to access your app without being signed in. By default this argument is set toTRUE. #109 - moved toast notification to top (better for mobile) and extended
showDuration. #107
- New "account" and "splash" pages. We will share more on these new pages in upcoming blog posts.
- Added
is_email_verification_requiredargument toglobal_sessions_config()that allows you to disable email verification. - Admin Panel > User Access > Add User: added checkbox to send an email invite to a newly invited user
- removed usage dashboard from Admin Panel. This dashboard has been superseded by the dashboard at https://dashboard.polished.tech #102
- added
background_imageargument tosign_in_ui_default()to allow for a full screen image for the sign in page background. - only use the
"email"sign in provider by default rather thanc("google", "email"). - added customizable sign out button to
secure_static()#93 - standardized and documented process for using fully customized sign in and registration pages #92. New functions
sign_in_js()andsign_in_check_jwt(), and new vignette on how to use these functions to create fully customized sign in and registration pages. - add
sign_in_module_2as an alternative premade sign in page.sign_in_module_2is designed to look nice when using social sign in providers (like Google and Microsoft) in addition to email/password. - Removed
sign_in_no_invite_module.sign_in_moduleandsign_in_module_2now have anis_invite_requirementargument, so there is no longer a need for a dedicatedsign_in_no_invite_module.
- Added a
NEWS.mdfile to track changes to the package. - Initial CRAN release of
polished