What's Changed
✨ New Features & Major Enhancements
- Add a custom prompt field to the AI investigation view by @itsmvd in #3612
- feat: timeline tooltip & local defaults by @jkppr in #3641
- Feat: Add delete-group and help commands to tsctl by @jaegeral in #3574
- Feat: High-performance streaming event export API and client support by @jkppr in #3611
- feat(tsctl): Add
sync-groups-from-jsoncommand for bulk user management by @jkppr in #3619 - feat: tsctl analyzer-management by @jaegeral in #3636
- feat: Add story section in cli-client by @jaegeral in #3599
📈 Improvements & Refinements
- URL handling improvements by @jeflagel in #3573
- feat: add list of registered test classes in end2end tests by @jaegeral in #3594
- Cleanup: Remove e2e tests for Opensearch v1 & Ubuntu 22.04 by @jkppr in #3603
- feat: API client: refactor retry logic by @jaegeral in #3581
- feat: decoupled the profiling configuration from the debug setting by @jaegeral in #3613
- build(e2e): Optimize Dockerfile by using official Plaso base image by @jkppr in #3620
- UI: Add icons to user/group autocomplete in Share dialog by @jkppr in #3621
- feat: tsctl chunked for check-opensearch-links by @jaegeral in #3618
- Update secgemini_log_analyzer_agent.py by @babirous in #3623
- test: new e2e test for events with comments by @jaegeral in #3588
- Improve LLM error handling: reduce log noise and refine frontend feedback by @jkppr in #3633
- Upgrade GitHub Actions to latest versions by @salmanmkc in #3638
- Upgrade GitHub Actions for Node 24 compatibility by @salmanmkc in #3637
- feat: add sketch id and analysis id on multiple logging points in analyzer/interface.py by @jaegeral in #3639
- docs: by @jaegeral in #3601
🐞 Bug Fixes
- fix: API client - ensure functions in scenario return strings by @jkppr in #3598
- fix: Ensure safe default return fields for saved views by @jkppr in #3602
- Fix back-to-back SecGemini investigations by @gpavlidi in #3597
- api_client: fix: some smaller fixes to retry logic by @jaegeral in #3608
- fix: API Client: safely retrieve _retry_count and _backoff_factor using getattr with d… by @jaegeral in #3609
- Revert "fix: API Client: safely retrieve _retry_count and _backoff_factor using getattr with d…" by @jaegeral in #3610
- Fix: Handle issue in events with CommentsMixin.get_with_comments() by @jaegeral in #3590
- initial attempt to fix some delete workflows by @jaegeral in #3587
- Fix: Remove unsupported 'features' argument in tsctl by @jaegeral in #3631
- Fix: [importer] Prevent duplicate jsonl uploads by fixing ImportStreamer.close() by @jkppr in #3640
⬆️ Dependency Updates
- build(deps): bump vega from 5.32.0 to 6.2.0 in /timesketch/frontend-ng in the npm_and_yarn group across 1 directory by @dependabot[bot] in #3596
- build(deps): bump js-yaml from 3.14.1 to 3.14.2 in /timesketch/frontend-ng in the npm_and_yarn group across 1 directory by @dependabot[bot] in #3606
- build(deps): bump js-yaml from 4.1.0 to 4.1.1 in /timesketch/frontend-v3 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #3604
- build(deps): bump node-forge from 1.3.1 to 1.3.2 in /timesketch/frontend-ng in the npm_and_yarn group across 1 directory by @dependabot[bot] in #3614
- build(deps): bump werkzeug from 3.0.6 to 3.1.4 in the pip group across 1 directory by @dependabot[bot] in #3616
New Contributors
- @jeflagel made their first contribution in #3573
- @gpavlidi made their first contribution in #3597
- @babirous made their first contribution in #3623
- @salmanmkc made their first contribution in #3638
Full Changelog: 2025111...2025121