v1.4.0.dev0 — Postgres null-handling reliability fix
Release Date: 2026-07-20
Changes: v1.4.0.dev0 → fix-null-postgres
Summary
This development release fixes a class of errors where null or missing values caused failures when storing or querying data in Postgres. The update makes the Postgres storage path more tolerant of missing fields, improves error messages, and adds tests to prevent regressions.
Highlights
- Fix for Postgres ingestion failures when records include null (missing) fields.
- Improved error handling and clearer messages when optional fields are absent.
- Tests and internal safeguards added to prevent similar regressions in the future.
Breaking Changes
- None. This release is backwards-compatible. Existing databases and data are not required to be migrated; nulls are now handled more gracefully.
New Features
- No new end-user features in this release. The work focuses on reliability: if you use Cognee with a Postgres-backed storage connector (the component that saves your memories/documents into a Postgres database), writing or querying records that contain null or missing fields will no longer cause failures.
Improvements
- Postgres connector now treats missing or explicit null values safely instead of throwing exceptions: when a document or memory you send has optional fields that are null, those are stored as NULL in the database and will not abort ingestion.
- Error messages shown when ingestion or queries fail have been clarified so it's easier to see whether a problem is due to a network, schema, or missing-field issue.
- Input validation now checks for common null-related edge cases earlier in the request flow, reducing partial writes and improving reliability during bulk imports.
Performance
- No major runtime speed changes are introduced. The practical impact is fewer failed ingestions and retries, which reduces overall wasted work when writing many records to Postgres.
Security
- No security changes in this release.
Bug Fixes
- Fixed a crash/exception that occurred when saving records with null-valued fields to Postgres. Users who previously saw ingestion errors when optional metadata was absent should see stable behavior now.
- Fixed query-time errors when database rows contained NULL values in indexed or optional columns, preventing certain searches from failing unexpectedly.
- Prevented inconsistent partial writes during bulk ingestion when some items contained missing fields.
Technical Changes
- Centralized null-handling logic in the Postgres storage code path so all write and read operations follow the same behavior.
- Added unit and integration tests that cover null and missing-field scenarios for the Postgres connector to prevent regressions.
- Refactored some error messages and validation checks to provide clearer diagnostics for operators and developers troubleshooting ingestion issues.
Compatibility
| Component | Supported / Required |
|---|---|
| Python | >=3.10,<3.15
|
| pydantic | >=2.10.5
|
| litellm | >=1.83.7
|
| fastapi | >=0.116.2,<1.0.0
|
| sqlalchemy | >=2.0.39,<3.0.0
|
| lancedb | >=0.24.3,<1.0.0
|
| ladybug | >=0.16.0,<0.19
|
— The Cognee Team · 2026-07-20