What's New in v0.1.5
New Features
- Write operations — 10+ new tools:
create_item,update_item,create_note,add_tags,batch_update_tags,create_collection,add_to_collection,remove_from_collection,add_by_doi,add_by_url,add_from_file(PR #165) - BetterBibTeX citation key lookup —
zotero_search_by_citation_keysearches both BetterBibTeX JSON-RPC and the Extra field - PDF outline extraction —
zotero_get_pdf_outlinereturns table of contents from PDFs - Annotation page labels —
zotero_get_annotationsnow includesannotationPageLabelandannotationPositiondata - PDF timeout — configurable
pdf_timeout(default 30s) skips slow PDFs during fulltext extraction - Semantic search quality — combined field+fulltext embeddings, Gemini retrieval_query/document fix, model-aware tokenizer, optional cross-encoder re-ranking
- Abstracts in collection items —
zotero_get_collection_itemsnow includes abstracts (#143)
Bug Fixes
- search_notes — fixed
qmodeand client-side filter to actually find notes (#137) - batch_update_tags — fixed stale tag set, response type check, hybrid local+web mode (#162)
- get_tags pagination — uses
zot.everything()for reliable tag retrieval (#70) - Fulltext truncation — removed hardcoded 10k/5k char caps, model-aware truncation via
embedding_max_tokens(#153, #134) - Local mode file:// paths — resolves
file://, absolute paths, andattachments:prefixes (#116) - Local-first fulltext extraction — prefers local DB/storage before remote
dump()for file-backed attachments (PR #166) - Child notes —
create_noteproperly attaches as child via web API in local mode (#133) - ChromaDB embedding conflict — auto-detects and resets collection on model change (#109)
- FastMCP compatibility — removed deprecated
dependenciesparameter (#117, #61) - PDF outline import order — defers PyMuPDF import until after attachment check
- --fulltext guard — aborts with clear error when used without
ZOTERO_LOCAL(PR #156) - Update interval display — fixed misleading display for daily schedule (PR #144)
Closed Issues
#61, #67, #70, #72, #74, #76, #109, #112, #115, #116, #117, #133, #134, #137, #143, #153, #157, #159, #162