Releases: yeti-platform/yeti
Releases · yeti-platform/yeti
Release list
2.9.0
2.8.2
2.8.1
2.8.0
What's Changed
Other Changes
- Add a .dockerignore so .git stops being copied into the image by @tomchop in #1350
- Prune embeddings for deleted objects from the ChromaDB index by @tomchop in #1352
- Normalize semantic_score to a 0-1 similarity by @tomchop in #1353
- Index objects as several focused documents instead of one fat one by @tomchop in #1354
- Build on python:3.13-slim instead of the full image by @tomchop in #1355
Full Changelog: 2.7.0...2.8.0
2.7.1
Version-alignment release. Identical in content to 2.7.0 — same commit, no code changes.
yeti and yeti-feeds-frontend are released in lockstep because prod/docker-compose.yaml uses a single YETI_IMAGE_TAG for both images. The frontend half of this release went out as 2.7.1, so this tag exists to give both components a matching 2.7.1 to deploy.
Use YETI_IMAGE_TAG=2.7.1. Do not pin 2.7.0 — there is no matching yeti-frontend:2.7.0 image, so that combination will fail to pull.
See the 2.7.0 release notes for the actual changelog.
2.7.0
What's Changed
Security 🚨
- Grant default-shared objects read access, not full ownership by @tomchop in #1343
- Enforce per-object ACLs on semantic search results by @tomchop in #1345
Enhancements 📈
- Add GET /system/types: dynamic list of every creatable object type by @tomchop in #1341
- Bucket global search results by type instead of one merged, unranked list by @tomchop in #1344
- Let semantic search be scoped to one type, and stop it crowding types by @tomchop in #1347
Bug fixes 🐛
- Make the Role schema honestly reflect the composite values it accepts by @tomchop in #1342
- Stop the agent-session proxy from silently dropping createTime/title by @tomchop in #1346
Full Changelog: 2.6.0...2.7.0
2.6.1
2.6.0
What's Changed
Other Changes
- Fix Python 3.11+ enum rendering in AQL, yara bundle filtering, and im… by @tomchop in #1283
- ci: run ruff from the version pinned in uv.lock by @tomchop in #1284
- refactor(schemas): register observable/entity/indicator types statically by @tomchop in #1285
- ci: add ty type checking (warn-first ratchet) by @tomchop in #1286
- ratchet(types): type connector surface on model mixins + fix tag None-safety by @tomchop in #1287
- ratchet(types): fix invalid-parameter-default + enforce the rule by @tomchop in #1288
- ratchet(types): make YetiPackage collection fields non-optional by @tomchop in #1289
- fix(graph): reject unknown graph names in /graph/search with a 400 by @tomchop in #1290
- ratchet(types): promote unknown-argument to error by @tomchop in #1292
- ratchet(types): promote possibly-missing-submodule + unused-type-ignore-comment to error by @tomchop in #1291
- ratchet(types): promote no-matching-overload to error by @tomchop in #1293
- ratchet(types): promote invalid-type-form to error by @tomchop in #1294
- ratchet(types): promote unsupported-operator to error by @tomchop in #1296
- ratchet(types): promote unresolved-import to error by @tomchop in #1295
- ratchet(types): promote not-subscriptable to error by @tomchop in #1297
- ratchet(types): promote not-iterable to error by @tomchop in #1298
- ratchet(types): promote call-non-callable to error by @tomchop in #1299
- ratchet(types): promote invalid-assignment to error by @tomchop in #1300
- ratchet(types): promote invalid-return-type to error by @tomchop in #1302
- fix(observable): rename Package.regitry_type typo to registry_type by @tomchop in #1301
- ratchet(types): promote invalid-attribute-override to error by @tomchop in #1303
- ratchet(types): promote invalid-argument-type to error by @tomchop in #1304
- ratchet(types): promote invalid-method-override + missing-argument to error by @tomchop in #1305
- ratchet(types): resolve DB-connection unresolved-attribute (cluster 1/4) by @tomchop in #1306
- ratchet(types): resolve connector mixin self-type (cluster 2/4) by @tomchop in #1307
- ratchet(types): resolve arango async-job result unions (cluster 3/4) by @tomchop in #1308
- ratchet(types): resolve DFIQ union attribute access (cluster 4/4) by @tomchop in #1309
- ratchet(types): promote unresolved-attribute to error — Phase 2 complete by @tomchop in #1310
- ratchet(types): bring yetictl/ into ty scope by @tomchop in #1311
- ratchet(types): roll out plugins/ type-checking (Phase 3, warn) by @tomchop in #1312
- ratchet(types): promote 5 single-instance plugin rules to error by @tomchop in #1313
- ratchet(types): promote missing-argument/invalid-assignment/unresolved-import (plugins) by @tomchop in #1314
- ratchet(types): promote invalid-method-override + invalid-return-type (plugins) by @tomchop in #1315
- ratchet(types): promote invalid-argument-type (plugins) by @tomchop in #1316
- ratchet(types): promote unresolved-attribute + deprecated (plugins) by @tomchop in #1317
- fix(rbac): make permission wrappers sync so decorated endpoints threadpool by @tomchop in #1318
- fix(db): make test-mode explicit instead of inferring it from sys.modules by @tomchop in #1319
- chore(deps): replace unmaintained python-jose/passlib with PyJWT/bcrypt by @tomchop in #1320
- types: return Self from save() overrides; drop redundant casts (F1) by @tomchop in #1321
- types: split static/runtime *Types unions to fix the soundness gap (F2) by @tomchop in #1322
- fix: widen GraphSearchResponse to accept ACL-graph vertices/edges (500 fix) by @tomchop in #1323
- types: sync neighbors() mirror stub so ty stops seeing Any (F4 follow-up) by @tomchop in #1324
- test: add a structural contract test for GraphSearchResponse declared types by @tomchop in #1325
- fix: stop deletion from spuriously creating an empty "tags" graph by @tomchop in #1326
- chore: swap unit-test CI from unittest discover to pytest by @tomchop in #1327
- fix: make link_to()/link_to_acl() atomic under concurrent callers by @tomchop in #1328
- Fix racy tag count updates under concurrent tagging by @tomchop in #1329
- Fix 500 when a non-expiring API token is used as a raw bearer token by @tomchop in #1330
- Fix dead retry-on-connection-failure logic in ArangoDatabase.connect() by @tomchop in #1331
- Log database failures during plugin registration as errors, not warnings by @tomchop in #1332
- Dedupe observable/entity/indicator tag endpoint bodies (item #5, first slice) by @tomchop in #1333
- Dedupe observable/entity/indicator details/delete endpoints (item #5, second slice) by @tomchop in #1334
- Dedupe observable/entity/indicator get-by-name/value endpoints (item #5, third slice) by @tomchop in #1335
- Dedupe observable/entity/indicator search/get-multiple endpoints (item #5, final slice) by @tomchop in #1336
- Remove redundant dfiq_type request field from DFIQ create/validate/patch by @tomchop in #1340
Full Changelog: 2.5.1...2.6.0
2.5.1
What's Changed
Security 🚨
- fix: add authentication to audit router (GHSA-34r4-95hx-gxqr) by @sebdraven in #1276
- fix: prevent AQL injection via sorting and filter_aliases parameters by @sebdraven in #1277
- fix: prevent path traversal in ExportTask file name (GHSA-4q3w-w2g5-8wqq) by @sebdraven in #1280
- Fix path traversal in DFIQ UUID (GHSA-6xf2-8436-rgvf) by @sebdraven in #1279
Bug fixes 🐛
- fix: use correct Pydantic discriminator field name in observable endpoints by @sebdraven in #1278
Other Changes
- feat(logging): Add structured JSON logging support for console by @tomchop in #1265
- deps: bump timesketch-api-client to >=20260312 by @jkppr in #1266
- Add agentic functionalities to yeti by @tomchop in #1267
- feat(sessions): Add endpoint to retrieve a session by user and session ID by @tomchop in #1269
- Fix GitHub Actions security warnings reported by zizmor by @tomchop in #1270
- test: verify dfiq_test_data.zip cross-references stay consistent by @sebdraven in #1281
- fix: correct template_dir config key, add example export templates by @sebdraven in #1282
New Contributors
Full Changelog: 2.5.0...2.5.1