Skip to content

Releases: introfini/ZotSeek

v1.11.2 — Fix Find Similar Documents Blank Dialog

30 Mar 16:20

Choose a tag to compare

What's New

🐛 Fix "Find Similar Items" Showing Blank Dialog

The "Find similar items" right-click menu command would show an empty popup window with no results. This was caused by a Fluent localization issue where data-l10n-id on the <window> element replaced the entire dialog DOM with plain text, destroying all UI elements.

What was affected:

  • The "Find similar items" context menu command showed a blank dialog
  • The issue appeared after localization support was added in v1.11.0

Additional improvements:

  • Pass only primitive values (item ID) between windows to prevent XPCOM dead wrapper issues
  • Fix incorrect isInitialized() call (method didn't exist) to use isReady()
  • Replace console.error with Zotero.debug() to prevent crashes in plugin context

Installation

  1. Download zotseek-1.11.2.xpi below
  2. In Zotero: Tools → Plugins → ⚙️ → Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

⚠️ Upgrade Notes

No action required. The fix is automatic.


Full Changelog: v1.11.1...v1.11.2

v1.11.1 — Chinese (zh-CN) Localization

25 Mar 09:46

Choose a tag to compare

What's New

🌐 Complete Chinese (zh-CN) Localization (fixes #16)

ZotSeek's entire UI is now available in Chinese for users with a Chinese system locale:

  • Preferences panel (settings, stats, actions, descriptions)
  • Search dialog (queries, modes, results, column headers, status messages)
  • Similar documents dialog
  • Context menus (right-click items, PDF text selection)
  • Indexing progress messages and notifications

Built on Zotero's native Fluent (.ftl) localization system with 150+ translated strings.

🐛 Locale Interference Fix

Adding the zh-CN locale also fixes the issue where installing ZotSeek caused Better Notes and Translate for Zotero to lose their Chinese translations. The root cause was the chrome locale registry falling back to en-US when only that locale was registered.


Installation

  1. Download zotseek-1.11.1.xpi below
  2. In Zotero: Tools > Plugins > ⚙️ > Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

⚠️ Upgrade Notes

No action required. The localization is automatic based on your system locale.


🙏 Thanks

A big thank you to @Eternal-dj for reporting the locale interference issue, patiently testing five pre-release builds, and catching every untranslated string along the way. This complete localization wouldn't have happened without your thorough testing and feedback!


Full Changelog: v1.11.0...v1.11.1

v1.11.0 — Storage Optimization & Oversized Paragraph Fix

23 Mar 12:16

Choose a tag to compare

What's New

⚡ Storage Optimization (fixes #25)

Stats panel now shows actual database file size. Embeddings stored as base64 (~73% smaller). Schema normalized to eliminate per-chunk duplication of titles and abstracts.

Metric Before After
Embedding size ~16 KB (JSON) ~4 KB (base64)
Schema 1 table, data duplicated per chunk 2 tables, normalized
Storage display Estimated (often ~10x too low) Actual file size

Note: Re-index your library after updating to convert existing embeddings to the compact format. Use the new "Compact Database" button in Settings afterward to reclaim space.

🐛 Oversized Paragraph Fix (fixes #20)

Documents with very long paragraphs (no line breaks) were being truncated, losing up to 70% of content. Now splits at sentence boundaries into multiple properly-sized chunks.

🔧 Database Compaction

New "Compact Database" button in Settings to reclaim unused space after migrations or large deletions.


Installation

  1. Download zotseek-1.11.0.xpi below
  2. In Zotero: Tools > Plugins > ⚙️ > Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

⚠️ Upgrade Notes

  • Schema migration (v4 → v6) runs automatically on first startup. This may take a few seconds for large libraries.
  • To get the full storage reduction, re-index your library (Settings → ZotSeek → Rebuild Index), then click "Compact Database".

Full Changelog: v1.10.0...v1.11.0

v1.10.0 — Pause/Cancel Indexing, Configurable Auto-Index Delay & Resilient Embedding

20 Feb 23:21

Choose a tag to compare

What's New

⏸ Pause/Play and Cancel During Indexing

Long-running indexing operations now have full control buttons in the progress window:

  • Pause (⏸) and resume (▶) buttons — pauses at batch boundaries with all progress saved
  • Cancel (✕) button — stops gracefully with a quiet notification (no error alert)
  • ETA calculation accounts for paused time

⏱ Configurable Auto-Index Delay (closes #21)

Control how long ZotSeek waits after the last item is added before auto-indexing starts:

  • Default: 10 seconds (configurable from 1–300 seconds in Settings → ZotSeek)
  • Each new item resets the countdown, preventing indexing during bulk imports
  • Useful when importing large batches via browser connector or RSS feeds

🛡 Resilient Embedding (fixes #19)

Single chunk embedding failures no longer crash the entire indexing operation:

  • Each chunk gets one automatic retry before being skipped
  • Skipped chunks are logged and reported in the progress window
  • Remaining items continue indexing normally
  • Applies to both manual and auto-indexing

Changed

  • Auto-index batch timer now uses proper debounce (resets on each new item instead of firing after the first)

Installation

  1. Download zotseek-1.10.0.xpi below
  2. In Zotero: Tools → Plugins → ⚙️ → Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

⚠️ Upgrade Notes

No action required. Existing indexes and settings are preserved.


Full Changelog: v1.9.0...v1.10.0

v1.9.0 — Tag-Based Exclusion & Auto-Cleanup

07 Feb 17:48

Choose a tag to compare

What's New

🚫 Tag-Based Exclusion

Exclude specific items from indexing by tagging them:

  • Default tag: zotseek-exclude (configurable in Settings → ZotSeek → Advanced Settings)
  • Works during manual indexing (Update Library Index, Index Selected, Index Collection)
  • Works during auto-indexing of new items
  • Leave the tag name empty to disable exclusion

Tip: Use Zotero's Advanced Search (Edit → Advanced Search) to find items by title, type, or collection, then bulk-tag them. This is more flexible than regex-based filtering since it leverages Zotero's native search capabilities.

🗑️ Auto-Cleanup on Delete/Trash

Embeddings are now automatically removed when items are deleted or trashed:

  • Prevents ghost search results from orphaned data
  • Always active regardless of auto-index setting (data integrity concern)

📄 "Remove from ZotSeek Index" Context Menu

New right-click menu item to manually remove items from the search index:

  • Supports multi-select (remove several items at once)
  • Shows quick notification with count of removed items
  • Safe to use on non-indexed items (no-op, no error)

Installation

  1. Download zotseek-1.9.0.xpi below
  2. In Zotero: Tools → Plugins → ⚙️ → Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

⚠️ Upgrade Notes

No action required. Existing indexes are fully compatible.


Full Changelog: v1.8.0...v1.9.0

v1.8.0 — Multi-Select & Batch Operations

30 Jan 15:55

Choose a tag to compare

What's New

🎯 Multi-Select in Search Results

Select multiple items in search results using standard shortcuts:

  • Shift+click to select a range of items
  • Cmd/Ctrl+click to toggle individual items
  • "Open Selected" button selects all items in Zotero library when multiple are selected

📋 Right-Click Context Menu

Batch operations on selected results:

  • Show in Library — Selects item(s) in the main Zotero pane
  • Add to Collection — Submenu to add selected items to any collection

🌙 Dark Mode Improvements

Better text contrast on selected rows in both light and dark modes.

🐛 Bug Fix: Database Persistence

Fixed database being wiped on plugin reload during development. The database is now only deleted on true uninstall, not on upgrade or reload.


Installation

  1. Download zotseek-1.8.0.xpi below
  2. In Zotero: Tools → Plugins → ⚙️ → Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

⚠️ Upgrade Notes

No action required. Your existing index will be preserved.


Full Changelog: v1.7.0...v1.8.0

v1.7.0 — Multi-Query Search & Progress Window Improvements

26 Jan 21:01

Choose a tag to compare

What's New

🔀 Multi-Query Search

Combine up to 4 search queries with AND/OR logic to find papers at the intersection of multiple topics:

  • Click "+" to add additional query fields (up to 4 total)
  • AND mode: Find papers matching ALL queries (intersection)
  • OR mode: Find papers matching ANY query (union)
AND Formula Description
Minimum Strictest — uses lowest score across queries
Product Balanced — geometric mean of scores
Average Lenient — arithmetic mean of scores

Per-query scores shown in Match column: e.g., 73% (77|73|68) shows combined score and individual query scores.

⚡ Improved Progress Window

  • Dynamic height that adjusts to content (min: 120px, max: 400px)
  • Checkpoint messages now display in reverse order (newest first)
  • Window stays within main Zotero window bounds

Installation

  1. Download zotseek-1.7.0.xpi below
  2. In Zotero: Tools → Plugins → ⚙️ → Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

⚠️ Upgrade Notes

No action required. Your existing index and settings will be preserved.


Full Changelog: v1.6.0...v1.7.0

v1.6.0 — Crash-Resilient Indexing & Settings Redesign

24 Jan 14:36

Choose a tag to compare

What's New

💾 Crash-Resilient Indexing

Indexing now saves progress every 25 items:

  • Resume safely after crash by re-running "Update Index"
  • Already-indexed items are automatically skipped
  • No need to start over from scratch

⚙️ Redesigned Settings Panel

Modern, visual preferences UI:

  • Index statistics as colorful cards (Papers, Chunks, Storage)
  • Indexing mode selection with visual radio-style cards
  • Organized sections with clear visual hierarchy
  • Action buttons color-coded (green = recommended, yellow = destructive)

🔧 Settings Button in Search Dialog

Quick access to ZotSeek preferences directly from the search dialog (bottom-left corner).

🏷️ Improved Alerts

Dialogs now show "ZotSeek" title instead of generic "[JavaScript Application]".


Installation

  1. Download zotseek-1.6.0.xpi below
  2. In Zotero: Tools → Plugins → ⚙️ → Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

Full Changelog: v1.5.0...v1.6.0

v1.5.0 — Auto-Index & Column Sorting

20 Jan 21:48

Choose a tag to compare

What's New

🔄 Auto-Index New Items

Automatically index papers when you add them to your library:

  • Enable in Settings → ZotSeek → "Auto-index new items"
  • Waits for PDF attachments with automatic retry
  • Batches items during bulk imports
  • Shows live progress indicator

📊 Column Sorting

Click column headers to sort search results:

  • Sort by Match %, Year, Title, Authors, or Source
  • Smart defaults (Match/Year descending, text ascending)
  • Visual indicators (▲/▼) show sort direction

Installation

  1. Download zotseek-1.5.0.xpi below
  2. In Zotero: Tools → Plugins → ⚙️ → Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

Full Changelog: v1.4.0...v1.5.0

v1.4.0 — Zotero 7 Support & Full Paper Default

15 Jan 17:58

Choose a tag to compare

What's New

📦 Zotero 7 Support

Now compatible with both Zotero 7 (stable) and Zotero 8 (beta):

  • Extended compatibility from strict_min_version: 6.999
  • Same feature set across both versions
  • Automatic performance optimization per version

📄 Full Paper Mode is Now Default

Full Document indexing is now the default for better search quality:

  • Indexes paragraph-level content from PDFs with exact page numbers
  • Best for finding specific passages and deep content search
  • Can still switch to Abstract mode for faster indexing

⚡ Version-Aware Optimizations

The plugin automatically detects your Zotero version and optimizes settings:

Setting Zotero 7 Zotero 8
Default Max Tokens 800 2000
Worker Chunk Limit 3000 chars 8000 chars
Performance Warning Shown Hidden

⚠️ Zotero 7 Performance Note: Full Document indexing is ~8-10x slower on Zotero 7 (Firefox 115) compared to Zotero 8 (Firefox 140+) due to WASM SIMD performance differences. For faster indexing on Zotero 7, use Abstract mode or keep Max Tokens ≤1000.

🔧 Automated Release Workflow

New npm run release command for developers:

  • Interactive version bumping via bumpp
  • Auto-generates update.json from package.json
  • Builds and packages XPI in one command

Installation

  1. Download zotseek-1.4.0.xpi below
  2. In Zotero: Tools → Plugins → ⚙️ → Install Plugin From File
  3. Select the downloaded .xpi file
  4. Restart Zotero

⚠️ Upgrade Notes

No action required. The plugin will use optimized defaults based on your Zotero version.

If you previously had custom settings, they will be preserved. Consider adjusting:

  • Zotero 7 users: Lower Max Tokens to ≤1000 for better performance
  • Zotero 8 users: Can use higher values (2000+) without issues

Full Changelog: v1.3.0...v1.4.0