All notable changes to DocsTalk will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Router Logic Bug - Ecosystem ID was sent to Qdrant instead of doc source ID
- Fixed: Queries now correctly search documentation chunks
- Example: "Next.js" query now searches
nextjschunks, notfrontend_web - Root cause:
primarySourcewas set toecosystem.idinstead ofsuggestedDocSources[0] - Result: RAG retrieval now works correctly with ecosystem-based routing
- SVG Icon Migration from emoji/Lucide icons to proper SVG files
- Created migration
007_update_icon_urls.sql - Updated
doc_ecosystems.iconanddoc_sources.icon_urlcolumns - All 8 ecosystems now use SVG icon paths
- Created migration
- Routing Indicator Sync with database ecosystem structure
- Added individual icons for all doc sources (React, Next.js, TypeScript, etc.)
- Fixed icon path mismatches (express-js, vue-js, rust-programming-language, etc.)
- Improved multi-source search display with
additionalSources
- Settings Page (
/settings) with profile overview and theme toggle - Sonner Toast Notifications for copy feedback, errors, and actions
- Redesigned Empty Chat State with modern pill layout
- Enhanced SEO with dynamic metadata templates
- Mobile responsiveness for sidebar gestures
- Instant feedback for feedback submission and share actions
- Multi-layer authentication for developer commands
DOCSTALK_ADMIN_TOKENenvironment variable required- Token format validation (
dtalk_admin_prefix) - Project context OR remote token validation
- Prevents unauthorized database access
- Incremental scraping mode with change detection
- 5-10x faster for full source updates
- Compares with existing data
- Only updates changed content
- Partial scraping mode for surgical updates
- 20-60x faster for single page updates
- Merge with existing chunks
- Skip unchanged content
- Deterministic chunk IDs using SHA-1 hashes
- Stable IDs for idempotent reindexing
- Format:
sha1(source:url:chunkIndex:subIdx) - Enables incremental updates and change tracking
- Fixed split chunk indexing
- Unique indexes per subchunk:
baseIndex × 1000 + subIdx - Maintains sort order across splits
- Proper RAG retrieval sequence
- Unique indexes per subchunk:
- Command separation (public vs developer)
- Public:
ask,search,version - Developer:
dev serve,dev scrape,dev index,dev test-router - Hidden backward-compatible commands with deprecation warnings
- Public:
- Incremental/partial flags for CLI
--incremental: Smart change detection--partial: Surgical page updates--index: Auto-index after scraping
- Added Docker documentation (cloud_infra ecosystem)
- Added FastAPI documentation (python ecosystem)
- Added Vue.js documentation (frontend_web ecosystem)
- Added PostgreSQL documentation (database ecosystem)
- 100% ecosystem coverage achieved (all 8 ecosystems)
- Global language support
- AI responds in user's query language
- Removed language bias from prompts
- Supports 100+ languages
- Complete authentication guide (
packages/cli/docs/authentication.md) - CLI command structure guide (
packages/cli/docs/command-structure.md) - Scraper incremental/partial modes guide (
docs/scraping/incremental-partial-modes.md) - Indexer architecture fixes guide (
docs/architecture/indexer-fixes.md) - Environment variables template (
.env.example)
- Idempotent reindexing capability
- Change detection for efficient updates
- Secure developer command access
- Multi-environment support (dev/staging/production)
- CI/CD integration ready
- UUID Format Compatibility (Qdrant)
- Fixed: Qdrant requires UUID or unsigned integer for point IDs
- Changed from SHA-1 hex (40 chars) to proper UUID v5 format
- Format:
xxxxxxxx-xxxx-5xxx-yxxx-xxxxxxxxxxxx - Result: Stable deterministic IDs that Qdrant accepts
- Google Gemini SDK v1.30.0 Compatibility
- Fixed:
embedContentAPI breaking changes - Changed:
contentsparameter format - Result: Embedding generation works with latest SDK
- Fixed:
- CLI Query Field Mismatch
- Fixed: CLI sent
messagebut API expectedquery - Changed: Request body field name
- Result: CLI
askcommand works properly
- Fixed: CLI sent
- TypeScript Type Compatibility
- Fixed: Parameter name to match SDK types
- Result: No lint errors, proper type safety
- All 14 documentation sources indexed successfully
- 100% ecosystem coverage tested
- Multi-language support verified (Indonesian/English)
- CLI commands working as expected
- No errors in production deployment
- Ecosystem-Based Hierarchical Routing
- 8 ecosystem groups (Frontend, Backend, Python, Systems, Cloud, AI/ML, Database, Styling)
- Semantic embeddings (768d Gemini) for intelligent detection
- Multi-level keyword matching (keywords, aliases, keyword_groups)
- Database schema with confidence tracking
- 10-250x faster detection (2-50ms vs 500ms)
- 92% accuracy (up from 70%)
- 8+ GIN indexes for 25-50x faster keyword/alias searches
- Foundation for 4-stage detection pipeline
- Production-ready embedding generation pipeline
- Adaptive learning capability
- Multi-doc context support
- SSE streaming format for auto-detect endpoint
- forceDocSource bypass to prevent clarification loops
- Frontend empty response issue (stream=false default bug)
- TypeScript import/export naming conflicts
- Proper routing metadata in SSE responses
- Unified response types (meta/clarification/normal) to SSE format
- Migrated to Hybrid Architecture (Supabase + Qdrant)
- 99% reduction in PostgreSQL storage size
- Massive scalability improvements
- CLI Auto-Indexing with
--indexflag - Enhanced Smart Meta Query with dynamic tech stack detection
- New documentation sources: Python, Go, Rust, Node.js
- Pin Message feature for conversations
- Overhauled Sidebar UI with dynamic monochrome icons
- Chat Interface readability (wider layout)
- Dropdown visibility (Modern Glass UI)
- Dark mode support for all UI elements
- Interactive clarification flow for ambiguous queries
- Liquid Text effect in footer
- Guest user limitations with sign-in prompt
- Mobile responsiveness for sidebar
- Fixed hydration errors in landing page
- Migrated to Turborepo monorepo structure
- Separated UI components into
@docstalk/uipackage - Standardized Tailwind configuration
- Improved build times
- Better development workflow
- Initial beta release of DocsTalk
- Support for Next.js, React, and Tailwind documentation
- Basic chat interface with streaming responses
- Conversation history and persistence
- Auto-detection of documentation sources
- RAG-powered answers using Google Gemini
- 🎉 Major release
- ✨ New feature
- 💅 UI/UX improvement
- ⚡ Performance improvement
- 🐛 Bug fix
- 🔒 Security enhancement
- 🏗️ Architecture change
- 📝 Documentation
- 🆕 New content
- 🌍 Internationalization
- 🛠️ Developer tools
Links: