Skip to content

[chore] Release v1.54.0#13807

Merged
sfc-gh-bnisco merged 7 commits intodevelopfrom
release/1.54.0
Feb 9, 2026
Merged

[chore] Release v1.54.0#13807
sfc-gh-bnisco merged 7 commits intodevelopfrom
release/1.54.0

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Feb 3, 2026

Automated PR to merge release branch into develop.

Release version: 1.54.0

sfc-gh-nbellante and others added 5 commits February 3, 2026 18:05
…handling (#13733)

## Describe your changes

Added centralized path security validation to prevent Server-Side
Request Forgery (SSRF) and path traversal vulnerabilities. The changes
include:

1. Created a new `path_security.py` module with
`is_unsafe_path_pattern()` function that detects potentially dangerous
paths:
   - UNC paths (Windows network shares)
   - Absolute paths (Windows drive letters or root-based paths)
   - Path traversal attempts using `..`
   - Null byte injection attempts
   - Windows special path prefixes

2. Added a new `PathSecurityMiddleware` for Starlette that blocks unsafe
paths at the HTTP layer before any filesystem operations.

3. Updated component path handling to validate paths BEFORE calling
`os.path.realpath()`, preventing Windows from triggering SMB connections
to attacker-controlled servers.

4. Modified `AppStaticFileHandler` to check for unsafe paths before
filesystem operations.

5. Standardized security responses across the codebase (400 Bad Request
for malicious paths).

## Testing Plan

Added comprehensive test cases covering:
- Detection of various unsafe path patterns
- Validation of UNC paths and Windows drive letters
- Handling of URL-decoded paths
- Null byte injection attempts
- Windows special path prefixes
- Mixed path separator handling
- Verification that legitimate paths still work correctly
- Middleware positioning and integration with the request pipeline
- Proper handling of WebSocket connections

The tests verify both the new security functions and their integration
across different parts of the codebase.

---

**Contribution License Agreement**

By submitting this pull request you agree that all contributions to this
project are made under the Apache 2.0 license.
…13806)

## Summary

Fixes the `client.showErrorLinks` config option to accept boolean values
(`True`/`False`) in addition to string values (`"auto"`, `"true"`,
`"false"`).

Previously, setting the config option with a boolean like
`client.showErrorLinks = false` in config.toml would not work because
the code only checked for string values. This change aligns
`showErrorLinks` with the behavior of other config options that accept
both boolean and string values.

## Test plan

- Added unit tests for boolean `True` and `False` values
- All existing tests pass
- Verified manually that `client.showErrorLinks = false` in config.toml
now works correctly
## Describe your changes
Small update to logo.py and config.py for style.

## Screenshot or video (only for visual changes)

## GitHub Issue Link (if applicable)

## Testing Plan

- Explanation of why no additional tests are needed
- Unit Tests (JS and/or Python)
- E2E Tests
- Any manual testing needed?

---

**Contribution License Agreement**

By submitting this pull request you agree that all contributions to this
project are made under the Apache 2.0 license.

---------

Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
@github-actions github-actions bot requested a review from a team as a code owner February 3, 2026 21:37
@github-actions github-actions bot added change:chore PR contains maintenance or housekeeping change impact:users PR changes affect end users labels Feb 3, 2026
@sfc-gh-nbellante sfc-gh-nbellante enabled auto-merge (squash) February 3, 2026 21:39
@snyk-io
Copy link
Copy Markdown
Contributor

snyk-io bot commented Feb 3, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@sfc-gh-bnisco
Copy link
Copy Markdown
Collaborator

@sfc-gh-nbellante gentle nudge on this one, can you resolve the conflicts on this one so we can get the version bump checked in? Thank you!

@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions bot commented Feb 6, 2026

✅ PR preview is ready!

Name Link
📦 Wheel file https://core-previews.s3-us-west-2.amazonaws.com/pr-13807/streamlit-1.54.0-py3-none-any.whl
📦 @streamlit/component-v2-lib Download from artifacts
🕹️ Preview app pr-13807.streamlit.app (☁️ Deploy here if not accessible)

@sfc-gh-nbellante
Copy link
Copy Markdown
Contributor

@sfc-gh-nbellante gentle nudge on this one, can you resolve the conflicts on this one so we can get the version bump checked in? Thank you!

Thanks for the nudge @sfc-gh-bnisco , if it doesn't show up in my account's created PRs they tend to slip my mind 😅

Conflict resolved!

Copy link
Copy Markdown
Collaborator

@sfc-gh-bnisco sfc-gh-bnisco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing the conflicts. Since we reverted the selectbox changes in the release branch, but not in develop, this PR has changes that would revert them. This PR should just be version changes.

@sfc-gh-bnisco sfc-gh-bnisco merged commit cc001f6 into develop Feb 9, 2026
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

change:chore PR contains maintenance or housekeeping change impact:users PR changes affect end users

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants