Skip to content

Releases: Poltavtcev/dream-analyzer

1.1.0

Choose a tag to compare

@Poltavtcev Poltavtcev released this 19 Aug 11:25

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
  • 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, Airplane
    • Emotional Resonance: Irritation
    • Narrative 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 keywords from being treated as Dream Signs.

🔧 Changed

  • Removed the old combinedScore calculation.
  • Removed the old entitySim ratio from dream connection analysis.
  • Replaced the single similarityThreshold connection setting with three independent settings:
    • narrativeThreshold
    • dreamSignMaxFrequency
    • emotionMaxFrequency
  • The old similarityThreshold remains 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 build passes successfully.

1.0.9

Choose a tag to compare

@Poltavtcev Poltavtcev released this 30 Jul 09:19

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 temperature values for gpt-5-mini and reasoning models that do not support custom temperature settings.
  • Added native openAiRequest network handling using window.fetch to reliably capture complete API responses and error messages.

Smart Dream Text Extraction

  • Added extractDreamTextOnly for 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 normalizePath import.

Obsidian Compatibility Improvements

  • Replaced static style assignments with Obsidian's official .setCssStyles({...}) API.
  • Replaced destructive button methods with the native .mod-warning CSS class.
  • Fixed regex escape warnings and improved TypeScript type safety.

1.0.8

Choose a tag to compare

@Poltavtcev Poltavtcev released this 29 Jul 19:42

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

Choose a tag to compare

@Poltavtcev Poltavtcev released this 29 Jul 17:20
  • 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

Choose a tag to compare

@Poltavtcev Poltavtcev released this 29 Jul 16:45
  • 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

Choose a tag to compare

@Poltavtcev Poltavtcev released this 29 Jul 16:28
  • 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

Choose a tag to compare

@Poltavtcev Poltavtcev released this 29 Jul 15:46

Obsidian API Compatibility Improvements

  • Updated minimum supported Obsidian version:

    • Set minAppVersion to 1.7.7 to align with native SecretStorage and FileManager.trashFile() APIs.
  • Improved internationalization support:

    • Replaced localStorage.getItem("language") with the native getLanguage() API.
  • Improved file deletion handling:

    • Replaced Vault.delete() with FileManager.trashFile() to respect user trash preferences.
  • Improved popout window compatibility:

    • Replaced popout window timers with window.setInterval() and window.clearInterval().

Build and Code Quality Improvements

  • Added package-lock.json for reproducible dependency installation and build verification.

  • Removed deprecated UI button methods and unnecessary console logs.

1.0.2

Choose a tag to compare

@Poltavtcev Poltavtcev released this 29 Jul 15:37

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 with setDestructive(true).
    • Replaced localStorage.getItem("language") with the native getLanguage() API.
    • Replaced direct Vault.delete() usage with FileManager.trashFile() to respect user trash preferences.
    • Replaced global setInterval() and clearInterval() calls with window.setInterval() and window.clearInterval() for improved popout window compatibility.

Build and Development Improvements

  • Added package-lock.json for 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

Choose a tag to compare

@Poltavtcev Poltavtcev released this 29 Jul 10:13

What's New

Security and SecretStorage

  • Added support for the native Obsidian SecretStorage API.
  • Integrated SecretComponent for 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/Ladder and Symbols/Ladder are 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 innerHTML usage.
    • Added safer atomic frontmatter processing.

v1.0.0 - Initial Release: AI Dream Analysis, Entity Extraction & Vector Similarity

Choose a tag to compare

@Poltavtcev Poltavtcev released this 24 Jul 15:46

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.js
  • manifest.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.