Releases: Poltavtcev/dream-analyzer
Release list
1.1.0
This release completely redesigns how connections between dreams are detected.
Instead of reducing different kinds of similarity to a single score, dream connections are now identified through three independent signals. Each connection also explains why the dreams were linked.
✨ New
-
Narrative Similarity
Detects dreams with strongly similar plots, events, or atmosphere using vector similarity.- Default threshold:
0.80
- Default threshold:
-
Dream Signs
Detects recurring Characters, Places, Objects, Symbols, and Concepts.- Common entities are filtered by global frequency.
- Default maximum frequency:
4
-
Emotional Resonance
Detects dreams sharing meaningful emotional states.- Common emotions are filtered to avoid linking large numbers of unrelated dreams.
- Default maximum frequency:
3
-
Explainable connections
Every connection now shows the reason it was found, for example:Shared Dream Signs: Airport, AirplaneEmotional Resonance: IrritationNarrative Similarity: 81%
🐛 Fixed
- Fixed emotions being omitted from dream connection analysis.
- Fixed the old entity similarity calculation that diluted important Dream Signs in detailed dreams.
- Fixed double-counting of the current dream during frequency calculation.
- Prevented
keywordsfrom being treated as Dream Signs.
🔧 Changed
- Removed the old
combinedScorecalculation. - Removed the old
entitySimratio from dream connection analysis. - Replaced the single
similarityThresholdconnection setting with three independent settings:narrativeThresholddreamSignMaxFrequencyemotionMaxFrequency
- The old
similarityThresholdremains only for backward compatibility and entity-context generation.
🔍 Verification
- Audited all 19 dreams and all 171 possible dream pairs.
- Verified 47 unique connections / 94 directional links.
- Re-tested Dream Sign, emotional, and narrative connections.
npm run buildpasses successfully.
1.0.9
Release 1.0.9
Release 1.0.9 adds full support for OpenAI GPT-5 Mini (gpt-5-mini), improved dream text extraction, redesigned settings layout, cleaner Markdown links, and better compatibility with Obsidian standards.
What's New & Fixed
GPT-5 Mini and Reasoning Models Support
- Fixed OpenAI HTTP 400 errors by automatically removing custom
temperaturevalues forgpt-5-miniand reasoning models that do not support custom temperature settings. - Added native
openAiRequestnetwork handling usingwindow.fetchto reliably capture complete API responses and error messages.
Smart Dream Text Extraction
- Added
extractDreamTextOnlyfor extracting only the actual dream narrative. - Automatically removes YAML frontmatter, previous
# AI аналізsections, blockquote markers (>), and template placeholders. - Ensures clean text is sent to OpenAI even when dreams are stored inside templates or analyzed multiple times.
Redesigned Settings UI
- Updated complex settings fields such as OpenAI API Key and Templater Template Path with a clearer vertical layout.
- Added SecretStorage support for selecting saved API keys directly from Obsidian.
Link Formatting and Dream Connections
- Fixed broken date links by removing
[YYYY-MM-DD]formatting that created invalid Obsidian links. - Added automatic deduplication of shared entity links in dream connection summaries.
- Fixed connection calculation issues caused by incorrect argument order and missing
normalizePathimport.
Obsidian Compatibility Improvements
- Replaced static style assignments with Obsidian's official
.setCssStyles({...})API. - Replaced destructive button methods with the native
.mod-warningCSS class. - Fixed regex escape warnings and improved TypeScript type safety.
1.0.8
Release 1.0.8 — Clean Template Restoration, Year/Month Folders, ID Standardization & Vector Auto-Indexing
- Restored clean original dream note frontmatter and template structure, removing redundant metadata
fields and evaluation blocks. - Re-established Year / Month subfolder hierarchy for dream notes (e.g., Dreams/2026/07 - липень/29.07.
2026 середа.md). - Standardized entity embedding IDs back to the legacy format (emb_timestamp_entityname) and set status to
done. - Added auto-migration logic to repair temporary entity_ IDs in note frontmatter and vector databases.
- Implemented syncUnindexedDreams to automatically index any un-embedded dream notes into
dream_embeddings.json as the single source of truth. - Automatic purging of non-existent/deleted dream files from dream_embeddings.json to eliminate phantom
links. - Set minAppVersion to 0.15.0 in manifest.json for universal Obsidian client compatibility.
1.0.7
- Removed all experimental and version-restricted APIs, replacing setHeading with backward-compatible CSS
class styling setting-item-heading. - Refactored Obsidian secretStorage property access using dynamic safe indexing.
- Replaced getUnlinkableLeaf with standard typed getLeaf(true) calls.
- Enforced strict Record<string, unknown> type narrowing for metadataCache frontmatter properties in
analyzer and embeddings. - Removed unused imports and variable declarations across dreamCreator and analyzer modules.
- Fixed variable scope shadowing in setting tab file completion handlers.
1.0.5
- Complete TypeScript refactoring: eliminated all explicit any types, unsafe calls, unsafe assignments,
and unsafe returns across all project modules. - Created strict DreamFrontmatter, OpenAiEmbeddingResponse, and OpenAiChatResponse interfaces for type
safety. - Replaced experimental Setting.addComponent with backward-compatible setting.controlEl DOM access.
- Implemented getSettingDefinitions() for Obsidian 1.13+ settings search compatibility.
- Resolved unawaited promises using explicit void operators in event handlers.
- Removed unnecessary console logs and require() imports.
1.0.4
- Fixed obsidianmd/no-unsupported-api linter errors by bypassing experimental addComponent with backward-
compatible controlEl DOM access. - Updated minAppVersion to 1.8.10 for full API alignment.
- Removed unused imports and catch binding variables across all modules.
- Included package-lock.json for reproducible build verification.
1.0.3
Obsidian API Compatibility Improvements
-
Updated minimum supported Obsidian version:
- Set
minAppVersionto1.7.7to align with nativeSecretStorageandFileManager.trashFile()APIs.
- Set
-
Improved internationalization support:
- Replaced
localStorage.getItem("language")with the nativegetLanguage()API.
- Replaced
-
Improved file deletion handling:
- Replaced
Vault.delete()withFileManager.trashFile()to respect user trash preferences.
- Replaced
-
Improved popout window compatibility:
- Replaced popout window timers with
window.setInterval()andwindow.clearInterval().
- Replaced popout window timers with
Build and Code Quality Improvements
-
Added
package-lock.jsonfor reproducible dependency installation and build verification. -
Removed deprecated UI button methods and unnecessary console logs.
1.0.2
Obsidian API Compatibility Improvements
-
Updated plugin metadata:
- Removed the redundant word "Obsidian" from the manifest description.
-
Improved compatibility with current Obsidian APIs:
- Replaced deprecated
setWarning()button method withsetDestructive(true). - Replaced
localStorage.getItem("language")with the nativegetLanguage()API. - Replaced direct
Vault.delete()usage withFileManager.trashFile()to respect user trash preferences. - Replaced global
setInterval()andclearInterval()calls withwindow.setInterval()andwindow.clearInterval()for improved popout window compatibility.
- Replaced deprecated
Build and Development Improvements
-
Added
package-lock.jsonfor reproducible dependency installation and byte-for-byte build verification. -
Improved TypeScript code quality:
- Fixed type definitions.
- Removed unused variables and warnings across modules.
Summary
This release improves Dream Analyzer compatibility with Obsidian standards, strengthens API usage, and improves build reproducibility and maintainability.
Release 1.0.1 — Security and Entity Management Improvements
What's New
Security and SecretStorage
- Added support for the native Obsidian
SecretStorageAPI. - Integrated
SecretComponentfor secure API key management. - OpenAI API keys are now stored securely and are no longer saved as plain text in
data.json.
Entity Deduplication and Smart Management
-
Added cross-category entity deduplication.
- Prevents duplicate entity notes with the same name across different categories.
- Example:
Objects/LadderandSymbols/Ladderare now recognized as the same entity. - Existing entities are updated instead of creating duplicate notes.
-
Added stop entity filtering for trivial self-referential entities:
- Narrator, Dreamer, I, Me, My body
- Оповідач, Я, Сновидець, Моє тіло, Себе
-
Improved entity extraction quality:
- Transformational events and personal experiences are now represented as abstract concepts instead of redundant self-references.
Multi-Language Improvements
-
Added automatic language preservation during AI analysis.
-
Dream summaries, entity names, descriptions, and keywords are now generated in the same language as the original dream entry.
-
Improved dashboard localization:
- Existing dashboard files are updated when changing Obsidian interface language.
- Prevents creation of duplicate dashboard files.
Code Quality Improvements
- Improved compatibility with official Obsidian Developer Guidelines:
- Added proper usage of
setHeading(). - Improved path handling with
normalizePath(). - Removed unsafe
innerHTMLusage. - Added safer atomic frontmatter processing.
- Added proper usage of
v1.0.0 - Initial Release: AI Dream Analysis, Entity Extraction & Vector Similarity
Dream Analyzer v1.0.0 — Initial Release
We are excited to introduce the first release of Dream Analyzer for Obsidian.
Dream Analyzer is an AI-powered plugin for analyzing dream journals, extracting structured entities, finding semantic connections between dreams, and tracking lucid dreaming patterns.
Key Features
AI Dream Analysis & Entity Extraction
Automatically analyzes dream entries and generates structured data:
- Characters
- Places
- Objects
- Emotions
- Symbols
- Concepts
Uses OpenAI models (gpt-5-mini, gpt-4o-mini, etc.) to create summaries and extract meaningful entities from dreams.
Vector Embeddings & Dream Similarity Analysis
Uses vector embeddings combined with entity matching to discover connections between dreams.
Similarity calculation:
- 50% Vector Cosine Similarity
- 50% Shared Entity Similarity
Finds the most semantically related dreams in your journal.
Dream Analytics Dashboard
Includes an automated Dream Dashboard.md powered by Dataview.
Tracks:
- Lucid Dreaming success rate
- Dream Signs and reality check triggers
- Emotional trends
- Recurring concepts and creative ideas
Calendar & Templater Integration
Provides dream note templates compatible with:
- Templater
- Calendar
Interactive Date Picker
Create dream notes for today or select any historical date using a built-in date selection modal.
Real-Time Rename Synchronization
Automatically updates vector database references when dream or entity notes are renamed inside Obsidian.
Data Management Utilities
Includes:
- Native Obsidian Frontmatter processing
- Full database reset and cleanup tools for testing and migration
Installation
Copy the release files into:
.obsidian/plugins/dream-analyzer/
Required files:
main.jsmanifest.json
Requirements
- Obsidian v1.5+
- OpenAI API key
- Community Plugins enabled
Thank you for trying Dream Analyzer.
Feedback, bug reports, and feature requests are welcome.