v1.5.5 — LMStudio fix, ConfigLoader .env.local, RTFLoader encoding
What's New in v1.5.5
This is a large community release — 18 additions and 5 bug fixes, shipping everything from the last two batches of PRs in one clean tag.
Added — Loaders (8 new)
S3Loader— Amazon S3 buckets; credential chain; prefix/extension filtering;pip install synapsekit[s3]AzureBlobLoader— Azure Blob Storage; connection-string or URL+credential auth;pip install synapsekit[azure]MongoDBLoader— MongoDB collections; configurable text/metadata fields;pip install synapsekit[mongodb]DropboxLoader— Dropbox folders; cursor pagination; 20+ extensions;pip install synapsekit[dropbox]LaTeXLoader—.texfiles as plain text; strips commands/math/comments; no external depsTSVLoader— one Document per row; configurabletext_column; remaining columns as metadataRTFLoader— plain text viastriprtf;pip install synapsekit[rtf]EPUBLoader— chapter-by-chapter with title/author/chapter metadata;pip install synapsekit[epub]ConfigLoader—.env,.ini,.cfg,.toml,.env.local,.env.staging→ Documents; sensitive key redaction built-inOneDriveLoader— OneDrive/SharePoint via Microsoft Graph; recursive folder traversal; stdlib HTTP only
Added — LLMs & MCP
LMStudioLLM— local model provider via LM Studio's OpenAI-compatible API; streaming, tool calling, custombase_url; no API key required;pip install synapsekit[lmstudio]MCPServerSSE transport — expose any SynapseKit pipeline as an MCP server; HTTP/SSE with optional Bearer auth; RAG, Agent, and Tools modes;pip install synapsekit[mcp]
Added — Eval & Graph
EvalDataset/EvalRecord— filterable eval result collection;export()to OpenAI, Anthropic, Together, JSONL, DPO formatsFineTuner— fine-tuning jobs against OpenAI and Together AI;submit(),status(),wait()@eval_case(capture_io=True)— captures input/output/ideal for fine-tune dataset exportsynapsekit evalCLI —report,export,comparesubcommandssynapsekit finetuneCLI —submit,status,waitsubcommands- Recursive Subgraphs — pass a
StateGraphtosubgraph_node();max_recursion_depthguard;RecursionDepthError
Fixed
DropboxLoaderSDK compatibility — SDK entry objects are not dicts; fixed with_normalise_entry()attribute-access adapterLMStudioLLMbase_url—LLMConfighas nobase_urlfield; useLMStudioLLM(config, base_url="http://host:1234/v1")insteadLMStudioLLMstreaming — removedstream_optionsthat broke older LM Studio buildsConfigLoader.env.local—.env.local/.env.stagingnow parsed correctly (was raisingValueError)RTFLoaderencoding — default changed to"latin-1"for real-world RTF compatibility
Upgrade
pip install --upgrade synapsekit
# or
uv add synapsekit