All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- feat: add comprehensive documentation for trending and themes features (b86ff98)
- feat: reorder Game Help sections to show Code Challenge Types before Typing Tips (9bfbaae)
- feat: add language validation for trending command (6b458bf)
- feat: add HTTP and API error handling for trending feature (9347cf4)
- feat: add trending repositories selection feature (ccf589e)
- feat: add Starforge and Runic themes with comprehensive color adjustments (8ba14d4)
- feat: add Colors::key_action() and Colors::key_navigation() methods (8dbae6c)
- feat: add custom theme support via ~/.gittype/custom-theme.json (ba482da)
- feat: add settings screen with theme and color mode selection (90fd06e)
- feat: restructure theme system with simplified Theme struct and proper separation of concerns (c157160)
- feat: add Nix support with flake configuration and dependencies (310b577)
- feat: reorganize theme structure and add extensive theme collection (3197abb)
- feat: add new dark and light themes with improved color schemes (9ca8b74)
- feat: add ColorScheme caching and in-game theme switching (f768443)
- feat: restructure theme system with consolidated and separated colors (08d49b5)
- feat: improve typing interface color usage (2a79fde)
- feat: replace hardcoded color constants with dynamic theme system (ee322e4)
- feat: rename themes to ascii_dark and ascii_light (b8403a5)
- fix: refresh repository list in records screen to prevent unknown display (58ac54b)
- fix: remove TrendingConfig and hardcode values (8a20f72)
- fix: correct comment range detection in middle chunk extraction (a2fe4a6)
- fix: remove left-right margins and fix key colors in session detail screen (b212175)
- fix: remove unnecessary margins and spacing from screen layouts (eedec04)
- fix: rename typing_current_cursor to typing_cursor_fg in ascii theme (0653b10)
- fix: add horizontal padding to settings screen content sections (a297926)
- fix: restore manual Default implementation for ThemeConfig (4872ae8)
- fix: update tests and resolve clippy warnings after theme system refactor (d43b47a)
- fix: ensure key colors match semantic colors in all themes (bfa5028)
- chore: bump version to v0.8.0 (ab1f563)
- docs: enhance README with comprehensive screenshots (335ee87)
- refactor: split trending_view into separate files and add help info (32f3312)
- chore(deps): bump tree-sitter from 0.25.9 to 0.25.10 (9524aa5)
- chore(deps): bump tempfile from 3.22.0 to 3.23.0 (9448eb5)
- chore(deps): bump serde from 1.0.225 to 1.0.226 (7a887b7)
- chore(deps): bump clap from 4.5.47 to 4.5.48 (4d5aa49)
- chore(deps): bump anyhow from 1.0.99 to 1.0.100 (7931060)
- Apply suggestion from @coderabbitai[bot] (1cd74a0)
- Apply suggestion from @coderabbitai[bot] (1e67c43)
- Apply suggestion from @coderabbitai[bot] (13a0301)
- refactor: improve analytics screen navigation UI consistency (633d257)
- refactor: save theme ID instead of entire theme object in config (d475f01)
- remove: CLI theme-related commands (fb44a83)
- refactor: use Colors::key_action() instead of Colors::success() for key descriptions (4a92b04)
- docs: clean up commit and wording (b8d6e6b)
- docs: update CONTRIBUTING and README to include Nix development instructions (bec7820)
- test: skip tests in nix build environments if they are incompatible with nix sandboxing (a412a73)
- refactor: update all UI components to use new consolidated color system (1641183)
- refactor: remove unused StageRendererView component (b6aeb45)
- feat: add crossterm to ratatui color conversion utility (29f4058)
- feat: update title screen to use help screen and rename history to records (9e3aa4e)
- feat: integrate help screen into screen management system (0873eb7)
- feat: implement comprehensive help screen to replace basic info dialog (08aa7f3)
- feat: add basic repository management commands (1618953)
- feat: implement Zen mode comment exclusion (5e97c75)
- feat: add File chunk type for Zen mode (04fb821)
- feat: implement middle code chunk extraction for issue #199 (03dd376)
- feat: add BestStatus struct for accurate session comparison (51ce784)
- feat: use display_name for language names in Analytics Screen (fcd65df)
- feat: add color-coded language display in typing interface (bab7971)
- feat: implement challenge caching system (730ced1)
- fix: correct stage number display in StageSummary (3619480)
- fix: restore difficulty challenge count display on title screen (6ab9f77)
- fix: improve cache reliability and error handling for issue #244 (34c248c)
- fix: improve Git URL parsing robustness for multi-host support (15c1c3e)
- fix: center typing line in viewport and fix scroll bug (4883150)
- fix(extractor): correct Haskell type_synomym usage and JS/TS arrow function mapping (3ab668b)
- fix: update bincode API calls for v2.0 compatibility (cbc85f9)
- fix: add vendored-libgit2 feature for cross-compilation (a6bfb5a)
- fix: correct score comparison logic in ScoreView (156d7fa)
- fix: capture best records at session start consistently (4d7e85e)
- fix: improve session details dialog layout and sizing (c0a27f0)
- fix: address security vulnerabilities in cache implementation (7f9cb9e)
- fix: respect update notification exit (dff6c2b)
- fix: invalidate version cache when current version changes (149d003)
- chore: bump version to v0.7.0 (2261823)
- docs: add updated screenshots and new analytics images (0f598d2)
- docs: update documentation structure and language support (52d6428)
- Update src/game/session_manager.rs (8278d20)
- refactor: remove old history_screen.rs file (f0bcf30)
- refactor: update screen transitions to use Records instead of History (3341c8d)
- refactor: rename history_screen.rs to records_screen.rs for consistency (9686baf)
- lint: fix manual_is_multiple_of clippy warnings (9086e9a)
- lint: fix clippy warnings and apply cargo fmt (437bbad)
- perf: remove performance logging code for issue #244 (8f359d7)
- perf: optimize generating step performance with caching and filtering (fc047b7)
- perf: optimize ExtractingStep performance for issue #244 (e57177a)
- test: fix failing language extraction tests expectations (c31f589)
- perf: eliminate excessive clone() calls for issue #244 item 2 (9bc5c7c)
- perf: reduce typing screen frame rate from 60 FPS to 30 FPS (9a13979)
- refactor: update screens to use new repo commands integration (5bc2790)
- ui: improve repo list display with ratatui and better formatting (ba92b3c)
- test: update snapshots and integration tests for File chunk (a72977a)
- refactor: simplify git repository extractor tests (eca4f27)
- test: fix tests affected by File chunk addition (d8c069e)
- test: add insta snapshots for middle chunk extraction tests (49b2d4f)
- test: add comprehensive test cases for middle chunk extraction (a4cf86c)
- chore(deps): bump bincode from 1.3.3 to 2.0.1 (649b886)
- chore: remove unused screen configuration methods (326b6db)
- refactor: optimize SessionDetailsDialog best status handling (dbe86bc)
- refactor: improve stage results display format (46fc4ad)
- chore(deps): bump git2 from 0.18.3 to 0.20.2 (1ac1df8)
- chore: satisfy clippy lint in game tests (43920e7)
- style: format tests (8c0a909)
- test: assert database error helper (cc5ab96)
- refactor: add countdown test helper (384d042)
- test: cover game data state management (aedc39d)
- test: add storage, ui, and sharing suites (909cc83)
- test: assert rank calculator extremes (be0434d)
- test: broaden model coverage (12b5d00)
- test: document difficulty level metadata (9330ec6)
- test: validate language registry helpers (7d6bb8e)
- test: extend repository manager coverage (57608e7)
- test: cover version cache validity (d473abd)
- chore(deps): bump serde from 1.0.223 to 1.0.225 (3266fb6)
- chore(deps): bump serde from 1.0.219 to 1.0.223 (b63a29f)
- chore(deps): bump serde_json from 1.0.143 to 1.0.145 (5e00b3e)
- fix: finalize TotalResult to prevent MAX value display in TotalSummaryScreen (5b2b165)
- chore: bump version to v0.6.2 (d1ebea1)
- fix: display default TotalSummaryScreen when no sessions exist (e7fd86d)
- fix: prevent duplicate LoadingScreen initialization causing repository clone conflicts (3a90250)
- chore: bump version to v0.6.1 (4950eee)
- docs: fix ScreenManager doctest after run method removal (7358f8d)
- feat: implement dedicated panic/error screen with comprehensive error handling (219cd50)
- feat: add comprehensive view components for UI rendering (e8c9000)
- feat: add new extractor components and models (cdf9d44)
- feat: implement core Screen trait architecture (efb4327)
- feat: complete Phase 3 - migrate all screens to new Screen trait (3a86d6d)
- feat: migrate major screens to new Screen trait architecture (Phase 3) (25d64ef)
- feat: implement ScreenManager core architecture and UpdateStrategy system (2196197)
- feat: ignore entire .claude directory in gitignore (4c22865)
- feat: add comprehensive Scala test suite (d79029c)
- feat: added scala language with model and parser, then deleted this file (7465c9d)
- feat: add automatic version update check functionality (2202d53)
- fix: optimize Scala parser to prevent duplicate extractions (596ecd9)
- fix: remove version_cache.json and add to gitignore (2c9f926)
- fix: remove version check from CLI runner (b83eb8e)
- fix: improve homebrew formula update script reliability (0d859b2)
- chore: bump version to v0.6.0 (14c0188)
- docs: add demo section to README with demo.gif (fe98070)
- perf: optimize typing_content_view with individual caching and function splitting (bdddc83)
- chore: remove temporary files and documentation (ee4deb2)
- refactor: complete screen manager architecture migration (9167b85)
- style: fix clippy warnings for code quality (c3f4a4c)
- refactor: add new screen implementations for Screen trait (3986365)
- chore(deps): bump tree-sitter-python from 0.23.6 to 0.25.0 (12e1481)
- chore(deps): bump tempfile from 3.21.0 to 3.22.0 (3e8d090)
- chore: apply cargo fmt to Scala implementation (8909847)
- docs: update Scala language documentation (766b61d)
- chore: reordered languages alphabetically with new Scala to pass fmt (8dc6b40)
- chore: restore title_screen.rs from main after rebase (1dbfd8c)
- chore: restore options.rs from main after rebase (549f0df)
- chore: fattened up main screen arrows, changed Info indicator to [I] deleted this change and file (683be16)
- chore(deps): bump chrono from 0.4.41 to 0.4.42 (09adf9d)
- chore(deps): bump tree-sitter from 0.25.8 to 0.25.9 (fe4ff03)
- chore(deps): bump ctrlc from 3.4.7 to 3.5.0 (530fd59)
- chore(deps): bump log4rs from 1.3.0 to 1.4.0 (ef4e6ae)
- chore(deps): bump log from 0.4.27 to 0.4.28 (fd105e3)
- docs: Add demo.gif file (e9f5502)
- feat: improve exclude patterns for dependency and generated source directories (21a63fe)
- feat: improve install script with better sudo handling (dcf43d7)
- feat: improve package manager distribution support (6e246b7)
- fix: resolve multibyte character input issues in typing core (c67924a)
- fix: improve permission detection for macOS compatibility (fbd17ce)
- chore: bump version to v0.5.1 (f4b8466)
- docs: improve README installation section formatting (87da908)
- feat: standardize color patterns across all result screens (648a930)
- feat: Add centralized UI color definitions (6377c97)
- feat: Add unit tests for scoring module (cf0550d)
- feat: reorganize title screen key layout into 3-tier structure and hide cursor (488c73f)
- feat: implement 'Press SPACE to start' prompt with integrated countdown (b95f9b0)
- feat: add UserQuit error type and graceful exit handling (02d409f)
- feat: Organize test files into unit and integration directories (ac12b54)
- feat(ui): improve title screen key organization and styling (127dd77)
- feat: implement analytics screen with repository and language stats (973b48d)
- feat: Add typing core tests for C# and Haskell (ca1b2ca)
- feat: add History screen with session detail viewing (23c7362)
- feat: add comprehensive seed data system for development (113d637)
- feat: add 1000 record limit to session queries for performance (5cba280)
- feat: integrate logging into CLI error handling and panic hooks (8638cfd)
- feat: add comprehensive panic and error logging system (3e847dd)
- feat: enhance session summary with personal best tracking (dd2ff09)
- feat: implement new details dialog for session results (66ac30c)
- feat: add challenge_path to StageResult for proper stage name display (ce8ce79)
- feat: integrate session recording into game flow (e292934)
- feat: add database initialization and development environment setup (8969268)
- feat: implement session recording to database (DAO/Repository pattern) (460bb0e)
- feat: export migrations module in storage (dcae523)
- feat: implement SQLite database with migration support (0a15588)
- feat: add database migration system infrastructure (6d0690f)
- feat(extractor): preserve original indentation characters for first line (999f3db)
- fix: correct ranking position calculation to show higher scores first (b7d1226)
- fix: reset pause timer between countdown stages (f274c48)
- fix: implement proper countdown pause during dialog (b94d1e2)
- fix: allow dialog during countdown instead of immediate exit (c1a136c)
- fix: prevent duration overflow panics with saturating_sub (bf33e4d)
- fix: apply additional cargo fmt formatting (4f27716)
- fix: apply automatic code formatting (4a7a9de)
- fix: resolve clippy warnings in analytics screen (8e79df9)
- fix: update ratatui 0.29.0 compatibility (00ca7be)
- fix: update seeders for rand 0.9.2 compatibility (cdbf247)
- fix: update rand usage for 0.9.2 compatibility (c0aa6b6)
- fix: allow invisible characters in multibyte test file (62ed39e)
- fix: resolve clippy warnings (9c976b0)
- fix(ui): center typing cursor in viewport and clamp scroll to content (87e82c6)
- fix(ui): restore typing view scrolling by using actual current line for Paragraph::scroll (1be66fa)
- fix(extractor,typing): align comment positions to char-based indices and fix display offset after indent normalization (df16f30)
- fix: suppress clippy too_many_arguments warning (30b4999)
- fix: resolve clippy warnings (cfd25ed)
- fix: resolve CI failures - add tempfile dependency and fix formatting (4495575)
- fix: apply clippy needless_borrows suggestions in rust integration tests (1dc68d8)
- fix: apply clippy needless_borrows suggestions in extractor unit tests (05a2e5a)
- fix: use consistent file filtering logic for zen challenge generation (fb95b63)
- chore: bump version to v0.5.0 (2a6a917)
- style: apply cargo fmt formatting (afe7aca)
- style: Change typing screen header border to dark blue (85639eb)
- style: Format code with cargo fmt (31c5517)
- test: Add comprehensive unit tests for scoring modules and mirror src structure (010ef93)
- style: apply cargo fmt formatting (883eabb)
- refactor: remove unused CountdownScreen module (5f8654b)
- refactor: remove unused UserQuit error variant (b84dec0)
- Fix: Resolve cargo fmt and clippy issues. Fixed formatting and module_inception clippy lints. Ensured clippy passes with -D warnings. (c375471)
- style: rustfmt (c2fee8f)
- test: Add more test cases for C# and Haskell (a4d4abc)
- chore(deps): bump ratatui from 0.26.3 to 0.29.0 (b2cf114)
- docs: Align documentation with current source code (f489063)
- trigger CI rerun (bcbfdb9)
- chore(deps): bump rand from 0.8.5 to 0.9.2 (bfef016)
- docs: Add documentation for local data storage (136e53c)
- refactor: remove unnecessary indentation normalization (5b4aa22)
- refactor: update scoring system and integrate history feature (37472c3)
- style: apply cargo fmt formatting (b41fc25)
- refactor: remove SessionResult mutation methods (421c84c)
- refactor: update game logic and storage for new scoring system (d7d9db6)
- refactor: split scoring system into calculator/tracker pattern (42adc73)
- refactor: move logging setup to application initialization (f64a1af)
- test: isolate database and logging for tests (e7e4028)
- refactor: fix clippy warnings and apply code formatting (ccc0aed)
- chore: update project configuration and loading steps (6309ef2)
- chore(deps): bump insta from 1.43.1 to 1.43.2 (876ce47)
- style: apply cargo fmt to test files (586541d)
- test: fix failing repository loader tests by adding git initialization (96feec3)
- refactor: improve conditional nesting in collect_source_files (d0ecf76)
- fix(ci): correct workflow order for CHANGELOG generation (2c7e02b)
- chore: bump version to v0.4.1 (f69a76d)
- Revert "Merge pull request #156 from unhappychoice/dependabot/cargo/git2-0.20.2" (b2c6eb7)
- perf: optimize typing screen display updates to improve performance (39f9aa9)
- chore(deps): bump tree-sitter-go from 0.23.4 to 0.25.0 (13c0186)
- chore(deps): bump dirs from 5.0.1 to 6.0.0 (b8ca782)
- docs: convert demo.mov to mp4 format without audio (23e69b8)
- docs: add screenshots to README (3955bed)
- chore: Update CHANGELOG.md (fba7238)
- chore(deps): bump tree-sitter-javascript from 0.23.1 to 0.25.0 (8d7449d)
- chore(deps): bump tree-sitter-rust from 0.23.3 to 0.24.0 (73dfea7)
- chore(deps): bump tree-sitter-swift from 0.6.0 to 0.7.1 (2d0ec3e)
- chore(deps): bump tree-sitter-c from 0.23.4 to 0.24.1 (c01a66b)
- chore(deps): bump git2 from 0.18.3 to 0.20.2 (43d8db9)
- chore(deps): bump tree-sitter-php from 0.23.11 to 0.24.2 (e162b5e)
- feat(typing): add context lines display and preserve indentation (4fc40e3)
- feat(typing): improve color scheme and UI elements (1c64bbc)
- feat(countdown): enhance visual experience with ASCII art and improved colors (7a8c0f8)
- feat: add CODEOWNERS file with @unhappychoice as global owner (f5d4b33)
- feat: add dependabot configuration for daily Cargo updates (06687e4)
- feat(stage-manager): integrate TotalTracker for comprehensive session tracking (749f6a7)
- feat(tracking): add TotalTracker for game-wide statistics (94f6f2a)
- feat(ui): implement comment highlighting in stage renderer (ae03906)
- feat(typing-core): add display_comment_ranges method (929b5e4)
- feat(tests): unify typing core tests with parser-based comment detection (58a1a10)
- feat(extractor): make extract_comment_ranges public (c92c3a8)
- feat(display): improve newline symbol display and positioning (e6afae6)
- feat(typing): preserve empty lines in all challenges (452874f)
- feat(text-processing): add empty line preservation option (db73ac3)
- feat: include Zen challenges in main challenge loading (cacf6c0)
- feat(ui): improve typing screen layout with blue theme and line numbers (5a345e7)
- feat(ui): add real-time metrics updates during typing (9ba9561)
- feat(models): create unified model structure (f971864)
- feat: rename RepoManager to RepositoryManager for consistency (7fc3958)
- feat: complete SessionSummary to SessionResult unification with full implementation (1cb5d45)
- feat: rename GameDisplayRatatui to StageRenderer for consistency (f121860)
- feat: rename GameState to SessionState for consistency (558563b)
- feat: complete terminology unification across entire codebase (7fb0b5f)
- feat: fix semantic accuracy of all field and function names (845aeda)
- feat: complete method and variable name unification (04fc71e)
- feat: fix Rank/RankingTitle naming inconsistency (64263f3)
- feat: complete UI text terminology updates (76cf9e3)
- feat: complete model terminology unification (4afec8c)
- feat: add new unified model structure (ee464f5)
- feat(options): improve ExtractionOptions with dynamic language patterns (646900c)
- feat(language): split Language implementations into individual files (24528ec)
- feat: implement comprehensive Dart language extractor (731e083)
- feat: add Dart language detection and file pattern support (6fee1f4)
- feat: add tree-sitter-dart dependency for Dart language support (0356278)
- feat: register Haskell language in core system (97c558f)
- feat: add Haskell language support (6839932)
- feat: add C++ file patterns to default extraction options (eb1f4c0)
- feat: implement C++ code parser with comprehensive extraction (ad882a1)
- feat: add C++ language detection and validation (f883f92)
- feat: add tree-sitter-cpp dependency for C++ language support (502f0c3)
- feat: add C comment detection support (5a7c55d)
- feat: add TreeSitterLanguageError support (3a090ef)
- feat: add C file patterns to extraction options (a85eb4f)
- feat: implement C language parser (ad0dbae)
- feat: add C language enum and detection (0eb169c)
- feat: add tree-sitter-c dependency (9a988f4)
- feat: integrate retry functionality into stage manager (a75e807)
- feat: implement retry option on failure and cancellation screens (33accf7)
- feat: align result file name display with colons (a7405fd)
- feat: display countdown numbers as ASCII art (931d433)
- feat: improve social sharing text with repository context (ed1c2e7)
- feat: add repository information to result and session screens (914f248)
- feat: enhance loading screen repository display (26c7790)
- feat: improve file path display and add repository context to challenges (acf709e)
- feat: implement dynamic score color-coding based on ranking tier (7237046)
- feat: add terminal color methods to RankingTier and RankingTitle (615bb2e)
- feat: shorten countdown duration for improved UX (812c5e7)
- fix(clippy): remove unnecessary mut in context_loader tests (91bebf5)
- fix(clippy): resolve clippy warnings (e66487a)
- fix(exit-screen): replace session terminology with total and remove conditions (ca18640)
- fix: reset skip count to 3 when retrying failed/cancelled stages (9375d78)
- fix(clippy): use $crate instead of crate in macro definitions (90aed49)
- fix: update tests to work with refactored typing_core (12b070e)
- fix: record keystroke before typing core input processing (5110a64)
- fix: use correct display position for current_mistake_position (67ccd84)
- fix(clippy): resolve field_reassign_with_default and needless_range_loop warnings (0a325c5)
- fix(clippy): resolve needless_range_loop warning (497be0a)
- fix(scoring): correct real-time CPM calculation during pauses (c620a64)
- fix: correct remaining semantic naming issues beyond rank-related terms (122b178)
- fix(tests): fix test failures by excluding tmp/** pattern in temp directories (3b89dee)
- fix: resolve clippy warning in Dart extractor (63cb5b1)
- fix: resolve clippy warnings in Haskell extractor (caadf07)
- fix: apply cargo fmt to fix spacing in comments (ff78420)
- fix: ensure panic error messages are visible to users (4ff714c)
- fix: resolve clippy warning for unused variable (db42a84)
- fix(ci): improve Homebrew formula update process with awk (7c0b626)
- chore: bump version to v0.4.0 (e76583d)
- chore: Update Cargo.lock (9e0a8e2)
- style: fix cargo fmt formatting issues (f36dc09)
- chore(deps): bump rusqlite from 0.29.0 to 0.37.0 (afb84ca)
- style: apply cargo fmt formatting changes (c3131b9)
- chore(deps): bump crossterm from 0.27.0 to 0.29.0 (9d225b0)
- chore(deps): bump tree-sitter from 0.24.7 to 0.25.8 (bfc3da2)
- chore(deps): bump thiserror from 1.0.69 to 2.0.16 (20b5145)
- style: fix code formatting with cargo fmt (e1e4992)
- refactor: remove unused code and fields from typing_core (de29b0a)
- refactor: move mistake tracking to typing_core (ebfff51)
- refactor: delegate input processing responsibility to typing_core (a965527)
- refactor: remove unnecessary was_failed method (1ed5560)
- refactor(typing_screen): improve code organization and reduce duplication (cc79204)
- refactor(mod): update module exports (4f61144)
- test(snapshots): update test snapshots for comment highlighting (2565726)
- refactor(ui): simplify display_challenge_with_info method signature (141dbba)
- refactor: unify SessionSummary/SessionResult and fix semantic naming (aaa51d7)
- refactor: rename components for terminology consistency (8a870a7)
- refactor(cli): remove unused config.rs and update CLI structure (9891198)
- refactor(extractor): update extractors to use polymorphic Language trait (dcaa065)
- refactor(language): refactor Language trait to polymorphic design (98cbb45)
- docs: update documentation for Dart language support (79ad937)
- test: add comprehensive Dart language extraction tests (3034a20)
- refactor: remove unnecessary delegation and suffix in Haskell extractor (743fd24)
- style: format code according to rustfmt standards (a224121)
- docs: add Haskell to supported languages documentation (ba2bdf5)
- refactor: update all language parsers for tree-sitter v0.24 (e1e0755)
- refactor: migrate to tree-sitter v0.24 API (89f6945)
- chore(deps): update all tree-sitter dependencies to latest versions (47d0899)
- docs: add C and C++ language support to documentation (ff40f6b)
- test: add comprehensive C++ language integration tests (1b58863)
- test: add comprehensive C language tests (f0238c9)
- refactor: remove old result_screen.rs after successful refactoring (3d1c16c)
- refactor: update screen module exports for new structure (f1f794f)
- refactor: split result_screen.rs into focused screen modules (e630e27)
- refactor: redesign countdown screen repository and source info layout (c796d22)
- chore: Update Twitter references to X platform (1c6fdb2)
- docs(readme): update --repo examples to use relevant Rust libraries (791996b)
- docs(readme): add --repo option examples (68e6815)
- refactor(main): simplify main.rs using new CLI modules (238ad8c)
- refactor(cli): move CLI components to separate modules (3d82e20)
- chore: Update CHANGELOG.md (32d6d2c)
- feat: use vendored OpenSSL for all targets to avoid cross-compilation issues (2bc3269)
- feat: update Homebrew to use prebuilt binaries and add ARM64 support (96836dd)
- feat: add repository management with GitHub support (d08a93b)
- feat: add GitHub links to commit hashes in changelog (5881873)
- feat: add automatic CHANGELOG.md generation (7a2ae38)
- fix(extractor): avoid progress updates in parallel path to satisfy Sync and pass clippy (b8e433d)
- chore: bump version to v0.3.0 (33f0df0)
- perf(extractor): reuse thread-local tree-sitter parser and precompile glob patterns in scanner (b5f84e0)
- perf(extractor): parallelize challenge conversion and zen file processing (55a2ac0)
- chore: Fix cargo clippy warnings (4cfedac)
- refactor: cleanup and module organization (c2e14c0)
- refactor: update extractor system for new step architecture (8c46a02)
- refactor: improve error handling in main with Result chaining (73b023d)
- refactor: improve LoadingScreen with polymorphic step system (c553e3a)
- feat: implement C# code extraction with tree-sitter (5573c2e)
- feat: add C# language support to core models (acce492)
- feat: add tree-sitter-c-sharp dependency for C# language support (ae20c9e)
- feat: add JSX component extraction support to TypeScript parser (077f87b)
- feat: add JSX component extraction support to JavaScript parser (8f56853)
- feat: add JSX file extension support to JavaScript language detection (6f9b9f4)
- feat: add comprehensive JSX/TSX support for React components (9c914f3)
- feat: implement JavaScript language extractor (0cc70ce)
- feat: add JavaScript language support to Language enum (2246c15)
- feat: add tree-sitter-javascript dependency (d15e81c)
- feat: add PHP language support (140572d)
- feat: add Java language support (9b2c16e)
- feat: standardize language test formats and add Swift struct/enum support (debd888)
- feat: add Kotlin language support (e15de99)
- feat: Add missing Ruby language constructs support (6c91c27)
- feat: add missing Go language constructs support (ac97d73)
- feat: add TypeScript interface, type alias, enum, and namespace support (ccbac16)
- feat: add comprehensive Rust language constructs support (df427e8)
- feat: Comprehensive Swift language support validation (245e1a1)
- feat: Add complete Swift extension block extraction (8e45442)
- feat: Add Swift extension method extraction support (8f62748)
- feat: Add Swift protocol extraction support (db4dab5)
- feat: Add Swift language support (a022f9f)
- feat: improve key guide color scheme for better UX (fea01b3)
- fix: update homebrew formula update process in release workflow (6105030)
- fix: add JavaScript comment support to extractor core (f6ef381)
- fix: resolve clippy len_zero warning in PHP tests (0da8aac)
- fix: resolve clippy warning about length comparison (bb2710e)
- fix(sharing): prevent URL truncation in fallback display (bc4e472)
- chore: bump version to v0.2.0 (9a9631c)
- docs: update documentation for C# language support (28a4842)
- test: add comprehensive C# language extraction tests (1272c83)
- test: enhance TSX/JSX tests to verify component extraction (f3733e6)
- docs: update documentation for JavaScript language support (a1ea4ed)
- test: update Language::from_extension tests for JavaScript (9e0648b)
- test: add comprehensive JavaScript language tests (42ed3d8)
- docs: update documentation for PHP and Java language support (bb150c8)
- style: format PHP implementation with cargo fmt (fbab604)
- style: apply rustfmt formatting to Java implementation (4bc1e90)
- test: add tests module declaration (048e418)
- test: clean up existing test files (d79fdb3)
- test: reorganize language extraction tests (f52f55c)
- refactor: remove obsolete extractor files (8f26db3)
- refactor: update extractor module integration (ece7d7d)
- refactor: add modular language-specific parsers (3840f61)
- refactor: reorganize models into dedicated module (772c2f8)
- refactor: add core extractor module (183d530)
- docs: update documentation for Go language enhancements (4ee79d6)
- style: run cargo fmt (ca6b163)
- revert: remove unnecessary README.md changes (95b7618)
- docs: update documentation for enhanced Rust language support (c3d1417)
- style: run cargo fmt (148840d)
- docs: Add Swift language support to documentation (476a9dc)
- style: run cargo fmt (533670c)
- style: fix clippy warnings and run cargo fmt (0714d76)
- docs(README): update features section with ranking system and game modes (8bbab5d)
- fix(sharing): use game total score instead of single challenge score (a19a504)
- chore: bump version to v0.1.3 (af203ac)
- style: run cargo fmt (aa05d09)
- ci(release): pass tag commit SHA to Homebrew bump action as revision to fix --revision requirement (16788c9)
- feat: add GitHub repository link to exit summary screen (1237651)
- feat: improve stage result screen navigation (bf00265)
- feat: change back to title key from Enter to T (9d9e93c)
- fix(terminal): always pop keyboard enhancement flags on cleanup to avoid iTerm2 stuck state (8725df9)
- fix: resolve clippy unreachable code warning (2f45ae7)
- fix: resolve clippy warnings (e3e244f)
- fix: ensure complete terminal cleanup on all exit paths (511f914)
- fix: apply cargo fmt formatting fixes (fe2409f)
- fix: restore enter symbol (↵) display in ratatui interface (526caef)
- fix: improve terminal cleanup to prevent utf character output in iTerm2 (36f0caf)
- fix: restore retry option in session summary screen (2e3d29a)
- fix: resolve clippy warnings and formatting issues (50f3df2)
- fix: resolve clippy warnings and formatting issues (3159237)
- fix: improve cursor highlight visibility in Mac terminal (3ba6f92)
- fix: remove REPORT_EVENT_TYPES flag to prevent double input in iTerm (031ff4c)
- fix: resolve clippy warnings and formatting issues (4eb02c9)
- fix: remove debug output from exit summary screen (300c0fe)
- fix: ensure raw mode is properly disabled on application exit (8dd8772)
- fix: improve keyboard input handling for macOS iTerm (d9cd8f1)
- fix: add revision parameter to homebrew bump formula action (20316d7)
- chore: bump version to v0.1.2 (3afc3de)
- docs: remove install commands from banner images (361155c)
- style: apply rustfmt formatting (49b759b)
- refactor: remove unused Exit variant from ResultAction (2455d5c)
- style: apply rustfmt formatting (f558041)
- feat: use current directory as default repository path (4aef881)
- feat: update title screen logo to oh-my-logo purple style (90f553e)
- feat: add package distribution infrastructure (ee286d9)
- feat: add tier and overall ranking display to result screen (1e57303)
- feat: remove --max-lines option completely (3ef85d8)
- feat: add Go language support (1baa6fc)
- feat: add Ruby language support (aa293da)
- feat: improve typing screen UI/UX (f89e6e8)
- feat: add info dialog with GitHub and Twitter links (9d3a407)
- feat: enhance exit summary screen with session-based sharing (86fced3)
- feat: add comprehensive SNS sharing functionality (5f110b1)
- feat: improve progress reporting for parallel AST parsing (614b0ac)
- feat: implement parallel AST parsing with rayon (48e754e)
- feat: enhance game display with skip functionality and pause support (0ccf826)
- feat: display total effort including partial attempts in session summary (53b82c6)
- feat: separate completed and partial effort tracking in SessionSummary (e583623)
- feat: improve loading screen with detailed progress and checkmarks (f4d2cc7)
- feat: add session summary screen with comprehensive statistics (0cf2a44)
- feat: add typing animation with colored messages and skip functionality (ec3e571)
- feat: add retry functionality to result screen (c3ed536)
- feat: refactor result display and add ASCII rank titles (a6e1bd1)
- feat: add large ASCII score display to result screens (19679ce)
- feat: add Wild difficulty level and refactor character limits (a76f935)
- feat: implement comprehensive scoring and metrics system (a7b887f)
- feat: add TypeScript arrow function support and improve challenge system (6c3527f)
- feat: implement startup loading screen with progress visualization (48dbabd)
- feat: Enhance typing game engine with advanced features (aeb8267)
- feat: Implement AST-based code extraction with gitignore support (423d865)
- feat: Add dependencies for code extraction and game engine (7125ed2)
- feat: Update main.rs to use new modular architecture (a3b6295)
- feat: Add StageManager for multi-stage gameplay (261dd24)
- feat: Add modular screen system (2d1b27d)
- feat: Add Challenge structure for code typing tasks (3dbaa70)
- feat: Add core game modules for text processing and display (0539259)
- feat: Set up project structure and tech stack (7f40ba7)
- fix: add contents write permission to release workflow (901942f)
- fix: adjust total_content_height calculation for proper layout (ecbbc98)
- fix: format code with cargo fmt (e52e4d7)
- fix: format code with cargo fmt (0ab8bee)
- fix: format code with cargo fmt (88987cc)
- fix: format code with cargo fmt (0f2f259)
- fix: resolve remaining clippy warnings for CI compliance (d94acd6)
- fix: apply code formatting and clippy auto-fixes (0cb638a)
- fix: resolve compilation errors to enable parallel AST parsing (cc16b41)
- fix: improve Ctrl+C handling to show session summary (8e78a75)
- fix: improve git repository path recognition (c723f8c)
- fix: remove debug code from main.rs (31e1f8c)
- fix: resolve forced termination after loading completion (c56ceef)
- fix: Improve AST comment detection and position mapping (40964df)
- fix: Prevent input processing during countdown screen (06e128d)
- chore: bump version to v0.1.1 (63b5358)
- docs: update documentation for Go and Ruby language support (26a79de)
- ci: split CI jobs into format, clippy, and test (9ac35e5)
- chore: remove coverage files and add them to .gitignore (b79bb20)
- ci: add Codecov integration for code coverage tracking (2224def)
- ci: add GitHub Actions workflow for automated testing (34fa071)
- ux: improve keyboard operation consistency (ee18587)
- docs: create comprehensive documentation and banner (2744285)
- refactor: restructure UI organization and rename loading components (fc0b9c0)
- refactor: remove unused LoadingProgress struct (b6996e6)
- refactor: remove unused loading components (5353ca3)
- test: Restructure tests into separate unit and integration files (be2c013)
- refactor: Remove legacy engine.rs (4d86a89)
- refactor: Update module structure and exports (3ba422b)
- deps: Add ctrlc dependency for signal handling (7fef3b0)
- chore: Add .gitignore file (12fe0fb)
- chore: First commit (f7ec3ca)