## Features
- feat(search): refine sources, history and result states (#8312)
- feat(chat): resolve org-chat mentions in their owner workspace and let chat tag a whole workspace (#8310)
## Improvements
- improvement(search): keep search history on the Search page only (#8316)
- improvement(search): consolidate knowledge search around live Sim Search and document-decided workspace retrieval (#8314)
- improvement(chat): nest folders inside their resources in the org resource menu (#8302)
## Bug Fixes
- fix(files): keep the shared markdown parser editor unmounted (#8308)
- fix(ui): compact crowded tabs and layer native browser overlays (#8306)
- fix(trigger): exclude integration test files from task discovery (#8307)
- fix(slack): simplify app creation and setup order (#8280)
## Other Changes
- chore(deps): upgrade Bun to 1.4.2 (#8315)
- chore(tests): consolidate test patterns — shared Vitest base, central @sim/testing mocks, check:test-patterns, lean agent docs (#8309)
- docs(libr
## 1.24.0 (2026-09-25)
<!-- Release notes generated using configuration in .github/release.yml at main -->
## What's Changed
### Features
* feat: toggle all workspace folders from the Conversations header by @kuldeepsinh19 in https://github.com/OpenHands/OpenHands/pull/17409
* feat: scope OpenAI subscription caches by backend by @uczltw6 in https://github.com/OpenHands/OpenHands/pull/16699
* feat(home): reframe splash copy around day-to-day engineering work by @errmakov in https://github.com/OpenHands/OpenHands/pull/17545
* feat(conversation): open shared automation conversations read-only on cloud by @hieptl in https://github.com/OpenHands/OpenHands/pull/17683
### Bug Fixes
* fix: cap conversation Skills/Hooks/Tools dialogs at 90vw by @gokay-ai in https://github.com/OpenHands/OpenHands/pull/17586
* fix(automation): accept single-start stepped cron fields in the schedule validator by @Harsh23Kashyap in https://github.com/OpenHands/OpenHands/pull/17274
* fix(canvas): call agent-server
## What's Changed
### Features
* feat(experiments): streamline side-by-side comparison by @marliessophie in https://github.com/langfuse/langfuse/pull/17929
* feat(web): Add formatted json to the dataset item by @nmtrang29 in https://github.com/langfuse/langfuse/pull/17932
* feat(skills): basic skill management by @tobi12345 in https://github.com/langfuse/langfuse/pull/17803
* feat(web): add 100-row page size option to tracing tables by @nkabardin in https://github.com/langfuse/langfuse/pull/17919
https://github.com/langfuse/langfuse/pull/17926
### Fixes
* fix(web): header metrics as plain text on trace, observation and session headers by @nmtrang29 in https://github.com/langfuse/langfuse/pull/17757
* fix(billing): accept string event-bus timestamps on the CHB webhook by @Steffen911 in
* fix(web): session header drops the per-detail hide controls by @nmtrang29 in https://github.com/langfuse/langfuse/pull/17764
* fix(web): remove the pulsing dot on the trace panel toggl
## What's Changed
* chore(assistant): refresh embedded Langfuse skills by @langfuse-bot in https://github.com/langfuse/langfuse/pull/17916
* test(worker): skip Azure LLM connection tests until CI key is replaced by @hassiebp in https://github.com/langfuse/langfuse/pull/17924
**Full Changelog**: https://github.com/langfuse/langfuse/compare/v4.45.3...v4.45.4
## What's Changed
* chore(deps): bump image-size to 2.0.4 by @github-actions[bot] in https://github.com/langfuse/langfuse/pull/17917
* fix(web): log the public key when an API key lookup fails by @benlangfeld in https://github.com/langfuse/langfuse/pull/16375
* fix(llm-connections): reject TypeSafe base URLs that end in /systemone or have a query string by @DavidTraina in https://github.com/langfuse/langfuse/pull/17901
* fix(llm-connections): keep the custom TypeSafe base URL when switching upstreams by @DavidTraina in https://github.com/langfuse/langfuse/pull/17904
* fix(evals): keep the current decision model selectable by @DavidTraina in https://github.com/langfuse/langfuse/pull/17905
* fix(evals): list each decision model once when a custom model matches a default by @DavidTraina in https://github.com/langfuse/langfuse/pull/17915
## New Contributors
* @benlangfeld made their first contribution in https://github.com/langfuse/langfuse/pull/16375
**Full Changelog**: https
## What's Changed
**Models run on MLX on Apple Silicon by default**
In this release, on Apple Silicon devices, model architectures supported by the MLX runtime will automatically run on MLX.
```
ollama pull qwen3.8
ollama run qwen3.8
```
Additional models include [gemma4](https://ollama.com/library/gemma4), [qwen3.6](https://ollama.com/library/qwen3.6) and [qwen3.5](https://ollama.com/library/qwen3.5)
Decision models are now available on MLX as well: [Nimble](https://ollama.com/library/nimble) [tev1](https://ollama.com/library/tev1) [clef](https://ollama.com/library/clef) [clef-flash](https://ollama.com/library/clef-flash)
MLX now has support for an embedding model: [embeddinggemma-2](https://ollama.com/library/embeddinggemma-2)
We will continue testing and enabling additional models.
**Full Changelog**: https://github.com/ollama/ollama/compare/v0.35.1...v0.40.0
## What's Changed
### Features
* feat(ai-gateway): batch inference telemetry per project and retry transient failures by @hassiebp in https://github.com/langfuse/langfuse/pull/17855
### Fixes
* fix(shared): keep metadata keys that collide with Object.prototype by @rmnvg in https://github.com/langfuse/langfuse/pull/17686
* fix(batch-export): surface the real read failure, not a generic S3 error by @niklassemmler in https://github.com/langfuse/langfuse/pull/17891
* fix(api): type OtelSpan scalars and dataset JSON-schema fields in OpenAPI by @niklassemmler in https://github.com/langfuse/langfuse/pull/17892
* fix(web): keep the session metrics bar above both sidebars by @nkabardin in https://github.com/langfuse/langfuse/pull/17887
* fix(sso): omit IdP-reported issuer from discovery errors by @marksalpeter in https://github.com/langfuse/langfuse/pull/17880
### Chores
* chore(pricing): let the model price audit verify jev pricing against TypeSafe docs by @langfuse-bot i
## What's Changed
* fix(charts): Make PieChart colors match other charts by @bezbac in https://github.com/langfuse/langfuse/pull/17875
* test(scores): give the updated score a strictly later event_ts by @Steffen911 in https://github.com/langfuse/langfuse/pull/17879
* feat(llm-connections): default and custom models for TypeSafe connections by @hassiebp in https://github.com/langfuse/langfuse/pull/17881
**Full Changelog**: https://github.com/langfuse/langfuse/compare/v4.45.0...v4.45.1
## What's Changed
* fix(web): use tuple key for confusion matrix lookup to avoid delimiter collisions by @marliessophie in https://github.com/langfuse/langfuse/pull/17196
* refactor(web): Migrate exports settings table to design system by @bezbac in https://github.com/langfuse/langfuse/pull/17864
* feat(billing): send the organization name on ClickHouse Billing checkout by @Steffen911 in https://github.com/langfuse/langfuse/pull/17867
* refactor(web): Create design-system StackedBarChart by @bezbac in https://github.com/langfuse/langfuse/pull/17865
* refactor(web): Create design-system AreaChart by @bezbac in https://github.com/langfuse/langfuse/pull/17870
* docs(self-hosting): document Docker log retention by @I3eka in https://github.com/langfuse/langfuse/pull/16363
* feat(llm-connections): custom base URL and extra headers for TypeSafe connections by @hassiebp in https://github.com/langfuse/langfuse/pull/17866
## New Contributors
* @I3eka made their first contribution in
## What's Changed
### Features
* feat(llm-connections): send extra headers on Vertex AI Gemini requests by @hassiebp in https://github.com/langfuse/langfuse/pull/17831
* feat(worker): add isolated OTEL replay integration harness by @sumerman in https://github.com/langfuse/langfuse/pull/17741
* feat(evals): add conversation-signals decision-model gallery template by @annabellscha in https://github.com/langfuse/langfuse/pull/17845
* feat(trace-batching): enhance transcript assembly with timing metrics and token estimates by @marliessophie in https://github.com/langfuse/langfuse/pull/17839
* feat(ai-gateway): relay Anthropic Messages with usage telemetry by @hassiebp in https://github.com/langfuse/langfuse/pull/17781
* feat(ai-gateway): capture Anthropic Messages content in full mode by @hassiebp in https://github.com/langfuse/langfuse/pull/17854
* feat(billing): show only Total in invoice history for ClickHouse Billing orgs by @Steffen911 in https://github.com/langfuse/langfuse
## 1.23.0 (2026-09-23)
<!-- Release notes generated using configuration in .github/release.yml at main -->
## What's Changed
### Features
* feat(desktop): universal macOS DMG with per-arch bundled runtimes by @harsh-batheja in https://github.com/OpenHands/OpenHands/pull/17225
* feat: Support Light+ and Solarized Light theme by @davideuler in https://github.com/OpenHands/OpenHands/pull/16632
* feat: tag Agent Canvas telemetry by deployment kind (OSS-13530) by @malhotra5 in https://github.com/OpenHands/OpenHands/pull/17529
### Bug Fixes
* fix: refresh Canvas image packages by @neubig in https://github.com/OpenHands/OpenHands/pull/17633
* fix(chat): restore 11px mode label on the change-agent button by @Harsh23Kashyap in https://github.com/OpenHands/OpenHands/pull/17616
* fix(test): drain MSW's in-flight requests instead of 30 event-loop turns by @alanhuangyoo in https://github.com/OpenHands/OpenHands/pull/16890
* fix(chat): avoid re-rendering unchanged historical Markdown by @Jokasa7 i
## Features
- feat(knowledge): project document ACL and chunk changes asynchronously (#8199)
- feat(library): Best AI Agent Builders for Human Approval Workflows (#8196)
## Improvements
- improvement(insights): serve org usage from settled segments and redesign the overview (#8193)
## Bug Fixes
- fix(knowledge): address release review follow-ups for ACL pages, projection fill, and sync retries (#8202)
- fix(insights): keep usage windows on the viewer's local hour (#8201)
- fix(knowledge): bound every connector-lease ACL transaction to one short page (#8195)
- fix(jobs): classify transient database failures once for background retries (#8194)
- fix(knowledge): stop holding the connector table lock across the processing commit (#8191)
- fix(desktop): set the browser user agent process-wide so Cloudflare Turnstile passes (#8192)
- fix(db): retry migration lock timeouts within a time budget instead of eight attempts (#8190)
- fix(file-search): back off indexing retries after database
fix(flows): stop template imports from failing when the v23 upgrade has no stored flow- #15736
#15736
> 📌 **Upgrading a self-hosted instance?** Review the [Breaking Changes](https://www.activepieces.com/docs/install/reference/breaking-changes) page for any actions required before you upgrade.
## Thanks ❤️
No contributors
## What's Changed
* fix(scim): scope Users/{id} reads and mutations to the caller's org (v3 backport of #17828) by @Steffen911 in https://github.com/langfuse/langfuse/pull/17830
**Full Changelog**: https://github.com/langfuse/langfuse/compare/v3.225.9...v3.225.10