What's Changed
Feats
* feat: add select all / deselect all button to all tables columns visibility picker by marliessophie in https://github.com/langfuse/langfuse/pull/3740
* feat(api): add queueId query param to GET /scores by marliessophie in https://github.com/langfuse/langfuse/pull/3771
* feat(api): POST /comments GET /comments GET /comments/${commentId} by marliessophie in https://github.com/langfuse/langfuse/pull/3383
* feat: add ingestion delay by maxdeichmann in https://github.com/langfuse/langfuse/pull/3803
* feat(ui): render plain string as markdown by default on single trace/observation page by marliessophie in https://github.com/langfuse/langfuse/pull/3788
* feat(ui): support comments on annotation queue view by marliessophie in https://github.com/langfuse/langfuse/pull/3792
* feat: support DnD reordering of playground messages by marliessophie in https://github.com/langfuse/langfuse/pull/3826
* feat(api): add `traceTags` query param to GET /scores by marliessophie in https://github.com/langfuse/langfuse/pull/3843
* feat: improve clickhouse seeder by maxdeichmann in https://github.com/langfuse/langfuse/pull/3853
* feat: format logs by maxdeichmann in https://github.com/langfuse/langfuse/pull/3860
* feat: add new claude model by maxdeichmann in https://github.com/langfuse/langfuse/pull/3865
Styles
* style(ui): standardize table header line height across selection states by marliessophie in https://github.com/langfuse/langfuse/pull/3753
* style: unify dataset buttons/badge with langfuse design system, add UI access check on archive dataset item by marliessophie in https://github.com/langfuse/langfuse/pull/3864
Fixes and chore
* fix: add default minimum width for dynamic score columns, allow column reordering for prompts metrics table by marliessophie in https://github.com/langfuse/langfuse/pull/3747
* fix(llm-api-keys): add exact bedrock permission needed by hassiebp in https://github.com/langfuse/langfuse/pull/3749
* fix: loading state of annotation queue dropdown by marliessophie in https://github.com/langfuse/langfuse/pull/3750
* fix(user_table): reset `orderBy` state on tab navigation by marliessophie in https://github.com/langfuse/langfuse/pull/3751
* fix(self-host): LANGFUSE_INIT_USER_EMAIL lowercased for headless initialization by marcklingen in https://github.com/langfuse/langfuse/pull/3754
* chore: support more decimal digits for cost in session view by marliessophie in https://github.com/langfuse/langfuse/pull/3758
* chore: remove trace sampler on worker by Steffen911 in https://github.com/langfuse/langfuse/pull/3762
* chore: support consistent empty and loading states in dashboard by marliessophie in https://github.com/langfuse/langfuse/pull/3763
* fix(ui): transition from uncontrolled to controlled component, add expected drawer title by marliessophie in https://github.com/langfuse/langfuse/pull/3774
* chore(prompts): config data type to JSON by hassiebp in https://github.com/langfuse/langfuse/pull/3759
* chore: batch events by eventBodyId for reduces S3 interactions by Steffen911 in https://github.com/langfuse/langfuse/pull/3770
* chore: improve clickhouse schema by maxdeichmann in https://github.com/langfuse/langfuse/pull/3638
* fix(evals): put reasoning key before score by hassiebp in https://github.com/langfuse/langfuse/pull/3784
* chore(refactor): calculate queue metrics in WorkerManager by Steffen911 in https://github.com/langfuse/langfuse/pull/3732
* fix: don't use accessible title for queue item by marliessophie in https://github.com/langfuse/langfuse/pull/3787
* chore: fix queue metric names by Steffen911 in https://github.com/langfuse/langfuse/pull/3790
* chore: reconnect redis on errors by Steffen911 in https://github.com/langfuse/langfuse/pull/3785
* chore: add error listeners on queues by Steffen911 in https://github.com/langfuse/langfuse/pull/3791
* fix(tables): serialization issue in score column visibility by marliessophie in https://github.com/langfuse/langfuse/pull/3793
* fix: only error eval execution for unexpected cases by maxdeichmann in https://github.com/langfuse/langfuse/pull/3805
* chore: set ingestion delay to zero by maxdeichmann in https://github.com/langfuse/langfuse/pull/3804
* chore: add traces wide table by maxdeichmann in https://github.com/langfuse/langfuse/pull/3808
* fix: use trace/observation createdAt for health endpoint by marcklingen in https://github.com/langfuse/langfuse/pull/3825
* bug: UI prompt edit changes go away when tab switching by marcklingen in https://github.com/langfuse/langfuse/pull/3827
* chore: publish custom metrics to CloudWatch by Steffen911 in https://github.com/langfuse/langfuse/pull/3828
* chore: add tokenisation metrics by maxdeichmann in https://github.com/langfuse/langfuse/pull/3830
* fix: local postgres query logging by maxdeichmann in https://github.com/langfuse/langfuse/pull/3846
* chore: add prod-eu deployment option by Steffen911 in https://github.com/langfuse/langfuse/pull/3847
* chore: remove prettier config by maxdeichmann in https://github.com/langfuse/langfuse/pull/3806
* fix(ui): table pagination distinguish between no data and loading states by marliessophie in https://github.com/langfuse/langfuse/pull/3851
* fix: don't throw unauthorized errors when viewing a public trace by marliessophie in https://github.com/langfuse/langfuse/pull/3852
**Full Changelog**: https://github.com/langfuse/langfuse/compare/v2.85.1...v2.86.0