Skip to content

v3.2.0

Latest
Compare
Choose a tag to compare
@LEDfan LEDfan released this 07 Jul 14:22
· 1 commit to master since this release

The latest version of the release notes can be found on the website.

  • update to JDK 21
  • update to Spring Boot 3.4
  • use stripped down version of bootstrap to mitigate vulnerabilities
  • add the ShinyProxy Operator for Docker
  • expose all apps (including apps a user has no access to) as a variable in templates (see docs)
  • support links in app descriptions
  • allow to show apps in grid on main page (see docs)
  • don't include - Default in title of app page
  • improve using ShinyProxy on a mobile device
  • much improved monitoring stack
  • allow to embed Grafana into ShinyProxy
  • support monitoring stack on Docker hosts (see ShinyProxy Operator docs)
  • don't restart crashed Kubernetes container (or pod), this makes debugging a crashed app easier
  • log reason a Kubernetes pod crashed
  • log reason a Docker container crashed
  • check health of a container before showing the app crashed page
  • show version and debugging information on admin page
  • exit with an error code when ShinyProxy crashes
  • more clearly log error when ShinyProxy crashes
  • improve error when defining duplicate users
  • shutdown ShinyProxy container when the JVM goes out of memory (only in official Docker image)
  • tweak Java memory settings for more efficient memory usage (only in official Docker image)
  • ensure that logs for failed apps are correctly shown in Grafana
  • check container health during startup, such that failures are detected more quickly
  • allow to record custom user attributes in usage statistics (see docs)
  • add CSV usage stats backend (see docs)
  • allow using serverName in access-expression to limit apps to specific domains
  • allow using SpEL in the proxy.title and proxy.logo-url properties
  • ECS: create single log group for each spec instead of for each proxy
  • ECS: rename the proxy.ecs.enable-cloudwatch to proxy.ecs.enable-cloud-watch for consistency (the old property still works)
  • ECS: support repository credentials (pull secrets) (see docs)
  • ECS: support adding SecretManger secrets (see docs), contributed by @axel-nagel
  • Docker: bind host port of Docker containers on 127.0.0.1 instead of 0.0.0.0 (see docs to change this)
  • Docker: allow specifying default docker network (see docs)
  • Docker: allow to use group-add for Docker containers (see docs)
  • Docker: allow to use Loki Docker driver for collecting logs (see docs)
  • add delegate_app_status and appInfo Prometheus metrics (see docs)
  • add option to not use default OpenID scopes (see docs)
  • support fetching groups using the Microsoft Graph API when using OpenID (see docs)
  • add option to enforce HTTPS in the OpenID redirect URI (see docs)
  • allow to use the NameID as username when using SAML (see docs)
  • allow to handle usernames as case-insensitive (see docs)
  • add custom header authentication backend (see docs)
  • log message when receiving invalid status code when ShinyProxy checks reachability of app
  • allow to add extra fields to the App Details dialog (see docs)
  • ensure ShinyProxy can be seamlessly (without downtime) upgraded even if storage schema of Spring session changes
  • make the Docker and Kubernetes resources configuration more flexible (see docs)
  • validate Kubernetes resources configuration, such that a more user-friendly error is reported
  • Note: for improved security, ShinyProxy now uses a (single) Kubernetes
    service to access pods. Therefore, ShinyProxy should have permission to manage
    Kubernetes services. The manifests of the operator are updated to support this.
  • Fix: don't send emails with zero-byte attachments
  • Fix: don't add request headers that contain non-allowed (i.e. everything except ISO-8859-1/ISO-Latin-1) characters
  • Fix: don't use protocol of docker.url as target protocol for connecting to apps
  • Fix: gracefully handle errors in usage stats, to not brake the apps
  • Fix: prevent memory leak in SpecExpressionResolver
  • Fix: prevent memory leak in ProxyMappingManager
  • Fix: prevent IllegalStateException: creationTime key must not be null
  • Fix: prevent ConcurrentModificationException error
  • Fix: correctly load existing app when spec is removed
  • Fix: show app crashed page instead of reloading page in specific situations
  • Fix: prevent NullPointerException for requests without a User-Agent header