Changelog
All notable changes to memg-core will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Enhanced Search Control: New
include_detailsparameter with "none", "self", and "all" options - "none": Show only anchor text for both seeds and neighbors (minimal)
- "self": Show full payload for seeds, anchor only for neighbors (default)
- "all": Show full payload for both seeds and neighbors (maximum detail)
- YAML-Based Datetime Formatting: Configure default datetime format in YAML schema
- Automatic application of format without per-request configuration
- Custom format override still available per search request
- Clean, consistent datetime output across all operations
- Override Fields System: New YAML schema section for display customization
display_field: Custom display text that overrides anchor fieldforce_display: List of fields to always include in resultsexclude_display: List of fields to never include in results- Proper precedence: exclude > force > include_details > anchor protection
- Computed
display_textfield: Automatically added to search results, prioritizesdisplay_fieldover anchor field - Vectorization separation: Anchor field always used for embedding,
display_fieldonly affects display - Enhanced Models: Updated Pydantic models to support both datetime objects and formatted strings
- Comprehensive Test Suite: 16 new tests covering all new functionality
- MkDocs documentation site with Material theme
- Comprehensive API reference documentation
- Usage guide with examples and configuration details
- GitHub Actions workflow for automated documentation deployment
Changed
- API Enhancement: Added
datetime_formatparameter to search functions - Model Updates:
MemorySeedandMemoryNeighbornow acceptdatetime | strfor timestamps - Documentation: Updated usage guide with new features and examples
- Improved README with badges and better structure
- Enhanced project metadata for PyPI integration
Technical Details
- Backward Compatibility: All existing APIs continue to work unchanged
- Performance: No performance impact - new features are opt-in
- Type Safety: Strong typing maintained throughout with proper annotations
- Error Handling: Graceful handling of invalid override field types
[0.1.0] - 2024-01-XX
Added
- Initial release of memg-core
- YAML-based schema definition system
- Dual-store backend (Qdrant + Kuzu)
- Public Python API for memory operations
- Vector search with semantic similarity
- Graph storage for relationships
- Offline-first embeddings with FastEmbed
- User isolation and HRID-based memory identification
- See Also discovery for associative memory retrieval
- Support for custom memory types via YAML schemas
- Built-in schemas for common use cases (memo, note, document, task, bug, solution)
- Comprehensive test suite
- Development tools (linting, type checking, testing)
Features
- Memory Operations: Add, search, delete memories with full CRUD support
- Schema Flexibility: Define custom memory types without code changes
- Performance: Optimized for fast semantic search and retrieval
- Reliability: Deterministic behavior with comprehensive error handling
- Developer Experience: Clean API, good documentation, extensive testing
Technical Details
- Python 3.11+ support
- FastEmbed for local embeddings (no API keys required)
- Qdrant for vector storage and similarity search
- Kuzu for graph relationships and complex queries
- Pydantic for data validation and serialization
- Comprehensive type hints and documentation