Releases: unhappychoice/gittype
Releases · unhappychoice/gittype
Release v0.10.0
✨ Features
- feat: support for exclusions file .gittypeignore (1528a67)
- feat(erlang): add Erlang to CLI, TUI, and theme color schemes (9d72357)
- feat(erlang): add Erlang language model and tree-sitter parser (eabc10e)
- feat(elixir): add Elixir to CLI, TUI, and theme color schemes (c1a0325)
- feat(elixir): add Elixir language model and tree-sitter parser (a2cc689)
🐛 Bug Fixes
- fix: show correct stage number on stage summary for first session (#409) (fdbfb4a)
- fix: satisfy clippy::unnecessary_sort_by (new in clippy 1.95) (9b64c33)
- fix: adapt Dart parser to tree-sitter-dart 0.1.0 grammar (7d761c5)
- fix(haskell): skip Haddock comments during typing practice (e69bbdb)
- fix(test): use proper byte_to_char_cache in typing core test helper (16359f8)
📝 Other Changes
- chore: bump version to v0.10.0 (e56acf6)
- chore(deps): bump tree-sitter-c-sharp from 0.23.1 to 0.23.5 (c739ead)
- chore(deps): bump rayon from 1.11.0 to 1.12.0 (60adbd6)
- chore(deps): bump rand from 0.10.0 to 0.10.1 (c8e7a39)
- chore(deps): bump insta from 1.47.1 to 1.47.2 (731e95f)
- chore(deps): bump insta from 1.47.0 to 1.47.1 (538e8b0)
- chore(deps): bump tree-sitter-rust from 0.24.1 to 0.24.2 (f1382dc)
- chore(deps): bump uuid from 1.22.0 to 1.23.0 (92c25ca)
- chore(deps): bump insta from 1.46.3 to 1.47.0 (af8bf7b)
- docs: add author section with website link (bec6d77)
- chore(deps): bump sha2 from 0.10.9 to 0.11.0 (02b3af7)
- chore(deps): bump env_logger from 0.11.9 to 0.11.10 (23bcd2e)
- chore(deps): bump tree-sitter-rust from 0.24.0 to 0.24.1 (3fbcff1)
- chore(deps): bump rusqlite from 0.38.0 to 0.39.0 (d33ea4e)
- chore(deps): bump clap from 4.5.60 to 4.6.0 (dceff7b)
- chore(deps): bump tree-sitter-dart from 0.0.4 to 0.1.0 (42b1021)
- chore(deps): bump once_cell from 1.21.3 to 1.21.4 (56ba3f7)
- chore(deps): bump tree-sitter-scala from 0.24.0 to 0.25.0 (a280ccc)
- docs: Update installation instructions for Homebrew (f3907e9)
- chore(deps): bump uuid from 1.21.0 to 1.22.0 (7ca4eab)
- chore(deps): bump tokio from 1.49.0 to 1.50.0 (6a559fb)
- chore(deps): bump tree-sitter-elixir from 0.3.4 to 0.3.5 (0c428b9)
- chore(deps): bump chrono from 0.4.43 to 0.4.44 (7f7239b)
- chore(deps): bump clap from 4.5.59 to 4.5.60 (f1a83a5)
- chore(deps): bump anyhow from 1.0.101 to 1.0.102 (f3021b2)
- chore(deps): bump clap from 4.5.58 to 4.5.59 (a144146)
- chore(deps): bump uuid from 1.20.0 to 1.21.0 (16355be)
- docs: add Erlang to supported languages documentation (b63f7be)
- test(erlang): add extractor and typing core integration tests (54a798a)
- docs: add Elixir to supported languages documentation (51b1d22)
- test(elixir): add extractor and typing core integration tests (90a6697)
- chore(deps): bump rusqlite from 0.37.0 to 0.38.0 (148d100)
- chore: update flake.nix hashes for v0.9.0 (e0ddb6e)
Release v0.9.0
✨ Features
- feat: register missing screens and Database to DI module (dc4bbb6)
- feat: add Clojure language support (#311) (92535ce)
- feat: add Console abstraction for standard I/O (87b2ccd)
- feat: add TUI architecture with Screen trait pattern (af9af9d)
- feat: improve parser coverage for C++, C#, and JavaScript (8995dfe)
- feat: add .name pattern mapping to CodeBlock for all language parsers (6f02c45)
- feat: add browser abstraction to infrastructure layer (960415a)
- feat: add snapshot test for SessionDetailScreen with dependency injection (23ba36e)
- feat: migrate TotalSummaryShareScreen to ratatui (44f7e1e)
- feat: migrate StageSummaryScreen to ratatui (e360ecf)
- feat: migrate TitleScreen to ratatui (5c3afaa)
- feat: migrate TotalSummaryScreen to ratatui (442f543)
- feat: implement smooth color gradation for ASCII rank titles (2799379)
- feat: add ScreenInitializationError type for better error handling (2bf79ac)
- feat: add presentation layer events (NavigateTo, ExitRequested) (b623942)
- feat: add GitRepository::new_local to create repo from local path (bdfa242)
- feat: add event bus infrastructure for layer decoupling (43f9014)
- feat: add Zig to CLI help messages (a05da84)
- feat: add Zig color scheme support (2898a9a)
- feat: add Zig tree-sitter parser and extractor (cfc2369)
- feat: add Zig language definition (9de8234)
- feat: add tree-sitter-zig dependency (1a9345e)
🐛 Bug Fixes
- fix: resolve CI clippy warnings (c41bd5a)
- fix: address CodeRabbit review feedback (b0c0cb7)
- fix: prevent deadlock in stage_builder_service by cloning config upfront (a93bbbd)
- fix: remove duplicate imports in challenge_repository after rebase (2c84ee5)
- fix: prevent screen reset during trending language to repository transition (623d5fb)
- fix: TotalSummaryShareScreen and cache directory bugs (e4ef5a4)
- fix: prevent deadlock in skip_current_stage by releasing state lock early (0816537)
- fix: register CLI screens in ScreenManagerFactoryImpl (922b308)
- fix: initialize ConfigService to load settings from config file (c3178c4)
- fix: resolve database deadlock and fix all tests (b66ea32)
- fix: make ScreenManagerImpl generic over Backend type (24af00a)
- fix: resolve deadlocks in RecordsScreen, AnalyticsScreen, and InfoDialogScreen (755cc22)
- fix: support SSH URLs with port numbers in GitRepositoryRefParser (5948df3)
- fix: support non-GitHub repositories and local repos without remote (412fdb8)
- fix: resolve detached HEAD issue in flake hash update workflow (e8513d5)
- fix: resolve NixOS build failure and improve flake configuration (176ae81)
- fix: resolve clippy warnings in tests and examples (fe49ddc)
- fix: add test database initialization for GitRepositoryRepository tests (43a2c61)
- fix: replace deprecated criterion::black_box with std::hint::black_box (a5e0112)
- fix: remove unused imports and MockRecordsScreen (a2d37c1)
- fix: correct rank tier colors to match UI theme colors (5174e5b)
- fix: set UTC timezone in screen snapshot tests for consistency (8f8c375)
- fix: create GitRepository from repo_path in ScanningStep (a6d85fb)
- fix: prevent panic when selecting difficulty with no challenges (f3c95e0)
- fix: correct Kotlin comment node kind and resolve clippy warnings (7255342)
- fix: resolve clippy warnings and format code (0fd88e2)
- fix: address clippy warnings (8eaa4b9)
- fix: prevent URL duplication in install script (bb6af4e)
📝 Other Changes
- chore: bump version to v0.9.0 (88bdde2)
- test: add comprehensive info_dialog tests (3bd1aa8)
- test: cover side-effect handlers in screen_transition_manager (e5473f5)
- test: add infrastructure and integration tests (0ff3063)
- test: add presentation layer tests (c945e13)
- test: add comprehensive domain layer tests (89d4228)
- refactor: make generate_share_url and create_share_text public for testability (8f6eb2d)
- test: add comprehensive tests for SessionManager and ThemeService (ae9534e)
- docs: add manual test checklist (0ee53c7)
- style: remove blank lines between import sections (3a4b37e)
- refactor: reorganize import statements across codebase (6ce073a)
- refactor: complete screen DI migration and remove prepare_screen_if_needed (2c79ab5)
- refactor: migrate GameData to Store pattern and implement DI for SessionManager and StageRepository (a510af5)
- refactor: move presentation/game files to proper domain layers (8cbb2c9)
- refactor: implement DI for ConfigService and fix AppDataProvider usage (ce51212)
- refactor: complete dependency injection for Repository layer (92f0e25)
- refactor: convert DAOs and Repositories to use Arc (9aa839d)
- chore(deps): bump ratatui from 0.29.0 to 0.30.0 (#345) (75db1d9)
- chore(deps): bump rand from 0.9.2 to 0.10.0 (#369) (b3f00eb)
- chore(deps): bump ctrlc from 3.5.1 to 3.5.2 (38d31c8)
- chore(deps): bump tempfile from 3.24.0 to 3.25.0 (e8a17d7)
- chore(deps): bump reqwest from 0.13.1 to 0.13.2 (eacc9a3)
- chore(deps): bump anyhow from 1.0.100 to 1.0.101 (b5a1985)
- chore(deps): bump criterion from 0.8.1 to 0.8.2 (f10de6e)
- chore(deps): bump clap from 4.5.56 to 4.5.57 (1dc65f9)
- chore(deps): bump flate2 from 1.1.8 to 1.1.9 (a67e99d)
- chore(deps): bump git2 from 0.20.3 to 0.20.4 (afead18)
- chore(deps): bump insta from 1.46.1 to 1.46.3 (69ba44a)
- chore(deps): bump clap from 4.5.54 to 4.5.56 (9913b11)...
Release v0.8.0
✨ Features
- 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)
🐛 Bug Fixes
- 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)
📝 Other Changes
- 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)
Release v0.7.0
✨ Features
- 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)
🐛 Bug Fixes
- 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)
📝 Other Changes
- chore: bump version to v0.7.0 (1477551)
- 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)
Release v0.6.2
Release v0.6.1
Release v0.6.0
✨ Features
- 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)
🐛 Bug Fixes
- 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)
📝 Other Changes
- chore: bump version to v0.6.0 (9a29f4e)
- 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)
Release v0.5.1
✨ Features
- 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)
🐛 Bug Fixes
- fix: resolve multibyte character input issues in typing core (c67924a)
- fix: improve permission detection for macOS compatibility (fbd17ce)
📝 Other Changes
Release v0.5.0
✨ Features
- 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)
🐛 Bug Fixes
- 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)
📝 Other Changes
- chore: bump version to v0.5.0 (37d5b6e)
- 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)
Release v0.4.1
🐛 Bug Fixes
- fix(ci): correct workflow order for CHANGELOG generation (2c7e02b)
📝 Other Changes
- chore: bump version to v0.4.1 (dad8bba)
- 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)