Skip to content

Releases: yeti-platform/yeti

2.9.0

Choose a tag to compare

@tomchop tomchop released this 28 Aug 13:35
67ea9bb

What's Changed

Enhancements 📈

Full Changelog: 2.8.2...2.9.0

2.8.2

Choose a tag to compare

@tomchop tomchop released this 28 Aug 10:23
e29c169

What's Changed

Bug fixes 🐛

  • Split ChromaDB index writes to fit the backend batch limit by @tomchop in #1359

Full Changelog: 2.8.1...2.8.2

2.8.1

Choose a tag to compare

@tomchop tomchop released this 28 Aug 08:25
9e27ad2

What's Changed

Bug fixes 🐛

  • Bake the embedding model into the image and disable chromadb telemetry by @tomchop in #1356
  • Reject non-positive result counts in the search endpoints by @tomchop in #1358

Full Changelog: 2.8.0...2.8.1

2.8.0

Choose a tag to compare

@tomchop tomchop released this 27 Aug 16:02
f0e489f

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

Choose a tag to compare

@tomchop tomchop released this 24 Aug 13:34
7e99d97

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

Choose a tag to compare

@tomchop tomchop released this 24 Aug 13:03
7e99d97

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

Choose a tag to compare

@tomchop tomchop released this 09 Aug 18:53
150aa9c
Remove redundant dfiq_type request field from DFIQ create/validate/pa…

2.6.0

Choose a tag to compare

@tomchop tomchop released this 09 Aug 18:30
150aa9c

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

Choose a tag to compare

@tomchop tomchop released this 02 Jul 09:36

What's Changed

Security 🚨

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

2.5.0

Choose a tag to compare

@tomchop tomchop released this 18 Aug 09:04
42c9e28

What's Changed

Other Changes

Full Changelog: 2.4.2...2.5.0