# Changelog

All notable changes to the Engram Python SDK will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2026-02-27

### Added

- **Core Types** — Full type system matching TypeScript SDK
  - `MemoryNode`, `Entity`, `MemoryLink`
  - `NodeContent`, `TemporalInfo`, `QualityInfo`, `NodeMetadata`
  - `EngramHeader`, `EngramFile`
  - Enums: `ContentType`, `DecayTier`, `EntityType`, `LinkType`, etc.

- **Binary I/O** — Read/write .engram files
  - `read_engram(path)` / `write_engram(engram, path)`
  - SHA-256 integrity verification
  - Full compatibility with `@terronex/engram` TypeScript SDK

- **MemoryTree** — Hierarchical memory management
  - CRUD operations: `add()`, `get()`, `update()`, `delete()`
  - Hierarchy: `get_parent()`, `get_children()`, `get_ancestors()`, `get_descendants()`
  - Search: `find_by_tag()`, `search_text()`, `search_similar()`
  - File operations: `from_file()`, `save()`

- **LangChain Integration** — Optional memory backend
  - `EngramMemory` class for conversation persistence
  - Semantic search across history
  - Knowledge injection for RAG workflows
  - Install with `pip install engram[langchain]`

### Compatibility

- Binary format: Engram v1.0
- Python: 3.10, 3.11, 3.12
- Cross-compatible with `@terronex/engram` v1.0.x and v1.1.x
