Releases: jmiba/obsidian-hybrid-chat
Release list
0.1.8
Improved
- Separate notes cited in an answer from context notes retrieved but not cited. Number cited notes in first-mention order and keep the remaining notes in a collapsed list.
- Use the same citation numbers and source grouping when copying a chat as Markdown.
Fixed
- Recognize square and decorative citation markers, including spacing and invisible characters inside the brackets. Show unknown source markers as unverified.
- Restore normal line wrapping when a provider inserts narrow no-break spaces between words. The saved provider response is preserved.
Earlier release history is available in GitHub Releases.
Full Changelog: 0.1.7...0.1.8
0.1.7
What’s new
- Added a model picker for each chat-provider profile.
- Refresh available model IDs from the provider’s OpenAI-compatible
/modelsendpoint using the API key stored in Obsidian SecretStorage. - Preserved manual model-ID entry for providers without discovery support and retained configured models that are absent from discovery results.
- Shared provider URL validation between model discovery and chat completion requests.
Full Changelog: 0.1.6...0.1.7
0.1.6
What's Changed
Fixed
- Numeric settings no longer persist bad values — blank or invalid entries in numeric settings (e.g.
searchLimitPerVault,maxNotes,maxContextChars) are validated on blur and discarded instead of being saved to your config. - Sessions are protected while a response is streaming — creating or deleting a chat session mid-response is now blocked with a visible notice, so an in-flight generation can't corrupt session state.
- Streaming edge cases — OpenAI-compatible responses that end without a trailing newline are now flushed correctly, and cancelling a response rejects cleanly as an abort.
Improved
- Chat session management rework with tighter type boundaries across the retrieval and client modules.
OhsMcpClientnow takes an explicit version parameter for safer service negotiation.- Minor layout polish: composer spacing and message font size.
Documentation
- README gained a retrieval-tuning guide (candidate results / notes read / context capacity presets, e.g. balanced 24/10/32,000 vs. high-recall 32/12/48,000), privacy details, and a chat window screenshot.
Verification
- 71/71 tests passing; bundle verified free of dynamic code execution; release assets attested via GitHub Actions with SHA-256 checksums.
Full Changelog: 0.1.5...0.1.6
0.1.5
What’s changed
Retrieval improvements
- Retrieval now searches only the current question. Previous conversation turns remain available to the answer-generation model but no longer influence search results.
- Added optional one-hop traversal of explicit links and backlinks for relationship-oriented questions.
- Related-note traversal remains vault-local, is disabled by default, and does not run for ordinary factual searches.
- Cached OHS MCP capability discovery to reduce repeated setup overhead.
Interface improvements
- Linked notes are identified in the source list.
- Sources remain collapsed after successful retrieval but open automatically when retrieval fails or returns no results.
- Improved spacing below the chat composer.
Upgrade notes
- The former query-expansion setting has been removed.
- Enable One-hop related notes under Hybrid Chat’s retrieval settings if you want graph-assisted relationship searches.
- Existing endpoint, vault, and provider settings remain compatible.
Full Changelog: 0.1.4...0.1.5
0.1.4
What's new
- Added configurable retrieval query expansion: Off, Follow-ups only (default), and Always.
- Added bounded conversational variants for referential follow-ups and optional lexical variants for broader recall.
- Centered long-note context on the matching passage and backfilled unreadable top-ranked notes from lower-ranked candidates.
- Restored the last-used vault scope and selected endpoints when reopening the chat view.
Privacy and compatibility
- Older OHS endpoints that do not advertise
queries[]continue to receive only the original query. - Copy actions write Markdown to the system clipboard only after an explicit user click. Hybrid Chat never reads clipboard contents.
Full Changelog: 0.1.3...0.1.4
0.1.3
Fixed
- Removed the transitive AJV runtime code that introduced dynamic code execution in
main.js, replacing the bundled MCP SDK transport with a small typed Streamable HTTP client. - Restricted release attachments to the three files supported by the plugin installer:
main.js,manifest.json, andstyles.css. Checksums remain internal to build-provenance attestation. - Added a release gate that rejects generated bundles containing
eval()ornew Function().
Full Changelog: 0.1.2...0.1.3
Hybrid Chat 0.1.2
Hybrid Chat 0.1.2 completes the repository and manifest compliance fixes required for community plugin submission.
Fixed
- Added an MIT license with copyright © 2026 Jens Mittelbach.
- Removed the redundant reserved word from the manifest description; it now reads: “Federated, provider-neutral RAG chat over existing hybrid-search MCP services.”
- Declared the MIT SPDX license in package metadata.
- Added regression coverage for both the manifest-description restriction and repository license metadata.
Version 0.1.2 retains the valid hybrid-chat plugin ID introduced in 0.1.1.
Full changelog: 0.1.1...0.1.2
Hybrid Chat 0.1.1
Hybrid Chat 0.1.1 corrects the plugin manifest ID so the release passes Obsidian manifest validation.
Fixed
- Changed the plugin ID from
obsidian-hybrid-chattohybrid-chat, which follows the current manifest rules and is not present in the community registry. - Renamed the internal command ID to
open-chat; the user-visible command remains Hybrid Chat: Open chat. - Updated package metadata, compatibility metadata, the MCP client version, and the documented manual-installation folder.
- Added regression coverage for the manifest ID character and reserved-word restrictions.
Upgrading from 0.1.0
Version 0.1.0 cannot pass current Obsidian manifest validation because its ID contains obsidian. If you installed it manually, rename the entire plugin folder from .obsidian/plugins/obsidian-hybrid-chat/ to .obsidian/plugins/hybrid-chat/ so its data.json settings move with it, then enable Hybrid Chat again.
Full changelog: 0.1.0...0.1.1
Hybrid Chat 0.1.0
Hybrid Chat 0.1.0 is the first public release of the desktop-only Obsidian plugin for federated, provider-neutral RAG over existing Obsidian Hybrid Search services.
Highlights
- Search the current vault, selected vaults, or all enabled OHS endpoints concurrently.
- Merge per-vault rankings with reciprocal-rank fusion and retrieve only the globally selected notes.
- Stream answers from OpenAI-compatible providers with API keys stored through Obsidian SecretStorage.
- Preserve conversational context for follow-up questions while keeping assistant answers out of retrieval queries.
- Show namespaced citations with current-vault and cross-vault navigation.
- Surface partial endpoint failures, support cancellation and persisted sessions, and export chats as Markdown to the clipboard.
- Apply exact YAML property filters and optional current-vault property context through explicit
@property(...)directives.
Privacy and scope
Hybrid Chat creates no index, reads no OHS database directly, and does not modify vault notes. Retrieval uses only the OHS MCP search and read tools. A loopback chat provider can keep generation local; remote providers receive the packed source context described in the README.
Requirements and installation
Requires Obsidian 1.13 or newer on desktop. Download main.js, manifest.json, and styles.css into <vault>/.obsidian/plugins/obsidian-hybrid-chat/, then enable Hybrid Chat in Obsidian.
The accompanying checksums.sha256 file can be used to verify the release assets.
Full changelog: https://github.com/jmiba/obsidian-hybrid-chat/commits/0.1.0