All notable changes to M-flow will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Critical: Remove
max_tokensparameter from LLM calls — incompatible with GPT-5 series, caused all LLM-dependent operations to fail with "Connection error" after 120s retry - Critical: Fix session/conversation history crash — 3 retrievers called
compress_text(str)but function requireslist[ContentFragment]; replaced with correctsummarize_text(str) - Fix
LLMGateway.transcribe_audiocalling non-existentcreate_transcriptmethod on adapter - Fix
LLMGateway.describe_imagecalling non-existenttranscribe_imagemethod on adapter - Fix UUID serialization in search results, cache adapters, and graph property encoding
- Fix
_hash_sensitivedead code — unreachablereturn objcaused telemetry data corruption - Fix CLI
_ToggleDebug/_LaunchUiargparsedestkeyword conflict - Fix ImageLoader JPEG extension mismatch (
.jpe/.jpeghad leading dots) - Fix Bedrock adapter
show_promptcalling non-existentLLMService.read_query_prompt - Fix
OpenAIAdapter.describe_imageblocking event loop (synclitellm.completion→ asyncacompletion) - Fix
OpenAIAdapter.transcribe_audioblocking event loop (litellm.transcription→atranscription) - Fix retry decorator across all 14 LLM/embedding adapters — now excludes
BadRequestErrorandAuthenticationErrorto prevent 120-second retry storms on deterministic client errors - Fix dedup
_build_modern_idtenant_id normalization (None → empty string) - Fix graph relationship ledger UUID collision on batch insert
- Fix PostgreSQL
delete_databasemissingcache_clear()(SQLite branch already had it) - Remove WARNING-level debug log that printed user input on every structured extraction call
- Replace
Concept_namewithEntity_namein vector collection references (class renamed during migration) - Update ruff configuration and format entire codebase (311+ files)
- Pin all GitHub Actions to exact commit SHA (81 GitHub-owned + 21 third-party)
- Add
permissions: {contents: read}to 7 workflow files lacking token restrictions - Add
.github/dependabot.ymlfor automated dependency updates - Fix OpenSSF Scorecard SARIF upload (codeql-action SHA dereference)
- Configure GitHub Secrets for LLM/embedding API keys
- Fix workflow YAML syntax errors (matrix refs in workflow_call job-level conditions)
- Fix
uv.lockconsistency - Update test assertions to match current API signatures and edge type names
- Remove 6 phantom workflow jobs referencing non-existent test scripts
- Skip S3/Modal tests requiring external paid services
- Episode naming in precise mode when content routing is disabled
- New LLM prompt
precise_name_single_content.txtfor single-content Episode naming
- Generate meaningful Episode names instead of hardcoded "Content" in precise mode
- Precise summarization mode (
precise_mode): preserves all original factual information (dates, numbers, names, constraints) with lower compression ratio — RAG context will be longer but more accurate. Uses two-step pipeline: JSON topic routing + per-section concurrent compression with anchor verification - Configurable via API parameter, environment variable (
MFLOW_PRECISE_MODE), or frontend toggle - KuzuDB adapter: entry-level deduplication and broadened error recovery for batch operations
- KuzuDB "duplicated primary key" crash in UNWIND+MERGE operations
- Edge deduplication key collision in
deduplicate_nodes_and_edges
- Procedural memory extraction and retrieval
- Model Context Protocol (MCP) server support
- Frontend Knowledge Graph visualization with procedural subgraph
- Structured entry (manual ingest) with display text support
- Episodic retriever with adaptive bundle search
- Multi-dataset search with access control
- Docker Compose profiles for flexible deployment
- Improved episodic retrieval scoring with path-cost model
- Enhanced content routing with atomic mode for short inputs
- Structured JSON output for procedural search results
- Unified triplet search with configurable vector collections
- Episode naming using dedicated summarization prompt
- Content inflation from prompt injection in short inputs
- WebSocket authentication token handling
- Pipeline status tracking and stale detection
- Manual ingest graph creation and embedding generation
- Multi-user access control with dataset isolation
- Episodic memory architecture (Episodes, Facets, FacetPoints, Entities)
- Frontend dashboard with real-time pipeline monitoring
- LanceDB vector storage integration
- KuzuDB graph database adapter
For detailed release notes, see GitHub Releases.