Releases: chriswritescode-dev/codedox
v0.3.7
Release v0.3.6
Full Changelog: v0.3.5...v0.3.6
v0.3.5 - WebSocket Architecture Refactor
What's New
WebSocket Architecture Refactor
- Implemented global WebSocket context with single connection for entire app
- Added declarative hook for cleaner component code
- Real-time progress tracking now works smoothly for both regeneration and crawl operations
Critical Bug Fixes
- Fixed database session lifecycle bug in background tasks that caused failures
- Fixed WebSocket connection race conditions
- Added client ID persistence in sessionStorage
- Fixed dropdown click-through bug in source actions menu
Code Quality Improvements
- Eliminated ~100 lines of duplicate code across components
- Added type-safe WebSocket message constants (Python and TypeScript)
- Consolidated action dialogs and source menu components
- Applied DRY principles throughout codebase
Technical Details
- Single WebSocket connection shared across all components via React Context
- Optimistic UI updates using
- Background tasks now create their own database sessions properly
- WebSocket message types defined as constants in single source of truth
Full Changelog: v0.3.2...v0.3.5
v0.3.2
Bump version to 0.3.2 and add get_snippet() tool
0.3.1 - Performance Improvements
Bump version to 0.3.1 - Update version in src/constants.py, pyproject.toml, and frontend/package.json - Add 0.3.1 release entry to CHANGELOG.md with performance improvements - Sync frontend version with main application version
v0.3.0 - Major Architecture Improvements
CodeDox v0.3.0 - Major Architecture Improvements
🚀 Major Features & Improvements
Unified Code Extraction System
- Complete refactor to a unified extraction architecture with factory pattern
- New
ExtractedCodeBlockmodel with semanticExtractedContextfor better code understanding - Consolidated HTML, Markdown, and RST extraction into specialized extractors with shared base class
- Improved extraction rules: multi-line blocks always extracted, single-line with 3+ significant words
- Better handling of unclosed markdown fence blocks and HTML button elements
Source-Scoped Duplicate Detection
- Breaking Change: Duplicate detection now scoped to individual sources instead of global
- Same code snippets can exist across different documentation sources
- New composite unique constraint (document_id, code_hash) replaces global code_hash constraint
- Automatic database migration system with migration 008_remove_code_hash_unique
- Shared utility function
find_duplicate_snippet_in_source()for consistent duplicate checking
Enhanced Frontend Experience
- Refactored DocumentDetail page with custom
useDocumentDetailhook - Improved search UX with better focus management and search result counts
- Enhanced language filtering with count display in dropdown
🔧 Technical Improvements
Extraction Engine
- Removed legacy SimpleCodeBlock and html_code_extractor.py systems
- Factory pattern for creating format-specific extractors
- Better context-aware HTML extraction with heading detection
- Improved title extraction combining section headings with page titles
- Enhanced RST support with better literal block detection
Database & Migrations
- Automatic migration application on app startup
- New migration check system that applies pending migrations automatically
- Updated SQLAlchemy models for new constraint structure
Code Quality
- Removed redundant wrapper functions and adapter layers
- Cleaned up 34 files with 2,805 additions and 1,921 deletions in main refactor
- Migrated all 269+ tests to new extraction API
- Added comprehensive test coverage for new extraction system
🐛 Bug Fixes
- Fixed UploadProcessor missing heartbeat tracking methods
- Removed pygame-specific corruption handling from RST extractor
- Fixed retry failed pages to maintain original source association
📝 Developer Experience
- Better extraction rules with semantic understanding
- Improved error handling and edge case coverage
- Enhanced test suite with dedicated extractor tests
- More consistent API across extraction formats
🔄 Migration Notes
Automatic Migrations: The database schema will be automatically updated when starting the application. The migration adds source-scoped duplicate detection.
Breaking Changes:
- Code extraction now uses
ExtractedCodeBlockmodel instead of dictionary-based approach - Duplicate detection API changed from global to source-scoped
- Removed
container_typefield from extraction models
Full Changelog: v0.2.8...v0.3.0
This represents a significant architectural improvement focusing on code extraction quality, database consistency, and user experience enhancements.
CodeDox v0.2.9
Release v0.2.9
Added
- Enhanced UI responsiveness with collapsible header in source detail view
- Improved visual feedback and layout consistency across components
Improved
- Simplified keyboard shortcut API for better maintainability
- Better space utilization in source detail pages
- Enhanced visual hierarchy and component styling
- Streamlined filter dropdown with proper Select component
Changed
- useKeyboardShortcut hook now accepts simplified parameters
- Updated source interface to include source_type field
- Improved component layouts and spacing throughout frontend
Technical Details
- Version bump to 0.2.9 across all configuration files
- Consistent styling improvements in SourceCard, FilterDropdown, and modal components
- Enhanced source detail view with smart header collapsing based on search state
CodeDox v0.2.8 - reStructuredText Support
🎉 reStructuredText (RST) Support
CodeDox v0.2.8 introduces comprehensive support for reStructuredText documents, expanding beyond Markdown to support another popular documentation format.
✨ New Features
- Complete RST Document Processing: Upload and process RST files with intelligent code extraction
- RST Code Directive Support:
.. code-block:: pythonwith language specification and options.. code:: javascriptfor shorter syntax.. sourcecode:: rubyfor alternative directive format
- Literal Block Extraction: Support for
::syntax with preserved indentation - Automatic Language Detection: Smart detection from RST directives
- Keyboard Shortcuts: Added Escape key support for modal dialogs in Web UI
🔧 Improvements
- Enhanced Code Extraction Pipeline: Now handles RST documents alongside existing Markdown support
- Better Statistics Display: Updated dashboard to show both crawl and upload jobs
- UI Enhancements: Fixed TypeScript type issues and improved modal interactions
🧪 Technical Details
- RST Code Extraction: New
RSTCodeExtractorclass handles all RST parsing - File Format Support: RST files (.rst, .rest, .restx, .rtxt, .rstx) fully supported
- Comprehensive Testing: Added extensive test suite for RST extraction
- Context Preservation: Maintains surrounding context for better code understanding
📁 Supported RST File Extensions
.rst, .rest, .restx, .rtxt, .rstx
Perfect for Python projects using Sphinx documentation, technical writing, and any project using reStructuredText format!
v0.2.7 - GitHub Repository Processing & Schema Fixes
What's New
🔧 GitHub Repository Processing
- Add support for crawling and processing GitHub repositories
- Intelligent extraction of code from repository files
- Enhanced documentation processing for GitHub-hosted projects
🛠️ Schema Migration Fixes
- Fix missing markdown_search_vector column for fresh installations
- Improved database migration handling
- Enhanced upgrade documentation
Documentation
- Add comprehensive upgrade guide
- Updated navigation structure
- Improved installation instructions
Bug Fixes
- Fix TypeScript and ESLint errors in frontend
- Fix syntax error in docker-setup.sh
- Resolve fresh installation database issues
v0.2.6 - Enhanced Search & Markdown Support
Release 0.2.6 - Enhanced Search & Markdown Support
🎉 Highlights
This release introduces Enhanced Search with Markdown Fallback, allowing CodeDox to automatically search through documentation content when code snippet searches return limited results. The new Markdown Search with Highlighting feature provides full-text search across documentation with intelligent highlighting and auto-scrolling to matches.
✨ What's New
Enhanced Search Capabilities
- Automatic Markdown Fallback: When code searches return few results, CodeDox automatically searches documentation content
- Smart Highlighting: Search matches are highlighted in the UI with auto-scroll to first match
- Toggle Search Modes: Switch between code-only and enhanced search in the Web UI
- Improved Relevance: Better search results through optimized PostgreSQL full-text search
Web UI Improvements
- New search mode toggle in the search interface
- Visual indicators for markdown-sourced results
- Improved search result presentation with highlighting
- Better navigation between search matches
🐛 Bug Fixes
- Fixed HTML code extraction issues
- Resolved duplicate code snippet detection
- Fixed upload UI spacing and layout problems
- Improved database schema setup and migrations
🔧 Improvements
- Optimized search performance with better indexing
- Enhanced test infrastructure and coverage
- Improved code quality with better type hints
- Better error handling in MCP tools
📚 Documentation
- Added comprehensive documentation for enhanced search
- New screenshots demonstrating markdown search features
- Consolidated all screenshots to single location
- Updated feature documentation with examples
📦 Installation
Docker (Recommended)
git clone https://github.com/chriswritescode-dev/codedox.git
cd codedox
git checkout v0.2.6
cp .env.example .env
./docker-setup.shManual Installation
git clone https://github.com/chriswritescode-dev/codedox.git
cd codedox
git checkout v0.2.6
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python cli.py init🙏 Acknowledgments
Thanks to all contributors and users who provided feedback for this release!
Full Changelog: v0.2.5...v0.2.6