What's Changed
* feat(api): add GET /sessions, add more time-based filters to GET APIs, use withMiddleware and strict zod types for many existing api routes by marcklingen in https://github.com/langfuse/langfuse/pull/2551
* perf(dashboard): default to 1d date range by marcklingen in https://github.com/langfuse/langfuse/pull/2606
* fix(tokencost): write total cost if input or output cost provided by user by hassiebp in https://github.com/langfuse/langfuse/pull/2603
* fix: hide export button if insufficient access rights by hassiebp in https://github.com/langfuse/langfuse/pull/2572
* refactor(scores-api): simplify types, ensure return types of API are consistent in documentation and return by marliessophie in https://github.com/langfuse/langfuse/pull/2565
* fix(ui): pretty UI for chatml traces with custom roles by marcklingen in https://github.com/langfuse/langfuse/pull/2581
* fix(ui): deletion of traces led to refetching of deleted trace and logged warning by marcklingen in https://github.com/langfuse/langfuse/pull/2580
* fix(ingestion): allow nested objects in modelParams by hassiebp in https://github.com/langfuse/langfuse/pull/2585
* docs: ensure `CreateScoreValue` is consistent with pydantic type expectation by marliessophie in https://github.com/langfuse/langfuse/pull/2582
* fix(tokenization): add all tiktoken models by maxdeichmann in https://github.com/langfuse/langfuse/pull/2588
* fix(UI): glitch in creating score config by marliessophie in https://github.com/langfuse/langfuse/pull/2601
* fix(score_configs): migrate to set categories NULL for numeric scores by marliessophie in https://github.com/langfuse/langfuse/pull/2602
* refactor(api): move strict check to api types instead of test util and middleware by marcklingen in https://github.com/langfuse/langfuse/pull/2604
**Full Changelog**: https://github.com/langfuse/langfuse/compare/v2.60.4...v2.61.0