-
release: Cut v1.4.1 with fixes from dev (#4282)
发布于
2026-07-31 21:21:17 +00:00 Description
Release branch for v1.4.1, cut from
main(v1.4.0) with the
highest-impact fixes cherry-picked fromdev. Every pick applied
cleanly (cherry-pick -m 1 -x, PRs are merge commits on dev); original
authorship is preserved.Fixes included
PR Fix #4253 Migration: empty key alias emptied entire Letta/Zep imports (silent data loss) #4261 Migration: Letta messages with present-but-null content were dropped #4248 Migration: parse_timestampnow returns tz-aware UTCdatetimes #4153 Postgres graph + PGVector adapters: missing NUL-byte sanitization #4235 LanceDB: batch delete_data_pointspredicates( forget(everything=True)hung indefinitely)#4156 Ladybug: edge-filtered get_neighborhoodcrashed with Kuzuinternal assertion #4182 Postgres cache backend: UUID bind type errors + sliding-TTL deadlocks #4274 Cypher/NL retrievers crashed on installs without the postgres extra (carries @teedonk's #4124) #4244 JSONEncoder: TypeErrorondatetime.datevalues (fixes#4239) #4195 OpenRouter embeddings: guard encoding_format=null400 (fixes#3660) #4158 improve(): allowdataset_id02ad299f1(via #4272)Access control: accept kuzu/ladybug provider aliases in the handler compatibility check — fixes the 7 unit-test failures (graph methods + pipelines) that were already red on main'sown CI #4257 Test hygiene: mock-restore autouse fixture in test_api_error_responses.py(stops cross-module mock leakage infull-suite runs) + estimator Windows absolute-path gate, adapted to main's ingestion semantics #4285 SDK-255: let CogneeApiErrorreach HTTP callers insearch/recall/remember/improve routers #4286 SDK-255: derive the default session id from the dataset when none is provided #4175 OAuth framework with Slack support — included so #4232's migration keeps its original down_revision(b2c4d6e8f0a1), keepingthe alembic chain identical to dev (adds cryptographyas a coredependency) #4232 Session cache: dedupe session-context entries + unique index (migration c3d5e7f9a1b2)#4203 Move remaining examples/pythondemos toexamples/demos(aligns layout with dev; needed for the offline-test fix below) bf694d795(via #4272)Make the local Ollama example test genuinely offline — class-level embed_textpatch so cached engines can't hit thenetwork (fixes the deterministic Unit Tests (Mocked, No Secrets)failure) #4193 Silence tyunresolved-import for optional PIL inimage_loader (fixes the Code Quality job) #4294 SDK-255: improve()resolves the write dataset once, withwrite permission, as a UUID #4056 improve(): remove exception swallowing around sessionpersistence (fail-fast) #4144 SDK-285: configurable embedding max throughput ( embedding_max_concurrent_data_points, default 150)#4240 Auto-enable the RPM limiter on overload evidence (429/503/529/timeouts), with smaller default budgets for local inference servers; bedrock adapter moved to the shared retry + pacing seam #3994 SDK-142: simplify LLM configuration — provider inference from model prefix, instructor-mode table, embedding rate-limit knobs moved to EmbeddingConfig#4243 Strip the ollama/routing prefix in the Ollama adapter(model-name inference follow-up to #3994) #3588 Windows: derive basename from backslash paths in Mistral transcription #4177 Remove test_mistral_transcript_basename.py(collection errorwithout the mistralextra; SDK-250)#4042 Gate dataset deletion behind the per-dataset pipeline lock (delete now waits for in-flight cognify) Plus a version bump to
1.4.1(lock file updated in a follow-up
commit).Notes on adapted picks:
- #4153: its
pyproject.toml/uv.lockchanges were dropped — they only
carried a stray1.4.0.dev0version bump; the sanitization fix itself
is intact. - #4257: its two dev-only test files (
test_cognee_error_contract.py,
test_contradiction_detection_wiring.py) don't exist on main and were
dropped; the estimator fix is re-expressed inside main's
_path_candidateflow because dev's version relies on ingestion
semantics from unpicked #4155.
Verification
- The 7 unit-test failures visible on this PR's first CI run are
inherited frommain: the same tests fail onmain's ownTest Suitesrun at the base commit6d5508453(kuzu-vs-ladybug handler
mismatch). The02ad299f1pick fixes them — all 7 pass locally after
the pick. - 96-test verification batch (api error responses + estimator + graph
methods + pipelines + session flows) passes, including the
mock-poisoning file and its victims in one invocation. - All 140 unit tests covering the originally picked code pass;
Kuzu/Ladybug adapter integration suite passes (56 passed, 4 xfailed, 2
xpassed); #4158 regression test passes;pre-commit(pinned ruff)
passes on all changed files;uv lock --checkpasses.
🤖 Generated with Claude Code
下载附件
- #4153: its