github openanalytics/shinyproxy v2.6.0

latest releases: v3.1.1, v3.1.0, v3.0.2...
2 years ago
  • add proxy.default-stop-proxy-on-logout option to not stop apps on logout of a user (see docs)
  • add option to limit the maximum lifetime of an app (see docs)
  • add proxy.stop-proxies-on-shutdown option to not stop apps on shutdown of ShinyProxy (see docs)
  • optionally restore running apps on startup (known as App Recovery)
  • add heartbeat-timeout property to the specification of proxies (see docs)
  • allow to disable the heartbeat-timeout property (see docs)
  • add authentication information to SpEL context (see docs)
  • add way to easily use runtime-values in SpEL (see docs)
  • add kubernetes-additional-persistent-manifests option to specification of apps. These Kubernetes manifests are created when an app starts, but are never removed (in contrast to kubernetes-additional-manifests) (see docs)
  • add absolute_apps_running, absolute_users_logged_in, absolute_users_logged_in metrics to Micrometer (i.e. Prometheus) metrics, providing a way more consistent and correct value
  • add proxy.usage-stats-micrometer-prefix to optionally prefix Micrometer (i.e. Prometheus) metrics
  • add target-path option to specification of apps (see docs)
  • add a fallback heartbeat system for when the app does not use websockets and does not send HTTP requests often enough. This makes it easier to run applications which do not have these functionalities (e.g. traditional server-rendered apps, static html files etc.).
  • add Restart app button to navigation bar
  • add Stop app button to navigation bar
  • add mechanism to automatically reconnect the websocket connection in case it gets disconnected (see docs)
  • add support for running multiple instances of the same app by a single user (see docs)
  • add hide-navbar-on-main-page-link option to the specification of apps. When this option is enabled, the sp_hide_navbar query parameter will be added to the link on the main page to that app. This way you can control that an individual app is opened with the navbar hidden, while it is still possible to show the navbar for that app (by changing the URL).
  • automatically extend the lifetime of the session of a user when a websocket connection is active. This prevents the user from automatically getting logged out when using an app that only uses a websocket connection and no HTTP requests (see the corresponding GitHub issue)
  • add support for using SpEL in proxy.openid-logout-url (so that id_token_hint can be provided) (see docs)
  • add support for using http.proxyHost and http.proxyPort system properties for HTTP requests made by the SAML component (e.g. to fetch SAML metadata), contributed by @bartleboeuf
  • updated admin page to show more information
  • add support for grouping apps (see docs)
  • add support for specifying metadata to an app that can be used in the template (see docs)
  • add access-users property to proxy specification. This allows to configure a list of users that should have access to the app (see docs)
  • add access-expression property to proxy specification. This allows to configure a SpEL expression to determine whether a user has access to an app (see docs)
  • Operator: add proxy.operator.force-transfer option. When enabled a user is automatically transferred to the latest ShinyProxy instance when not using any apps. This is checked both on the main page and before starting a new app (see the operator docs).
  • Operator: automatically transfer user to latest ShinyProxy instance before logging in and after logging out (see the operator docs).
  • Operator: add proxy.operator.show-transfer-message-app-page option (see the operator docs).
  • Operator: add proxy.operator.show-transfer-message-main-page option (see the operator docs).
  • Fix: make issue form a client-side feature, such that current running app isn't closed
  • Fix: make it possible to run Jupyter Notebooks using ShinyProxy
  • Fix: make it easier to run Python Flask applications using ShinyProxy
  • Fix: update jQuery library so that the Bootstrap collapse module properly works
  • Fix: parsing of OIDC roles when these are provided as an embedded JSON string
  • Fix: return JSON on the DELETE /api/proxy/id API endpoint
  • Fix: show message when a login attempt is rejected because of an expired session
  • Fix: ensure API is accessible using access token when using Keycloak
  • Fix: cleanup any started container if user logs out during startup of an app
  • Fix: all web assets (JavaScript and CSS files) are now included in ShinyProxy itself and not loaded from a CDN
  • Fix: adapt the proxy.same-site-cookie property so that it also changes the SameSite Policy for session cookies created by Undertow (i.e. the session cookie when not using Redis)
  • Fix: adapt the server.secure-cookies property so that it also changes the Secure flag for session cookies created by Spring (i.e. the session cookie when using Redis)
  • Fix: update all included dependencies
  • Fix: do not show undefined in the browser when navigating away while an app is starting, for example, by logging out or navigating to the main page.
  • Fix: support parsing Keycloak JWKS information when it contains an ECDSA key
  • Note: using #{proxySpec.containerSpecs[0].env.get('SHINYPROXY_PUBLIC_PATH')}
    in the specification of an app will no longer work. The code can be replaced
    by #{proxy.getRuntimeValue('SHINYPROXY_PUBLIC_PATH')} (see the SpEL docs)
  • Note: change the default value for proxy.same-site-cookie to Lax, in order
    to ensure compatibility with changes to cookies in browsers (see the docs)

    When using SAML this value may need to be changed (see the docs)
  • Note: make sure to use server.secure-cookies: true when using proxy.same-site-cookie: None (e.g. for making SAML work properly), see the docs

Don't miss a new shinyproxy release

NewReleases is sending notifications on new releases.