v4.5.8
immich-app/immichv4.5.8Jul 27, 2026by github-actions[bot]
AI Summary
This release introduces dashboard customization options, improves API stability by clamping page sizes, and enhances billing alerting. It also adds new metrics for realtime backend performance and improves error handling for AI chat streams.
Key Highlights
- Dashboard customization: Users can now favorite pages, rename items, hide items, and reorder the sidebar.
- API Stability: List API endpoints now clamp page size to a maximum of 100 items to prevent unbounded requests.
- Billing Improvements: Organizations without billing alerts get default spend thresholds, and the billing limit page no longer pre-selects options.
- Chat Agent Improvements: Partial assistant messages are preserved if a model stream fails mid-response.
- Security/Logging: Container startup no longer prints database connection strings to logs.
New Features
- Favorites section in the side menu with customizable sidebar items
- Realtime backend metrics for measuring batch serving of single changed runs
- Option to read run data straight from the primary database for realtime subscriptions
- SSO and Directory Sync availability for all plan tiers
- Display of first and last few characters of generated Personal Access Tokens
Full Release Notes
## Upgrade ```sh npx trigger.dev@latest update # npm pnpm dlx trigger.dev@latest update # pnpm yarn dlx trigger.dev@latest update # yarn bunx trigger.dev@latest update # bun ``` Self-hosted Docker image: [`ghcr.io/triggerdotdev/trigger.dev:v4.5.8`](https://github.com/triggerdotdev/trigger.dev/pkgs/container/trigger.dev/1071308577?tag=v4.5.8) ## Release notes Read the full release notes: https://trigger.dev/changelog/v4-5-8 ## What's changed ## Improvements - Preserve the partial assistant message when a chat turn's model stream fails mid-response. `chat.agent` now passes the recovered partial to `onTurnComplete`, and `chat.createSession`'s `turn.complete()` keeps it before rethrowing, instead of dropping the streamed-so-far output. ([#4348](https://github.com/triggerdotdev/trigger.dev/pull/4348)) ## Server changes These changes affect the self-hosted Docker image and Trigger.dev Cloud: - Favorite any dashboard page to a new Favorites section in the side menu, and customize the sidebar by renaming favorites, hiding items, and reordering items and sections. ([#4375](https://github.com/triggerdotdev/trigger.dev/pull/4375)) - List API endpoints now clamp the page size to a maximum of 100. Requests asking for a larger page size return up to 100 items and keep paginating, rather than pulling an unbounded page. ([#4360](https://github.com/triggerdotdev/trigger.dev/pull/4360)) - Organizations without billing alerts now get default spend alert thresholds, so you're notified before usage grows unexpectedly. The billing limit page no longer pre-selects an option before you've set a limit and prompts you to configure one. Alert previews now update immediately after you change your billing limit. ([#4328](https://github.com/triggerdotdev/trigger.dev/pull/4328)) - When you create a Personal Access Token, the generated token now shows its first and last few characters instead of being fully hidden, so you can confirm you copied the right value. ([#4363](https://github.com/triggerdotdev/trigger.dev/pull/4363)) - Add metrics to the realtime backend that measure how often a single changed run is served to multiple subscriptions in one batch. ([#4341](https://github.com/triggerdotdev/trigger.dev/pull/4341)) - Realtime run subscriptions can now be configured to read run data straight from the primary database, so a run's latest state is never served from a lagging replica. Off by default; replica reads are unchanged unless you turn it on. ([#4378](https://github.com/triggerdotdev/trigger.dev/pull/4378)) - SSO and Directory Sync are no longer restricted to Enterprise plans — get in touch and we can turn them on for your organization whatever plan you're on. ([#4393](https://github.com/triggerdotdev/trigger.dev/pull/4393)) - Improved supervisor observability: it now reports metrics for its outbound requests, making failed calls to upstream services easier to monitor. ([#4350](https://github.com/triggerdotdev/trigger.dev/pull/4350)) - The runs list on a task's page now updates live — run statuses change and newly triggered runs appear without a manual refresh, matching the main Runs page. ([#4377](https://github.com/triggerdotdev/trigger.dev/pull/4377)) - Speed up the Batches list page for environments with a large number of batches, which could previously time out while loading. ([#4361](https://github.com/triggerdotdev/trigger.dev/pull/4361)) - Container startup no longer prints database and ClickHouse connection strings (with credentials) to the logs. ([#4346](https://github.com/triggerdotdev/trigger.dev/pull/4346)) - The tasks page no longer runs two queries whose results were never displayed, cutting wasted work on every page load and removing a source of hidden server errors ([#4380](https://github.com/triggerdotdev/trigger.dev/pull/4380)) ## All packages: v4.5.8 @trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev ## Contributors claude[bot], Eric Allam, James Ritchie, @nicktrn, Matt Aitken, github-actions[bot], Chris Arderne **Full changelog**: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.7...v4.5.8