diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index b23e1f51..51b31145 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] - ?? +### Fixed + +- Python Shiny apps can be deployed when Connect server version is hidden. (#695) + ## [1.27.0] - 2025-07-10 ### Added diff --git a/rsconnect/main.py b/rsconnect/main.py index bec4604f..357d2b9a 100644 --- a/rsconnect/main.py +++ b/rsconnect/main.py @@ -1694,12 +1694,20 @@ def deploy_app( if isinstance(ce.client, RSConnectClient): # Update the starlette version if needed. After all users are on Connect - # 2024.01.1 or later, this can be removed. - environment = fix_starlette_requirements( - environment=environment, - app_mode=app_mode, - connect_version_string=ce.client.server_settings()["version"], - ) + # 2024.01.1 or later, this can be removed. Requires access to the + # Connect server version, which may be hidden. + connect_version_string = ce.client.server_settings().get("version", "") + if connect_version_string: + environment = fix_starlette_requirements( + environment=environment, + app_mode=app_mode, + connect_version_string=connect_version_string, + ) + else: + click.secho( + " Warning: Connect server version is hidden. Skipping starlette requirements check.", + fg="yellow", + ) ce.validate_server() ce.validate_app_mode(app_mode=app_mode)